問題タブ [structure]
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.
structure - より多くのファイルのデータ構造
アルバムを曲で並べ替える効果的な方法を探しています。私は約 10000 枚のアルバムを持っており、アルバムごとに約 10 曲を収録しています。つまり、100000 ファイルということになります。
現在、すべてのフォルダー (アルバム) を 1 つのメイン フォルダーに保存したくありませんが、それを保存するためのより良い方法を探しています。すべてのフォルダーは階層が同じなので、イニシャルでフォルダーをグループ化するか、単に 1000 個のフォルダーを別のフォルダーにパックすることを考えていました。しかし、多くの人は、これは厄介かもしれないと言います..
何を指示してるんですか?
(プログラミングに直結しないのは承知ですが、データの保存も大事だと思います)
c# - プロジェクトのルートにコードを置いても問題ありませんか?
プロジェクトのディレクトリ構造に関するベスト プラクティスを考え出そうとしています。
私の最近の考えは、プロジェクトのルート ディレクトリにクラスがあってはならないということです。すべてのクラスは、次のディレクトリのいずれかに配置する必要があります
- UI
- ビジネスオブジェクト
- ビジネスの論理
- データアクセス
ルートレベルに物事を置くためのユースケースがあるかどうか、または収まらないクラスを見つけるかどうか、他の人が考えていることを聞きたいです
c++ - std::wstringを使用した初期構造
私は次のような構造を持っています:
しかし、それを使おうとすると、あらゆる種類のメモリ割り当てエラーが発生します。
これを次のような関数に渡そうとすると、次のようになります。
使用する前に初期化していないことを示すランタイムチェックエラーが発生します。これは修正したようです。
しかし、関数で、いずれかの構造体の針を設定しようとすると、文字列に値を設定しようとしたときに不正なポインターにアクセスしようとしていると文句を言います。
この構造(およびそのすべての内部文字列)を初期化するための最良の方法は何ですか?
c++ - C++ で構造体をグローバルに定義する
1 つ以上の C++ ファイルで見られる構造をグローバルに (extern struct を使用して) 宣言する方法について、やや詳細なスレッド (228684) がありましたが、その方法を正確に理解することはできません (多くの議論がありました)。これを行う、あれを行う、おそらくこれを行う、これを試すなど...)。
誰かが 2 つの別々の C++ ファイルで見られる構造を宣言する方法の非常に簡単な例を投稿できますか? すべての関数をメインと同じファイルに入れると正常に動作しますが、関数を別のファイルに分割しようとすると、コンパイルできません。
不明な点... 構造体を型定義する必要がありますか? ヘッダー ファイルで構造を定義し、そのヘッダーを各 C++ ソース ファイルに含めますか? ヘッダー ファイルに #ifndef マクロが必要ですか? 構造体 extern をヘッダーで宣言する必要がありますか?
mysql - テーブル構造を提案する MySQL ツールまたはクエリ
数週間前、テーブルを記述し、その構造の改善点を提案するクエリを MySQL で使用しました。たとえば、int フィールドがあり、そのフィールドに 1 ~ 3 の数字しかない場合、set(1,2,3) がタイプとして提案されます。
私はphpMyAdminを使用していたと思いますが、見つけることができるすべての機能(分析、説明、説明、最適化など)を試しましたが、役に立ちませんでした。私は一生、クエリが何であったかを思い出せません!
java - Java プロジェクトのクラスパスで利用可能なソース以外のリソースをどのように編成しますか?
Java で記述されたソフトウェア プロジェクトでは、多くの場合、プロジェクトの一部であり、クラスパスに含める必要があるリソースがあります。たとえば、クラスパス (getResource) を介してアクセスできる必要があるいくつかのテンプレートまたはイメージです。これらのファイルは、生成された JAR ファイルに含める必要があります。
これらのリソースをリビジョン管理システムに追加する必要があることは明らかです。しかし、これらのファイルをどのディレクトリに置いたのでしょうか? java-source-files と並行して、または必要なパッケージ構造を再現する別のディレクトリにありますか?
memory - メモリ内の dll を表すデータ構造の仕様はどこにありますか?
具体的には、インポート (idata) セクションのデータ構造がどのようなものか知りたいです。
python - Python の ctypes を使用して、「struct_name *** param_name」として宣言されたパラメーターを渡したり読み取ったりしますか?
Python の ctypes ライブラリを使用して、スキャン ライブラリSANEのいくつかのメソッドにアクセスしようとしています。これは ctypes の私の最初の経験であり、1 年以上にわたって C データ型を扱わなければならなかったのは初めてなので、ここにはかなりの学習曲線がありますが、この特定の宣言がなくても、この特定の宣言は面倒だと思います:
まず、SANE_Status
(enum) とSANE_Bool
(typedef to c_int
) の処理に成功しました。どちらもシンプルでした。一方、その最初のパラメーターは、私にあらゆる種類の悲しみを引き起こしています. そもそも" " 表記に慣れていない***
ため、これまでのトレーサー弾はガベージ データしか生成しませんでした。Python 構造オブジェクトのリストを読み戻せるように、この関数への入力をフォーマットするにはどうすればよいですか? 参考までに、参照されている C 構造体は次のとおりです。
どこSANE_String_Const
で として定義されていc_char_p
ます。
このオブジェクトの私の Python/ctypes バージョンは次のとおりです。
これから期待される動作(構造オブジェクトのリスト)を取得できるように、何を渡す必要があるかについての提案はありますか?すべての回答に感謝します。
更新 1:
以下を使用して、正しい SANE_Device Python 構造を取得できました。
ただし、1) うーん、2) 結果が 1 つしかない場合にのみ機能するようです。devices.contents.contents
またはで len() を実行できませんdevices.contents.contents.contents
。結果の数を決定するにはどうすればよいですか? SANE のドキュメントでは、「関数が正常に実行された場合、*device_list 内の SANE_Device 構造へのポインタの NULL 終了配列へのポインタを格納する」と指定されています。提案?
更新 2:
10 項目の配列を渡し、次を使用して最初の要素にアクセスできました。
ただし、10 は明らかに恣意的な数であり、実際の結果の数を決定する方法はありません。devices.contents.contents.contents[1].name
デバイスが 1 つしか接続されていないときにアクセスしようとすると、セグメンテーション フォールトが発生します。ctypes では、このような可変長構造を処理する適切な方法が必要です。
python - Djangoアプリケーションをどのように管理しますか?
djangoでプロジェクトを構築してみたかっただけです。したがって、そのようなプロジェクトをどのように管理するかについての(基本的な)質問があります。プロジェクトをアプリケーションに分割する方法などのガイドラインなどが見つからないため。
例として一種のSOを取り上げましょう。どのアプリケーションを使用しますか?アプリケーション「ユーザー」と「質問」があるべきだと思います。しかし、静的な記事を含むトピックシステムもあったとしたらどうでしょう。多分彼らはまた票を受け取ることができた。では、アプリの構造を構築するにはどうすればよいですか?「質問」、「投票」、「トピック」用の1つのアプリですか、それとも1つのアプリ「コンテンツ」ですか。
どうしたらいいのかわからない。まだDjangoについてあまり知らないからかもしれませんが、興味もあります...
c++ - Linux アプリのアーキテクチャに関する提案
私は Windows でかなりのプログラミングを行ってきましたが、今では初めての Linux アプリを作成する必要があります。
UDP を使用してハードウェア デバイスと通信する必要があります。サイズが 40 バイトのパケットを 1 秒間に 60 個送信する必要があります。1 秒以内に 60 未満のパケットを送信すると、悪いことが起こります。パケットのデータの生成には時間がかかる場合があります。ただし、データを送信する準備ができていない場合は、前回送信したデータと同じデータを送信してもかまいません。コンピューターはコマンドラインのみのセットアップであり、このプログラムのみを実行します。
私は Linux についてあまり詳しくないので、これらの要件を満たすためにアプリをどのようにセットアップするかについての一般的なアイデアを得たいと思っていました。私は次のような答えを望んでいました:
2 つのスレッドを作成します。1 つはパケットの送信用で、もう 1 つは計算用です。
しかし、それがそれほど単純であるかどうかはわかりません(多分そうです)。たぶん、共有メモリなどからパケットを送信したばかりのある種のデーモンを作成し、別のアプリに計算をさせる方が信頼性が高いでしょうか? 複数プロセスのソリューションである場合、どの通信メカニズムをお勧めしますか? アプリを通常よりも優先する方法や、それに類似した方法はありますか?
PS: 防弾性が高いほど良いです!