問題タブ [backwards-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.
coldfusion - ColdFusion MX (6 だと思います) から ColdFusion 7 への移行
サイトをColdFusion MXからColdFusion 7に移行することを考えています。知っておくべき問題はありますか? ColdFusion は下位互換性があると聞きました。
ruby-on-rails - Ruby 1.9 での主な構文の変更点は何ですか?
また、Ruby 1.9 にアップグレードすると、バージョン 1.86 からのレガシー コードにどのような影響があるのかも気になります。新しいバージョンは下位互換性がありますか?
git - OSS プロジェクトで下位互換性のない変更を発表するには?
改善が欠点をはるかに上回る場合、下位互換性のない変更を導入する必要がある場合があります。古い動作に簡単に切り替えることができますが、ユーザーはそのような変更に注意する必要があります。
したがって問題は、FLOSS (オープンソース) プロジェクトへの将来の下位互換性のない変更をどのようにアナウンスして、ユーザーがそれらの変更に備え、使用を変更するか、古い動作を使用するようにプログラムを構成できるようにするかです。
OSS プロジェクトであるため、さまざまなディストリビューションによって個別にパッケージ化されており、ユーザーの介入なしに自動的にアップグレードされる場合があります。そして、下位互換性のない変更により、誰かのワークフローが混乱する可能性があります (たとえば、サードパーティのスクリプト)。
現在検討されている (および使用されている) アベニュー:
- プロジェクトメーリングリスト
- プロジェクトホームページ
- リリースノート (最初の警告、次に発表)
- メンテナのブログ
編集 1:この (下位互換性のない) 変更は、いくつかのメジャーリリースで発生します。
すべての変更は、セーフガードを追加するか (初心者ユーザーを完全に混乱させる可能性のあるコマンドを拒否する)、またはデフォルトをより適切な値に変更することに関するものです。
編集 2:移行期間では、デフォルトの構成 (デフォルトの reject/deny に変更されることを意図しています) がwarnに変更され、警告を無効にする方法が説明されています。これにより、デフォルトの動作の下位互換性のない変更からも保護されます。
しかし、それが自動化されたシステムであれば、役に立たないかもしれません...
問題のプロジェクトはGit、分散バージョン管理システムです。gitster のジャーナルでユーザーに早期警告を与える(Junio C Hamano ブログ)を
参照してください。
.net - .Net Framework のバージョンは下位互換性をどのように処理しますか
XP には .NET Framework のバージョンが同梱されていなかったことは知っていますが、Vista には .NET 2.0 が同梱されていたことは確かです。私の質問は、XP に .Net 2.0 をインストールすると、.Net 1.1 アプリケーションのサポートもインストールされるのでしょうか? また、箱から出してすぐにvista 1.1と互換性があります。
wcf - WCFサービスの下位互換性チェック
WCF Webサービスの新しいバージョンを作成したばかりですが、サービスとデータの契約に関して重大な変更を加えていないことを確認したいと思います。
VB6 Com Api開発者としての日々を振り返ると、コンパイル時にコンポーネントの以前のリリースバージョンを指定するのがいかに簡単であったかを思い出し、コンパイラにバイナリ互換性が維持されていることを確認してもらいます。
私は、(うまくいけば)「契約の互換性」チェックと呼ばれる同様の何かを想定しています。メタデータを使用して、VB6devenvが実行したものと同様のチェックを実行します。これは、ユーティリティを実行する別のビルドステップとして実行できます。
私はそこにそのようなユーティリティが存在しないことを受け入れる準備ができています。その場合、これを達成するためのアルゴリズムがどのように見えるかについて誰かが何か考えを持っていますか?
- 現在のライブサービスバージョンからメタデータを取得する
- 新しいサービスバージョンからメタデータを取得する
- 互換性については、サービス契約と各データ契約を確認してください。重大な変更のみを報告します。
ステップ3は複雑に見えますが、確かに自動化できます...
sql-server - MSSQL2000と2005のSQL言語の違い
私の会社にはSQLServer2005用に開発されたアプリケーションがあり(とりわけ)、潜在的なクライアントがそれをSQL Server 2000にインストールしようとしています。当然、インストールは失敗しました。具体的には、CREATETABLEステートメントの構文エラーで失敗しました。
これら2つのデータベース間の言語の違いの要約はありますか?
c# - 下位互換性を持つジェネリックを含むクラスのシリアル化
プログラムでシリアル化を処理する最良の方法を見つけようとしています。
プライベート フィールドをシリアライズしたい (そのため、XML シリアライザーはオプションではありません) Bindinglist のようなジェネリック型をシリアライズしたい (SoapSerializer はオプションではありません) また、以前のバージョンのプログラムからオブジェクトをデシリアライズできるように、ある程度のサポートを提供したいと考えています。
したがって、残っていると思うのは BinarySerializer と、前方互換性に対処するための ISerializable インターフェイスの実装だけです。
これは正しいです?
注: このプロジェクトを見つけたと言わざるを得ません。ただし、プロジェクトは死んでいるように見え、動作させることができませんでした (ファイル欠落エラー) http://sourceforge.net/project/showfiles.php?group_id=196509
.net - 同じ SDK の異なるバージョンを評価するための LibCheck のようなツールを探しています
私はSDKに取り組んでいます。新しいバージョンをリリースしたら、API の違いについてレポートを作成したいと思います。これはコードの違いではありません。ほとんどのコードは、直接使用することは想定されていません。パブリック クラス/メソッドは、私が興味を持っているものです。さらに、実装を含む名前空間内のものは、SDK のクライアントによって使用されるべきではないという規則を採用しました。そのため、実装を含む名前空間にないパブリック インターフェイス、クラス、およびメソッドの違いを探しています。2 つのリリース間で何が削除、追加、変更されたかを知りたいです。
Microsoft の LibCheck というツールが適切な球場にあるのを見つけました。LibCheck にはいくつか問題があります。LibCheck は、変更されたメソッドを認識しません。メソッドが削除および追加されたと報告します。メソッドが削除されて追加されたと報告されることがありますが、名前とパラメーターはすべて同じです。これらの場合、それが私に何を伝えようとしているのかわかりません。最後に、レポートのレイアウトは気にしません。アセンブリとクラスだけでなく、名前空間ごとに分類したいと思います。
レポートが XSLT 変換の結果であることは承知しており、基本的に好きなように見せることができます。それでも、Microsoft からのツールに対する一般的なサポートの欠如と相まって、他の問題により、私は代替手段を探しています。
jquery - jqueryの後方互換性について質問です。
jqueryには後方互換性ファイルがあることを知っています。
ただし、この特定のバージョンにリンクする場合: http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js後方互換性ファイルは必要ありません。http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.jsも新しいブラウザ バージョンで動作するかどうかを知りたいです。そうすれば、ウェブサイトがうまく機能しなくなるリスクを冒して、jquery を新しいバージョンにアップグレードする必要がなくなります。