2014年を振り返って

· Other

早いものでもう2014年の大晦日です。今年の自分を振り返ってみようと思います。 娘が1歳に 10月に娘がめでたく1歳の誕生日を迎えました。 ![OLYMPUS DIGITAL CAMERA](https://www.eisbahn.jp/yoichiro/images/2014/12/PA163200.jpg) 妻には子育てを任せっきりでとても申し訳ないですが、すくすくと成長し、すでに体重は10キロを超えています。抱っこすると重いです。ずっしりしてます。まだ一人では歩けないですが、第一…

Read more →

NaClモジュールをgdbでステップ実行や変数値を覗くための手順

· Chrome Native Client

Chromeは、NativeClientと呼ばれる「OSが直接理解できるコンパイル済みコードを(サーバ側ではなく)Chromeブラウザ側で実行する仕組み」が備わっています。 [最近はGo言語でもNaClが書ける](https://github.com/golang/go/wiki/NativeClient)みたいですが、基本的にはCやC++でNaClモジュールを書くことになります。もうそれだけで「うわ、難しそう」と思ってしまうことでしょう。実際、CやC++でコードを書いたことがほとんどなければ、…

Read more →

NaCl、nacl_ioやるときにハマったこと

· Chrome Native Client

Chrome MySQL Adminで「SSH Tunnelingできないから星1つ」とか頭にくるフィードバックする人が結構いて、それができないからって全否定かよ!としばらく怒っていました。その怒りを力に変えて、NaClでlibssh2使ってSSH2 Port forwardingできるように機能追加をしました。 [https://github.com/yoichiro/chromemysqladmin](https://github.com/yoichiro/chromemysqladmin…

Read more →

AngularJSのDirectiveにAPIを追加するための方法

· AngularJS

AngularJSには、自分独自のHTML要素を作り出すためのDirectiveという仕組みがあります。これを使うと、一般的に「div地獄」となるような動的Webアプリケーションの作り方ではなく、論理的で直感的な、やりたいこと実現したいことを端的に表すタグを記述するだけで、Webアプリケーションを構成していくことが可能になります。現在Web Componentsの仕様策定や実装、さらにそれを推し進めるためのPolymerの開発が進んできていますが、それを先取りしたようなものと考えれば良いでしょう…

Read more →

jCanvasによる楽々グラフィック描画

· Web Technologies

最近はずっとChrome MySQL Adminの機能追加にいそしんでいる毎日です。データベースと言ったら、何を連想しますか?SQL?Oracle?いろいろと出てくると思いますが、きっと10位以内に入ってるキーワードとして、必ず「ER図」はあると思います。ER図は書くのが面倒なので、もし手元にある実際のデータベースからER図を自動的に書いてくれたら、こんなに楽なことはないですよね?はい、作ってみました。 ![cma9small](https://www.eisbahn.jp/yoichiro/…

Read more →

PNaClでOpenSSLの機能を利用するChrome appsの作り方

· Chrome Native Client

ここのところ、PNaClについていろいろと調べてきました。なんで調べていたかというと、自分で作ってるChrome appsの中で、JavaScriptで書くのは非常にしんどい処理を既存のNative codeを呼び出すことで利用して楽したい、というのがあります。特に暗号系の処理は、扱う値の桁数も非常に大きく、もしOpenSSLにある関数で事足りるのであれば、それを利用したいところですよね。こういったことが、PNaClで可能なはず。それを自分でできるように習得したかったということです。まぁ、C++…

Read more →

naclportsがmacでmakeできなかった話

· Chrome Native Client

NaClやPNaClをいろいろ試していく中で、自分で書いたコードだけでなく、他のコードを使いたいときが出てきます。例えば、opensslやその他便利なライブラリが、それに該当するでしょう。これらのライブラリは、NaCl SDKに付属するビルドツールでmakeされて初めて、自分のNaClコードから利用可能になります(と思ってます)。 NaCl向けに各種Patchがあてられた状態になっているライブラリ集が、naclportsです。この中に含まれる使いたいライブラリをビルドすることで、自分のNaCl…

Read more →

Chrome Native Client Tutorial C++ Getting Started編 (Part 2)

· Chrome Native Client

[前のエントリ](https://www.eisbahn.jp/yoichiro/2014/10/chrome-native-client-tutorial-c-getting-started-part-1.html)では、Native Client SDKに含まれるgettingstarted、つまりチュートリアルについての説明ドキュメントを和訳して掲載しました。このエントリでは、そのチュートリアルの続きです。ここでは、SDKに付いてくるMakefileをより簡単に書くためのマクロの紹介や、共…

Read more →

Chrome Native Client Tutorial C++ Getting Started編 (Part 1)

· Chrome Native Client

[前のエントリ]()では、Native Client SDKに含まれる各種サンプルコードのビルドと実行方法について紹介したドキュメントを和訳して掲載しました。このエントリでは、更に進んで、C++によるシンプルなNative Clientモジュールを作成するチュートリアルについて和訳してみましたので、掲載してみたいと思います。このチュートリアル自体は本当に簡単であり、しかし仕組みが良くわかる内容になっています。試すこと自体はあっという間にできるので、ぜひ試してみてください。 原文: [C++ …

Read more →

Chrome Native Client Tutorial サンプル実行編

· Chrome Native Client

[前のエントリ](https://www.eisbahn.jp/yoichiro/2014/10/chrome-native-client-tutorial-download.html)で、Chrome Native Client SDKのインストール方法に関するドキュメントの和訳を掲載しました。このエントリでは、インストールされたSDKに含まれる各種サンプルコードをビルドし実行するための方法が説明されたドキュメントについて、僕が和訳したものを掲載したいと思います。百聞は一見にしかず、とにかくま…

Read more →