問題タブ [file-organization]
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.
.net - プロジェクト内のインターフェイス/クラス/実装を整理する方法
プロジェクトの編成方法 (名前空間、ファイルごとに 1 つのクラスなど) についていくつか質問を見つけましたが、より具体的に言えば、非常に密接に関連する「もの」をどのように編成しますか?
私は通常、次のようになります。
- インターフェイス_
IMyStuff
- そのインターフェイスの基本的なスケルトンを提供する基本(抽象の場合もある) クラス:
BaseMyStuff
- 実装クラス
MyStuffWithBellsAndWhistles
,MyStuffWithChocolateFlavours
それらが同じ名前空間にあることは理にかなっているように思えますが、これらすべてのファイルを同じフォルダーにまとめると、フォルダーが少し混雑し始めるように感じます (実際には実際の問題ではありませんが、奇妙に感じます) )。
インターフェイスと基本クラスの両方を同じファイルに定義してもよろしいでしょうか?
または、それらをサブフォルダーにグループ化しても問題ありませんが、同じ名前空間にありますか? このような :
この種の組織に関する「ベスト プラクティス」は何ですか?
performance - js / css の分離とキャッシングへの影響
次の設定があるとします。
Page1.html
- master.css、page1.css、page1.js を含む
Page2.html
- master.css、page2.css、page2.js を含む
2 つの js ファイルと追加の css ファイルをマージすると、キャッシングに適していると言われました。しかし、個別のファイルもキャッシュされませんか? これがどのように違いを生むのかわかりません(おそらく保守性は別として-個人的には分離が好きです)。
このようなものを整理するための最もパフォーマンスが高く、最も賢明な方法は何ですか?
免責事項::マイクロ最適化はここでは問題ではありません。プロジェクトを開始する前にベスト プラクティスを知りたいので、後で再検討する必要はありません。
python - グラフィカル ユーザー インターフェイス (GUI) 用の Python パッケージの適切なレイアウト
私が現在取り組んでいるプロジェクト (テスト システムの GUI) では、すべてのグラフィカル オブジェクトの基本クラスを記述し、これらのオブジェクトをグラフィカル オブジェクトを利用するクラスに継承する必要があります。次に、実際に動作するコードがそこに書き込まれます。これは、この種の GUI 関連プロジェクトの標準的な手順のようです。
私の質問は; Launcherスクリプトによって起動されるメインフレームモジュールによってすべて実行される機能モジュールによってすべて継承される複数のグラフィカルオブジェクトベースファイルを使用する場合、これらのスクリプトを含むファイルシステムの推奨されるレイアウトはありますか.
私は基本的に次のいずれかを決定しています。
また :
これらのどちらかが他よりも優れていますか? それとも、モジュールを編成するためのより一般的に使用される別の形式はありますか?
php - ディレクトリ構造ロジック
次のようなフォルダー構造を作成しようとしています。
- アップロードされたファイル
- a
- aaron.doe@hotmail.com
- b
- c
- ... zまでずっと
- a
パブリック Web ディレクトリの 1 レベル上。唯一の一意のキー (user_id 自体を除く) はユーザーのメールです。メールはユーザー名であるため、...
質問: 人々はこれらのディレクトリにアクセスして、すべてのユーザーの電子メール アドレスを入手できますか? これはどれほど悪い考えですか?どのような代替案を提案しますか?
ありがとう。
visual-studio-2010 - すべての Visual Studio プロジェクトで使用するツールに関連するアセンブリはどこに配置すればよいですか?
Visual Studio 2010で Web アプリケーションを開発するときは、 GhostDoc、SandCastle、AJAX Toolkit、Moqなどのツールを使用します...
私は通常、すべてのプロジェクトでこれらのツールを使用しています。たとえば、 Moqツールをダウンロードしたとき、いくつかのアセンブリを含む zip ファイルがありました。そのため、ファイルを解凍した後、現在開発中のプロジェクトのフォルダー (ファイル システム内) 内に関連するアセンブリを追加し、Visual Studio から dllを参照しました。
これに関する問題、またはより良い組織上の欠点は、次の2つです。
1)特定のプロジェクト フォルダー内にアセンブリを配置しました。すべてのプロジェクトに共通の 1 つのフォルダーにアセンブリを配置したいので、これは見苦しいです。普段はどこに置いていますか?
2) 新しいプロジェクトを開始するたびに、すべてのアセンブリをもう一度参照する必要があります。これは、特にAjax Toolkitでは非常に厄介です。新しいプロジェクトを作成するたびに、一連の定義済みアセンブリを追加するようにVisual Studioに指示する方法はありますか?
java - Java での例外クラス編成
多くの例外クラスがあります。Fe: InvalidMethodParameterException、EntityNotFoundException など。すべて xxx.yyy.zzz のようなコードと記述リテラルがあります。問題は、クラスとそのコード/リテラルを整理するためのベスト プラクティスとテクニックがあるかどうかです。今のところ、私が行っている方法は、すべてのコードとリテラルを他のクラスやプロパティ ファイルに配置することです ((. 1 つの例外を追加するには、1 つではなく他のファイルに別の変更を加える必要があるため、非常にイライラするように見えます)。 . そして例外をスローするには, それらをスローする静的メソッドを持つクラスを使用します. これらのメソッドとアプローチは私が作成したのではなく, 私が働いているところです. そこで, 他のより効率的なアプローチを提供したいと思います. 例えば各例外リテラルとコードを独自のクラス内に格納するだけで使用するように提案されましたが、彼らはそれを言って無視しました。
どんな助けでも大歓迎です!
php - PHP アップロードされた写真を整理する
ユーザーが写真をアップロードできる PHP アプリケーションを構築しています。管理しやすくするために、フォルダには最大 5000 枚の写真を含める必要があります。アップロードされた各写真にはデータベース内の ID が割り当てられ、写真の名前は ID に変更されます。
特定のフォルダに 5000 枚の写真があるかどうかを確認するにはどうすればよいですか? 写真テーブルの最後の行の ID を確認する必要がありますか?
フォルダは増分的に名前が付けられます。例えば。folder_1
、folder_2
など
私の提案する手順:
- 写真テーブルの最後の挿入 ID を取得する
- (Last_insert_ID + 1) % 5000 = Some_number (保存先のフォルダー番号)
- 写真を folder_some_number に保存します。フォルダーが存在しない場合は、新しいフォルダーを作成します。
または、これを行うより良い方法はありますか?
c++ - 個別の .h .cpp ファイルなしで C++ 開発を可能にするツール
私はいくつかの C++ コードを開発していますが、コードを .h と .cpp に分割すると、リファクタリングが遅くなるため、気が狂いそうになります。
1 つのファイルを操作できるツールはありますか。真実を隠すだけのエディター、または単一のファイルを取得して .cpp と .h の 2 つのファイルを生成するプロセッサごと
明確化: コンパイル単位 (Java、C♯、Eiffel など) ごとに 1 つのファイルが必要です。他のモジュールのヘッダーをインクルードするには、ファイルに #include を含める必要があります。(ただし、Java と c# には import と using があります)。
明確化 2:
一緒にあるべきものがすべて一緒になれば、物事はより簡単になります。つまり、クラスごとに 1 つのファイルのみです。
security - Web サーバーでのユーザー ファイル編成
ユーザーがファイルをアップロードできる Web アプリケーションを開発しています。
audioとdocsなど、異なるファイル カテゴリがあるとします。カテゴリに属するすべてのファイルを一意のフォルダーに入れることができると思います。たとえば、次のようになります。
私が評価しているもう 1 つのソリューションでは、ファイルがユーザーごとにグループ化される第 3 レベルを使用しています。
どのソリューションが最適ですか? サーバーセキュリティの脆弱性とスケーラビリティに関心があることに注意してください。
database - ファイルへのリンクをデータベースに保存する
ユーザーがファイルをアップロードおよびダウンロードできるようにするデータベース アプリケーションを作成しています。ファイルはファイル サーバーに保存され、ファイルを処理 (つまり、アップロードとダウンロード) するための PHP スクリプトを使用して Apache HTTP サーバーをセットアップしました。データベースには、ファイル自体ではなく、ファイルへのリンクのみが保存されます。私の質問は次のとおりです。ファイル サーバー上のファイルをどのように整理すればよいですか?
現在、現在の日付に基づいてディレクトリ構造を作成しており、現在の日付/時刻 (ミリ秒を含む) の MD5 ハッシュといくつかのランダムな文字を使用してファイルの名前を変更しています (つまり、「塩」を追加しています)。
これ (上記) はデータベースに保存されているリンクです (もちろん、ユーザーがファイルをダウンロードするときにファイルの名前を変更できるように、実際のファイル名もデータベースに保存しています。ユーザーは実際のファイルを見ることはありません。リンク)。
パフォーマンスの問題を回避するためにディレクトリ構造に使用yyyy\mm\dd
し (同じディレクトリに多くのファイルがあると速度が低下する可能性があると言われています)、ファイルの名前を一意の文字列に変更して、ユーザーが同じ名前のファイルをアップロードするときの衝突を回避します。
この種の状況でファイルを保存する最善の方法について、他の意見を求めたいと思います。一部の開発者がファイル名を保持しているのを見てきましたが、ファイル情報テーブルの対応する行のデータベース ID を (接頭辞として) 追加しています。データベースファイル情報テーブルが破損または削除された場合、ファイルが何であるかを把握できます。