タグ

2016年12月3日のブックマーク (11件)

  • ユニットテストの実行環境を用意して Visual Studio Code のエクステンションを快適に TDD する - Qiita

    こんにちは @ryu1kn です。これは Visual Studio Code Advent Calendar 2016 の2日目の記事です。 Visual Studio Code (以下 VS Code) はバージョンが1に届いた頃からメインで使うようになりました。以降いくつかエクステンションを書いたのですが、今回はそれらのエクステンション開発時に必要だったユニットテストの環境準備について書きます。 TL;DR エクステンション生成時についてくるテストの実行環境は VS Code の全 API が使えるインテグレーションテスト用のものであり、起動が遅く TDD でのユニットテストには向かない コマンドラインから手早くユニットテストを実行できるようにしておくと快適に TDD できる VS Code の API を提供する vscode モジュールは、エディタ上で実行する時とコマンドラインか

    ユニットテストの実行環境を用意して Visual Studio Code のエクステンションを快適に TDD する - Qiita
  • systemdでの定期実行(timerユニット) - Qiita

    cronの無い世界 systemdに移行するディストリが増えてきた昨今、cronが担っていた部分もsystemdに移行されてきています。初期のsystemdにはtimerがありませんでしたが、2013年にtimerユニットの実装が入り、だいぶ安定してきた感があります。また、昔はcron系のデーモンが必須パッケージだったディストリも、いまでは必須ではなくなってきています。crontabといえばUNIXの入門書にも載っていますし、POSIXでも定められたユーティリティです。systemdを採用しているディストリであっても、cron系のパッケージ(cronieやfcron)を入れればいいだけの話なのですが、少なくともcron系を使うかsystemdのを使うか選ばなければなりません(両方使うことも・・・できますが)。cronはちょっと使ったことがあるので、一度も使ったことがないsystemdのti

    systemdでの定期実行(timerユニット) - Qiita
  • Linuxカーネルのライブパッチを使ってテスト用のstubを作る - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

    この記事はLinux Advent Calendar 2016の1日目の記事です。 テストする時にstubって便利ですよね。最近はnodejsで仕事のコードを書いているのでsinon便利だなとか思ってます。じゃあ、Linuxカーネルでもstub作れたら便利だよねという思うわけです。そうすると、我々にはlivepatchという機能があります。 というわけで、Linuxカーネルのlivepatchを使ってstubを作れるようにしてみようと思ったのが今回の記事のネタです。 今回のコードはLinux 4.9.0-rc4で動かしています。 stub機能の前提としてlivepacthを使うのでstubのコードはlivepatch方式でカーネルモジュールとして作成します。どんな関数をどのようにstubするかはカーネルモジュールで決めるので、ここは使う人の自由となります。カーネル側はstubをするための機

    Linuxカーネルのライブパッチを使ってテスト用のstubを作る - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
  • Jenkinsとrrrspecと私 - 弥生開発者ブログ

    Misoca開発チームの黒曜(@kokuyouwind)です。 最近PS VRを買いました。画像は夏にSony StoreのPS VR体験会へ行った際、スタッフの方が撮ってくださった写真です。 OculusやViveと比べると解像度は低めですが十分な没入感がありますし、なによりアイマスやVOCALOIDなどのキャラクターコンテンツが色々あるのは強いですね。 PS VRはいいぞ。 rspec-queueからrrrspecへの移行 MisocaではJenkinsを使ってCIを回しています。 またrspecでテストを書いており、Jenkins上では時間短縮のためにrspec-queueを使って並列実行していました。 しかし、テストが増えるにつれてrspecの実行時間が長くなってしまい、CPUコア数やメモリの制約で1ノード内での並列数も限界になっていました。 このため、ビルド時間の短縮を目的にrr

    Jenkinsとrrrspecと私 - 弥生開発者ブログ
  • golang の httptest パッケージを使う - at kaneshin

    この記事は Go Advent Calendar 2016 - Qiita の2日目の記事です。 Golang については書きたいことがたくさんあるので、Go Advent Calendar 2016 その4が出てきても良いのではと思っている次第です。(空いていればいつでも書きます) さて、今回、この記事では Golang で書かれた Web アプリケーションのリクエストのユニットテストについて解説しようと思います。 github.com 1. Testing HTTP Handler 検証のために、ただ単に "pong" を返却する pingHandler と、URLクエリから値を取得してそのまま返却する echoHandler の2つを定義します。 ー pingHandler // pingHandler returns just "pong" string. func pingHan

    golang の httptest パッケージを使う - at kaneshin
  • 第3回 コンテナ型仮想化の情報交換会@大阪 (コンテナ型VMや関連するカーネル等の技術が話題の勉強会)に参加した - @znz blog

    第3回 コンテナ型仮想化の情報交換会@大阪 (コンテナ型VMや関連するカーネル等の技術が話題の勉強会) に参加してきました。 全体の感想 全体的には LXCDocker に限らず、 Hyper-V 上での FreeBSD jail の話や Vagrant や CircleCI (LXC を使っている) などの話もあって、面白かったです。 会場 ちょっと早めに出発して、梅田から難波橋を通って堺筋を通って会場まで歩いていきました。 場所もわかりやすくて交差点の名前と目的地のビルの名前をちゃんとチェックしていれば迷わずにたどり着けました。 会場無線 LAN があったのですが、 最初に接続した MacBook Air は問題なく繋がっていたのですが、 後から追加でつなごうとした iPod touch は無線 LAN 自体は繋がっているのに APIPA の IP アドレスになっていて、 DHC

  • 9.2.5 vethとmacvlanについて

    デフォルトでは、 lxc-oracle テンプレート・スクリプトは、vethブリッジを設定することによってネットワークを設定します。このモードでは、コンテナはIPアドレスを、 libvirtd がコンテナとホストの間のプライベート仮想ブリッジ・ネットワーク( virbr0 )上で実行している dnsmasq サーバーから取得します。このホストでは、コンテナは iptables のNATルールを使用してネットワークの残りの部分に接続できますが、これらのルールではコンテナへの着信接続はできません。vethブリッジ上のホストと他のコンテナは、どちらもブリッジを介してコンテナに対してネットワーク・アクセスします。 図9.1 に、vethブリッジ virbr0 を介して接続されている2つのコンテナを持つホスト・システムを示します。 ネットワーク接続がホスト外部からコンテナ経由で接続できるようにしたい

  • Dockerと外部ルータを連携させる仕組みを作ってみた

    Rootless Containers means running the container runtimes (e.g. runc, containerd, and kubelet) as well as the containers without the host root privileges. The most significant advantage of Rootless Containers is that it can mitigate potential container-breakout vulnerability of the runtimes, but it is also useful for isolating multi-user environments on HPC hosts. This talk will contain the introdu

    Dockerと外部ルータを連携させる仕組みを作ってみた
  • 明日使えない Linux の capabilities の話 - @nojima's blog

    (この記事は KMC アドベントカレンダー 2016 の3日目の記事です) はじめに みなさん以下のようなことで困ったことはないでしょうか? ポート80を listen したいけど特権ポートなので、一般ユーザの権限で動くデーモンでは bind できない。 1024未満のポートは特権ポートと呼ばれ、一般ユーザの権限では bind することはできません。 この問題の解決策を考えてみます。 (なお、長々と説明を書いていますが、結論だけ知りたい人は一番下だけ読んで下さい) root で起動 まず、root であれば特権ポートを自由に bind できるので、root で対象デーモンを起動すれば、特権ポートを bind できます。 しかし、デーモンを root として動作させるのは一般にリスクが大きいです。 もしそのデーモンに脆弱性があった場合、root 権限を悪用される可能性があるわけです。 したが

    明日使えない Linux の capabilities の話 - @nojima's blog
  • fusuma/mruby-fuseでFUSEを簡単に試す - ローファイ日記

    mruby Advent Calendar 2016 の 2日目の記事です。 昨日は おごもりさんのRuby Miniature Book の記事でした。 今日は、最近こそこそ作っているfusumaとmruby-fuseが、なんとなく面白いおもちゃにはなってきたので、せっかくということで紹介したいと思います。 fusuma (FUSe Upon Mruby-script Assistance) github.com mrubyとFUSEを用いて、ファイルシステムを作れるコマンドベースのミドルウェアです。 インストールはx86_64なLinuxバイナリは用意してありますのでひとまずそちらを解凍し、パスの通るところに配置すればOKです。各ディストロで fuse/ilbfuse 相当と libcurl 相当を別途インストールす必要があるでしょう。 ダウンロードはこちら とりあえず、libfuse

    fusuma/mruby-fuseでFUSEを簡単に試す - ローファイ日記
  • 型宣言を利用した自動的プログラミング(という夢)

    PHPアドベントカレンダー2016の2日目です。この記事に合わせてライブラリでも作ろうと思ってたのですが、全然間に合わなかったので夢という体でポエムを書こうと思います。 祝7.1リリース ちょうど記事を書いていたらPHP7.1がリリースされていました。おめでとうございます!みんな今すぐビルドするんだ! http://php.net/archive/2016.php#id2016-12-01-3 去年も12月1日に7.0がリリースされてたので、毎年JSTだと12月2日に新しいPHPが手に入るような感じですね。 今回はマイナーバージョンアップなのでそんなに劇的な機能はありませんが、個人的にはiterable型が超欲しかったやつです。 Nullable types Void return type Iterable pseudo-type Class constant visiblity mod

    型宣言を利用した自動的プログラミング(という夢)