C++とRustのメモリ安全性に関する議論は、ソフトウェアエンジニアリングにおいて最も活発なトピックの一つとなっています。政府機関が見解を示し、カンファレンスでは専用の講演が行われ、双方に強い意見が存在します。 最初にはっきり言っておきます。Rustは素晴らしい言語です。 所有権モデルと借用チェッカーは真に革新的であり、バグの種類をまるごとコンパイル時に検出します。新しいプロジェクトを始めるにあたり、Rustがチームやエコシステムに適しているなら、それは素晴らしい選択です。 同時に、C++は世界で最もパフォーマンスが求められるソフトウェアの根幹であり続けています。オペレーティングシステムのカーネル、ゲームエンジン、ブラウザ、データ...
C++言語
C++プログラミング言語に関するガイド、チュートリアル、リソース。最新の構文、オブジェクト指向プログラミング、テンプレート、実用的なプロジェクトを含む。
Tiny BPE Trainer のご紹介GPT から RoBERTa に至るまで、今日の多くの最新の NLP モデルは、バイトペアエンコーディング (BPE) を用いたサブワードトークン化に依存しています。しかし、純粋な C++ で独自の語彙を学習したい場合はどうすればよいでしょうか? Tiny BPE Trainer をご紹介します。これは、最新の C++17/20 で記述された、超高速でヘッダーのみを使用する BPE トレーナーです。依存関係なし、完全な UTF-8 サポート、HuggingFace 互換の出力 (vocab.txt、merges.txt) を備えています。 なぜ新たな BPE Trainer が必要なのか?既...
Modern Text Tokenizer のご紹介BERT、DistilBERT、その他のトランスフォーマーベースのアーキテクチャといった最新の自然言語処理 (NLP) モデルは、効果的なトークン化に大きく依存しています。しかし、C++ 開発者は、肥大化した依存関係、Unicode サポートの不足、語彙ベースのエンコーダーとの互換性の欠如など、選択肢が限られているという問題に直面することがよくあります。 そこで私は、Modern Text Tokenizer を開発しました。これは、UTF-8 対応、ゼロ依存関係、そして ML 対応 という、非常に高速でヘッダーのみの C++ トークナイザーです。 特徴 ゼロ依存関係 –...
プログラミングの世界への旅を始めることは、ワクワクすると同時に圧倒されることもあります。数え切れないほどのプログラミング言語の中から、自分の目標や志向に合った適切なものを選ぶことが重要です。 この記事では、最初のプログラミング言語を選ぶ際に考慮すべき要素を探り、人気のある言語でのコード例を提供して、それぞれの違いを説明します。 プログラミング言語を選ぶ際に考慮すべき要素 キャリア目標: ソフトウェア開発のキャリアを目指すなら、興味のある業界でどのプログラミング言語が需要があるかを調査することが重要です。 学習曲線: 言語によって学習曲線の急さが異なります。初心者には、緩やかな学習曲線で理解しやすい言語から始めることが有益です。 コミ...
私のようにC/C++のバックグラウンドを持ち、.NETを使い始めると、データ型が異なることにすぐに気づくでしょう。 この記事では、開発の利便性のために、C/C++から.NET(C#)への最も一般的なデータ型を網羅しています。データ型を検索する場合は、CTRL + Fを押すとブラウザがこのページ上で見つける手助けをしてくれます。 kbrryder @ codeprojectに特別な感謝を。 C/C++データ型から.NET/C#リスト:ATOM .NET = ushort C++ = typedef WORD ATOM; BOOL .NET = bool or int C++ = typedef int BOOL;...
今月はまだ面白いことを書けていなくてすみません、とても忙しい月でした。 今日、Stack Overflow でデバッグに関する質問を見ました。そのユーザーはVisual Studioをデバッグモードで実行して、アプリケーションがいつ、なぜクラッシュするかを確認しようとしていました。 それは解決策ではありません。Windows APIにはこのような状況のための関数が用意されているからです。簡単に言えば、クラッシュ時にソフトウェアにMini Dumpを書き込ませ、それをVisual Studio(または任意のデバッガー)で開いて、正確にどこでクラッシュしたかを確認できます。 以下の例は、Windows上の任意の.exeまたは.dllです...
この記事を読んでいるということは、ソフトウェアのためにDOSやNTパスを変換する方法を探しているということです。ここで今日まさにそれを学べるので安心してください! Windowsパス の問題は明らかです。非常に混乱します。もう一度言います、非常に混乱します。素晴らしいソフトウェアを開発していて、DOSとNTパスを変換する必要がある時、これが問題になります。 この記事では簡潔にまとめるようにしますので、始めましょう。 ntdll内にはさまざまな変換に使用できる非公開の関数があります。これらの関数はRtl*で始まり、以下の通りです: RtlDosPathNameToNtPathName_U(全Windowsバージョン)...
ランタイム暗号化文字列今日はランタイム暗号化文字列の基本、なぜ文字列を暗号化する必要があるのか、そして独自の暗号化を作成する方法について学びます。 この記事では以下を理解し学びます: ランタイム暗号化と復号化とは何か なぜ文字列を暗号化する必要があるのか 誰でも機密データを閲覧できることを確認する 独自のカスタム暗号化を作成する ランタイム暗号化と復号化とはプログラム(ソフトウェア、アプリケーション)の実行中に暗号化および/または復号化されるデータのことを指します。データはメモリブロック、ネットワークトラフィック、文字列など、あらゆる種類のものがあります。 この目的で使用される最も一般的な方法の1つは(基本的な)難読化です。その...