プログラミング

プロおよび熱狂的プログラマーのためのQ&A


15
AWSが存在するときになぜ人々はHerokuを使用するのですか?HerokuとAWSの違いは何ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 昨年休業。 私はHerokuを使用してアプリをデプロイすることを計画している初心者のRoRプログラマーです。他のアドバイザーの友人からの言葉によると、Herokuは本当に簡単で使いやすいとのことです。唯一の問題は、Herokuが何をしているのかまだ分からないことです... 私は彼らのWebサイトを見てきたが、簡単に言うと、Herokuはスケーリングを支援するのですが、なぜそれが重要なのでしょうか。Herokuはどのように役立ちますか? 速度-私の調査では、米国/アジアを拠点とする対象者を対象としている場合、AWSを米国東海岸に展開するのが最も速いと示唆しています。 セキュリティ-それらはどのくらい安全ですか? スケーリング-実際にはどのように機能しますか? コスト効率-簡単にスケーリングできるdynoのようなものがあります。 彼らはどのように競争相手に対抗していますか?たとえば、Engine Yardとbluebox? 説明に素人英語の用語を使用してください...私は初心者プログラマーです。

7
ウッコネンの単純な英語のサフィックスツリーアルゴリズム
この時点で少し分厚い感じがします。私はサフィックスツリーの構築に完全に頭を悩ませるために何日も費やしましたが、私には数学的な背景がないため、数学記号を過度に使用し始めると、多くの説明がわからなくなります。私が見つけた優れた説明に最も近いのは、サフィックスツリーを使用した高速文字列検索ですが、彼はさまざまな点につながっており、アルゴリズムのいくつかの側面は不明のままです。 このStack Overflowでのアルゴリズムのステップバイステップの説明は、私以外の多くの人にとって非常に貴重だと思います。 参考までに、ここにアルゴリズムに関するウッコネンの論文があります。http://www.cs.helsinki.fi/u/ukkonen/SuffixT1withFigs.pdf これまでの私の基本的な理解: 特定の文字列Tの各プレフィックスPを反復処理する必要があります 接頭辞Pの各接尾辞Sを反復処理し、それをツリーに追加する必要があります 接尾辞Sをツリーに追加するには、Sの各文字を反復処理する必要があります。反復は、Sの同じ文字セットCで始まる既存のブランチを歩いて行き、エッジを子孫ノードに分割する可能性があります。サフィックス内の別の文字に到達する、または一致するエッジがない場合は下に移動する。Cに対して下に移動する一致するエッジが見つからない場合、Cに対して新しいリーフエッジが作成されます。 ほとんどの説明で指摘されているように、基本的なアルゴリズムはO(n 2)のように見えます。これは、すべてのプレフィックスをステップスルーする必要があるため、各プレフィックスの各サフィックスをステップスルーする必要があるためです。ウッコネンのアルゴリズムは、彼が使用しているサフィックスポインターテクニックのために、明らかにユニークですが、それは私が理解するのに苦労しているものだと思います。 私も理解できません: 「アクティブポイント」が割り当てられ、使用され、変更される時期と方法 アルゴリズムの正規化の側面で何が起こっているか 私が見た実装が使用している境界変数を「修正」する必要がある理由 完成したC#ソースコードを以下に示します。正しく機能するだけでなく、自動正規化をサポートし、出力の見栄えの良いテキストグラフをレンダリングします。ソースコードとサンプル出力は次の場所にあります。 https://gist.github.com/2373868 2017年11月4日更新 長年の後に、私はサフィックスツリーの新しい使用法を見つけ、JavaScriptにアルゴリズムを実装しました。要旨は以下の通りです。バグがないはずです。npm install chalk同じ場所からそれをjsファイルにダンプし、node.jsで実行してカラフルな出力を表示します。同じGistには、デバッグコードのない、簡略化されたバージョンがあります。 https://gist.github.com/axefrog/c347bf0f5e0723cbd09b1aaed6ec6fc6

