Yabu.log

色々勉強するブログです。

ネットワークの物理層に関する5つの興味深いエピソード

コンピュータネットワークの第2章は物理層についての章でした。読み終えたので感想でも書こうと思います。 この章は難解なので自分が楽しめたのは精々物理層に纏わる様々な歴史上のエピソードのみでした。いくつか紹介してみようと思います。 エピソード1:…

Goの時間フォーマットは他の言語とかなり違っている

多くのプログラミング言語には時間を表示、保存するときに文字型に変換するためのフォーマットが用意されています 例えばJavaではこんな感じでyやMを使って日付フォーマットを指定します。大方他の言語でもこのような方式になっていると思います SimpleDateF…

Goならわかるシステムプログラミングを読み終えました

13章までは一人で読みました。14章以降は横浜Go読書会に参加して読みました。 Goならわかるシステムプログラミング作者: 渋川よしき出版社/メーカー: Lambda Note発売日: 2017/10/19メディア: テキストこの商品を含むブログを見る どんな本だったか? Go言語…

TREE LOCKをdeadlock-freeに保つ5つの条件

TREE系のindexやODBの継承関係をもつテーブル等、木のデータ構造を持つオブジェクトをロックする方法としてTREE LOCKという方法がある 単純にオブジェクト全体をロックするよりも、このロックを使ったほうがパフォーマンスが良い場合がある。 TREE LOCKのプ…

IEEE754について。モダンなコンピュータはどのように少数を扱っているのか

IEEE754とは 小数の計算性能と移植性改善のために制定された。おそらく現代のほとんどのコンピュータや言語処理系が採用している少数を扱うときの規格。 値の表現方法について その表現は符号部(sign)、指数部(exponent)、仮数部(fraction)に分けられる valu…

プログラマのためのSQL 読書会(28)に参加

今回の勉強会では、標準SQLかどうかを判断できる無料の資料の存在を教えてもらったのがデカかったです。 プログラマのためのSQL 第4版作者: ジョー・セルコ,Joe Celko,ミック出版社/メーカー: 翔泳社発売日: 2013/05/24メディア: 大型本この商品を含むブログ…

分散処理本第39回に参加

恒例の分散本(Distributed Computing: Principles, Algorithms, and Systems)を読む勉強会です。 分散システムでのデッドロック検知はサイト間での検知を如何にとるか、と言うのがポイントだと思います。 今回勉強した2種類のアルゴリズムではサイト間でメッ…

新卒入社したSESの会社を退職しました

新卒で入社して3年半ほど務めました。9月26日が最終出社日でした。 前職でどのようなことを経験してきたか書いてみようと思います。 前職について 前職で担当した仕事&仕事に関連して学んだこと Salesforce COBOL,Javaのマイグレーション デバッグスキル テ…

Java読書会「現場で役立つシステム設計の原則」を読む会 第2回に参加

遅れて午後から参加しました。今回は、書かれていることは確かに理想だけど...という切り口の議論が多かったように思います 現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法作者: 増田亨出版社/メーカー: 技術評論社発売…

CC本読み会第12回

Concurrency Control and Recovery in Database Systemsを読む勉強会です。 内容としてはロックのパフォーマンスに関してです。今回のポイントは競合の種類(Resource/Data)と競合を回避する手段(abort/block)がメインだと思います よくわからない箇所があっ…

dbtech showcase Tokyo2018に参加

dbtech showcase Tokyo2018に参加 このカンファレンスは「プログラマのためのSQL」の参加者から聞いて知りました。 大企業/メガベンチャーのDBの運用ノウハウだったりデータベースベンダーの方から最新の製品テクノロジなどが楽しく聞けた3日間でした。 スト…

プログラマのためのSQL 読書会(27)に参加

余談ですが参加者にdbtech show case tokyo 2018の参加者も多かったので、そちらの話題で雑談などが盛り上がりました。*1 「29.7ビット単位の集約関数」から読みました。 プログラマのためのSQL 第4版作者: ジョー・セルコ,Joe Celko,ミック出版社/メーカー:…

分散処理本第38回に参加

Distributed Computing: Principles, Algorithms, and Systemsを読む勉強会です。やはり難しいので少し予習していきました。アルゴリズムの分類までは一応軽く読んで概要をつかんでから臨みました 分散システムに置けるデッドロックの検出アルゴリズムの分類…

a tour of Goをやった

Goならわかるシステムプログラミングで推奨していたのでとりあえず一周して見た*1 https://go-tour-jp.appspot.com/list Go言語の文法については、全くのプログラミング初心者でなければ、tour of Goという公式のチュートリアルを一通りこなすだけで、本書の…

GolangでUDPサーバー&クライアントを作成してWiresharkで検証する

Goならわかるシステムプログラミング第7章 UDPソケットを使ったマルチキャスト通信に書かれている内容をWiresharkを使ったり、デバッグでライブラリ(netパッケージ中心)のソースを読んだりして検証してみました サーバー側 net.ListenPacket()の戻り値のnet…

Golangで書かれたWebサーバーでHTTP/1.1のkeep-aliveを検証する

