ホーム 1. C++ を始める 2. 基本構文 3. コンテナ 4. ファイル分割とスコープ 5. ストリーム操作 6. メモリの管理 7. クラス 8. キャスト 9. テンプレート 10. エラー処理 11. ビルドとライブラリ 12. メモリレイアウト 単体テスト デバッグ ビルド自動化 付録 このサイトは C++ について説明した学習サイトです。 本書を通じて C++ の開発環境や構文・単体テストの書き方などが 一通り学べるようになっています。 対象¶ C++ を初めて学ぶ人 プログラム言語を 1 つ以上経験したことのある人 関数やクラス・オブジェクト指向に対する知識をある程度前提にします。 C++ の特徴¶ C++ は ビャーネ・ストロヴストルップ により開発されたプログラミング言語です。 C++ には主に次のような特徴があります。 高パフォーマンス メモリ使用量が少ない 柔軟性
概要 公式のcore testが全て(UTF8, WAT, SIMD関連のものは除く)通るWasmインタプリタをC言語でフルスクラッチで実装した。自作Wasmランタイムで省略されがちなValidation Stageも実装した。この記事はWebAssembly Advent Calendar 2023の三日目の記事である。 目的 このWasmランタイムを実装するにあたり、「できるだけ仕様に従って実装する」ことを心掛けた。Wasmの仕様書は以下のissueが立つほど読みにくいものとなっているが、ランタイムをどのように実装すべきかが詳しく書いてあり、一応仕様書を頑張って読めばランタイムが作れるようになっている。 この自作Wasmランタイムの目的は、できるだけ仕様に従った実装を与えることで、仕様の理解を助けることである。早さや効率性よりも分かりやすさを優先しているため、実用には向かない。仕様書を
技術部の笹田です。今日で退職するので、バタバタと返却などの準備をしています。 本記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもに RubyKaigi 2022 と 2023 で発表した内容をもとにご紹介します。 並行と並列はよく似た言葉ですが、本記事では次のような意味で使います。 並行処理(concurrent processing)は、「複数の独立した実行単位が、待っていればいつか終わる(もしくは、処理が進む)」という論理的な概念で、古典的にはタイムシェアリングシステムなどが挙げられます。 並列処理(parallel processing)は、「複数の独立した実行単位のうちのいくつかが、あるタイミングで同時に動いている」という物理的な概念で、古典的には複数のCPU上で同時に実行させる、というものです。最近では、1つのCPU上で複数コアが同時に動いている、という
リングバッファのイメージ図 1. リングバッファとは何か 機能的にはFirst In First Out (FIFO)とも呼ばれるキューの一種であるが、リング状にバッファを置いてそれの中でReadとWriteのインデックスがグルグルと回る構造をとる事によって容量に上限ができることと引き換えに高速な読み書き速度を得たものである。キューを単に実装するだけなら山ほど方法があって線形リストを使ってもいいしスタックを2つ使っても原理的には可能だ。その中でもリングバッファを用いた方法の利点はひとえに性能の高さでありメモリ確保などを行わないお陰でシステム系の様々な場所で使われている。 これの実装自体は情報系の大学生の演習レベルの難度であるが少し奥が深い。まずリングバッファのスタンダードなインタフェースと実装は以下のようなものである。 class RingBuffer { public: explicit
カテゴリ .NET Core (6) .NET Framework (72) ALM (16) アルゴリズム (4) クライアント技術 (36) クラウド (26) サービス (8) ツール (30) データベース (21) ネットワーク (2) プログラミング言語 (20) モバイル (2) ライブラリ (7) 組込みシステム (2) 経営 (1) 芸術 (2) OS (6) 周辺機器 (18) 数学 (6) 機械学習 (6) タグ 3D AOP ASP.NET MVC ASP.NET SignalR Azure ClickOnce DLR Entity Framework Excel JavaScript jQuery JSON Kinect Leap Motion LINQ Machine Learning NuGet Open XML PowerShell Silverlight
GitHub Actionsで ubuntu-18.04 がDeprecatedとなり、2022年12月1日にサポートが終了されることがアナウンスされています。 また、移行を促すために一時的に利用できなくなるブラウンアウトが行われています。 The Ubuntu 18.04 Actions runner image will begin deprecation on 8/8/22 and will be fully unsupported by TBD · Issue #6002 · actions/runner-images 手動での移行 特定のubuntuのバージョンに依存していない場合は、単純にubuntu-latestへ移行するなどの対応することが解決できます。 ubuntu-18.04を利用しているGitHub Actionsのworkflowsファイルを次のように書き換えます。
はじめに 皆さんはソフトウェアのリリースノート(ChangeLog)をどのように作成・運用されているでしょうか? もし「作成していない」「手動で作成している」ということであれば、作成にはかなりの工数がかかり、抜け・漏れが発生する可能性がございます。本記事ではそうしたリリースノートの作成の工数を削減し、抜け・漏れを減らすを方法として、GitHubで利用できるリリースノート(ChangeLog)自動生成ツールをご紹介いたします。 対象読者 リリースノートの作成を自動化して楽したいと考えている方々 リリースノート自動生成ツールの紹介 実行環境 Windows (WSL2 Ubuntu-20.04) 1. Spring IO github-changelog-generator 1.1. 概要 Javaのフレームワークとして有名なSpringのChangeLog生成ツール。 Githubのissu
はじめに バイナリファイルの解析はアプリケーションやファームウェアのデバッグ、マルウェアの解析等目的に応じて手段となるツールが異なります。 本記事はバイナリファイルの解析を行うために必要となる基本的な知識や、リバースエンジニアリングツールの概要について記載しています。 リバースエンジニアリングツールはIDA Proなど有料のプロダクトがありますが、本記事ではフリーで利用可能なツールに着目しています。 バイナリファイルとは コンピュータが処理する情報(データ)は基本的にテキストファイルと、バイナリファイルに大別できます。 テキストファイルはテキストエディタなどを使用して何らかの文字コードでエンコードされたテキストファイルのことです。テキストファイルに書かれた内容は人間にしか理解できません。 バイナリファイルは2進数の0と1が並んだビット列で表現されたファイルです。画像、動画、音声、実行形式の
Enter a sequence, word, or sequence number: Hints Welcome Video For more information about the Encyclopedia, see the Welcome page. Languages: English Shqip العربية Bangla Български Català 中文 (正體字, 简化字 (1), 简化字 (2)) Hrvatski Čeština Dansk Nederlands Esperanto Eesti فارسی Suomi Français Deutsch Ελληνικά ગુજરાતી עברית हिंदी Magyar Igbo Bahasa Indonesia Italiano 日本語 ಕನ್ನಡ 한국어 Lietuvių मराठी Bokmål Nyn
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く