はじめに 今携わっているプロジェクトで凄腕エンジニアさんと一緒に開発をさせていただいているのですが、その凄腕エンジニアさんから教えていただいた例外の話がとても勉強になり、 さらにこの例外の話を他のプロジェクトのエンジニアさんに伝えたところ、反応が良く、とても勉強になりました!という声をいただけたので、アウトプットしていきたいと思います。 (この記事の中で凄腕エンジニアさんのことはTさんと呼ぶことにします。) ※【凄腕エンジニアさんから学んだ例外の話】の補足 というQiita記事を書きました。 この記事を読み終わった後に疑問が残った人などは補足資料として読んでいただけると嬉しいです。 例外の考え方の源 Tさんの例外の考え方は http://diveintopython3-ja.rdy.jp/your-first-python-program.html#exceptions ↑こちらのPyth
tcpdpの中のお話です パケットを一時的に保持するバッファ google/gopacket/pcap パッケージでパケットを取得するようなツールを作る場合、2つのバッファを持つことになります。 libpcapが持つバッファ google/gopacketが持つバッファ(バッファ付きチャネル)。1000で固定。 パケットは加工されつつ上記のバッファを経由して、最後にgopacketからパケットを受けとることになります。 そしてバッファには、以下のような特徴があります。 libpcapが持つバッファが溢れたらパケットロスが発生します gopacketのバッファサイズは固定です libpcapは ImmediateMode がOFFだと、libpcapが持つバッファにある程度パケットを貯めてからまとめて返します 上記特徴からみても、ツールが正しく動くようにするためには いかにlibpcapのバ
通常, WindowsにRustをインストールすると, Visual C++ Build Toolsのインストールを求められる. C++環境をCygwinで既に持っているユーザーは, Visual C++ Build Toolsをインストールしたくない. ここではその回避方法を示す. 前提 gcc-core, gcc-g++, gdb, makeは既にCygwinで導入済みとする. 私のCygwinインストールメモはこちら. Rustの環境構築 ダウンロード 通常のインストーラーの場所ではなく, こちらからx86_64-pc-windows-gnuのrustup-init.exeをダウンロードする. インストール インストーラーの実行 C++のビルドツールが必要と言われますが, 既にCygwinで持っているためそのまま進めます. インストールオプションが出るため, 修正する必要があります.
はじめに 最近はすっかりWeb系スクリプト言語しか触らなくなってしまいました。 たまには毛色の異なる言語を使いたいと思い、Rustに手を出してみました。 Windows 10でCygwinを使った環境構築と、「Hello, World」までをやります。 参考URL: rustup.rs - The Rust toolchain installer プログラミング言語Rust 手順 Rustのインストール 下記に書いてある通りではあるんですが…細かく見ていきます。 rustup.rs doc.rust-jp.rs Windowsの場合はexeをダウンロードして実行するのが普通のようですが、 If you're a Windows Subsystem for Linux user run the following in your terminal, then follow the onscr
こんにちは。こんばんは。おはようございます。 Q-39です。お世話になっております。 最近Visual studioでC++を始めました。 MSのCStringのFormat()は浮動小数点の小数の桁指定をすると 四捨五入になります。 ネットで調べてみたら、浮動小数点の難しい問題と混同している サイトが見受けられました。 この手の問題は、数字で考えずに、文字で考えれば楽勝です。 小数点以下第4位まである場合に 小数点以下第3位を切り捨てるなら、 double a; CString s; だとして、 s.Format(“%.4f”, a) s = s.Left(s.GetLength() – 2); で終わり。 0.005を引いてみるとか、そういうのは桁によって浮動小数点の難しい問題にぶち当たります。
C++ Advent Calendar 2018 この記事はC++ Advent Calendar 2018 15日目の記事です。 14日目: VTKライブラリ 16日目: C++のエラー処理との付き合い方 当初見積もりよりも大幅に長い記事となり、投稿したのは12/22で1週間遅刻です。すみません。 お知らせ cpprefjpにchar8_t型追加について解説を書きました。ぎゅぎゅっとコンパクトに、また査読を受けて中立的な表現で書いていますので、よければどうぞ。 UTF-8エンコーディングされた文字の型としてchar8_tを追加 - cpprefjp C++日本語リファレンス 追記 全ての開発者が知っておくべきUnicodeについての最低限の知識 - GIGAZINE Unicodeについて簡潔にまとまってるいい記事を見つけました。 Caution この文章には以下の要素が含まれます。苦手
FuelPHPのPHP8.1対応(無理矢理編) 皆さん、PHPのフレームワークは何を使っていますか? 今から学ぶなら「Laravel」や昔ながらの「CakePHP」でしょうか? 私は数年前から「FuelPHP」というフレームワークを使っていて「なんて開発しやすいんだ」と感動した記憶があります。 ところが、FuelPHPのリリースがピタッと止まり、PHPのバージョンアップに対して暗雲が立ちこめてきました。 てかフレームワークの選定ミスはかなり痛いですね。私は先物取引には金輪際手を出しません。 幸いPHP7に関しては問題なくできたのですが、時代はPHP8.1になり、ここでついにエラーが出るようになってしまいました。 参考 【PHP8.1】PHP8.1で削除される機能 https://qiita.com/rana_kualu/items/c894b2160d1f8799eed2#key-curr
これは、 C++ でコンパイル時に出力まで済ませようとした話です。 コンパイラは GCC に限ります。 はじめに もうすぐクリスマスですね! クリスマスにすることといえば……、 そう、コンパイル時処理ですね!! コンパイル時処理 C++ のコンパイル時処理は非常に強力で、様々なことがコンパイル時にできてしまいます。 普通はコンパイル時に決まる定数の計算に使われますが、これを悪用利用してコンパイル時に処理がすべて終わるようなものも書くことができます。 例として、コンパイル時 FizzBuzz を書いてみます。 #include <array> #include <string_view> #include <algorithm> #include <concepts> #include <iostream> template <std::unsigned_integral T> conste
「オブジェクト指向神話からの脱却」というあおり気味タイトルの特集をWEB+DB PRESS vol.132で書きました。 12/24発売!クリスマスプレゼントです WEB+DB PRESS Vol.132 作者:きしだ なおき,加藤 尋樹,斉藤 洸紀,牟田 裕太郎,吉澤 政洋,朝日 リナ,鈴木 僚太(うひょ),川島 義隆,五十嵐 進士,末永 恭正,佐藤 雄太,吉井 健文,牧 大輔,西山 和広,吉田 花春,古川 雅大,岡林 大,池澤 春菜,和田卓人,日高 正博,はまちや2,竹原技術評論社Amazon 大まかには、「オブジェクト」でソフトウェアをぜんぶ考えるということに無理があったので、パーツそれぞれ適したやりかたでやっていこうぜ!という内容です。 ソフトウェアを切り出したときのパーツとしてのオブジェクトの特性が同質であるという暗黙の前提があって、だから「オブジェクトの話をすればソフトウェア開
Fumihiko Shiroyama @fushiroyama 父、博士課程 Senior Software Engineer @Microsoft 👨🏻💻 / ex-@amazon All opinions are my own. note.com/fushiroyama/ Fumihiko Shiroyama @fushiroyama Twitterみたいな緩いつながり、TLひとつ実装するだけでも普通のウェブシステムみたいなクエリでは取れなくてちょっと考えれば非常に複雑なシステムであることは明白だし、システムアーキテクチャの試験の定番トピックだったりするので「誰でも作れる」とか「簡単」みたいなのはご指摘申し上げたくなる 2022-11-22 02:16:50 Fumihiko Shiroyama @fushiroyama 昔つぶやきましたが例えばこの記事を読むと分かりやすいです
観測しようとすると、その観測が影響を与えてしまう感じで、おもしろい 自分の頭の中 この機能をチームで開発するのに、だいたい2ヶ月くらいかなぁと自分が頭の中で思っているとする。もし僕らの知ってる範囲ですべてが収まれば1ヶ月くらいで終わるかもなぁと思いつつ、まぁ、知らない範囲のことがあるだろうし2ヶ月くらいに思っておくのがいっか という感じ。6割ぐらいの自信 チームの中 チームメイトに「この機能いつ出せるかな?」って聞かれることはあんまりないと思うけど、もし聞かれたら「んー、2ヶ月くらいじゃない?もしかしたら、もうちょっと早くできるかもだけどね」ってそのまま頭の中を伝えると思う 聞かれることがあんまりないというのは、そもそも、チームでラフに見積もるから。Tシャツサイズとかストーリーポイントとかを使って「Mサイズだから2ヶ月くらいだね」って話をするだけで済む。「2ヶ月くらいだね」って言ったものは
この記事は「ゆめみ その2 Advent Calendar 2019」の5日目の記事です。 ある日のこと… 「いきなりそんなこと言われても…」 上司「ついでにいろんなところで使いまわせるように普遍的なのにしてね」 「えぇ…」 「こういう時にエラーレスポンスが標準化されてRFCでまとめられてたらいいのになぁ…」 ありました RFC7807 : Problem Details for HTTP APIs RFC7807では開発においてHTTP APIのために新しくエラーレスポンスを定義するのを避けるために、プログラムが読み取れるような問題詳細(Problem Details)をapplication/problem+jsonまたはapplication/problem+xmlで定義しています。 問題詳細(Problem Details)ってなんぞや? type, title, status,
I was suprised not to be able to find any documentation regarding the proper user of these functions: log_daemon_msg log_progress_msg log_end_msg log_action_msg log_success_msg log_failure_msg log_warning_msg Where can I find more information about their usage and maybe other related functions? Note, I found them inside /lib/lsb/init-functions but the is documentation regarding their usage is most
パフォーマンス Rustは非常に高速でメモリ効率が高くランタイムやガベージコレクタがないため、パフォーマンス重視のサービスを実装できますし、組込み機器上で実行したり他の言語との調和も簡単にできます。 信頼性 Rustの豊かな型システムと所有権モデルによりメモリ安全性とスレッド安全性が保証されます。さらに様々な種類のバグをコンパイル時に排除することが可能です。 生産性 Rustには優れたドキュメント、有用なエラーメッセージを備えた使いやすいコンパイラ、および統合されたパッケージマネージャとビルドツール、多数のエディタに対応するスマートな自動補完と型検査機能、自動フォーマッタといった一流のツール群が数多く揃っています。
この記事を書いた人 インターノウス株式会社 技術顧問 伊澤 伸 楽天「ぴたっとアド」「ぐるなび」「びあ」などのwebを担当。元株式会社ノボットCTO。 1996年日本オラクル株式会社。2004年ネクストコム株式会社(現三井情報株式会社)に参加後、米国において会社を設立。オフショア開発部隊を率いて「ぐるなび」「びあ」などのWEBリニューアルを担当。 2007年マイクロアドのアドネットーク向けに行動ターゲティング広告システム、不正クリック排除システムを構築。2008年楽天株式会社において、 「ぴたっとアド」の立ち上げを完了させた。2009年株式会社ノボットに参画。CTOとしてシステム基盤を構築し、ノボットバイアウトに貢献。 今から10年ちょっと前の2010年、「staticおじさん」が炎上しました。staticおじさんはネット上のコラムに『実はオブジェクト指向ってしっくりこないんです!』と題し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く