問題タブ [future-proof]

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.

0 投票する
0 に答える
2096 参照

ruby-on-rails - Rails4への移行の苦痛を和らげる

私は現在Rails3.2アプリケーションに取り組んでいますが、Rails4が間もなく登場することを認識しています。正式にリリースされたとき、またはおそらく2、3のポイントリリースの後で、Rails 4への移行を容易にするためにアプリケーションを実装するときに、今知っておくべきことは何ですか?一部の機能がgemにスピンアウトされることは知っていますが、Rails4.1以降でのサポートは保証されていません。

アップグレードガイド:http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-3-2-to-rails-4-0とリリースノート:http://edgeguidesを読みました。 rubyonrails.org/4_0_release_notes.html

Rails 4の優れた新しい光沢のある機能ではなく、アップグレードで頭痛の種となる落とし穴を特定するために、この点にもっと興味があります。

したがって、この読書とインターネットからの抜粋に基づいて、私が現在持っているのは次のとおりです。

  • 少なくともRuby1.9.3にアップグレードしてください。
  • プラグインは使用しないでください。代わりにgemを使用してください。
  • ActiveRecord::IdentityMapはRails4には含まれません。
  • ActiveResourceはコアRails4の一部ではありませんが、別のgem(activeresource)に含まれます。おそらく、RESTAPIの他のORMを検討してください。
  • ActiveRecordでダイナミックファインダーメソッドを使用しないでくださいfind_all_by_*scoped_by_*これらは非推奨になります。where代わりに使用してください。
  • ハッシュベースのファインダーは避けてください。たとえば、代わりにUser.find(:all, :conditions => ...使用してください。where
  • ActiveRecordの熱心に評価されたスコープ:スコープにはラムダが必要です。たとえば、使用しscope :red, -> { where(color: 'red') }ないでscope :red, where(color: 'red')ください。
  • ActiveRecord :: SessionStoreは別のgem(activerecord-session_store)になります。
  • BufferedLoggerの代わりにActiveSupport::Loggerを使用します。
  • Rails 4のStrongParametersを見越してstrong_parametersgemの使用を開始します。これには、ActiveRecordレベルでattr_accessor、attr_accessible、a​​ttr_protectedの代わりにparams.require、コントローラーに入れて正しいパラメーターを強制的に提供することが含まれます。

...しかし、もっとあると確信しています。誰かが知っておくべき包括的で常識的なリストを提供できますか?Rails 4の非推奨の完全なリストを探しているわけではありません。これは、知っておくべき重要なことであり、将来にわたって利用できるようにするために今できることです。

0 投票する
1 に答える
567 参照

javascript - Web ブラウザ アプリからのソケットの読み取りと書き込み

データベースからデータをクエリし、データが更新されたときに通知を受信するためにソケットをリッスンするために、TCP/IP 経由でプロトコルを発行するサーバーと対話する必要があります。サーバー担当者は、この TCP プロトコルを使用する Java API を提供しています。これは、このサーバーと通信する Swing アプリケーションを簡単に作成できることを意味します。

ブラウザベースのソリューションが欲しいです。プロトコルはわかっているので、JavaScript でこれを行うことはできますか? 私のアプリは、データをテーブルに表示する必要があります。Web ソケットのことは聞いたことがありますが、この双方向通信が可能かどうかはわかりません。実現可能ですか?クロスプラットフォームで、ほとんどのブラウザで動作するより良い方法はありますか? ブラウザー内で実行される Java Swing ベースのソリューションを検討する必要がありますか?

編集: C++ サーバーのコードを変更して、Javascript コードが直接通信できる追加のインターフェイスを追加するのはどうですか?

0 投票する
2 に答える
72 参照

python - ローカリゼーションと将来性

ですから、これは StackOverflow 形式にとっては良い質問ではないことはわかっています。しかし、私は少し途方に暮れています。これを別の場所に置くことをお勧めします。

私は Python プログラムをローカライズするための xgettext に精通しています。現在、ユーザー設定を文字列として保存しています (例: user_prefs = {'temperature':u'\u00b0C Fahrenheit', 'volumetric':'Cubic inches', ...})

これは正常に機能し、外国語で操作する場合、文字列のローカライズを保存する前に英語に戻すことを試みます (ほとんどの場合成功します)。保存された文字列が常に英語版になるようにし、プログラムの起動時にローカライズします。

'Cubic inches'ただし、 に変更しu'in\u00b3' たり、 のような小さな変更を加えたりすると、後で問題が発生'Cubic inches''Cubic Inches'ます。常に小文字で比較を行うことでこれをいくらか補正しましたが、私にはハックのように感じられ、id を保存するなどのより良い方法があるに違いないと思われます (配列へのインデックスであっても、単にいくつかの一意の識別子)。しかし、ユーザーの好みが常に認識されるように、将来のプルーフに関する他のユーザーの経験について疑問に思っています。

これはクローズされると思いますが(主観的な回答を求めます)、そうなる前に良い洞察を得ることができるかもしれません

0 投票する
1 に答える
127 参照

php - php/sql クエリの将来を保証する関数

PHPを使用して実行する一般的なクエリやその他の操作のための一連のユーティリティ関数を作成しようとしています.

これを実行したい理由は、私のアプリケーションを PDO、mysqli、およびそれらが次に思いつくものの間で簡単にアップグレードできるようにするためです。

このアプローチに飛び込む前に、何人かの PHP 専門家がこのアプローチをレビューして、あなたの考えを教えてくれるだろうかと思います。これはパフォーマンスにどのように影響しますか? 今後、アプリケーションを制限する予定はありますか?

0 投票する
1 に答える
74 参照

emacs - 将来性のある defun - 利用可能な場合は使用し、利用できない場合は同等のものを定義します

現在、emacs 24.3 を使用しているため、hash-table-values利用できません。だから私は関数を書きたいのですが、それが存在しない場合に限ります。このようにして、私のコードはすぐに機能し、emacs 24.4 に切り替えるとデフォルトの関数が使用されます。

PHP では、次のように記述します。

elispに相当するものはありますか?

0 投票する
0 に答える
148 参照

ember.js - コンポーネントの親ビューにアクセスすることは、将来的に保証されますか? 代わりに何をしますか?

ネストされた方法で独自の ember コンポーネント (の一部) を使用したいと考えています。考え

一般化: ネストされた方法で連携することを意図した 2 つのコンポーネントがあります。外側のものは、内側のものによって消費される環境を提供します。http://alexspeller.com/simple-forms-with-ember/では、これについてさらに詳しく説明しており、内部コンポーネントのparentViewを使用して外部コンテキストにアクセスしています。偉大な。

現在、ember コンポーネントは、プライム タイムの準備ができていない限り、Web コンポーネントを埋めることを意図していますが、私が理解していることから、Web コンポーネントはカプセル化されることを意図しています。情報を交換する唯一の方法は、データ バインディングとイベントです。

これが正しく、ember が独自のコンポーネントを Web コンポーネントに置き換えようと努力している場合、このソリューションは将来の保証となるでしょうか。実際の Web コンポーネントに切り替えた後、ある種の parentView アクセスを提供する ember に頼ることはできますか?

そうでない場合、これを行うための正しい、残り火の方法は何でしょうか? 外側のコンポーネントと内側のヘルパーを表示しますか? 現在気付いていないバインディングとイベントの使用法はありますか?

今のところ解決策があることはわかっていますが、かなり長い間使用される解決策を開発しているので、コードを書いている時点で本質的に非推奨になっているものは避けたいと思います。