コンピューターの通信をキャプチャするソフトウェアとしては「Wireshark」が有名ですが、Wiresharkは大規模なネットワークの通信を常時キャプチャして表示するのは得意ではありません。無料でオープンソースの「Moloch」は、大規模なネットワークで通信を常時監視し、わかりやすく表示するのに適したソフトウェアです。 Moloch https://molo.ch/ 記事作成時点ではCentOS 6/7/8、Ubuntu 16.04/18.04向けにコンパイル済みのパッケージが提供されているので、今回はUbuntu 18.04にMolochをインストールしてみます。 Molochは検索エンジンのElasticsearchを使用するため、Elasticsearchも準備しておく必要があります。今回はMolochが動作するサーバー上にDockerコンテナとしてElasticsearchを構築し
So I tweeted: This happened in an instant. I am not even sorry. It included this snippet of Rust code: use std::os::raw::{c_int, c_void}; use std::sync::atomic::{AtomicU64, Ordering::SeqCst}; use std::time::Instant; #[repr(C)] struct timespec { tv_sec: u64, tv_nsec: u64, } static TIME_COUNTER: AtomicU64 = AtomicU64::new(0); #[no_mangle] extern "C" fn clock_gettime(clk_id: *mut c_void, tp: *mut tim
この本は組込みシステムやOSのような低レイヤーシステムの開発経験がないプログラマーのような人が、自作OSをはじめるため解説本です。 著者自身、本職はウェブプログラマーですが、趣味で組込みOSの自作をしています。この本はそのノウハウ集のようなものです。 このような低レイヤーシステムはC言語で開発されることが多いのですが、今回はRustを使います。 RustはC言語と比較して、様々なモダンな機能やツール郡を取り揃えている上に、C言語の長所である直接のメモリ制御ができ、パフォーマンスも高いとして組込みシステム開発でつかえるとして注目されています。 Rustそのもの解説は控えめですが、低レイヤーシステム開発特有のテクニックは必要に応じて解説します。 想定読者 ある程度はプログラミング経験があることを前提としています。 また、レジスタやメモリなどコンピュータアーキテクチャに関する基礎用語の説明もちゃ
はじめに この記事では、メインフレームでは異常時の処理でどのようなことをやっているのか、また、Linuxの異常処理との違いなどについて話してみようと思います。 この記事を書くに至った直接的なきっかけは、とある人からリクエストがあったからです。が、日ごろからメインフレームの異常処理の考え方については、PCサーバーやクラウドによるシステムがメジャーになった現代であっても、参考になることは多いと感じていてはいました。 筆者は今でこそLinux Kernel周りの仕事をしていますが、20年ぐらい前のころはメインフレームのOS開発部隊に配属されていて、メインフレームのとあるコプロセッサのドライバを書いたりしていました。この際、その異常処理における考え方を体験する機会が多々あり、当時のその経験が20年後の現在でも大いに役にたっていると感じていたからです。 そもそもメインフレームは、これまで長年にわたっ
Sections What is time Representing time Where do we usually find time on Unix System time, hardware time, internal timers Syncing time with external sources What depends on time Human perception of time What is time Time is relative Measuring time and standards Coordinating time Time zones DST Time, a word that is entangled in everything in our lives, something we’re intimately familiar with. Keep
I show how two domain-specific type systems, information flow control and two-party communication protocols, can be implemented in Rust using type-level programming. I explain how interesting properties of these domains can be verified at compile-time. Finally, I construct a general correspondence between type operators, logic programs, and their encoding in Rust. Typestate is the concept of encod
競技プログラミングの問題を解くためには2つのステップがあります。 問題で要求されていることを言い換える知っているアルゴリズムやデータ構造を組み合わせて解く 必要な(知っておくべき)アルゴリズムやデータ構造は色々なところで学ぶことができます。 しかし、「問題の言い換え」や「アルゴリズムを思いつく」というのは、非常に様々なバリエーションがあり、問題をたくさん解かないとなかなか身につきません。 そこで、この記事は以下のことを言語化し、練習のための例題を提示することを目標とします。 問われていることを、計算しやすい同値なことに置き換える方法アルゴリズムを思いつくための考え方競技プログラミングで「典型的」と思われる考え方 ※一部問題のネタバレを含むので注意 ※良く用いられるアルゴリズムやデータ構造については競技プログラミングでの典型アルゴリズムとデータ構造 を参考にして下さい。 入力の大きさ(制約)
問題設定 有意差検定 交絡因子の存在 線形重回帰によるモデル化 回帰係数の推定 回帰係数の仮説検定 補足など 残差の分布について 他の交絡因子について データの生成方法について 参考文献 @tkanayama_です。最近「計量経済学*1」と「効果検証入門 *2」を読んだので、せっかくなので実際に手を動かすことによって理解の整理をしたいと思いました。 www.yuhikaku.co.jp gihyo.jp そこで今回は、人工データを用いて「ボールの性能と捕獲確率」の関係性を効果検証してみました(人工データの生成方法は記事の末尾に記述しました)。 問題設定 今は昔、モンスターボールしか存在せず、スーパーボールが世の中で出回り始めたばかりの頃、オーキド博士が「スーパーボールは本当にモンスターボールより捕まえやすいのか?」という仮説を検証しようとしています。 そこでオーキド博士は世界中のトレーナー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く