問題タブ [portability]
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.
php - IIS で PHP アプリケーションを実行するには何が必要ですか?
かなり長い間 LAMP サーバーで PHP 開発者をしていましたが、WindowsでIIS用のアプリケーションを準備する際に考慮すべきことはありますか。
c++ - 移植可能な方法で配列の新しい配置を使用できますか?
配列に使用する場合、移植可能なコードで新しい配置を実際に利用することは可能ですか?
new[] から返されるポインタは、渡したアドレスと必ずしも同じではないようです (5.3.4、標準の注記 12 は、これが正しいことを確認しているようです)。この場合、配列が入るバッファを割り当てることができます。
次の例は、問題を示しています。この例を Visual Studio でコンパイルすると、メモリが破損します。
メモリーを見ると、コンパイラーはバッファーの最初の 4 バイトを使用して、項目数のカウントを格納しているようです。これは、バッファーがsizeof(A)*NUMELEMENTS
大きいだけであるため、配列の最後の要素が未割り当てヒープに書き込まれることを意味します。
質問は、placement new[] を安全に使用するために、実装が必要とする追加のオーバーヘッドをどれだけ見つけられるかということです。理想的には、異なるコンパイラ間で移植可能な手法が必要です。少なくとも VC の場合、オーバーヘッドはクラスによって異なるように見えることに注意してください。たとえば、例で仮想デストラクタを削除すると、new[] から返されるアドレスは、渡したアドレスと同じになります。
mysql - MS-SQL はメモリ内テーブルをサポートしていますか?
最近、MS SQL Server
代替バックエンドとしてサポートするために、いくつかのアプリケーションを変更し始めました。
私が遭遇した互換性の問題の 1 つは、MySQL の CREATE TEMPORARY TABLE を使用して、永続的なストレージを必要とせずにセッション中に非常に高速にアクセスするためのデータを保持するインメモリ テーブルを作成することです。
MS SQL で同等のものは何ですか?
要件は、一時テーブルを他のテーブルと同じように、特にJOIN
永続テーブルと同じように使用できる必要があることです。
msdn - USBキーにMSDNを持っている
msdn ドキュメントを USB キーに保存する方法はありますか? Web または MSDN ライブラリ プログラムのいずれかです。私はポータブルアプリのものでusbkeyをセットアップしています。
exception - C++ で例外的なエラーを移植可能に処理する
Visual C++ アプリケーションを GCC に移植する作業を行っています (MingW と Linux でビルドする必要があります)。
既存のコードは__try { ... } __except(1) { ... }
、いくつかの場所でブロックを使用しているため、最小限のログを実行せずにプログラムを終了させるものはほとんどありません (おそらくメモリ不足タイプのエラーを除いて?)。
GCCで同様のことを行うためのオプションは何ですか?
編集:Visual Studio の /EH オプションへのポインタをありがとう。今必要なのは、Linux でシグナルを処理する方法の例です。2002年からこのメッセージを見つけました。
他にどのようなシグナルSIGFPE
があり、SIGSEVG
注意する必要がありますか? (主に、私が何か間違ったことをしているときに発生する可能性のあるものを気にします)
報奨金情報: アプリケーションが終了する前に、できるだけ多くのエラー状態を自己ログできるようにしたいと考えています。
どのようなシグナルを受け取る可能性があり、エラーメッセージをログに記録することが一般的に不可能なシグナルはどれですか? (メモリ不足、他に何?)
Linux と MingW でコードが少なくとも同じように動作する移植可能な方法で、例外と (最も重要な) シグナルを処理するにはどうすればよいでしょうか。#ifdef でOKです。
失敗をログに記録するラッパー プロセスがない理由は、パフォーマンス上の理由から、ディスクへのデータの書き込みを最後の最後まで保存しておくためです。終了します。
css - すべてのウェブブラウザ(Google Chromeを含む)間で一貫したフォーム、機能を実現するための最良のテクニックは何ですか?
短いバージョン:Web開発者とWeb開発者のエンドユーザーの両方が使用するすべてのブラウザーで一貫したプレゼンテーションとAJAX機能を実現するための最もクリーンで保守しやすい手法は何ですか?
- IE 6、7、8
- Firefox 2、3
- サファリ
- グーグルクローム
- オペラ
ロングバージョン:他のWeb開発者向けのWebアプリを作成しました。私のアプリは、プレゼンテーションとAJAXの動作の両方で主要なWebブラウザー(およびGoogle Chrome)をサポートする必要があります。
Firefox / Firebugから始めて、IE 6および7で一貫したスタイルを設定するための条件付きコメントを追加しました。次に、驚いたことに、jQueryがIEで同じように動作しないことを発見しました。そこで、条件付きで純粋性の低いjQueryを使用して、JavascriptをFFとIEで移植できるように変更しました。
今日、私はWebkitとGoogle Chromeでテストを開始し、スタイルがFFとIEの両方と矛盾しているだけでなく、おそらく構文エラーまたは解析エラーが原因でJavascriptがまったく実行されていないことを発見しました。CSSが機能することを期待していましたが、今ではJavascriptのデバッグが増えています。この時点で、私は一歩下がって、あらゆる状況に対応する特別なケースの山を書く前に考えたいと思います。
私は特効薬を探しているのではなく、物事を可能な限り理解し、維持できるようにするためのベストプラクティスを探しています。これがサーバー側のインテリジェンスなしで機能する場合は、私が好みます。ただし、たとえば、ユーザーエージェントを確認してから、さまざまなファイルをさまざまなブラウザーに返すという利点がある場合は、Webアプリの全体的な理解度と保守性が低い場合は問題ありません。どうもありがとうございました!
c++ - 移植可能なコードの作成
オープンソース プロジェクトが大騒ぎしているにもかかわらず、移植可能なコードを作成できるようにする強力な標準がまだ存在しないのはなぜですか (またはC/C++
ないという意味Java
ですC#
)。
のようなサードパーティのライブラリもありますApache Portable Runtime
。
c++ - クロームC++およびポータブルとしての超堅牢-ヒント-ヘルプ-コメント
私たちはポータブルコード(win + macOs)を作成しており、コードが頻繁にクラッシュするため、コードをより堅牢にする方法を検討しています...(通常はオーバーフローまたは初期化の誤り):-(
私は、Google Chromeがすべてのタブにプロセスを使用することを読んでいたので、何か問題が発生した場合、プログラムは完全にクラッシュせず、そのタブのみがクラッシュします。それはかなりいいと思うので、やってみるかもしれません!
だから私は誰かが私がより堅牢なc++コードを構築するのを助けることができるいくつかのヒント、ヘルプ、読書リスト、コメント、または何かを持っているかどうか疑問に思いました(ポータブルは常により良いです)。
同じトピックで、プロセス用のポータブルライブラリ(ブーストなど)があるかどうかも疑問に思っていましたか?
どうもありがとう。
python - Pythonのftplibを使用して、移植性のあるディレクトリリストを取得する
Pythonでの完全なFTPサポートにはftplibを使用できます。ただし、ディレクトリリストを取得するための推奨される方法は次のとおりです。
どちらが得られますか:
結果を解析してディレクトリリストを取得するのがアイデアだと思います。ただし、このリストは、FTPサーバーのリストのフォーマット方法に直接依存しています。FTPサーバーがこのリストをフォーマットする可能性のあるさまざまな方法をすべて予測する必要があるため、このためのコードを作成するのは非常に面倒です。
ディレクトリリストで配列を埋めるポータブルな方法はありますか?
(アレイにはフォルダー名のみが含まれている必要があります。)
c++ - C ++コードをMacOSに移植するためのいくつかの推奨事項は何ですか?
今後のプロジェクトでは、WindowsおよびLinuxでコンパイルされる既存のC ++コードをMacOS(leopard)に移植する計画があります。ソフトウェアはコマンドラインアプリケーションですが、GUIフロントエンドが計画されている可能性があります。MacOSはg++コンパイラを使用します。Linuxと同じコンパイラを使用することで、問題は発生しないように見えますが、常に問題が発生します。
移植中に注意すべき推奨事項や問題はありますか?