問題タブ [scheduling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 教師のタイムスケジュールアルゴリズム
これは私が長い間頭に浮かんだ問題です。教師とプログラマーの息子である私は、早い段階でそれを思いつきました...しかし、私はまだそれに対する解決策を見つけていません。
これが問題です。いくつかの制約を使用して、学校のタイムスケジュールを作成する必要があります。これらは一般的に2つのカテゴリに分けられます。
健全性チェック
- 教師は2つのクラスを同時に教えることはできません
- 生徒は同時に2つのレッスンに従うことはできません
- 一部の教師は、週の間に少なくとも1日休む必要があります
- 曜日はすべてタイムテーブルでカバーする必要があります
- 被験者Xは毎週正確にまあまあの時間を持っている必要があります
- ..。
環境設定
- 各教師のスケジュールは可能な限りコンパクトにする必要があります(つまり、教師は1日中、可能であれば一時停止せずに1日中すべての時間作業する必要があります)
- 休日のある教師は、どの日に好みを表現できる必要があります
- アルバイトをしている教師は、学校の一日の初めと終わりのどちらで働くかという好みを表現できる必要があります。
- ..。
さて、解決策を見つけられなかった(そしてその間に1つか2つのことを学んだ...)数年後、私はこれがNP困難な問題のように聞こえることに気づきました。
NP困難として証明されていますか?
誰かがこのことをクラックする方法についてのアイデアを持っていますか?
この質問を見て、私はこの問題について、そしてこの場合に遺伝的アルゴリズムが使用できるかどうかについて考えさせられました。ただし、健全性チェックのルールを維持しながら可能性を変更することはかなり困難です。また、互換性のない要件を区別する方法もわかりません。
問題をより適切に特定するための小さな補遺。これは、すべての生徒が異なるクラス(たとえば、1年目のセクションA)に関連付けられ、教師がクラス間を移動するイタリアの学校スタイルの教室に適用されます。同じクラスのすべての生徒は同じスケジュールを持っており、どのレッスンに参加するかを選択することはできません。
outlook - Thunderbird lightning での共有カレンダー
中規模企業でカレンダー作成用のオープン ソース ソリューションをセットアップしたいと考えています。これは、Thunderbird (lightning アドオン)、Microsoft Outlook から使用します。他の人の空き時間スケジュールを確認したい、会議に招待したいなど。
会議室、プロジェクターなどのリソース用のカレンダーがあればとてもいいです。
ネットでかなり検索しましたが、適切な解決策も、これを設定する方法に関する詳細な手順も見つかりませんでした。これは組織で非常に必要とされるため、これを設定したことがあると思います。詳細な(段階的な)ドキュメントへのポインタを提供していただければ、本当に感謝しています。
grails - 私のウェブサイトのホームページのランキングリストを生成する最良の方法は何ですか?
ウェブサイト/ウェブアプリのホームページの複数のランキング リストを生成して維持する最良の方法は何ですか? 例: ホットな投稿、最新の投稿、コメント数、連勝数など。
現在、cronジョブスケジューラを使用してクエリを実行して統計を収集し、統計に対してアルゴリズムを実行し、最後にランキングリストを生成して、mysqlの一時テーブルに保存することを考えています。
ただし、これが最も効率的な方法であるかどうかはわかりません。キャッシングの使用も同様に役立つと思います。
注: 私は grails Web アプリケーション フレームワークを使用しています。
ありがとう。
linux - 中断できないプロセスとは何ですか?
Linux でプログラムを作成し、何らかのバグが原因でプログラムがクラッシュすると、そのプログラムは中断できないプロセスになり、コンピューターを再起動するまで (ログアウトしても) 永遠に実行し続けることがあります。私の質問は次のとおりです。
- プロセスが中断できなくなる原因は何ですか?
- どうすればそれが起こらないようにできますか?
- これはおそらくばかげた質問ですが、コンピューターを再起動せずに中断する方法はありますか?
database - クォーツジョブとトリガーのストアとしてデータベースを使用するようにcocoonを構成するにはどうすればよいですか?
私はCocoonを使用しており、クォーツスケジューラのジョブとトリガーをデータベースに保存して、それらが永続化されるようにしたいと考えています。どこで変更を加える必要があるcocoon.xconf
かはわかりますが、データソースの構成方法などについてはあまりわかりません。
既存の(postgres)データベースを使用するようにこれを構成するにはどうすればよいですか?
algorithm - 定期レポート(タスク)監視
レポートの生成/送信を監視するシステムを開発する必要があります。
- システムデータはデータベーステーブル (Sybase) に保存されます
- レポートはさまざまなスケジュールで生成されます (「月~金の午後 10 時」、「土の午前 5 時」、「月の 1 日」など)。
- システムは、レポートが作成されたことを監視するだけです。レポート自体は作成されません。
- レポートが終了しない場合、システムは適切な担当者に通知します。
- システムは、生成されたすべてのレポートのログを維持します
タスク スケジュールを格納するための優れた (試行錯誤された) テーブル設計を知っている人はいますか? すでにアイデアはありますが、車輪の再発明はしたくありません。
task - todo.txtとタスク管理
これが頻繁に取り上げられている場合はお詫びしますが、他の人がどのように個人的なタスク管理に取り組むのか疑問に思いました。
私はGTD(の一部)を読み、興奮し始め、1トンのプラグインをいたるところにインストールし、それからすべてを途中で落としました。私はtodoist、Outlook、Googleカレンダー、プロジェクトを使用しました。私はメモ帳、「ノート」、付箋紙、スプレッドシートなどにリストを書いてみました。どれも長続きしません。
シンプルで効果的なtodoアプリケーションを見つけるのが難しいのはなぜですか?このアプリケーションは非常に頻繁に使用されるため、数日使用すると、アプリケーションの小さな問題が過度に誇張されることがわかります。
これまでのところ、私のお気に入りのアプリケーションは、 taskと呼ばれるtodo.txtのバリエーションです。
あなたは何を使うのですか?
debugging - バグ分布
ある言語から別の言語に移植するプログラムがあります。私は自分で開発している翻訳プログラムでこれをやっています。これに関連する結果として、私のシステムには多くのバグがあり、それらを見つけて修正する必要があると予想されます。各バグは多くの場所で現れる可能性が高く、それを修正すると、バグが現れるすべての場所でバグが修正されます。(私は非常に大きなレバーを持っているように感じ、短い端を押しています。私は非常に強く押していますが、物事が動くと大きく動きます。)
実行ログの差分を実行する機能があるので、元のプログラムの実行から逸脱する前に、テスト スイートをどれだけ実行できるかによって進行状況を測定しています。(BeyondCompare に感謝します。約 1M 行のファイルで十分に機能します:D)
問題は、そのランレングスを時間の関数としてプロットした場合、どのような形になると予想する必要があるかということです。(より多くの時間 == より多くのバグが削除されました)
私の最初の考えは、ポアソン分布のようなものです。ただし、各バグを修正すると、他のすべてのバグも削除されるため、それは完全に正しいとは言えません。
(ところで、これは、プログラムのデバッグがいつ終了するかを見積もることに関して、現実世界に影響を与える可能性があります。)
編集: 問題のより抽象的な声明:
範囲 [0,M] (N>>M) から選択された N 個の整数の順序付きリストが与えられ、リスト内の位置に沿って均一に分布しますが、必ずしも数値が均一に分布するとは限りません。その最後の「新しい」番号の予想される場所はどこですか? 最後から2番目はどうですか?等?
java - 新しいクォーツジョブとトリガーを作成する必要がありますか、それとも1つのジョブと多数のトリガーを作成する必要がありますか?
メールのスケジュールにクォーツを使用したいと思っていますが、どのアプローチを取るべきかわかりません。
- 新しいジョブを作成し、メールがスケジュールされるたびにトリガーする、または
- 単一のジョブを作成し、メールがスケジュールされるたびに新しいトリガーを作成します
メッセージ/受信者などをいずれかの方法で渡す必要があります。大量のジョブを作成すると、かなりのメモリオーバーヘッドが追加されるかどうかはわかりません。これは、数千の電子メールがスケジュールされる可能性があるためです。
更新:これらのメールは私ではなくユーザーによってスケジュールされます-したがって、実行時にプログラムでこれらを追加します。特定の時間に送信されるようにはスケジュールされていません。
c# - C# で 1 日 1 回実行する
Windows TaskScheduler を使用せずに、executeEveryDayMethod() を 1 日に 1 回実行する賢い方法はありますか?