問題タブ [time]
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.
architecture - 設計に関する議論: バージョン管理されたオブジェクトを保存および操作するための良い方法は何ですか?
最初は意図的に曖昧なままにしておきます。私は議論を求めており、難しい答えを探しているよりも重要な問題は何かを探しています。
ポートフォリオ管理のようなアプリを設計中です。今まで持っていたデザインは
- 問題: 解決する必要がある問題
- 解決策: 1 つまたは複数の問題に対する提案された解決策
- 関係: 2 つの問題、2 つの解決策、または問題と解決策の間の関係。さらに次のように分類されます。
- 親子 - ある種の分類 / ツリー階層
- 重複 - 2 つの解決策または 2 つの問題が実際に同じ概念に対処している度合い
- アドレス - 問題が解決策に対処する程度
私の質問は、これらの物事の時間的性質についてです。問題が発生し、消えていきます。ソリューションには予想される解決日がありますが、それは開発中に変更される可能性があります。関係の程度は、問題や解決策が進化するにつれて、時間の経過とともに変化する可能性があります。
では、問題は、ポートフォリオの現在と過去の両方の視点を得ることができるように、これらのもののバージョン管理に最適な設計は何ですか?
後で:@Eric Beardの答えはアップする価値がありますが、おそらくこれをより具体的な質問にする必要があります。
私は 3 つのデータベース設計を検討しました。それぞれの欠点を示すのに十分です。私の質問は次のとおりです。どれを選ぶか、またはもっと良いものを考えられますか?
1: 問題 (および個別に解決策) は、バージョン管理において自己参照的です。
新しいバージョンが必要になるたびに、その長いdescription
列を含む行全体を複製する必要があるため、これは問題です。
2: 新しい関係タイプを作成します: バージョン。
これにより、リレーションシップが問題テーブルとソリューション テーブルからリレーションシップ テーブルに移動するだけです。同じ重複の問題ですが、私はすでに抽象的な関係の概念を持っているので、おそらく少し「きれい」です。
3: より Subversion に似た構造を使用します。問題と解決策のすべての属性を別のテーブルに移動し、それらをバージョン管理します。
これは、問題または解決策の現在のバージョンをロードするには、属性のすべてのバージョンを取得し、それらを日付順に並べ替えてから、最新のものを使用する必要があることを意味します。それはひどいことではないかもしれません。私にとって本当に悪いと思われるのは、データベースでこれらの属性をタイプチェックできないことです。そのvalue
列はフリーテキストでなければなりません。name
列を、列を持つ別のattribute_names
テーブルへの参照にすることはできますが、それはテーブルの正しい型を強制type
しません。attributes
後でまだ:複数テーブルの外部キーに関する@Eric Beardのコメントへの応答:
悲しいかな、私が説明したことは単純です。物事には 2 つのタイプ (問題と解決策) しかありません。私は実際に約 9 つか 10 の異なる種類のモノを持っているので、あなたの戦略の下に 9 列から 10 列の外部キーがあるでしょう。単一テーブルの継承を使用したかったのですが、Things には共通点がほとんどないため、それらを 1 つのテーブルに結合するのは非常に無駄です。
php - YYYY-DD-MM 形式の PHP 文字列と MySQL のタイムスタンプがある場合、それらの間で変換する良い方法はありますか?
日付文字列と MySQL タイムスタンプの比較に興味があります。ただし、簡単な変換は見られません。私は明らかな何かを見落としていますか?
c++ - 「使用」統計
プログラムで「rusage」統計を使用して、時間ツールと同様のデータを取得しようとしています。しかし、私は何か間違ったことをしていると確信しています。値はほぼ正しいように見えますが、時々少し奇妙になることがあります。オンラインで適切なリソースが見つかりませんでした。誰かがそれをより良くする方法を知っていますか?
長いコードで申し訳ありません。
time - 時間 (または時間範囲) を入力する最も効率的な方法は何ですか?
日付を入力する方法はたくさんありますが (カレンダー、ドロップダウン メニューなど)、時間 (または時間範囲) を尋ねる「標準的な」方法はそれほど多くないようです。
私は個人的に、時間、分、秒のフィールド (場合によっては「AM/PM」フィールドも) のドロップダウン メニューを試しました。また、時計のような入力デバイスをいくつか試してみましたが、そのほとんどは一般的なエンド ユーザーには使いにくいものでした。「ポップアウト」時間選択メニューも試してみました (たとえば、時間「10」にカーソルを合わせると、「:00」、「:15」、「:30」を含むサブメニューを受け取ることができます)。 "、および ":45") -- しかし、これらの方法はどれも自然に見えません。
これまでのところ、私が見つけた最良の (そして最も普遍的な) 方法は、単純なテキスト フィールドを使用し、ユーザーに時、分、秒を手動で入力させることです。または、Outlook の「日表示」に似たものを作成して、イベントをドラッグ アンド ドロップして開始時刻と終了時刻を設定できる良い経験がありました。
この情報を求める「最善の方法」はありますか? 本当に直感的で使いやすい時間入力ウィジェットを使っている人はいますか? または、少なくともプレーン テキスト ボックスを使用するよりも効率的な方法はありますか?
unix - 2038年に向けて何をすべきか?
私が現在書いているソフトウェアのいくつかは、30 年後に使用されると思います。しかし、その多くが 1970 年以降の秒数として時間を公開するという UNIX の伝統に基づいていることも認識しています。
実行結果は次のとおりです。
- 1970 年 1 月 1 日(木)00:00:00
- 土 8 月 30 日 18:37:08 2008
- 火曜日 1 月 19 日 03:14:07 2038
- 金 12 月 13 日 20:45:52 1901
関数 ctime()、gmtime()、および localtime() はすべて、エポック (00:00:00 UTC、1970 年 1 月 1 日; time(3) を参照) からの秒数を表す時間値を引数として取ります。
この分野でプログラマーとして何か積極的にやるべきことがあるのだろうか、それともすべてのソフトウェア システム (別名オペレーティング システム) が将来何らかの方法で魔法のようにアップグレードされると信じていいのでしょうか?
更新実際、64 ビット システムはこれから安全であるように思われます。
- 1969 年 12 月 31 日水曜日 16:00:00 PST
- 2008 年 8 月 30 日 12:02:40 PDT
- 8 月 16 日(土)23:12:55 PST 292278994
- 日 12 月 2 日 08:47:04 PST 292269055
しかし、292278994 年はどうでしょうか。
ruby - Rubyの文字列を使用した日時演算
Rubyでは、次のことをしようとしています。
ここで、「since」は時間(「1時間」、「1日」、「3日」)などを表す文字列です。助言がありますか?
python - Pythonで2回の違いを見つける最も簡単な方法は何ですか?
タイプを持つ2つの時間値がありますdatetime.time
。私はそれらの違いを見つけたい。明らかにすべきことは t1 - t2 ですが、これはうまくいきません。タイプのオブジェクトでは機能しますが、 では機能datetime.datetime
しませんdatetime.time
。では、これを行う最善の方法は何ですか?
c# - 相対時間を解析するには?
この質問は、「相対時間をどのように計算しますか? 」という質問の反対側です。
相対時間に対する人間の入力が与えられた場合、それをどのように解析できますか? デフォルトでは、 からオフセットしますがDateTime.Now()
、オプションで別の からオフセットすることもできますDateTime
。
(C#での回答を好む)
入力例:
- 「20分で」
- "5時間前"
- 「3時間2分」
- "次の週"
編集: 入力にいくつかの制限を定義できるとしましょう。この種のコードは、Web 上にあると便利です。
c++ - ソースファイルの変更検出のリセット
コンピューターの時計を進めるコードに取り組まなければならないことがあります。この場合、一部の .cpp または .h ファイルは、最新の変更日が将来の時刻に設定されます。
後でクロックが修正され、ソースをコンパイルすると、システムはプロジェクトのほとんどを再構築します。これは、最新の修正日付の一部が将来のものであるためです。その後の各再コンパイルには同じ問題があります。
私が知っている解決策は次のとおりです。
a) 未来の時刻を持つファイルを見つけて、再保存します。プロジェクトが非常に大きく、Windows の高度な検索でも変更されたファイルを見つけるのに時間がかかるため、この方法は理想的ではありません。
b) プロジェクト全体を削除し、svn から再チェックアウトします。
この問題を回避する方法を知っている人はいますか?
ソースファイルの変更を検出するために最終変更日の代わりにアーカイブビットを使用するようにコンパイラに指示できるようにするビジュアルスタジオの設定はおそらくありますか?
または、この状況で使用できる再帰的な変更日付リセット ツールがあるのでしょうか?
time - How do you measure the time a function takes to execute?
How can you measure the amount of time a function will take to execute?
This is a relatively short function and the execution time would probably be in the millisecond range.
This particular question relates to an embedded system, programmed in C or C++.