WPF MaterialDesign サンプル オープン ソース プロジェクトの紹介
こんにちは、また戻ってきました
今回は、オープンソースプロジェクトにおける小さいながらも有用なモジュールやコンポーネントの開発アイデアについて本格的に話し合い始めました。
同時に、ソフトウェアは新規ユーザー登録に対応したバージョン1.60にアップデートされ、統合テストアカウントは使用できなくなりました。
次のパスからダウンロードできます:
1. GitHub でプロジェクトをフォローし、ローカルにダウンロードして生成すると、プログラムの最新バージョンを入手できます。
2. ローカル バージョンがベータ版 v0.5 であるユーザーは、プログラムの右上隅にある [更新] を直接クリックできます
3. 最後に、次の圧縮パッケージが Microsoft 以外の開発者に提供されており、解凍後に直接使用できます。 。
まだそれが何のソフトウェアなのかわからない場合は、次のブログ投稿をチェックしてください:
[WPF MaterialDesign サンプル オープン ソース プロジェクト] Work Time Manager
今日は、クライアントについて話します。サイドログコンポーネント。
コンポーネントが適切かどうかはわかりませんが、ソフトウェアの一部であり、再利用できる小さなモジュールです。
今回のログ クラスは非常に典型的なコンポーネントです。
1. ソフトウェアのどこでも使用されます。
3. 使用率は次のとおりです。非常に高い
4. 頻繁な io 操作
私が初めて C# に触れたとき、私は Log4net を使用しましたが、その時に頭に浮かんだのは、自分のプログラムはほんの数メートルかもしれないということでした。サイズ的には、ログコンポーネントで十分です。私のメインプログラムと比較すると、これは明らかに不適切です。
そこで、2 年前に卒業する前に、最初のログ コンポーネントを作成し始めました。
【.net】独自のログコンポーネントを作成する - 改良版
基本的なアイデアは依然として優れており、スレッド、ブロッキング、リソース競合などが考慮されています。
「生まれたばかりの子牛はトラを怖がらない」という諺の通り、何も知らずに始めたばかりです。
スレッドを開いてログコンポーネントの最初のバージョンを作成しました。
しかし、結局のところ、私は若いので、問題はまだ明らかです。 1 秒間に 100 件のメッセージを入力しても機能しません。
それで、C# 開発を再開したとき、リファクタリングに少し時間をかけました。
まず全体的なアーキテクチャから始めましょう:
* シングルトンロックを通じてリソースの競合を制御します
using System;using System.Collections;using System.IO;using System.Text;using System.Threading;using System.Windows.Threading;namespace Helper {public static class LogHelper {private static readonly Queue LogQueue = new Queue();private static bool _isStreamClose = true;private static bool _isThreadBegin = false;private static StreamWriter _fileStreamWriter;private static readonly string fileName =@"BugLog.txt";static int _intervalTime = 10000;// 10sstatic System.Timers.Timer _timer = new System.Timers.Timer(_intervalTime);/// <summary>/// 添加日志队列/// </summary>/// <param name="message"></param>public static void AddLog(string message) {string logContent = $"[{DateTime.Now:yyyy-MM-dd hh:mm:ss}] =>{message}"; LogQueue.Enqueue(logContent);if (!_isThreadBegin) { BeginThread(); } }public static void AddLog(Exception ex) {var logContent = $"[{DateTime.Now:yyyy-MM-dd hh:mm:ss}]错误发生在:{ex.Source},\r\n 内容:{ex.Message}"; logContent += $"\r\n 跟踪:{ex.StackTrace}"; LogQueue.Enqueue(logContent);if (!_isThreadBegin) { BeginThread(); } }/// <summary>/// 读取日志队列的一条数据/// </summary>/// <returns></returns>private static object GetLog() {return LogQueue.Dequeue(); }/// <summary>/// 开启定时查询线程/// </summary>public static void BeginThread() { _isThreadBegin = true;//实例化Timer类,设置间隔时间为10000毫秒; _timer.Interval = _intervalTime; _timer.Elapsed += SetLog;//到达时间的时候执行事件; _timer.AutoReset = true;//设置是执行一次(false)还是一直执行(true); _timer.Enabled = true; }/// <summary>/// 写入日志/// </summary>private static void SetLog(object source, System.Timers.ElapsedEventArgs e) {if (LogQueue.Count == 0) {if (_isStreamClose) return; _fileStreamWriter.Flush(); _fileStreamWriter.Close(); _isStreamClose = true;return; }if (_isStreamClose) { Isexist();string errLogFilePath = Environment.CurrentDirectory + @"\Log\" + fileName.Trim();if (!File.Exists(errLogFilePath)) { FileStream fs1 = new FileStream(errLogFilePath, FileMode.Create, FileAccess.Write); _fileStreamWriter = new StreamWriter(fs1); }else{ _fileStreamWriter = new StreamWriter(errLogFilePath, true); } _isStreamClose = false; }var strLog = new StringBuilder();var onceTime = 50;var lineNum = LogQueue.Count > onceTime ? onceTime : LogQueue.Count;for (var i = 0; i < lineNum; i++) { strLog.AppendLine(GetLog().ToString()); } _fileStreamWriter.WriteLine(strLog.ToString()); }/// <summary>/// 判断是否存在日志文件/// </summary>private static void Isexist() {string path = Environment.CurrentDirectory + @"\Log\";if (!File.Exists(path)) { Directory.CreateDirectory(path); } } } }
もちろん、私はあなたのより良い提案を楽しみにしています、そしてあなたが良いアイデアを持っているがそれを自分で書きたくないなら、私はあなたがそれを実現するのを手伝います!
以上がWPF MaterialDesign サンプル オープン ソース プロジェクトの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











画像の注釈は、ラベルまたは説明情報を画像に関連付けて、画像の内容に深い意味と説明を与えるプロセスです。このプロセスは機械学習にとって重要であり、画像内の個々の要素をより正確に識別するために視覚モデルをトレーニングするのに役立ちます。画像に注釈を追加することで、コンピュータは画像の背後にあるセマンティクスとコンテキストを理解できるため、画像の内容を理解して分析する能力が向上します。画像アノテーションは、コンピュータ ビジョン、自然言語処理、グラフ ビジョン モデルなどの多くの分野をカバーする幅広い用途があり、車両が道路上の障害物を識別するのを支援したり、障害物の検出を支援したりするなど、幅広い用途があります。医用画像認識による病気の診断。この記事では主に、より優れたオープンソースおよび無料の画像注釈ツールをいくつか推奨します。 1.マケセンス

テキスト注釈は、テキスト内の特定のコンテンツにラベルまたはタグを対応させる作業です。その主な目的は、特に人工知能の分野で、より深い分析と処理のためにテキストに追加情報を提供することです。テキスト注釈は、人工知能アプリケーションの教師あり機械学習タスクにとって非常に重要です。これは、自然言語テキスト情報をより正確に理解し、テキスト分類、感情分析、言語翻訳などのタスクのパフォーマンスを向上させるために AI モデルをトレーニングするために使用されます。テキスト アノテーションを通じて、AI モデルにテキスト内のエンティティを認識し、コンテキストを理解し、新しい同様のデータが出現したときに正確な予測を行うように教えることができます。この記事では主に、より優れたオープンソースのテキスト注釈ツールをいくつか推奨します。 1.LabelStudiohttps://github.com/Hu

フェルマーの最終定理、AIに征服されようとしている?そして、全体の中で最も意味のある部分は、AI が解決しようとしているフェルマーの最終定理は、まさに AI が役に立たないことを証明するものであるということです。かつて、数学は純粋な人間の知性の領域に属していましたが、現在、この領域は高度なアルゴリズムによって解読され、踏みにじられています。画像 フェルマーの最終定理は、何世紀にもわたって数学者を悩ませてきた「悪名高い」パズルです。それは 1993 年に証明され、現在数学者たちはコンピュータを使って証明を再現するという大きな計画を立てています。彼らは、このバージョンの証明に含まれる論理的エラーがコンピュータによってチェックできることを望んでいます。プロジェクトアドレス: https://github.com/riccardobrasca/flt

タイトル: PyCharm の詳細: プロジェクトを削除する効率的な方法 近年、Python は強力で柔軟なプログラミング言語として、ますます多くの開発者に支持されています。 Python プロジェクトの開発では、効率的な統合開発環境を選択することが重要です。 PyCharm は、強力な統合開発環境として、プロジェクト ディレクトリを迅速かつ効率的に削除するなど、多くの便利な機能とツールを Python 開発者に提供します。以下では、PyCharm での削除の使用方法に焦点を当てます。

PyCharm は、豊富な開発ツールと環境構成を提供する強力な Python 統合開発環境であり、開発者がコードをより効率的に作成およびデバッグできるようにします。 Python プロジェクト開発に PyCharm を使用するプロセスでは、Python 環境がインストールされていないコンピューター上で実行できるように、プロジェクトを実行可能 EXE ファイルにパッケージ化する必要がある場合があります。この記事では、PyCharm を使用してプロジェクトを実行可能な EXE ファイルに変換する方法と、具体的なコード例を紹介します。頭

顔の検出および認識テクノロジーは、すでに比較的成熟しており、広く使用されているテクノロジーです。現在、最も広く使用されているインターネット アプリケーション言語は JS ですが、Web フロントエンドでの顔検出と認識の実装には、バックエンドの顔認識と比較して利点と欠点があります。利点としては、ネットワーク インタラクションの削減とリアルタイム認識により、ユーザーの待ち時間が大幅に短縮され、ユーザー エクスペリエンスが向上することが挙げられます。欠点としては、モデル サイズによって制限されるため、精度も制限されることが挙げられます。 js を使用して Web 上に顔検出を実装するにはどうすればよいですか? Web 上で顔認識を実装するには、JavaScript、HTML、CSS、WebRTC など、関連するプログラミング言語とテクノロジに精通している必要があります。同時に、関連するコンピューター ビジョンと人工知能テクノロジーを習得する必要もあります。 Web 側の設計により、次の点に注意してください。

最新の AIGC オープンソース プロジェクト、AnimagineXL3.1 をご紹介します。このプロジェクトは、アニメをテーマにしたテキストから画像へのモデルの最新版であり、より最適化された強力なアニメ画像生成エクスペリエンスをユーザーに提供することを目的としています。 AnimagineXL3.1 では、開発チームは、モデルのパフォーマンスと機能が新たな高みに達することを保証するために、いくつかの重要な側面の最適化に重点を置きました。まず、トレーニング データを拡張して、以前のバージョンのゲーム キャラクター データだけでなく、他の多くの有名なアニメ シリーズのデータもトレーニング セットに含めました。この動きによりモデルの知識ベースが充実し、さまざまなアニメのスタイルやキャラクターをより完全に理解できるようになります。 AnimagineXL3.1 では、特別なタグと美学の新しいセットが導入されています

マルチモーダル文書理解機能のための新しい SOTA!アリババの mPLUG チームは、最新のオープンソース作品 mPLUG-DocOwl1.5 をリリースしました。これは、高解像度の画像テキスト認識、一般的な文書構造の理解、指示の遵守、外部知識の導入という 4 つの主要な課題に対処するための一連のソリューションを提案しています。さっそく、その効果を見てみましょう。複雑な構造のグラフをワンクリックで認識しMarkdown形式に変換:さまざまなスタイルのグラフが利用可能:より詳細な文字認識や位置決めも簡単に対応:文書理解の詳しい説明も可能:ご存知「文書理解」 「」は現在、大規模な言語モデルの実装にとって重要なシナリオです。市場には文書の読み取りを支援する多くの製品が存在します。その中には、主にテキスト認識に OCR システムを使用し、テキスト処理に LLM と連携する製品もあります。
