問題タブ [utilities]
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 - ユーティリティ ライブラリに含めるもの
ますます多くのプロジェクトを抱えているため、プロジェクトからプロジェクトへ、クライアントからクライアントへと、多くの一般的なタスクを繰り返していることがよくあります。そこで私は、プロジェクトからプロジェクトへと繰り返されることが多いこれらの共通要素のコレクションである「ユーティリティ」ライブラリの構築を開始しました。
これまでのところ、画像のサイズを変更したり、データ グリッドを Excel にエクスポートしたり、電子メールを送信したり、トークン化されたメッセージを置き換えたりするためのユーティリティがあります。
.NET ユーティリティ クラス ライブラリを構築または使用している場合、どのような種類のプロセスが役立つと思いますか? どの名前空間/グループを想像しますか?
アップデート
私は、共通の要素をグループ化するために名前空間に分割された実際のクラス ライブラリについて話しています。
plugins - vi のようなモードを備えた拡張可能なエディターはありますか?
私は完璧なテキストエディタを探しています:)
「必須」リスト:
- vim のようなモーダル編集、vim に似たキーバインド
- emacs のような拡張性 - プラグインとエディター自体の「実際の」言語が同じであるため、拡張機能はエディター内と外部のほとんどすべてに影響を与えることができます... vim スクリプトでは不十分で、python プラグインでも十分ではありません
- プラグインは外部プロセスに関して制限されず、テキストを非同期に変更できます。
- termcap / curses をサポートしているため、内部で実際の端末を実行できます
- 実際の構文解析を使用するため、プラグインは「色」パスを経由せずに単語の「タイプ」に関する情報を取得できます (synIDattr(synID(line("."), col("."), 1), 「名前」) は不可)
- リモート編集が可能 (ただし、プラグイン + 拡張ポイントによって既に保証されている可能性があります)
viper emacs については知っていますが、そのアイデアが好きかどうかはわかりません... 誰かもっと良いことを知っていますか?
説明:
私はフルタイムのプログラマーではありません。私は管理者 / プログラマー / パワー ユーザーであり、一度に多くのホストのコンソールで常に時間を費やしており、その時間の 95% を vim で実行しています。私は vim が大好きですが、vim-im を探しています ;) ほとんどの場合、独自の構文ファイルで構成ファイルや DSL を編集しているため、Eclipse ではうまくいきません。
頻繁に行うことのために、一種のリファクタリング プラグインが必要になることがあります。vimで実行できるという証拠がありますが、それは本当に苦痛です...たとえば、「解析ツリーの前のトークン」を要求することはできません。あなたができる最善の方法は、文字ごとに戻って、単語が変数/関数/その他のものと同じ色付けスタイルを持っているかどうかを確認することです (チェックごとにファイルフラグメントの解析を要求します)。単純なスクリプト言語でエディターを拡張できなければ、私にとってもうまくいきません。
また、何かを実行して出力をvimにコピーするためだけに、2番目の端末が必要になることがよくあります。:!r... コマンドが終了するまでvimのすべてのタブがハングするため、実行できません。
ああ-そしてLinux +コンソールのみ-私はWindowsの世界には興味がありません:)
php - PHPベースのフォーム検証ヘルパー?
私がRubyOnRailsで作業していた頃から、検証とエラー報告の両方を拡張可能な方法で管理するために、いくつかの異なるパッケージ/プロジェクトがあります。
自習用のPythonPylonsHTMLFillを紹介しました。これは、これまでのところ、フォーム検証の一般的なタスクに対する洗練されたソリューションのようです。
どちらの例もフレームワークの機能であり、HTMLFillの場合はフレームワークの一部となることを目的としています...それでも、cakephp、コードイグナイター、さらにはZendフレームワークでリモートで洗練されたものを見たのを覚えていません。私はそこに何かが欠けていますか、それともPHP5でPythonのHTMLFillを模倣しようとする価値がありますか?
免責事項:class = "data-required data-email"などのメタデータの埋め込みに依存するAjaxベースのフォーム検証システムを作成しましたが、常に不格好に見えました。
私は、データ検証のファットモデル哲学を信じています。上記のHTMLFillの例では、可能な限り、各モデルに共通のHTMLFillスキームを使用してモデルをパックする予定です。
リンク:HTMLFill- http ://www.formencode.org/htmlfill.html#introduction
.net - プログラムで MP3 をトリミングする
プログラムでmp3ファイルをトリミングする最良の方法は何ですか? たとえば、最初の 2 分間または最後の 2 分間、あるいはその両方を取り除きたいとします。.NET からこれを行う良い方法はありますか? または、.NET がコマンド ライン ツールを呼び出しますか?
unix - 人間とプログラムがお互いに足を踏み入れることなく同じファイルにアクセスできるようにする方法
監視している URL のリストを含むファイル urls.txt があるとします。私の監視スクリプトは、そのファイルをときどき編集して、たとえば、各 URL が到達可能かどうかを示します。また、そのファイルを手動で編集して、URL のリストを追加または変更したいと考えています。手動で編集するときに考える必要がないようにするにはどうすればよいですか?
ここにいくつかの可能な答えがあります。あなたならどうしますか?
vimまたはemacsが作成するロックファイルをプログラムにチェックさせるなどのハッカーに従事します。これは私だけのものなので、これは実際に機能します。
人間による編集が常に優先される場合は、常に人間がプログラムの変更を上書きするようにします (たとえば、ファイルがディスク上で変更されたという編集者の警告を無視します)。その後、プログラムは次のループで変更をやり直すことができます。それでも、ユーザーがファイルを編集している間にファイルを変更するのはあまり良くありません。
プログラムが進行中の変更を行っているファイルに人間が触れないようにしてください。設計を再考し、人間だけが編集する 1 つのファイルと、プログラムだけが編集する別のファイルを用意します。
適切なファイル ロックを行うファイルを編集するためのカスタム ツールを人間に提供します。これは、ファイルをロックしてからエディターを起動するか、ファイルからエントリを挿入/変更/削除するためのカスタム インターフェイス (おそらく単純なコマンド ライン インターフェイス) を起動するのと同じくらい粗雑です。
フラット ファイルの代わりにデータベースを使用すると、ロックはすべて自動的に処理されます。
(これをより具体的にするためにURL監視の例を作成したことに注意してください。実際に考えていることはおそらくあまりにも奇妙で気を散らすものであるためです。この質問は、人間とプログラムの両方が同じ状態ファイルを変更できるようにする方法に厳密に関連しています。)
windows - MultiLine 正規表現と Windows でのファイルへの出力
特定のパターンを抽出する必要があるログ ファイルがあります。それらを見つけて、新しいファイルに処理する必要があります。通常、Linux では grep でうまくいきますが、正規表現は複数の行にまたがっています。
これは私のログ/デバッグ ファイルの例です。
私が探しているのは/Lambda:\n([-\d\.]+)\s+([\-\d\.]+)\s+\n([\-\d\.]+)\s+([\-\d\.]+)/ 、行を新しいファイルに出力してラムダを削除し、数値を同じ行に再配置して出力することです\1\s\2\s\3\s\4\n
だから私は実際に2つの質問があります:
- どのシステムでも、これを達成するための簡単なユーティリティはありますか?
- 特にWindowsでこれを行う方法はありますか?
私を逃れたこれに対する簡単な解決策があることを願っています。私はむしろ Windows にとどまりたいと思っていますが、Linux に行かなければならない場合は、これをやり遂げます。