背景 TL;DR 要件定義 エラーに求めるもの no_stdのエラー設計は難しい 既存設計調査 StackErrorとは StackErrorの実現方法 StackErrorの利点 StackError利用時のError型サイズの考察 設計&実装 独自実装(manual) snafuを使った実装 コードサイズの比較 まとめ 補足 thiserrorはStackErrorの実装には不向き GreptimeDBの説明 私が躓いたところ snafuのErrorのサイズを減らす方法 謝辞 背景 趣味で作っている途中の、Rustで書かれたマイコン(no_std環境)で動作するJTAGデバッガアプリケーションのエラー設計を考えています。 今作っているJTAGデバッガアプリケーションでは、インターフェイス・JTAG・DAPなどの階層に分けた構造になるよう設計しています。 この設計に加えてそれぞれの階層の
C言語(C++を含む)を習得したい人,ポインタを勉強したい人はgcc-14を使いましょう.難しいところは gcc-14 が丁寧に解説してくれます C言語の難しいところ 例を示します.C言語で記述された,たった6行のソースコードです int main() { int buf[10]; buf[10] = 0; return 0; } このソースコードには問題があります.初見でわかるでしょうか? : : : 問題があるのは buf[10]=0 の部分です.C言語でやりがちなミスですが,これがバグやセキュリティホールの原因になります. C言語が難しい理由は二つあります.この手の問題を見逃しやすい点と,この手の問題を理解することが難しい点の二つです gcc 14 に解説してもらいましょう 上記の6行のソースコードをgcc14を使ってコンパイルしてみます ソースコードのファイル名は test.c と
Google、訂正不可能なメモリエラーによるクラッシュを回避する「Memory Poisoning Recovery」をGoogle Cloudで提供へ ずっと安定して稼働していたシステムが、ある日突然エラーでクラッシュ。調べても原因が分からないので、「何らかのノイズや放射線などの影響でメモリエラーが起きたのでは?」という推測を顧客に報告した、なんて経験を持つベテランのITエンジニアは少なくないのではないでしょうか。 実際のところ、2009年のGoogleの調査では同社の本番システムにおいて、1年間で8%以上のDIMMモジュールにメモリエラーが発生していたと報告されています。想像以上にメモリエラーというのは起きているのですね。 ただし、現代のメモリとCPUなどではエラー訂正機能を備えているため、多くのメモリエラーは訂正され、システムの動作に影響を与えないようになっています。 しかし訂正しき
れい(猫耳の専門家)🍥 @rei_software 最近あったトラブル 証言1「朝ネットが使えないことがある」 俺(WiFi機器のスリープ復帰障害とかかな? 証言2「有線だけダメ。無線はOK」 俺(有線で朝だけっておかしいな?夜も通信してるし 証言3「Aさん(中国人)が来るとネットが使えない」 俺(人依存かよ…どうせ間違いだろ で、調査したら 2020-11-04 08:43:19 れい(猫耳の専門家)🍥 @rei_software 確かにAさんが出勤してしばらくすると20分ほどネットが使えない端末があるっぽい。 で、出勤してからの行動を見ると ・入室 ・席でカバンを置く ・給湯室でお茶をつくる ・お茶をもって席に ・大抵はメールチェック←このあたりでネットが使えない人が出始める という現象が。 2020-11-04 08:46:26 れい(猫耳の専門家)🍥 @rei_softwar
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに この記事では、メインフレームでは異常時の処理でどのようなことをやっているのか、また、Linuxの異常処理との違いなどについて話してみようと思います。 この記事を書くに至った直接的なきっかけは、とある人からリクエストがあったからです。が、日ごろからメインフレームの異常処理の考え方については、PCサーバーやクラウドによるシステムがメジャーになった現代であっても、参考になることは多いと感じていてはいました。 筆者は今でこそLinux Kernel周りの仕事をしていますが、20年ぐらい前のころはメインフレームのOS開発部隊に配属されて
bashスクリプトの最初の2行はこれにしようと。 #!/usr/env bash set -euo pipefail コマンドが落ちたら止める、unsetな変数に出会ったら止める、pipe連結した任意のコマンドが落ちたらそのe… https://t.co/lpTz8HoEWj
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く