HTTP/1.1にはKeep-Aliveという通信方法があります。HTTP/1.0の頃は1セットの通信が終わるたびに接続・切断処理が入っていたので非効率だったため、複数のリクエストが来た場合にコネクションを使い回す機能になります。 今回はGolangで書かれたサーバーを実…

Golangで作成したWEBサーバーのTCP通信(HTTP GET)をWiresharkで検証

ソースコード サーバー側のソースコードです8888ポートでクライアントからの送信を待ち受けます package main import ( "bufio" "fmt" "io/ioutil" "net" "net/http" "net/http/httputil" "strings" ) func main() { listener, err := net.Listen("tcp", "lo…

Wiresharkでlocalhost(127.0.0.1)宛のパケット送受信をキャプチャする方法

検証環境 OS:macOS High Sierra 10.13.6 Wireshark 2.4.1 「Goならわかるシステムプログラミング」のネットワークプログラミングの章でプログラムの検証をやりたかったのでLoopbackアドレスに対するパケット送受信ができないのか調べてみたところ、日本語で…

Effective SQL 読書会(5)に参加

参加者が少なかったので木村さんの話がいつもより多く聞けました。 サポートやコンサル、DBMSの制作などをされている方なのでその膨大な知見に毎度驚かされます。 今回は (続き)第2章 プログラム可能性とインデックスの設計 項目17 計算値をインデックスで使…

プログラマのためのSQL 読書会(26)に参加

今回もやたら難解なクエリが多く、輪読がはかどらず、もくもく会になってしまう場面が多かったです*1 プログラマのためのSQL 第4版作者: ジョー・セルコ,Joe Celko,ミック出版社/メーカー: 翔泳社発売日: 2013/05/24メディア: 大型本この商品を含むブログ (1…

第20回横浜Go読書会に参加

初参加です。 Goならわかるシステムプログラミング作者: 渋川よしき出版社/メーカー: Lambda Note発売日: 2017/10/19メディア: テキストこの商品を含むブログを見る Goを学び始めた動機などは yuyubu.hatenablog.com にも書いていますが、インタプリタの本で…

golangを触って見た雑感

Goならわかるシステムプログラミング作者: 渋川よしき出版社/メーカー: Lambda Note発売日: 2017/10/19メディア: テキストこの商品を含むブログを見る C言語はいろいろ大変だからgoでシステムプログラミングを学ぼうぜ。 という趣旨の本を読んでいる。ちょう…

Effective SQL 読書会(4)に参加

Effective SQL作者: John L. Viescas,Douglas J. Steele,Ben G. Clothier,株式会社クイープ出版社/メーカー: 翔泳社発売日: 2017/12/20メディア: 単行本(ソフトカバー)この商品を含むブログ (3件) を見る 冒頭で書籍紹介。SQLパフォーマンス詳解 SQLパフォ…

C言語で美咲フォントを扱う4

前回から引き続き、美咲フォントという8*8ピクセルのサイズで第二水準の漢字までが扱えるビットマップフォントをC言語で扱うプログラムを作っています。 ソースはここにあります。 github.com 処理は結構完成していて、呼び出し側から使うAPIの仕様などが固…

CC本読み会第11回に参加

Concurrency Control and Recovery in Database Systemsという本を読む読書会に参加しました。なお11回からの途中参入になります。 p77の3.10 distributed two phase lockingから読みました。 本書について Concurrency Control and Recovery in Database Sy…

プログラマのためのSQL 読書会(25)に参加

28.4の計算列によるグルーピングからを読みました MySQLではGroup By句にASC,DSCが書ける(一同驚き) 安定ソート、非安定ソートは具体例がないとわかりにくい Order Byで指定すると安定ソートになる。 Group By句では非安定ソート、安定ソートが保証されない …

分散処理本第37回に参加

Distributed Computing: Principles, Algorithms, and Systems作者: Ajay D. Kshemkalyani,Mukesh Singhal出版社/メーカー: Cambridge University Press発売日: 2011/03/03メディア: ペーパーバックこの商品を含むブログを見る 本書の概要 CHAPTER 10 Deadlo…

Java読書会「現場で役立つシステム設計の原則」を読む会 第1回に参加

現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法作者: 増田亨出版社/メーカー: 技術評論社発売日: 2017/07/05メディア: Kindle版この商品を含むブログ (4件) を見る 本の概要 投票の結果こちらの本になりました。 ペース…

C言語で美咲フォントを扱う3

あまり進捗良くありませんが、とりあえずバイナリデータのどこにフォントがあるのか確認できるようになりました。 $ echo "犬" |nkf -s|hexdump 0000000 8c a2 0a まあこんな感じでSjisのコードを調べた後、そのデータの配列を作成し、 char test_letter[2] …

パタヘネのMIPS学習環境をMacOSのVagrant上に作成する2

目的のMIPSをクロスコンパイル、アセンブル、逆アセンブルする環境が整いました。 おまけに実行環境まで揃いました。 クロスコンパイル MIPSのソースを動かす gccでアセンブルせずにコンパイルだけする方法 アセンブル/逆アセンブル 手順は例の如く、この動…