タグ付けされた質問 「concepts」

概念プログラミングは、プログラマーの頭にある概念が、コード空間で見られる表現にどのように変換されるかに焦点を当てたプログラミングパラダイムです。

2
TDDのロンドンとシカゴの学校は何ですか?
テスト駆動開発(TDD)のロンドンスタイルとシカゴスタイル(デトロイトスタイルと呼ばれることもある)について聞いてきました。 ユタ州エクストリームプログラミングユーザーグループのワークショップ: インタラクションスタイルの TDDも呼ばれmockistスタイル、またはロンドン・スタイルを、それが人気となったロンドンのエクストリーム火曜日クラブの後。通常 は、より状態ベースのデトロイトスタイルまたはクラシック TDDとは対照的です。 ジェイソン・ゴーマンのワークショップ: ワークショップでは、両方のカバーシカゴ校 TDD(状態ベースの動作テストと三角測量)、とのロンドンの学校に特に重点を置いて、からかうとエンドツーエンドのTDD、相互作用のテストにもっと焦点を当て、責任駆動設計とスティーブ・フリーマンとナット・プライスの優れた成長オブジェクト指向ソフトウェアガイド付きテスト本で最近人気を博した、OOへのアプローチをしないでください。 ポストクラシックTDDまたは「ロンドンスクール」Jason Gormanによるものは役に立ちましたが、彼の例は私を混乱させました。なぜなら、彼は両方のアプローチで1つの例の代わりに2つの異なる例を使用しているからです。違いは何ですか?各スタイルをいつ使用しますか?
88 tdd  concepts 

10
マルチスレッドが難しい理由を説明する方法
私はかなり良いプログラマーであり、上司もかなり良いプログラマーです。彼はマルチスレッドなどのいくつかのタスクを過小評価しているように見えますが、それがどれほど難しいかはわかりません(いくつかのスレッドを実行し、すべてが完了するのを待ってから結果を返す以上のことは非常に難しいと思います)。 デッドロックや競合状態を心配し始めた瞬間、私はそれを非常に難しいと感じますが、上司はこれを感謝していないようです-私は彼がこれに遭遇したことはないと思います。ロックをたたくだけで、態度はほぼ変わりません。 それでは、どうやって彼を紹介したり、なぜ彼が並行性、並列処理、マルチスレッドの複雑さを過小評価しているのかを説明できますか?または多分私は間違っていますか? 編集:彼がやったことのほんの少し-リストをループし、そのリストの各アイテムに対して、そのアイテムの情報に基づいてデータベース更新コマンドを実行するスレッドを作成します。一度に実行されるスレッドの数を彼がどのように制御したかはわかりません。実行中のスレッドが多すぎる場合(キューはセマフォを使用しなかった場合)、キューに追加する必要があります。


9
コーディングおよびメンテナンス中にメモ、思考、アルゴリズム、決定を書き留めることは正常ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 閉じた3年前。 言葉なしでは考えられないこの問題を抱えている人もいます。そして、彼らの考えや決定を書き留めることは、最も効果的な進め方です。 だから-コーディング中にNotepad ++ファイルに自分の考えや決定を書き留めることは正常で受け入れられますか? 技術文書を再作成したり、より複雑なアルゴリズムについて推論したりする場合など、受け入れられるべき場合もありますが、設計オプションを検討して判断しようとする場合など、奇妙な場合もあります。 このプラクティスが生産性に与える影響は不明です。片側から-内側の言葉を使った推論は、書かれた言葉を使った場合よりも速いかもしれません。反対側から-より複雑な問題は書く必要があります。それに、デザインの選択肢が増えれば、意思決定が書かれたときのフィーリングが良くなり、士気が上がります。

11
情報の隠蔽は慣例以上のものですか?
Java、C#、およびその他の多くの厳密に型指定された静的にチェックされた言語では、次のようなコードを記述するために使用されます。 public void m1() { ... } protected void m2() { ... } private void m2() { ... } void m2() { ... } 動的にチェックされる言語の中には、特定のクラスメンバーの「プライベート」レベルを表すキーワードを提供せず、代わりにコーディング規約に依存しているものがあります。たとえば、Pythonはプライベートメンバーの前にアンダースコアを付けます: _m(self): pass 動的にチェックされる言語でこのようなキーワードを提供することは、実行時にのみチェックされるため、ほとんど使用されないと主張できます。 ただし、これらのキーワードを静的にチェックされた言語で提供する正当な理由も見つかりません。protected迷惑で気を散らすようなかなり冗長なキーワードでコードを埋める必要があると思います。これまでのところ、これらのキーワードによって引き起こされるコンパイラエラーがバグから私を救ったという状況にはありませんでした。まったく逆に、間違って配置されprotectedたためにライブラリを使用できない場合がありました。 これを念頭に置いて、私の質問は次のとおりです。 クラスの公式インターフェースの一部を定義するために使用されるプログラマー間の慣習以上の情報が隠されていますか? クラスの秘密状態を攻撃から保護するために使用できますか?反射はこのメカニズムをオーバーライドできますか?コンパイラが情報の隠蔽を強制することが価値があるのは何ですか?

