Elmでぷよぷよ

前提として、Javascriptも関数型言語もほとんどやったことないので、慣れてない部分が多くコードも綺麗じゃないのはご勘弁いただきたい。 また、途中まで qiita.com の丸パクリなので、最初は↑読んだ方が良いかも。 とりあえずコードは GitHub - m-masataka/…

kubernetesを使ってみる。

mysql clusterをdockerで構築できるvitessというプロダクトがあるらしい。 youtubeがオープンソースで公開している、mysqlをスケールアウトさせるためのデータベースツール。 kubernetesで簡単にスケールアウトができるらしい。 vitessはdockerを使って簡単…

Lua Copasを使ってみる

Copasとは、lua-socketを使う際に、非同期通信を行うためのライブラリです。 すごく便利な割に、使い方があまり出てこなかったので、ここで書こうかと思います。 http://keplerproject.github.io/copas/index.html lua-socketを使用して、単純にTCPリクエス…

LuaでTOMLのパースプログラムを書く

今日はlua言語でTOMLフォーマットを読み込んで見ます。 luaってあまり聞かない言語ですが、使ってみるとすごい便利だったりします。 なにが良いかって、文字列が非常に扱いやすいこと、そして軽量。 C言語ライクにプログラムが書ける謎のスクリプト言語って…

dhcpサーバを作る(C言語) その3

m-masataka.hatenablog.com 前回の続き 前回はDHCPリクエストのパケットをキャプチャするところまで成功しました。 そして今回はいよいよ、DHCPリクエストに返信をしてみます。 DHCPプロトコルを勉強するにあたって以下のサイトを参考にしました。 http://ww…

MacBook+Wiresharkで無線のパケットをキャプチャ

小ネタです。 無線パケットをキャプチャするにはMacBookProが優秀と言う話を聞いたので、やってみました。 キャプチャしたいのはビーコン信号などの無線のL2パケットです。 まずはMacbookでWiresharkを開き、上のメニューから 「キャプチャ」→「オプション」…

dhcpサーバを作る(C言語) その2

m-masataka.hatenablog.com 前回の続きで、今回はRAW_SOCKETから受け取ったパケットを表示する方法について書きます。 目標のDHCPサーバの作成まではまだまだ程遠いですが、あしからず… まず、生のパケットの処理から。 パケットは例えばethernet→IP→TCP→…の…

dhcpサーバを作る(C言語) その1

だいぶ前ですが、Torema DayというSDN的なものを勉強する勉強会に参加してきました。 発表の中で、”OVSのDHCPが気持ち悪い”っといった内容の発表があったのですが、発表者の方と話して見ると、 「仕事に飽きたら自前のDHCPサーバを実装している」らしい…… 世…

FreeradiusとHostapdでWi-Fi接続端末の証明書認証を行う。

FreeradiusとHostapdでWi-Fi接続端末の証明書認証を行う。 オレオレの証明書を使って簡易的にwi-fiの端末認証機能を作る。 参考にしたサイト http://yasu-2.blogspot.jp/2010/02/debian-lennyhostapdfreeradiuseap-tls.html http://www.freesoftwaremagazine…

WebSSHっぽいことをしてみる。

WebSocket経由でSSHの操作を行います。 といっても、今回行うのはChromeのSource ShellのようにWebブラウザをSSHとして使うのではなく、 あくまでも、ウェブ経由でサーバ側のSSHプロセスを操作するというものです。 今回参考にしたのは、githubにあるこの…

vim tabキーをスペース4つにする。

vimの設定 ubuntuの場合/etc/vim/vimrcに設定を入れる。 (ここを編集すると全ユーザでvimの設定が変更されるので注意) augroup vimrcEx au BufRead * if line("'\"") > 0 && line("'\"") <= line("$") | \ exe "normal g`\"" | endif augroup END set tabsto…

OpenWRT Closs Compile メモ

OpenWRTをインストールできたので、OpenWRT上で動くアプリケーションをコンパイルする。 OpenWRTが動いているルータ(TP-Link WDR4300 N750)はディスク容量もメモリもかなり少ないため、ルータ上でプログラムをコンパイルすることができない。 そのため、別の…

Go でAPIを書く

目標は JSONを受け取る→{何らかの処理}→処理結果をJSON形式で返す これだけのAPIを作ります。 以下のページを参考にしました。 thenewstack.io パッケージ まずはインポートするパッケージ import ( "fmt" "html" "log" "net/http" "encoding/json" "githu…

TP-Link WDR4300 N750にOpenWRTを入れてみる。

前回、Buffalo WSR-600DHPをOpenWRT化することに成功したが、Wi-Fi設定の部分で見事に躓いてしまった。 * WSR-600DHPはMediaTekのチップセット(MT7603E)を使っており、このチップセット対応のファームウェアがWSR-600DHP用に作成されていない。つまり、WSR-6…

OpenWRT wireless 設定編

OpenWRTのWiFiを設定してみる Buffalo WSR-600DHPをOpenWRT化することができたので、早速動かしてみようと思ったが、無線機能が動いていない!? ここからWi-Fiができるようになるまで奮闘する。 ※奮闘した結果、まだ動いていませんorz....... OpenWRTの操作の…

Buffalo WSR-600DHPにOpenWRTを入れる

ヨドバシカメラで購入したバッファロールータをOpenWRT化してみる SDNコントローラからコントロール可能な無線APが作りたかったので、OpenWRTを使ってみることにする。はじめはHostapdを使ってWhitebox switch的なものを作ろうとしていたが、2.4Ghzと5Ghzの…

gohanを触ってみる

以下からgohanのバイナリソースをダウンロードし、中身を解凍する。 https://github.com/cloudwan/ansible-gohan/releases # unzip gohan_linux-amd64.zip # cd gohan_linux-amd64 # ./gohan server --config-file etc/gohan.yaml これだけで一応gohanが動き…

dockerを使ってみる

Docker1.9をインストールすることにする。ついでにDocker ComposeとDocker Machineも一緒に入れてみる。 最新版のDockerをインストールする。 # curl -sSL https://get.docker.com/ | sh インストールを完了しバージョンの確認を行う。 以下のようにVersion:…