問題タブ [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.
string - 文字列の内容を確認していますか? 文字列の長さと空の文字列
コンパイラにとってより効率的で、文字列が空白かどうかをチェックするためのベスト プラクティスはどれですか?
- 文字列の長さ == 0 かどうかの確認
- 文字列が空かどうかの確認 (strVar == "")
また、答えは言語によって異なりますか?
language-agnostic - 誰かにプログラミングを学ぶように勧める方法は?
ちょっとした休暇が近づいている友人がいて、彼らは休暇中に何をすべきかについてアイデアを求めています。私は彼らにプログラミングを提案する予定です。私が言及する必要がある長所と短所は何ですか?
返信があり次第、以下のリストに追加します。エントリが重複していることをお詫びします。
私がこれまでに持っている長所
- 最小限のお金の要件 (彼らは既にコンピューターを持っています)
- 彼らが新しい方法で考えるのを助けるでしょう
- (Rob Cooper) 素晴らしい挑戦です。毎日が何らかの形、形、形で本当に新鮮な挑戦です。本当にそれを提供できる仕事は多くありません。
- (Rob Cooper) 考えさせられる方法が気に入っています..スキルが向上するにつれて、すべてをより論理的に見ることができます..これは、プログラミングだけでなく、一般的な生活にも役立ちます.
- (ロブ・クーパー) お金はかなり良いものです。
- (Rob Cooper) それはかなりポータブルな取引です.. コラボレーション技術をそのまま使用すると、インターネット接続さえあれば、世界中のどこでも仕事をすることができます。
- (Rob Cooper) 働くのはエキサイティングな業界です。仕事をしたり遊んだりするテクノロジーが大量にあります。
- (口論) ジェットパック。プログラミングはテクノロジーであり、テクノロジーに時間を費やせば費やすほど、Jetpack の実現に近づきます。(テイフィオン: これは本当にクールな例えです! )
- (Saj) 脳の筋肉を鍛える有益な方法。
- (Saj) 一部の聴衆にはあなたが華麗に見えます。
- (Saj) あなたをハイテクにします。
- (Saj) 未来の世界への資格を与えます。
- (Saj) 数学的な方法ではなく、簡単で楽しい..
- (kiwiBastard) 問題解決が好きな人なら、プログラミングは良い例ではありません。
- (kiwiBastard) 自分で設計してコード化したものと対話できるときの素晴らしい達成感
- (kiwiBastard) ひよこ/チャップスに会うのに最適な方法 - うーん、多分そうではないかもしれません ( Teifion: どこでプログラミングをしているのかわかりませんが、いつか会いに行きたいです)
- (エパテル) プログラミングを学ぶことは、ホグワーツで呪文を唱えることを学ぶようなものです。コンピューターは永遠にあなたのしもべです...
私がこれまでに持っている短所
- うまくいかないときはイライラすることがある
- 運動ではない
- (Rob Cooper) お金のためだけにやっている人がたくさんいます。彼らは工芸品を愛しておらず、ただ怠惰で迷惑に見えます。時には、私がとても楽しんでいる業界や労働力ががらくたで薄められているのを見て、私のギアを本当に磨くことができます. それはしばしば私たち全員に悪い影響を与える可能性があります.
- (Rob Cooper) 初期費用についてはよくわかりません..ええ、Java などを低コストで始めることができますが、私にとっては、地元では、膨大な需要が .NET 開発者にあり、それを立ち上げて実行するには費用がかかる可能性があります。 . しかし、これは、MS が主な開発製品ラインの非常に優れた Express エディションをリリースするために費やした作業の量を考えると、急速に/そうなっていません。
- (ロブ・クーパー) 一生のキャリアです.. 業界の性質上、あなたが本当に「マスター」になることは決してなく、1〜2年で立ち止まると本当に感じています。あなたは時代遅れです. 一部の人々はペースが好きではありません.
- (Rob Cooper) 一部のオタクは一緒に仕事をするのが難しい場合があります..一般的なオタクの動きは本当に良い方向に変化していると思います.すべてのお尻に!
- (Saj) 仮想ダメージを与えることができます。
- (Saj) 自分のコンピューターを捨てさせることができます。
- (Saj) 1 つだけを仮想的に世界中で利用できるようにすることができます。
language-agnostic - 単一の決定およびアクションステートメントに適したスタイルは何ですか?
次の例のように、括弧なしで単一の決定とアクションをサポートする言語の場合:
これを書くための好ましい方法は何ですか?ブラケットは常に使用する必要がありますか、それとも個々の開発者の好みとして使用を残す必要がありますか?さらに、この方法は、次の例のように、コードブロックのサイズに依存しますか?
language-agnostic - デザインパターンを使用していますか?
デザインパターンの現実世界への浸透度は?日常の仕事でそれらを使用しますか?同僚とどのように、どこに適用するかについて話し合いますか?それとも、よりアカデミックな概念のままですか?
彼らは実際にあなたの仕事に実際の価値を提供していますか? それとも、スマートに聞こえるように人々が話しているだけですか?
注: この質問では、Singletonのような「単純な」設計パターンは無視してください。Model View Controllerなどを利用できるようにコードを設計することについて話している.
language-agnostic - シングルトン: 優れた設計か松葉杖か?
シングルトンは熱く議論されているデザイン パターンであるため、スタック オーバーフロー コミュニティがシングルトンについてどう考えているかに興味があります。
「シングルトンは怠惰なプログラマー向けだ!」だけでなく、意見の理由を教えてください。
シングルトンの使用に反対していますが、この問題に関するかなり良い記事があります: Scientificninja.com: performant-singletons。
他に良い記事を持っている人はいますか?多分シングルトンをサポートしていますか?
language-agnostic - グローバルアプリケーション設定へのアクセス
私が現在取り組んでいるデータベースアプリケーションは、あらゆる種類の設定をデータベースに保存します。これらの設定のほとんどは、特定のビジネスルールをカスタマイズするためのものですが、他にもいくつかあります。
アプリには、特定の複雑な計算など、特定のタスクを具体的に実行するオブジェクトが含まれています。これらの非UIオブジェクトは単体テストされていますが、これらのグローバル設定の多くにアクセスする必要もあります。これを今実装している方法は、実行時にアプリケーションコントローラーによって入力されるオブジェクトプロパティを与えることです。テスト時には、テストでオブジェクトを作成し、(データベースからではなく)テスト用の値を入力します。
これはうまく機能しますが、いずれの場合も、これらすべてのオブジェクトにグローバル設定オブジェクトが必要になるよりもはるかに優れています---もちろん効果的に単体テストが不可能になります:)欠点は、数十のプロパティを設定する必要がある場合や、必要な場合があることです。これらのプロパティをサブオブジェクトに「浸透」させます。
したがって、一般的な質問は、コードを単体テストできる一方で、グローバル変数を必要とせずに、プロジェクト内のグローバルアプリケーション設定へのアクセスをどのように提供するかということです。これは何百回も解決された問題であるに違いありません...
(注:お気づきのように、私は経験豊富なプログラマーではありませんが、学ぶのは大好きです!もちろん、このトピックについてはすでに調査を行っていますが、最初にいくつかを探しています。 -手の経験)
language-agnostic - Web 開発を始めるためのリソース?
たとえば、私が今日起きて、StackOverflow.com のクローンを作成し、0.02 ドルの広告クリック数百万ドルという金銭的な棚ぼたを手に入れたいと思ったとしましょう。どこから始めればよいですか?
Web テクノロジーに関する私の理解は次のとおりです。
- HTMLは最終的に表示されるものです
- CSS は、HTML の見栄えを良くするためのメカニズムです
- ASP.NET では、.NET を使用して機能を追加できます(?)
- JavaScript の機能
- AJAX は非同期処理を行います
- ...そしてリストは続きます!
良いウェブサイトを書くには、7冊の本を購入してすべて読む必要がありますか? Web 2.0 サイトは本当にこれらすべてのテクノロジーの相乗効果なのでしょうか?
プロフェッショナルな外観の Web サイトを作成するには、どこから始めればよいでしょうか。また、その過程でどのような手順が必要になるのでしょうか。
language-agnostic - ボクシングとアンボクシングとは何ですか?トレードオフは何ですか?
明確で簡潔で正確な答えを探しています。
良い説明へのリンクを歓迎しますが、理想的には実際の答えとして。
performance - 解釈された言語 - インタプリタの背後でコンパイルされた言語を活用
言語設計者 (または単に知識のある人) がいる場合は、インタープリター言語用の標準ライブラリを作成する方法論に興味があります。具体的には、最善のアプローチと思われるものは何ですか? インタープリター言語で標準関数/メソッドを定義するか、インタープリターが記述されているコンパイル済み言語でそれらの呼び出しの処理を実行しますか?
これについて考えさせられたのは、Python の stripslashes() のような関数に関する SO の質問でした。私が最初に考えたのは、「独自の関数を定義して、必要なときに呼び出すだけでよいのでは」ということでした。拡張機能を作成し、コンパイルされた言語をインタープリターの背後で活用しますか?
language-agnostic - 音声からテキストへの使用を開始するには?
音声からテキストへのアルゴリズムに非常に興味がありますが、どこから勉強を始めればよいかわかりません。たくさんの検索を行った結果、これにたどり着きましたが、それは 1996 年のものであり、それ以来改善されていることはかなり確信しています。
この種のものを経験したことがある人は、読む/ソースコードを調べるための推奨事項はありますか? または、音声認識プログラムを作成する世界に入りたい場合に何を学ぼうとしているのかについての一般的なアドバイスです (ドメインについてあまり知識がないと、何を検索すればよいかを理解するのが難しい場合があります)。
編集:クロスプラットフォームで何かをしたいのですが、今のところLinuxをターゲットにしています。
編集 2: csmba のよく考えられた返信に感謝します。現時点では、自動化や音声によるさまざまなコマンドの実行を可能にするアプリケーションを作成できるようになることに主に関心があります。したがって、限られた量の認識可能なコマンドをつなぎ合わせることができます。たとえば、「Squarepusher の Hello Everything のアルバムを再生して」などのコマンドを受け取る音楽プレーヤーや、ユーザーが特定のアプリを起動するための音声ショートカットを作成できるアプリケーション ランチャーなどです。
これは非常に大きな問題であり、認識エンジン全体の実装に取り組むために現在必要とされるレベルの知識はどこにもないことを認識しています。自分でやる。おそらく、私はこのテーマに関する本を 1 冊か 2 冊手に取り、自由な時間に「単純な」実装について勉強したり遊んだりすることになるでしょう。