自由課題

学んだり、考えたり、試したりしたこと。

今日から始めるgitlab生活

ふとgitlabサーバを立ててみようと思い立って少し調べてみたところ、 意外と簡単そうだったのでgitlabを全自動でセットアップするVagrantfileを作ってみました。 正直あまり大したことはやってませんが、一応記録として。

kimito/vagrant_gitlab · GitHub

vagrant upしてしばらく放っておいて、 セットアップが終わったらブラウザからhttp://localhost:8080/ にアクセスすると、 こんな雰囲気の画面がでるはずです。

f:id:kimito_k:20141004112440p:plain

詳細はgithubリポジトリを参照してください。

Jenkins/Gitlab Merge Request Builder PluginのREADME訳

はじめに

本記事は 2014/09/09(commit:d9ce6a4bef)時点の https://github.com/timols/jenkins-gitlab-merge-request-builder-plugin のREADMEを適当に訳したものです。 なお、本プラグインApache License, Version 2.0となっています。 特にメニューの名称は実物を見ず適当に訳したので、間違っているかも知れません。

便利そうなので、時間を見て使ってみたいと思います。

続きを読む

Polymerでscriptタグを使わずにAJAXする方法

はじめに

ぼちぼち勉強していたら、Google I/Oでブチあげられて俄然注目度が上がってきた(?)Polymerに関してです。 (関連記事は Polymer - 自由課題 を参照)

リファレンスを見ていたら、<core-ajax>というエレメントが用意されているのを見つけました。確か公式チュートリアルの中でも出てきていたように思います。

このcore-ajaxと、以前訳したこともあるPolymerのデータバインディング機能を合わせて使えば、JavaScriptのコードを書かなくてもAJAXができるのではないかと思って試してみました。

続きを読む

Web ComponentsのライブラリPolymerを試しはじめるまでの記録

Polymerを試し始めるまでの手順を淡々とまとめました。
PolymerはWeb Componentsの機能をいろいろなブラウザで利用するためのライブラリです。詳しくはこちらなどを参照してください。

環境

OSX 10.9.3
VirtualBox 4.3.2
Vagrant 1.6.3

続きを読む

声に出して読みたいUNIX&LINUXライブラリ関数

"LINUXプログラミングインターフェイス"という本を読みました。 この本は、"本書は Linux および UNIX システムプログラミング API の(ほぼ)完全な解説を目標とし、内容 は広範囲の Linux プラットフォームに通用するもの(まえがきより)"ということで、約1500ページに渡りPOSIX/SUS API及びLINUX独自のシステムコールについて広範な解説を行っている書籍です。

Linuxプログラミングインタフェース

Linuxプログラミングインタフェース

せっかく読んだので何かアウトプットを出したいと思い、知らなかったけれど便利そうなAPIの一部を並べてみることにしました。自分が知らなかったものなので特にジャンル(?)はなく雑多です。

続きを読む

Polymerのデータバインディングについて(公式ドキュメント日本語訳)

はじめに

最近気になっていたWeb Componentsを本格的に触り始めようかということで、Web Componentsの機能をフル活用したライブラリであるPolymerの公式ドキュメントを斜め読みしていたところ、データバインディングについて記載があったので訳してみました。

個人的には、Model-View間でのデータバインディング機能がまともにない環境では効率的にアプリを作成することは難しいと思っているので、結構肝のところかなと思います。なお、訳したのはデータバインディングのところだけです。悪しからず。

訳してみた感想としては、(Web標準なので当たり前かもしれないですが)ライブラリ特有の癖がなく、一度学習したらすんなり使えそうな印象を受けました。今度時間をとって実際に試してみようと思います。

なお、本ドキュメントのライセンスは原文と同じくCC BY 3.0であり、原文はPolymer Authorsにより記述され、原文そのものはここにあります。

続きを読む

C++における単体テストのための依存性注入方法まとめ

はじめに

あるモジュールを作成した時、当然ながら(ですよね?)このモジュール(以降テスト対象モジュールと呼びます)を何らかの方法でテストする必要があります。テスト対象モジュールが別のモジュール(以降依存モジュールと呼びます)に依存している場合、

  1. テスト対象モジュールと依存モジュールを一緒にテストする
  2. 何とかして依存モジュールをテスト対象モジュールと切り離し、テスト対象モジュールを単独でテストする。

一般的に、1は結合テスト、2は単体テストと呼ばれます。
この記事では、単体テストで何とかして依存モジュールを切り離す、言い換えるとテストのために別の依存モジュール(依存性)を注入する方法を紹介します。
一応記事タイトルをC++としていますが、いくつかは別の言語でも使えるはずです。

続きを読む