問題タブ [forward-compatibility]

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 投票する
2 に答える
104 参照

serialization - アプリの将来のバージョンでデータの互換性を確保するために、どのような事前エンジニアリングを行っていますか?

プロジェクトで重要なリファクタリングと機能の追加を行っていますが、データとの下位互換性が失われました。データを格納するために使用したクラスから一連のサブクラスを作成することでそれを行い、古いシリアル化されたオブジェクトのロードが機能しなくなりました..

このような状況を回避するために、どのようなプレエンジニアリングまたは戦略を採用していますか? 連載を完全に忘れるべきですか?特にこの種の問題が発生しやすいようです。

0 投票する
15 に答える
3789 参照

c++ - 現在、C++11 をどのように使用していますか?

これは 2 つの部分からなる質問です。最初の部分が最も重要であり、現在懸念されています。

  • C++11 の設計と進化に従っていますか? フォローしているブログ、ニュースグループ、委員会の論文、その他のリソースは何ですか?
  • 新しい機能を使用していない場合でも、現在の選択にどのような影響がありますか?
  • 本番環境またはその他の環境で、現在どのような新機能を使用していますか?

2 番目の部分は、新しい基準が確定した後のフォローアップです。

  • すぐに使えると思いますか?前の質問に記載されている以外に、C++11 の準備のために何をしていますか?
  • 明らかに、コンパイラのサポートが必要ですが、同僚、補助ツール、および考慮すべきその他の要素がまだあります。採用に最も影響を与えるものは何ですか?

編集:オリジナルは本当に議論が多すぎました。ただし、根底にある質問にはまだ興味があるので、それを整理して、うまくいけば受け入れられるようにしました。これは、重複するよりもはるかに優れた手段のようです。一部の回答は論争的な口調に対応していましたが、質問に対処した範囲で適用され、すべての回答も適切にクリーンアップされるコミュニティの所有物です。

0 投票する
3 に答える
1816 参照

iphone - iPhoneの画面解像度。160対163対未来

実世界の単位で何かを表示するアプリを作ろうとしています。定規アプリではありませんが、そこそこの精度が欲しいところです。

iPhone と iPod touch の画面解像度が異なるようです (それぞれ 160 と 163)。

iPhone でのこの Calculating pixel size と、この iPhone の画面解像度が将来のハードウェアで変更される こと を発見しました。

iPod と iPhone の解像度の違いを無視して、320 * 480 の画面スペースを 2 * 3.5 インチとして扱うことができるように思えます。

私の質問は次のとおりです: これは本当ですか? コードでこれ (320 "ピクセル" == 2 インチ) を決定する方法があるため、変更された場合でも更新する必要はありません。

0 投票する
4 に答える
208 参照

python - Web アプリケーションを開発するには、どのバージョンの Python を使用すればよいですか?

現在、私のシステムには Python 3.1.1 がインストールされており、私のサーバーには Apache 2.2 で実行されている WSGI 3.0 と同じバージョンがインストールされています。

Python 3.1 を使い続けたいのですが、Django、Pylons、MySQLdb など、多くのライブラリ/フレームワークがまだサポートしていないことがわかりました。

また、友人のサーバーにあるアカウントを確認したところ、Python 2.3.4 が実行されていました...

CMS に拡張できる一種のブログ/フォーラム タイプのアプリケーションを作成し、最終的には関連するデスクトップ アプリケーションを長期的なペット プロジェクトとして作成したいと考えています。

最高のセキュリティと将来のデスクトップ アプリケーションとの最高の一貫性を実現するために、可能な限り最新バージョンの Python を使用したいと考えています。同時に、良好なレベルの移植性を維持し、使用するフレームワークとライブラリのほとんどをサポートします。

でもどれを選べばいいのか迷ってしまいます。2.4 が最大の移植性を備えているように見えますが、それは古いものであり、2.4 以降の多くの機能をコンパイルせずに使用したり、面倒なコードで書き直したりする必要はありません。それを補償します。2.6の方が良いでしょうが、多くのライブラリがまだそれに移植されているようです.3.1は、言語から多くの面倒な作業を排除するため、最適です.

強調したいことの 1 つは、古いバージョンの Python を選択した場合に何が失われるかを知っておくと便利だということです。たとえば、友人のサーバーの古い Python 2.3.4 アカウントでアプリケーションを実行する必要がある場合、新しいバージョンに存在するライブラリ/機能のうち、どのライブラリ/機能が欠けているのでしょうか? Python 2.6 または 3.1 を使用していればよかったと思うような問題に遭遇する可能性はありますか? __future__これらの機能のうち、インポートを介して利用できるのはどれですか?

では、どの方向に進むのが最善でしょうか?2.6 を使用して問題に対処する必要がありますか? 共有ホスティング環境に配布する可能性を最大限に高めるには、2.4 を使用する必要がありますか? それとも、MySQLdb のようなライブラリが追いつくまで、3.1 に飛び込んで、わずかに不自由なアプリケーションを使用する必要がありますか?

0 投票する
6 に答える
6377 参照

c++ - C++11への切り替え

プログラミング言語としてC++を使用して、長期にわたるプロジェクトを開始します。

