コミケ告知

サークル活動の詳細は circle タグの記事へ。
2015年8月24日月曜日

C88 お疲れ様でした

夏コミで当サークルまで足を運んでくださった皆様、ありがとうございました。
(当日からだいぶ時間が経ってから書いております…)

今回は多めに持って行ったために、在庫が切れることはありませんでした。
新刊として、Webサーバーやバックエンドで大活躍する並行プログラミング向けの、アクターモデルについての解説を出しました。ただ、今までと結構毛色が違うのと、アクターモデルとは何ぞや?という説明を、事前にも当日その場でもほとんどせずに出してしまったので、ちょっと対象読者を絞りすぎたかなという反省です。

冬コミにもし当選できれば、原点回帰のネットワークプロトコルまわりのネタでVol.5を出すつもりです。TCP・QUIC・そしてインターネット全般について、既刊で触れている話題以外にも既にいくつか候補があります。
それから、何かネタを練ってネットワーク系の動態展示が出来ないものか思案中です。無線系のいいチップも出ましたし、昨今はタブレットも結構電池が持つので、人通りの多い10時半~2時くらいなら十分耐えられそうな見込みがあります。
2015年8月17日月曜日

Network Maniacs vol.4 リンク集

夏コミで頒布させていただいた Network Maniacs vol.4 のリンク部分一覧です。
出来るだけページ内脚注に参考URLを載せるようにしたので、今回はかなり多くなりました。

2015年8月12日水曜日

Network Maniacs vol.1 エラッタ

タイトルの通りです。もう年単位で前に発行したものですが、誤りを見つけてしまったので、訂正させていただきます。2015夏(第三版)以降では、修正ずみです。
場所はp.5 「Nagleのアルゴリズムを無効にするべきか?」の項目で、例が間違っていました。それより前のページにある説明は問題ないはずです。例だけおかしい。

以下に修正済みのページをアップロードしておきますので、お手数ですがご参照ください。
なぜこれが発生したかというと、この本は手元で書き溜めた(特にどこかに公開しているわけではない)文章ストックからペタペタして作っている部分があるのですが、かなり古いもので間違ってるものがあったのです。 確認不足ですね…
2015年8月10日月曜日

scalikejdbc-mapper-generatorでテストを生成しない方法

TL;DR

generator.testTemplate
に無効な値を入れる。空白でよい。

本文


 ScalaでSQLを扱うときの選択肢のひとつであるScalikeJDBC。黒魔法Slickよりは何が起きているか理解しやすいので、せいぜいJavaのORMの3倍くらいの難易度に収まっていて、人間でも使える感があるライブラリです。
 機能のひとつに、既存のDBに接続して、その内容に合うようにインターフェイスを生成してくれるものがあります。ライブラリは scalikejdbc-mapper-generator として分かれており、ScalikeJDBCではReverse Engineeringという機能名で呼ばれます。Slickの同等機能はSCHEMA CODE GENERATION ですかね。

 このライブラリはテストコードも吐くようになっていますが、これがそのままでは通らなくて外したい、と思うことがあるでしょう。そんなときには、
project/scalikejdbc.propertiesgenerator.testTemplate に、無効な値を設定すれば、出力されないようです。ソースコードではscalikejdbc/mapper/CodeGenerator.scala def specAll() あたり。
2015年8月2日日曜日

サークル浜風もっこす C88情報

C88には無事当選しておりました。
日曜日 東地区 "O" ブロック 38a
に配置されています。3日目です。

今回のラインナップは以下を予定しております。

  • Network Maniacs vol.4 [新刊]
    • ネットワーク向け高並列アプリケーション向け「アクターモデル」フレームワーク紹介
      • Erlang
      • Elixir
      • Akka
      • Orleans
      • Orbit
      • Pony
  • 艦これ攻略本 [新刊・コピー本]
    • 出来るのか謎
  • Network Maniacs vol.3
    • TCP受信プログラミング
    • 「ネットワーク向けコマンドラインツール紹介
  • Network Maniacs vol.1+2
    • 【TCPの高速化手法】 基本的な話からLinux3系の新実装まで、TCPの高速化に使われている方法の解説。
    • 【ネットワークバッファとパケットロス】 パケットロスとは何で、ネットワークバッファとはなにか?
    • 【QUIC】 Googleの実験用プロトコルQUICの概要と試用方法。
    • 【FiddlerCore】 .NET用のHTTP層解析ライブラリの紹介、使用例。


まだ新刊が出来上がってないので情報が不完全ですが、逐次この記事は更新します。
8/13 Network Maniacsについて情報を更新しました。


当日、基本的にはサークル内におりますが、午後のどこかの時間で挨拶回りをする予定です。

よろしくお願いします。
2015年7月8日水曜日

Googleのインチキグラフを叩くべきかどうか

先日、Googleの講演を見ていて、ちょっとした衝撃を受けました。
上記リンク先に指定してある、37:20頃に出てくる棒グラフ。出典は2010年のGoogleの論文なのですが…



左軸に注目。原点が0ではありません
よく言われるように、棒グラフなので厳密に原点0にすると、以下のようになります。(棒と左側の縦軸以外は手抜きな画像で、左軸の大きな目盛は100msec単位)



一番左がちょっと高いかなという程度で、あまり情報量のないグラフになりました。

これは、Googleの誰かがうっかり出した資料ではなく、こうして重要な資料として5年後にまで引用されるものであり、またSIGCOMMという有名どころで発表されているものでもあります。

良い表示方法ではないかもしれませんが、日本(のTwitter)でよくやるように、○○グラフはこういう表記をしなければだめだ!!という堅いルールではなく、読む側が気を付けましょうねという運用を考えても良いのかもしれません。実際、折れ線グラフで表示されたって、軸があれば絶対値が読めてしまうし、そちらに話題が発展してしまうこともあります。
 もし原点の編集をした上で軸の数値表記を削ってしまったら、正確に絶対値を読み取ることが不可能になるので、それこそ人間界から排除すべきインチキグラフですが。

グラフを読む姿勢の違いが、日本でインフォグラフィックを見かけることが少ない原因のひとつなのかな、と思うこともあります。表現側で形式に従ってきっちりしていないと読めない(読み違いやすい)のは、あまり自慢できることではないと思うのですが。
2015年7月2日木曜日

IntelliJでネットワークドライブのプロジェクトを開いてはいけない(少なくともWindowsでは)

色々な都合で、IntelliJ IDEAでネットワーク上のプロジェクトを読みたい場合があるかもしれません。
しかし試してみたところ、性能低下どころではなくて、操作不可能に近いケースが発生したので、記録しておきます。

問題となったのは
  • ネットワークドライブ上のプロジェクトを開く
  • そのネットワークから切断する
…という手順。この後、Intellijを起動しようとすると、起動に15分くらいかかります。該当のプロジェクトを開かなくても、です。最近開いたプロジェクトはチェックしにいくのでしょうかね。ユーザーのホームディレクトリ下にあるIDEAのコンフィグレーションをまるっと削除したら、とりあえず解決しました。

内部のタイムアウト実装の問題であれば、Windows依存の現象ではない可能性もあります。試していませんが。