この記事は、ブログ記事を色々した版です(提案文書読んでブログに書き終えてからドラフトに入ってることに気付いた)。 基本的に、以下の文献に基づきます。 N4800 - Working Draft, Standard forProgramming LanguageC++ P0542R3: Support for contract basedprogramming inC++ by G. Dos Reis, J. D. Garcia, J. Lakos, A. Meredith, N. Myers, B. Stroustrup この機能はC++23に延期になりました、ご注意ください Contractprogramming 或は Design by Contract (DbC) とはWikipedia - 契約プログラミング D4Cではない。 三行で Contract Programm

POACs = Proof Of AssetsCertificates Launching soon. Stay tuned.
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 回収できなかった案件についてお話しよう はじめに 今からx年前の事。某技術者が多く集まるSlackにてC++でWebクローリング出来る人はいないか? とのことで、以前より Boost.Asioの記事をかいてる私に話がきた まず案件をくれた人について、はじめての取引なので周辺の人に話をきいたが 少し甘いという意見はあるが、誠実で良い人という意見だったので請けたプロジェクト開始 案件を紹介してくれた人の友だちよりメッセージがきてChatworkに入った 具体的な案件に関しては担当の技術者と話をしてほしいとのことで 金額は時給1万円で月末

はじめに 前回の PartitionAlloc の記事 に続いて、PartitionAlloc と双璧をなすChromium のメモリ管理 Oilpan について紹介します。本文中に出てくるデバッガー コマンドは、以下のエクステンションに含まれています。GitHub - msmania/chromium-debug: Debugger extension forChromium https://github.com/msmania/chromium-debug Oilpan 概要Chromiumプロジェクト公式のページはこちらです。Blink GC Design https://chromium.googlesource.com/chromium/src.git/+/master/third_party/blink/renderer/platform/heap/BlinkGC

はじめに まさかの第2弾です。 前回の記事が好評だったため、今回は少し違った視点からコンパイル時間の削減についての話をさせていただこうと思います。C++17も普及してきたようで、C++の構文はますます複雑化しています。テンプレートを使用したテクニックやconstexprの需要の増加に伴い、ヘッダオンリーのライブラリの増加、コンパイル時処理の増加が見られるようになりました。 しかしそれと反比例して、C++のコンパイル時間は増大していきます。 一つの翻訳単位でもコンパイル時間が数十秒、あるいは数分に及ぶことさえあり、さらにコンパイル中のメモリ消費量も問題になってきます。 あるヘッダオンリーライブラリを利用した時は、たった一つの翻訳単位でメモリの6割を消費してしまいました。 前回の記事では、主にソースコードに工夫を加えることによってコンパイル時間を削減する方法を紹介してきました。なので今回は、

導入 皆さんこんにちは。趣味でRustを使ってコンパイラを作ってるらいパン粉です。 プログラミング言語Rustの良さを雑にあっぴるしていきます。 では、早速cargo run!(このコマンドでRustのプログラムが実行される) C,C++のコードが出てくるので覚悟してください。Rustとは Mozillaが応援している言語Microsoftも注目している 2006年から開発が始まった新しめの言語 2016年、2017年、2018年のStack Overflow Developer Surveyで「最も愛されているプログラミング言語」で一位を獲得している C/C++と同等の処理速度 C/C++の代替えを目指している 静的に型が付く、コンパイラ言語 静的に変数の寿命もわかり、自動でメモリを解放(GCより速い!) 関数内部限定での極めて賢い型推論 C/C++と比べて極めて安全 オブジェクト指

参考:Qiita では印刷がうまくできません。プリントしたい人やPDF 化したい人は http://gurakura.sakura.ne.jp/culture/vi-like_text_editor_by_120_lines/ の方を見て下さい(同じ内容です)。 IOCCC 91 Best Utility 実を言うと 120 行も必要なく、28 行で書けちゃったりするのですが("Best Utility IOCCC 91" https://github.com/SirWumpus/ioccc-ae/tree/master/91)、それはさておき、本文書では現代風にこのプログラムを書き直してみます。古文の現代語訳みたいなものだと思っていただければ幸いです。 ちなみに IOCCC 91 で Best Utility 部門を受賞した全 28 行のプログラムは、このようなソースコードだったそうで

こんにちは、kamyknです。 今回はWebAssemblyの力を試してみたかったので、履歴、ブックマーク、タブ検索ができるChrome Extensionを作ってみました。今回は記事中コードはほぼ出てきませんが、開発の際に得たWebAssemblyの知見などをメインに書いていってみたいと思います。 なお、今回作成したChrome Extensionの特徴は下記のような感じです。技術的な概要 検索ロジック部分はfzf風に作っていてWebAssemblyによるものです。 (まだ自分用の段階ですが、WebAssemblyをnpm package化したりしてます) 処理はWebWorkerで別スレッドに逃がしています 表示部分などの実装はJS、特にVue.jsによるものです 検索対象のデータはすべてChromeのAPIで提供されるデータを利用します これらについては記事内で順に説明していきたい

this post has received too much exposure for the wrong reasons and was retracted. thanks for the feedback.it’s pretty clear that i won’t ever be able to reach the expected communication standard to get to thetechnical discussion that i feel isnecessary. There’s nothing to gain from more heated debate about tone and language, so there willsimply not be a follow up article. I’vegot electric car
AWSLambda、あるいはAmazon ECSなどのコンテナサービスでは、アプリケーションの各種パラメーターを環境変数を使って管理するのが定石かと思います(これらのサービスに限った話ではありませんが)。RustでAWSLambdaファンクションを実装するにあたり、Rustで環境変数を扱う方法を調査したのでその結果を記録しておきます。 目次 検証環境 スタンダードライブラリ(std::env) 環境変数を構造体で扱う まとめ スタンダードライブラリ(std::env) std::env::varで環境変数の値を取得できます。少数の環境変数を扱う場合はこれで十分かもしれません。 std::env::varの戻り値はStringなので、必要に応じて数値型等に変換します。 ちなみに、スタンダードライブラリにはstd::env!というマクロもあります。このマクロはコンパイル時に環境変数の値を

JavaScriptはそのまま書くのではなく、書いた後に変換して使うケースが増えています。例えばTypeScriptであったり、Babelを使って新しいJavaScriptの仕様を使えるようにする、ReactのJSXを変換するといった具合です。 そんな変換処理は実行速度が命です。遅いと変更するのが面倒になり、更新してからWebブラウザなりで確認するのにも時間がかかってしまいます。そこで紹介したいのがBabelの18倍速いというswcです。 swcの使い方 例えば新しいJavaScriptの仕様であるクラスを使います。 class Foo { set foo(v) { } } class Bar extends Foo { get bar1() {} async bar2() {} } これを変換します。 $ swc index.js そうするとES3スタイルのJavaScriptが出力され

In Part 2 of my three-part FearlessSecurity series, I’ll explore thread safety. Today’s applications are multi-threaded—instead of sequentially completing tasks, a program uses threads to perform multiple taskssimultaneously. We all use concurrency and parallelism every day: Web sites serve multiplesimultaneous users. User interfaces perform background work that doesn’t interrupt the user. (Ima

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く