問題タブ [legacy]
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.
asp.net - 一部のレガシー ASP.NET 1.1 コードの単体テストに最適なフレームワーク
従来のasp.net 1.1 Webサイトがあります。非常に貧弱な VB レイヤード アーキテクチャがあります。デバッグには、クレジット カード処理テストの実行に約 10 分かかります。
変更を確認するために、いくつかの単体テスト機能をソリューションに追加したいと考えています。
Galleoでmbunitを使用することを考えていました。mbunit と galleo は私の .net 1.1 コードで動作しますか? .net 1.1 コードと互換性のある単体テスト フレームワークに関するその他の推奨事項はありますか?
アップデート
コードの実際のasp.net部分をテストしようとしているのではなく、サービス/データレイヤーに追加している新しいインターフェイス/ビジネスロジックのみをテストしています。
java - レガシー Java システムの学習
私はレガシー Java システムの保守とリファクタリングを任されています。Java はよく知っていますが、現在は C# と .NET を使用しています。
レガシー システムは、クライアント/サーバー アーキテクチャである RMI を使用し、1.4 JVM 用に設計されています。UI(私が知る限り)、Swing、およびAWTに使用しています。
私の質問は次のとおりです: 渡されたばかりのコードベースを理解するための最良の方法は何ですか? 画面のフローチャート、RMI 呼び出し間の境界の定義、単体テストの作成 (テスト可能な部分) を考えています。
なじみのないコードベースを渡されたとき、あなたはどうしますか?
ありがとう!
-ジャロッド
java - Java での正確なレイアウトによるドット マトリックス高速印刷
Java で EPSON ドット マトリックス プリンタ用のレポートを作成する実際的な方法を教えてください。現時点では、LX300+II モデルで遊んでいます。
このプリンターを使用するには、基本的に 2 つの方法があることを知っています。
- タイプライターとして、生の ASCII データをパラレル ポートに直接出力する
- グラフィカルなフォントと正確な配置によるグラフィカルな印刷。
高速印刷フォント ( 1で提供) と正確な配置 ( 2で提供)の両方を使用するにはどうすればよいですか?
数年前、Windows にネイティブ印刷フォントがインストールされたドライバーを含む EPSON FX 2180 のレポートを作成したため、これが可能であることはわかっています。これにより、私がここでやりたいことを正確に行うことができました。
現在、グラフィカルなレポートに JasperReports を使用しており、正常に動作していますが、ドット マトリックス プリンターで高速に印刷する必要があるレポートもいくつかあります。その代わりに何ができますか?
vb.net - このコードをLINQに変換するにはどうすればよいですか?
これをLINQとして書き込もうとしています。
元のコード:
私はLINQの初心者ですが、これまでのところ、どこで使用するか、どこで使用しないかはよくわかりません。この場合、LINQがより多くの害を及ぼし、助けになる場合は、遠慮なく私を炎上させてください。
編集: IEnumerableを取るAddLink()のオーバーロードがあると想定できます
php - リファクタリングのコストが書き直しのコストを上回るポイントはありますか?
私の現在の職場では、次世代のフレームワークとして宣伝されている、本当に衝撃的なコードがいくつかあります。
つまり、この意見を持っているのは 1 人だけで、そのほとんどを書いたのはその人です。部門の残りの部分は、コード化が不十分で、デバッグが面倒で、一般的に少し面倒だという印象を受けます。
それを書いた人は経営陣にかなり影響力のある立場にあるので、彼らはキャンプのその側にいます.
経営陣への (本当の) 懸念を強調しましたが、明らかに、経営陣は収益に直接貢献しないプロジェクトにより多くの時間を費やすことを望んでいません。
このフレームワークにはいくつかのアプリケーションがデプロイされているため、リファクタリングにはそれらのアプリケーションを含める必要があります。
全体が非常に絡み合っているため、特定のクラスの実装を切り取ってそのように書き直すことはできないため、コア API への単純な変更でさえ大規模なプロジェクトを意味します。
ただし、3 年間のライブ展開があり、多くのバグ修正、コーナー ケース、および境界条件に対応しています。
部分的に書き直して、それがいくつかの大規模なプロジェクトになることを考慮して、時間の経過とともにリファクタリングを試みますか、それを形にするのにさらに3年かかる可能性がありますか、それとも既存の要件の上に特定の要件を書き直すだけですかフレームワーク?
unit-testing - 新しい機能をデバッグまたは追加するときに、古い単体テストを管理するためのベストプラクティスは何ですか?
コードのバグやロジックの変更などの理由で実際には一致しない、または機能しなくなった古い単体テストを管理するための最良の方法を理解しようとしていますか?それらをすべてスキップして、現在のロジックに合うように変更しますか?
たとえば、それらのテストがあなたによって書かれていなかった場合、そして今あなたはコードを修正する責任があります。先に進む前に、これらのテストを更新して合格するまで、まだ時間がかかりますか?
または単にそれらをスキップしますか?ありがとう。
synchronization - 従来のエンタープライズ アプリケーションの「同期」キーワードは疑わしいですか?
私は古典的なエンタープライズ アプリケーションについて話しています。通常、ある種のアプリケーション サーバーまたはコンテナーでホストされます。エンティティ、サービス、プレゼンテーション/UI、およびリレーショナル ストレージだけです。
synchronized
そのようなアプリケーションで (メソッドまたはブロックのいずれかの) キーワードを見るたびに、私は非常に疑わしくなります。私の意見では、これは基本的なアーキテクチャの概念 (たとえば、ドメイン モデルが複数のクライアント間で共有されていないなど) を理解していないことの兆候であるか、さらに悪いことに、アーキテクチャが実際には非常に失敗している兆候です。
ここで私の考え方を共有しますか?それとも私は完全に軌道から外れていますか?従来のエンタープライズ アプリケーションで実際に同期が必要なユース ケースはありますか?
ms-office - MS Office 97ODEセットアップウィザードがハングし、「パスが見つかりません」というメッセージが表示されます
Access97ランタイムを使用して製品の一部をサポートしているお客様がいます。理想的には、そうするための予算を考えると、私はその恐竜をこの時点で置き換えていただろうが、それは今日の選択肢ではない。私はシステムの元の作成者ではありませんが、継続的なサポートを提供しようとしています。
これを顧客に配布するために、Office 97 Developer Editionツールを購入し、数年に1回、セットアップウィザードを実行して新しい配布をパッケージ化しました。
今回は、セットアップウィザードがで何かを実行したいところに到達したように見えAXDIST.EXE
、代わりに「パスが見つかりません」というダイアログボックスが表示されます。私がウェブ上で見つけた唯一の参照は、もはや存在しないドメインからのページの興味をそそる一瞥です。そこでは、Googleが検索結果に表示される文だけを保持してキャッシュをパージしました。それは私を助けるのに十分なヒントではありません...
(編集: AXDIST.EXE自体、または何らかの方法でAXDIST.EXEを使用しようとしているインストールによって引き起こされた多くの報告された問題は別として、つまり、私たちの問題は、ODEセットアップウィザードを使用してセットアップパッケージを作成する際の問題です。 。独自のドキュメントは、1か所でAXDISTのみを参照しており、「パスが見つかりません」というテキストはまったく含まれていません。)
(編集2:さらなる調査により、AXDIST.EXE自体が原因ではないことが判明しました。セットアップウィザードのリストからそのファイルを削除すると、ウィザードはリスト内の次のファイルで停止しました。説明の間に大きな違いはないようです。停止したファイルと、その上にリストされた、正常に処理された数十のファイルの数です。この時点で、解像度はテンプレートを最初から手動で再作成することになると思います。それは恐ろしいUIの中に閉じ込められておらず、文書化されていないテーブルの束を含むAccessデータベースの形式で保存されていました。)
私の質問はこれです:今回はセットアップウィザードでどのような間違いを犯しましたか、そしてそれをどのように修正できますか?
database - 古代の未知のストレージ システムに必要なヘルプ
みなさん、おはよう、
私はある顧客に、古いデータの一部を DOS ベースのシステムから、私が開発した新しいシステムに移行できると伝えました。しかし、私は、古いシステムにデータを保存したファイルを実際に見ずに、Google ですべての問題を解決できると思っただけだと言いました... 私は間違っていました!
とにかく、このプログラムには、.ave、.bak、.brw、.dat、.001、.002....、.007、.dbf、 .dbe および .his.
.Bak は明らかに SQL バックアップ ファイルではありません。
データを読み取って抽出する方法を教えてくれる可能性のあるこれらのファイルタイプのいずれかを使用したプログラミング経験がある人はいますか?
元の開発者がこれを許可するとは思わないという理由で、プログラム名について言及することはできません...
ありがとう。
legacy - レガシーコードと新しいコードを使用して、大規模な(長期的な)ソフトウェアシステムをどのように開発し続けますか?
私は、ユーザーの大規模なインストールベースを持つ大規模なコードベースで作業しています。コードは元々、低レベルの作業用にいくつかのc++COMモジュールを使用してvb6で記述されていました。
すでにvb6で記述され、お客様が毎日使用しているすべてのコードを書き直すことは完全に不可能ですが、ソフトウェアの改善とカスタマイズも継続しています(大小)。
これまでの私の解決策は、新しいコードのほとんどをc#(winforms、さらにはwpf)で記述し、COM相互運用機能を使用してvb6からモジュールを呼び出すことです。
完全な書き直しのために止めることはできないが、同時に継続的な新しい開発が必要な、このような長期的なソフトウェアスイート(10年以上)の経験がある人はいますか?また、このような混合システムでは、モジュールをインターフェースするための最良の方法は何ですか?私は現在COMを使用していますが、個別のプロセスを使用するIPCも検討しています。