問題タブ [language-agnostic]
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.
git - バージョン管理システムの使用を開始する
自宅で開発しているだけでも、バージョン管理を実装する必要があります。私は過去数年間、Subversionがどれほど素晴らしいかについて読んだことがあり、Gitが新進気鋭のバージョン管理システムであると聞くまで、これを学ぶことに専念しようとしていました。
状況を考えると、私は延期して、どちらが上に出るかを確認する必要がありますか?それらの相対的な利点は何ですか?
Gitで気付いた問題の1つは、フル機能のGUIがあまりないことです。これは、私のチームの多くのユーザーにとって重要です。
また、どちらかを始める方法についての提案を気にしないでください。(チュートリアルなど)
language-agnostic - ユーザーが最後にキーを押した(またはマウスを動かした)のはいつかわかりますか?
Win32環境では、MicrosoftのドキュメントでGetLastInputInfoAPI呼び出しを使用できます。基本的に、このメソッドは、ユーザーが最後に入力を提供した日時に対応する最後のティックを返します。これを現在のティックと比較して、それがどれくらい前かを判断する必要があります。
Xavi23crには、 codeprojectでのC#の良い例があります。
他の環境について何か提案はありますか?
python - 初心者にプログラムを教えるための最良の方法は?
元の質問
私は現在、弟にプログラムを教えることに従事しています。彼は全くの初心者ですが、とても頭がいいです。(そして彼は実際に学びたいと思っています)。私たちのセッションのいくつかが細部に行き詰まっていることに気づきました、そして私は私があまり組織化されていないと感じています。(しかし、この投稿への回答は大いに役立ちました。)
彼に効果的に教えるために私は何をより良くすることができますか?概念ごとに実行するために使用できる論理的な順序はありますか?後でまで避けるべき複雑さはありますか?
私たちが使用している言語はPythonですが、どの言語でもアドバイスを歓迎します。
助ける方法
あなたが良いものを持っているなら、あなたの答えに以下を追加してください:
- 初心者向けの演習とプロジェクトのアイデア
- 初心者を教えるためのリソース
- スクリーンキャスト/ブログ投稿/無料の電子書籍
- 初心者に適した本を印刷する
確認できるように、リソースへのリンクを記載して説明してください。私は間違いなくこれらのアイデアのいくつかを使用していることをみんなに知ってもらいたいです。あなたの提出物はこの投稿に集約されます。
初心者を教えるためのオンラインリソース:
- Pythonを使用したプログラミングの穏やかな紹介
- コンピューター科学者のように考える方法
- アリス:初心者向けの3Dプログラム
- スクラッチ(プログラミングスキルを開発するためのシステム)
- プログラムの設計方法
- コンピュータプログラムの構造と解釈
- プログラムすることを学ぶ
- ロバート・リードのプログラマーになる方法
- Microsoft XNA
- 次世代のハッカーを生み出す
- COMP1917リチャードバックランドによるハイアーコンピューティングの講義(iTunesが必要)
- Pythonに飛び込む
- Pythonウィキブックス
- プロジェクトオイラー-サンプル問題(主に数学)
- pygame-ゲームを作成するための簡単なPythonライブラリ
- Pythonで独自のコンピュータゲームを発明する
- 基本を超えた次のステップのためのプログラミングの基礎。
- 例によるきしみ
- 子供のためのヘビのラングリング(それは子供のためだけではありません!)
初心者を教えるための推奨プリントブック
algorithm - 測定信号のピーク検出
データ取得カードを使用して、信号をピークまで増加させた後、元の値の近くに戻すデバイスから読み取り値を取得します。ピーク値を見つけるために、現在配列を検索して最高の読み取り値を探し、インデックスを使用して計算で使用されるピーク値のタイミングを決定します。
これは、最高値が探しているピークである場合はうまく機能しますが、デバイスが正しく機能していない場合、最初のピークよりも高い 2 番目のピークが表示される可能性があります。90 秒間に 16 台のデバイスから 1 秒間に 10 回の読み取りを行います。
私の最初の考えは、ピークを見つけてピークの配列を構築するために、前と次のポイントが現在よりも小さいかどうかを確認するために読み取りチェックを繰り返すことです。おそらく、システム内のノイズを考慮して、現在の位置の両側の多数のポイントの平均を確認する必要があります。これは続行するための最良の方法ですか、それともより良いテクニックはありますか?
私たちは LabVIEW を使用しており、LAVA フォーラムをチェックしたところ、興味深い例が数多くありました。これは私たちのテスト ソフトウェアの一部であり、非標準の VI ライブラリの使用を避けようとしているため、特定のコードではなく、関連するプロセス/アルゴリズムに関するフィードバックを期待していました。
language-agnostic - コード要素を通常のテキストにどのように組版しますか?
読みやすさ、簡潔さ、および正確さのために引数を使用して関数をタイプセットする最良の方法は何ですか? func()
関数の引数が実際にある場合でも、のように関数名の後に空の括弧を付ける傾向があります。引数を含めるのに問題がありますが、段落が読みやすいように感じます。
このためのベストプラクティスについて何か考えはありますか?
language-agnostic - ファイルまたはデータベース以外に、どのようなキャッシング方法を使用できますか?
現在、データをキャッシュする方法を 2 つしか知りません (私は PHP を使用していますが、ほとんどの言語に同じことが当てはまると思います)。
- キャッシュをファイルに保存する
- キャッシュを大きな DB フィールドに保存する
他の (おそらくもっと良い) キャッシュの方法はありますか、それとも本当に単純ですか?
language-agnostic - テリトリー マップの生成
テリトリー マップを生成する簡単な、または少なくとも適度に簡単な方法はありますか (リスクなど)?
私は過去に調べたことがありますが、ボロノイ図への漠然とした参照が見つかりました。ボロノイ図の例は次のとおりです。
.
これらは有望ですが、これらをレンダリングする簡単な方法は見たことがないと思います。ましてや、各領域をオブジェクトとして扱うための何らかの形式のデータ構造でそれらを保持することは言うまでもありません。
有望なもう 1 つのアプローチはフラッド フィルですが、このアプローチを開始する最善の方法については確信が持てません。
アドバイスをいただければ幸いです。
language-agnostic - 304 Not Modified 応答をいつ送信するかを知る方法
さまざまなファイルへのアクセスを制御するリソース処理メソッドを作成しており、ブラウザのキャッシュを利用できるようにしたいと考えています。私の質問は 2 つあります。
304 応答を送信する必要があるかどうかを確実に知るために確認する必要がある決定的な HTTP ヘッダーはどれですか?また、それらを確認するときに何を探していますか?
さらに、最初にファイルを送信するときに (「Last-Modified」など) 200 応答として送信する必要があるヘッダーはありますか?
疑似コードがおそらく最も有用な答えになるでしょう。
cache-control ヘッダーはどうですか? そのさまざまな可能な値は、クライアントに送信するもの (つまり max-age) に影響を与えることができますか、それとも if-modified-since に従う必要がありますか?
language-agnostic - HTTP: ETag ヘッダーの生成
リソース ファイルの ETag HTTP ヘッダーを生成するにはどうすればよいですか?
c# - C# の論理順序とコンパイラの動作
C# では (他の言語については自由に回答してください)、ランタイムはどのような順序で論理ステートメントを評価しますか?
例:
ランタイムが最初に評価するステートメント -
また:
?
コンパイラがステートメントを逆方向に評価するときはありますか? おそらく、「OR」演算子が関係しているときですか?
& はビット単位の論理演算子として知られており、常にすべての部分式を評価します。
「短絡ブール値」の代わりにビットごとの演算子を使用する場合の良い例は何ですか?