タグ付けされた質問 「language-agnostic」

このタグは、特定のプログラミング言語に依存しないプログラミングの質問に使用します。

7
オブジェクト指向の分析と設計を使用したエレベーターのモデリング[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 この質問を改善する オブジェクト指向の設計と分析に関しては、インタビューやクラスで一般的に使用されているように見える一連の質問があります。これはそのうちの1つです。残念ながら、大学の私のOOP教授は実際には答えを出していないので、私は不思議に思っていました。 問題は次のとおりです。エレベーターバンクのシミュレーションに使用するオブジェクト/メソッドの基本セットを設計します。オブジェクトとその属性/メソッドは何ですか? 議論のために、私たちの建物が20階建てであると仮定しましょう。最下階はロビー、2階は駐車場につながっています(したがって、人々は最下階または2階のどちらかの建物に出入りします)。すべてのフロアにサービスを提供するエレベーターバンクが1つあります。エレベーターバンクには3つのエレベーターシャフトがあり、シャフトごとに1つのエレベーターがあります。 これをオブジェクト指向モデルでモデル化する正しい方法は何でしょうか?

10
非同期vsマルチスレッド-違いはありますか?
非同期呼び出しは常に新しいスレッドを作成しますか?2つの違いは何ですか? 非同期呼び出しは常に新しいスレッドを作成または使用しますか? ウィキペディアは言う: コンピュータプログラミングでは、非同期イベントはメインプログラムフローとは無関係に発生するイベントです。非同期アクションは、非ブロックスキームで実行されるアクションであり、メインプログラムフローが処理を続行できるようにします。 シングルスレッドで非同期呼び出しを実行できることを知っていますか?これはどのようにして可能ですか?

25
URLの一部を取得する(正規表現)
OverаэтотвопросестьответынаStack Overflowнарусском:Достатьзначенияспомощьюрегулярок 指定されたURL(単一行):http : //test.example.com/dir/subdir/file.html 正規表現を使用して次の部分を抽出するにはどうすればよいですか。 サブドメイン(テスト) ドメイン(example.com) ファイルなしのパス(/ dir / subdir /) ファイル(file.html) ファイルのパス(/dir/subdir/file.html) パスなしのURL(http://test.example.com) (あなたが便利だと思うものを追加してください) 次のURLを入力しても、正規表現は正しく機能するはずです。 http://example.example.com/example/example/example.html

4
ロードされたサイコロのデータ構造?
私がnサイドのロードされたサイコロを持っているとします。サイコロを振ったときに、各サイドkがp kになる確率があります。サイコロのランダムなロールを効率的にシミュレートできるように、この情報を静的に(つまり、確率の固定セットに対して)保存するための優れたアルゴリズムがあるかどうか知りたいです。 現在、私はこの問題のO(lg n)ソリューションを持っています。すべてのkの最初のk側の累積確率のテーブルを保存し、[0、1)の範囲でランダムな実数を生成し、テーブルに対してバイナリ検索を実行して、累積的な値は選択した値以下です。私はこのソリューションが好きですが、ランタイムが確率を考慮に入れていないのは奇妙に思えます。特に、片側が常に表示される、または値が均一に分布する極値の場合、素朴なアプローチを使用してO(1)のロールの結果を生成することが可能ですが、私の解決策はまだ多くのステップをとっています。 この問題をランタイムで何らかの形で「適応」させる方法でこの問題を解決する方法についての提案はありますか? 編集:この質問への回答に基づいて、私はこの問題への多くのアプローチとその分析を説明する記事を書きました。エイリアスメソッドのVoseの実装は、サイコロごとにΘ(n)前処理時間とO(1)時間を与えるように見えます。これは本当に印象的です。うまくいけば、これは回答に含まれる情報への便利な追加です!

7
良いハッシュ関数とは何ですか?
良いハッシュ関数とは何ですか?私は大学のデータ構造のコースで多くのハッシュ関数とアプリケーションを見ましたが、良いハッシュ関数を作るのはかなり難しいと私はほとんど思いました。衝突を回避するための経験則として、私の教授は次のように述べています。 function Hash(key) return key mod PrimeNumber end (modはCおよび同様の言語の%演算子です) 素数をハッシュテーブルのサイズにします。これは、衝突を回避するためのやや良い関数であり、高速な関数ですが、どうすればより良い関数を作成できますか?数値キーに対する文字列キーのより良いハッシュ関数はありますか?

12
インバリアントとは何ですか?
この言葉は多くの文脈で使われているようです。私が理解できる最高のことは、それらが変更できない変数を意味するということです。それは定数/ファイナル(Javaを宣言します!)の目的ではありませんか?

9
メールを送信するアプリを開発してテストする方法(誰かのメールボックスにテストデータを入力せずに)[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 メールを送信するアプリがたくさんあります。時々それは一度に1つか2つのメッセージです。時にはそれは何千ものメッセージです。 開発では、通常、受信者のアドレスを自分のアドレスに置き換えてテストします。彼らがそれに飽きて、より良い解決策を見つけるまで、それは他の誰もがやっていることだと私は確信しています。 メッセージをキャッチしてSQLLiteデータベース、mboxファイルなどにダンプするダミーのSMTPサーバーを作成することを考えていました。 しかし、確かにそのようなツールはすでに存在していますか?メールの送信をどのようにテストしますか?

14
「ゼブラの所有者」をプログラムで解決するには?
編集:このパズルは「アインシュタインの謎」としても知られています ゼブラを所有している人(あなたがすることができ、ここでオンライン版を試してみてください)スタックオーバーフロー上のほとんどの人がペンと紙でそれを解決することができるというパズルとIベットの古典的なセットの例です。しかし、プログラムによるソリューションはどのように見えるでしょうか? 以下の手がかりに基づいて... 5つの家があります。 各家には独自の色があります。 すべての家の所有者は異なる国籍です。 彼らはすべて異なるペットを飼っています。 彼らはすべて別の飲み物を飲みます。 彼らはみんな違うタバコを吸います。 イギリス人は赤い家に住んでいます。 スウェーデン人は犬を飼っています。 デーンはお茶を飲みます。 温室は白い家の左側にあります。 彼らは温室でコーヒーを飲みます。 ポールモールを吸う男には鳥がいます。 黄色い家で彼らはダンヒルを吸います。 真ん中の家では牛乳を飲みます。 ノルウェー人は最初の家に住んでいます。 ブレンドを吸う男は猫のいる家の隣の家に住んでいます。 彼らは馬を飼っている家の隣の家で、ダンヒルを吸っています。 ブルーマスターを吸う男はビールを飲みます。 ドイツ人は王子を吸います。 ノルウェー人は青い家の隣に住んでいます。 彼らはブレンドを吸う家の隣の家で水を飲みます。 ...ゼブラの所有者は誰ですか?

8
RGBをグレースケール/強度に変換する
RGBからグレースケールに変換する場合、チャネルR、G、Bに特定の重みを適用する必要があると言われています。これらの重みは、0.2989、0.5870、0.1140です。 その理由は、これらの3つの色に対する人間の知覚/感受性が異なるためだと言われています。これらはNTSC信号の計算に使用される値であるとも言われます。 しかし、ウェブ上でこれについての適切なリファレンスは見つかりませんでした。これらの値のソースは何ですか? これらの以前の質問も参照してください:こことここ。

30
すべてのプログラミング言語でのファイルI / O [終了]
ここで何が尋ねられているのかを知るのは難しい。この質問は、あいまいで、あいまいで、不完全で、過度に広い、または修辞的であり、現在の形では合理的に回答することができません。再開できるようにこの質問を明確にするヘルプについては、ヘルプセンターに アクセスしてください。 9年前休業。 ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 これは、すべてのプログラマーが時々持っている共通の質問でなければなりません。テキストファイルから行を読み取るにはどうすればよいですか?次に、次の質問は常にそれをどのように書き戻すかです。 もちろん、ほとんどの人は日々のプログラミングで高レベルのフレームワークを使用していますが(回答で使用するのは問題ありません)、低レベルでそれを行う方法を知っているとよい場合もあります。 私自身はそれを行う方法を知っています C、C++そしてObjective-C、確かにだけ助けに私たちは中ioの私たちのファイルをどうするかの言語についてのより良い意思決定を行う場合には、一般的な言語のすべてで行うのかを確認するために便利だろう。特に、文字列操作言語でどのように行われるかを見るのは興味深いと思います。もちろんpython、rubyperl そこで、ここでは、すべてのプロファイルにスターを付け、新しい言語でファイルI / Oを行う必要があるときに参照できるコミュニティリソースを作成できると考えています。露出は言うまでもありませんが、日常的に扱っていない言語に私達は全員行きます。 これはあなたが答える必要がある方法です: 「fileio.txt」という新しいテキストファイルを作成します。 最初の行 "hello"をテキストファイルに書き込みます。 2行目の「world」をテキストファイルに追加します。 2行目の「world」を入力文字列に読み取ります。 入力文字列をコンソールに出力します。 明確化: 回答ごとに1つのプログラミング言語でこれを行う方法を示す必要があります。 テキストファイルが事前に存在しないと仮定します。 最初の行を書き込んだ後、テキストファイルを再度開く必要はありません。 言語に特に制限はありません。 C、C++、C#、Java、Objective-Cすべて素晴らしいです。 あなたはそれを行う方法を知っている場合はProlog、Haskell、Fortran、Lisp、またはBasic右先に行くしてください。


30
OOPのポイントは何ですか?
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 私の知る限り、OOPの教育、言語、およびツールに費やされた無数の数百万または数十億にもかかわらず、OOPは開発者の生産性やソフトウェアの信頼性を向上させておらず、開発コストも削減していません。厳密な意味でOOPを使用する人はほとんどいません(LSPなどの原則を遵守または理解している人はほとんどいません)。問題のドメインをモデル化するために人々がとるアプローチには、ほとんど均一性や一貫性がないようです。たいていの場合、クラスは単に構文上の砂糖のために使用されます。レコード型の関数を独自の小さな名前空間に配置します。 さまざまなアプリケーション用に大量のコードを記述しました。真の置換可能なサブタイピングがアプリケーションで重要な役割を果たす場所がありましたが、これらはかなり例外的なものでした。一般に、「再利用」について話すために多くのリップサービスが提供されますが、実際には、コードの一部が意図したとおりに実行しない限り、費用対効果の高い「再利用」はほとんどありません。クラスを正しい方法で拡張できるように設計することは非常に難しいため、通常、拡張のコストは非常に高く、「再利用」するだけの価値はありません。 多くの点で、これは私を驚かせません。現実の世界は「OO」ではなく、OOに内在する考え(クラス分類法でモデル化できる)は、根本的に欠陥があるように見えます(テーブル、木の切り株、車のボンネットに座ることができます) 、誰かの膝-しかしそれらの1つは椅子ではありません)。より抽象的なドメインに移行しても、オブジェクト指向モデリングは困難で直感に反し、最終的に役に立たないことがよくあります(円/楕円または正方形/長方形の古典的な例を考えてみてください)。 だから私はここで何が欠けていますか?OOPの価値はどこにありますか。なぜ、時間とお金がソフトウェアを改善することに失敗したのでしょうか。


30
なぜ「ハンガリー記法」を使うべきではないのですか?
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 私はハンガリー語が何を意味するか知っています-変数、パラメーター、または型に関する情報をその名前の接頭辞として与えます。場合によってはそれが良い考えのように思われるかもしれませんが、誰もがそれに激しく反対しているようです。有用な情報が提供されていると感じた場合、利用可能な場所に配置しない方がよいでしょうか。 参照:現実の世界では、ハンガリーの命名規則を使用していますか?

13
クロスワードを生成するアルゴリズム
単語のリストを前提として、それらをクロスワードグリッドに配置するにはどうすればよいでしょうか。 これは、対称的な「適切な」クロスワードパズルのようなものである必要はありません。基本的に、各単語の開始位置と方向を出力するだけです。

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