28
Vimで複数のファイルを効果的に操作する方法
私はVimを使用してPerlスクリプトを開発し始め、それが非常に強力であることを発見し始めています。 私が好きなのは、一度に複数のファイルを開くことができることです: vi main.pl maintenance.pl そして、それらの間でホップします: :n :prev そして、どのファイルが開いているかを確認してください: :args ファイルを追加するには、次のようにします。 :n test.pl ファイルのリストに追加されることを期待していますが、代わりに現在のファイルリストが消去され、タイプすると、開く:argsだけtest.plです。 それでは、argsリストでファイルを追加および削除するにはどうすればよいですか?
1099 vim  vi 



20
特定のプロパティに対するLINQのDistinct()
私はそれについて学ぶためにLINQで遊んでDistinctいますが、単純なリストがない場合の使用方法がわかりません(整数の単純なリストは非常に簡単です。これは問題ではありません)。オブジェクトの1つ以上のプロパティのオブジェクトのリストでDistinctを使用したい場合はどうすればよいですか? 例:オブジェクトがの場合、PersonPropertyを使用しIdます。どのようにすればすべてのPersonを取得し、オブジェクトのDistinctプロパティIdでそれらを使用できますか? Person1: Id=1, Name="Test1" Person2: Id=1, Name="Test1" Person3: Id=2, Name="Test2" どのように私は得ることができますPerson1とPerson3?それは可能ですか? LINQでそれができない場合Person、.NET 3.5の一部のプロパティに応じてリストを作成する最良の方法は何ですか?
1095 c#  linq  .net-3.5  distinct 


7
「リント」とは何ですか?
PHPLint、JSLint、そして私は最近、いくつかのIDEについて何かを読んでいるときに、「オンザフライでJSコードをlintできる」ことに出会いました。 それで、私以外の誰もが知っているこのリンティングは何ですか?
1094 lint  gjslint 

12
(文字どおりに)HashMapを直接初期化する方法は?
このようなJava HashMapを初期化する方法はありますか?: Map<String,String> test = new HashMap<String, String>{"test":"test","test":"test"}; 正しい構文は何でしょうか?これについては何も見つかりませんでした。これは可能ですか?変更することなく、マップの作成時に事前にわかっている「最終/静的」値をマップに配置するための最短/最速の方法を探しています。

15
2つの日付の差(日数)を計算しますか?
この質問はJava、JavaScript、およびPHPでは回答されているが、C#では回答されていないようです。では、C#で2つの日付の間の日数を計算するにはどうすればよいでしょうか。
1093 c#  date 


30
Javaでジェネリック配列を作成する方法は?
Javaジェネリックの実装のため、次のようなコードは使用できません。 public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } タイプセーフを維持しながらこれをどのように実装できますか? Javaフォーラムで次のような解決策を見ました。 import java.lang.reflect.Array; class Stack<T> { public Stack(Class<T> clazz, int capacity) { array = (T[])Array.newInstance(clazz, capacity); } private final T[] array; } しかし、私は本当に何が起こっているのかわかりません。

2
特定のコミットを含むブランチをリストする方法は?
どのブランチに特定のコミットが含まれているのかを調べるためにgitにクエリを実行するには gitkブランチが多すぎる場合を除いて、通常はブランチが一覧表示されます。その場合は、「many(38)」などのように表示されます。完全なリスト、または少なくとも特定のブランチにコミットが含まれているかどうかを知る必要があります。
1088 git  version-control 

6
AngularJSで$ scope。$ watchと$ scope。$ applyを使用するにはどうすればよいですか?
私が使用方法を理解していない$scope.$watchと$scope.$apply。公式ドキュメントは役に立ちません。 私が具体的に理解していないこと: それらはDOMに接続されていますか? モデルのDOM変更を更新するにはどうすればよいですか? それらの間の接続点は何ですか? 私はこのチュートリアルを試しましたが、それは理解$watchと$apply当たり前のことです。 何をし$apply、何を$watchし、どのように適切に使用しますか?

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