1
ErlangとGoの並行プログラミング、CSPとアクター間の客観的な違いは?
私はErlangとGoプログラミング言語での並行プログラミングを検討していました。私の発見によると、それらはそれぞれアクターモデルとCSPを使用しています。 しかし、それでも私はCSPとアクターの客観的な違いは何かと混乱していますか?それは単に理論的に異なるだけで同じ概念ですか?



2
IETFはW3Cとどう違うのですか?
私はこれらの組織(研究所、エンティティなど)を3か月近く追跡していますが、どちらもインターネットをより良い場所にしようとしていると主張しています。彼らは、RFC(IETFの場合)および勧告(W3Cの場合)という名前でドキュメントを作成し、他のユーザーをガイドしています。 さらに、WHATWGと呼ばれる別の組織がWeb開発の別の道を開始し、別のコミュニティがInternet Societyというタイトルで活動しています。 どうして多くの組織なのかわかりません。つまり、単純に統合できないのですか?彼らは本当に違いますか?どうやって?


5
テキスト内のメタデータを個別のデータ構造に保存する
インライン、テキストのメタデータを保存する必要があるアプリケーションを開発しています。つまり、長いテキストがあり、特定の単語またはテキストの文に関連するメタデータを保存するとします。 この情報を保存する最良の方法は何でしょうか? 私が最初に考えたのは、テキストを検索するときに解析されるMarkdown構文を含めることでした。次のようなもの: Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam __nonummy nibh__[@note this sounds really funny latin] euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. これにより、私が考えることができる2つの問題が発生します。 比較的小さいのは、前述の構文が偶然にも前述のテキストにあった場合、構文解析を混乱させる可能性があるということです。 最も重要なのは、このメタデータがテキスト自体とは別に維持されないことです。 クエリ、統計、並べ替えなどの個別の方法でそれらを使用できるように、これらのメタデータが格納されている異なるDBテーブルなど、このデータを保持する個別のデータ構造が必要です。 編集:回答者が答えを削除したので、この最初の概念を拡張した実用的な提案だったので、ここに彼の提案を追加するのが良いと思います。ポスターは似た構文を使用するが、これにメタデータをリンクすることが示唆PRIMARY KEYのmetadataデータベーステーブル。 このように見えるもの: Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam __nonummy nibh__[15432] euismod tincidunt …


6
自分の技術(プログラミング)を深く理解するために習得すべきプログラミング概念は何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 重要な順序で、そうすることが可能であり、そうでない場合、プログラム方法を知るための最も重要な基礎は何ですか。アルゴリズム、反復、再帰など? 私がどこに置くかなどは私の質問のあるところです。私は最近、10人のプログラマーのうち9人がプログラムをあえぎできないと言っているインターネットの投稿を読みました! http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html プログラミングの際に実際に達成しようとしていることについて深い知識と、自由に使える基本的なツールの徹底的な理解が必要です。基本的に私は風のすべての色でペイントできるようにしたい。

4
データベースのファジー検索の概念
私はこれについて考え、たとえばユーザーがスペルミスを入力した場合など、データベースをファジー検索する方法に関する解決策を考え出そうとしています。この背後にあるロジックに大きな問題はありますか?それは機能し、以前に行われましたか? 検索するテーブル: **tblArticles** Body - Soundex_Body - CharacterCoded_Body したがって、物理的な表示のために生のテキスト本文を保存します。他の2列は、次の方法で事前計算される検索に使用されます。 Soundex 本文は言葉に分割され、soundexバージョンに変換されます。IE、結果の本文は次のようになります。 H252 B54 C23 E33... etc したがって、誰かが「恐竜」と入力すると、記事本文には「恐竜」と表示され、これらは両方ともB26と評価されます。次に、検索語のsoundex値に対してLIKEを実行します。 文字コード IEで文字を素数にマップする文字マッピングを考えると: h = 2 e = 3 l = 5 o = 7 p = 11 c = 13 help = 2*3*5*11 = 330 hello = 2*3*5*5*7 = 1050 hell = 2*3*5*5 …

5
別の言語の概念をエミュレートすることから、どのような問題が生じる可能性がありますか?
あなたの言語が何らかの概念、たとえばオブジェクト指向、または関数呼び出しをサポートしていない場合、ウェブ上で何度も読みましたが、この他のコンテキストでは良い習慣と考えられているので、それを行うべきです。 私が今目にすることができる唯一の問題は、他のプログラマーがあなたのコードを通常とはあまりにも異なって見つけ、彼らがプログラムするのを難しくしているかもしれないということです。これから他にどんな問題が生じると思いますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.