2011年にC++0xが発売されると読んだので、C++11と呼んでいました。

C ++ 11がリリースされたとき、私たちはまだプロジェクトを開発中であり、新しいC++標準の機能を今すぐ使用して次のことができるかどうかを知りたいと思います。

  • 古いC++よりも高速なコードと
  • 新しい規格が到着したときに簡単に切り替えますか?
0 投票する
1 に答える
268 参照

android - SDカードを必要としないAndroidデバイスの取り扱い

HTCIncredibleやArchos5ITなどの一部のAndroidデバイスは、ストレージにSDカードを必要としないようです。

「外部」ストレージ(これまでのところSDカード)でファイルを読み書きするアプリは、これを可能な限り後方互換性と前方互換性のある方法でどのように処理する必要がありますか?

編集:SDカードで動作するIO操作が失敗するPandigital Novelのように、オンボードメモリをストレージとして使用するデバイスに関するレポートをさらに取得します。何か案は?権限の問題ですか?

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

java - 異なるバージョンの jdk で作業している 2 つの当事者間の互換性を確保する方法

私のプロジェクトは 1.4.2 JDK でビルドされています。JDK 1.6 でビルドされたサードパーティの jar とやり取りするようになりました。

クライアント クラスの使用中に互換性の問題が発生しています。私のJDKを1.6にアップグレードしたり、1.4.2でサードパーティのjarを再構築したりせずに解決することは可能ですか?

0 投票する
4 に答える
138 参照

java - 一部のフレームワークが古い Java バージョンのサポートの中止を拒否するのはなぜですか?

ここでPircBotを変更しているときに、バックエンド全体が Java 1.1をサポートするように作成されていることに気付きました。カスタム キューの実装、ハッシュ テーブルの使用、wait() および notify() シグナリングに基づくカスタムのプロデューサー/コンシューマーの実装などがあります。Commons-lang でさえ、Java 5 がジェネリックのようなテーブルにもたらすものに対するサポートを欠いています。1.1 をサポートするためにできる限りの努力をしている非常に人気のあるフレームワークの他の例をたくさん引き出すことができます。

私の質問はなぜですか?Java コミュニティの特定の部分が新しいバージョンのサポートを拒否しているのはなぜですか? 私はこの理論に従います。古いバージョンは古いバージョンのフレームワークと古い JVM を使用し、新しいバージョンはアップグレードされたフレームワークと JVM を使用します。ソフトウェアですべてをアップグレードします。

Java 1.5 をまだ実行している人々が部分的に理解できるようになりましたが、1.1? それ以前に何かを実行している場合、愚かなポリシー/未知のものを恐れているため、明らかにJVMをアップグレードしていないため、新しいバージョンのソフトウェアにアップグレードするつもりはありません。では、なぜ私たちはまだ彼らをサポートしているのですか?

関連するメモとして、新しいフレームワークを作成している場合、1.5 未満のものをサポートする必要がありますか? 既存のフレームワークをフォークして 1.5 にアップグレードしてから、それを使用することについてメンテナーに相談する必要がありますか?

より具体的な議論 (これは一般的なサポートに関するものです): まだ JDK 1.4 をサポートする正当な理由はありますか?

JRE 1.3 のサポートの終了

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

hardware-interface - 上位互換性のあるハードウェアの検出

軟弱者として、私は現在、ハードウェア検出メカニズムに関するハードウェア技術者と戦っています。

現在構築されている検出ソフトウェアが、将来開発されるすべてのハードウェア バージョンの限定された一連のプロパティを認識できるように、「将来を保証する」検出/発見メカニズムを構築することが可能であるべきだと思います。 .

反対意見: 現在の (dsp) チップは近い将来時代遅れになるかもしれません。したがって、将来のボードが現在の検出プロトコルと互換性があることを保証することはできません。

これは USB や PnP などでどのように行われますか? 他の例はありますか?

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

perl - Perl5.8.9用にPerl5.12モジュールを安全にコンパイルするにはどうすればよいですか?

Perl5.12のコアモジュールであるFile::FetchをPerl5.8.9にインストールしたいと思います。一般的に、Perlをアップグレードできないため、過去のPerlで将来の日付のモジュールをコンパイルしてインストールしたいと思います。

そこで、モジュールとその依存関係をダウンロードしました。依存関係ツリーをたどるのはかなり苦痛ですが、それらのいくつかがコアモジュールであるという事実についてもっと心配しています。これらをインストールすると、Perl5.8.9コアに5.12からのパッチが適用されます。

私の質問は、将来の日付のモジュール、特にコアモジュールを安全にインストールできるかどうかをどうやって知ることができるかということです。Perlで後方互換性をテストするこの目的のためのチュートリアルはありますか?

編集:
私のモジュールはデュアルライフですが、cpanを使用してコンパイルすることはできません。FTPsite.yamlに悪い要素があるとのことです。ただし、モジュールのMETAファイルの依存関係に従い、モジュールをコンパイルできました。これはcpanの奇妙なビットの1つですか?ありがとうございました。

これらの依存関係をすべて手動でインストールした後、問題を再現できません。しかし、ここにエラーがあります: