![http://zacodesign.net/blog/?p=146](https://cdn-ak-scissors.b.st-hatena.com/image/square/fdd33300b89e3ad5e1055609ac83fd480a3d18b7/height=288;version=1;width=512/https%3A%2F%2Fi1.wp.com%2Fzacodesign.net%2Fblog%2Fwp-content%2Fuploads%2F2015%2F05%2Fjidou.jpg%3Ffit%3D640%252C480)
本稿は Overview of Test Driven Infrastructure with Chef (2015/04/21) の和訳です。また、長文のため、独自に目次をつけました。 Chefによる開発フェイズ 収束前 収束 収束後 テストの種類 ユニットテスト インテグレーションテスト よく使われるChefのテストツール RuboCop Foodcritic ChefSpec Serverspec Chef Audit Mode Test Kitchen サポートツールと、依存関係にあるソフトウェア RakeとThor Guard RSpec Fauxhai Busser あまり使われないか、非推奨のツール Cucumber BATS minitest minitest-chef-handler この記事はChefによるテスト駆動インフラに関するすべてです。現時点でのChef Coo
方法1は、リポジトリを共有する利用者のうち1人がcore.autocrlfの設定をfalseにして、改行コードをWindows OSのデフォルトであるCR・LFのファイルをコミットしてしまった場合、リポジトリのファイルの改行コードが揃わなくなってしまいます。また、Windows OS上でUnix系OSのシェルスクリプトファイルを取り出して配布等をすると、改行コードがCR・LFとなっています。 方法2は、Windows OS上で作業ファイルをLFで扱わねばならないので、改行コードLFを扱えるようツールを設定する等の付加作業が生じます。また、CR・LFでなければならないファイル(およそWindows OS固有のファイルでバッチファイルやVC++のプロジェクト定義ファイル等)は.gitattributesに改行コード固定設定を記述する必要があります。 それぞれの利点・欠点を考慮して、利用するシー
はじめに SugarRecordというSwift製のRailsでいうActiveRecrdみたいなものを使ってみようと、サンプルコードを作ってみたが、イテレータが正しく動いてないようだった。 そこでライブラリのコードを見ると1行直せば正しい動作をするようだった。ライブラリのコードを修正し正しい動作をした。 本ブランチにマージしてもらうべくPull Requestを作成し、それがマージされ取り込まれたので備忘録として自分のブランチへのフォークの仕方、Pull Resuestの作成方法などを書く 本ブランチからのフォークの仕方 フォークする対象のリポジトリのページに行く 画面右上にあるフォークボタンをクリックする Githubのアカウントに複数のorganizationに所属している場合はどのアカウントに紐づけるかダイアログが表示されるので、アカウントを選択する フォークが完了すると自分のアカ
すごい広島113で遊んでたこと。 テスト環境を提供しないといけなくて、Dockerつかいたかったけど、今回はVagrantのBoxでベースを提供することにした。 Packerつかうと時間がかかるのでvagrant packageでつくって、Vagrant Cloudにおいたりしてました。 ちょっと久しぶりにPackerでboxをつくるかーってAtlasにいってみたら、Web上に表示されたチュートリアルにそってコマンドラインで作業するだけでBoxがつくれるようになってました。 しかも、Packerの実行をAtlasがやってくれます。しかも、VirtualboxとVMwareのイメージ両方つくってくれます。 しかも、勝手にBoxesに登録されます。 素敵です。 Atlasにサインインする Build Vagrant Boxes with Packer and Atlasというメニューがあってク
jq 前に以下のニコニコ動画のデータセットの記事でも使いましたが、jqコマンドはJSONを変形したり一部を抽出したりするのにとても便利なコマンドです ニコニコ動画のデータセットが公開されたらしい - 唯物是真 @Scaled_Wurm マニュアルを見ると、条件に応じた処理とか最大値を求めるとか意外と複雑な機能も使うことができます jq Manual 軽量JSONパーサー『jq』のドキュメント:『jq Manual』をざっくり日本語訳してみました | Developers.IO また以下のサイトでオンライン上で試せます jq play JSONをCSVに変換 JSONをCSVに直したい時があって使い方を調べたのでメモしておきます 単純な例 まずは単純に以下のようなJSONをCSVに変換します {"key1": 1, "key2": 2} 方法1 - 文字列展開 文字列中の\()の中身は展開さ
問題です。 問題: 呼び出すたびに、1,2,3,...を返すような関数 f( )を定義せよ。 f(); // 1 f(); // 2 f(); // 3 この問題、解けますでしょうか? 普通の関数では、できないと思います。 しかし「クロージャ」というのを使えば、このようなことができます。 クロージャって何だ? 「クロージャ」という言葉を、プログラムの本やサイトで目にすることがありますよね。 私が最初に見たのは続・初めてのPerl 改訂版(アルパカ本)でした。 まったく理解できませんでした。 その後、404 Blog not foundやnaoyaさんのブログなどで「クロージャ」という単語を目にしました。 やはり、まったく分かりませんでした。 とどめの一撃はWikipediaの解説記事。 クロージャ (クロージャー、Closure) は、プログラミング言語において引数以外の変数を実行時の環境
topコマンドといえば、よくLinuxのパフォーマンス状態をモニタリングするために利用されているコマンドだ。 今回は、そんなtopコマンドで覚えておきたい使い方14個を紹介する。 なお、検証で使用したtopコマンドはCentOS 7 で利用している「procps-ng version 3.3.9」のものとなっている。 1.基本的な使い方 基本的には、オプション無しで以下のようにコマンドを実行する。 top top - 07:21:06 up 4 days, 17 min, 4 users, load average: 0.00, 0.00, 0.00 Tasks: 186 total, 1 running, 185 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0
ある日何気なく最新版のvagrant-berkshelf(4.0.4)を入れたところ、 It appears that you are not using the ChefDK. Please note that Vagrant Berkshelf works best when used with the ChefDK, and other installation methods are not officially supported. Please download and install the latest version of the ChefDK from: https://downloads.getchef.com/chef-dk and follow the installation instructions. Do not forget to add the Chef
いろいろ探しましたが、集約した情報がなかったのでまとめました。 docker-compose 1.3ではlog-driver設定にfluentdが対応していないようです。 → 1.8で対応したので追記しました。 dockerおよびdocker-comoposeのインストール docker/docker-composeのインストールは公式ページを参考にインストール docker docker-compose 設定ファイルなど 以下のファイルを作成する fluentd: build: ./fluentd links: - "elasticsearch" # Fluentd logging driver対応の場合 ports: - "22422:22422" # Fluentd logging driver非対応の場合 volumes: - /var/lib/docker/containers:
A few weeks ago someone created a thread on Reddit asking: In the context of a web application what would you consider a Go best practice for accessing the database in (HTTP or other) handlers? The replies it got were a genuinely interesting mix. Some people advised using dependency injection, a few favoured the simplicity of using global variables, others suggested putting the connection pool poi
近藤です。こんにちは。Gitは様々な利用の仕方ができますが、その基盤となるモデルは8個だけの簡単なモデルです。これらのモデルを理解していない状態でGitを利用すると、あたかもリポジトリが壊れたように見えてしまいます。Gitは難しいと言われますが、そういう感想を持つ人はGitのモデルを理解していない事が多いようです。 今回はGitを構成する中心モデルと、基本的なコマンドを実行した時のオブジェクト関係を解説します。 基本概念 Gitの基本概念は大きく2つにわかれます。 GitObject Reference GitObjectはGitで管理するオブジェクトです。CommitなどがGitObjectです。Gitリポジトリである.gitを開くとobjects配下にあるファイルがGitObjectです。GitObjectはそのコンテンツをハッシュ化した文字列を元に、先頭2文字で配置フォルダ、残りの文
背景 SQLiteをPythonから使用する場合、Python2.5以上ではデフォルトでsqlite3が使用できます。 これは、DB-API 2.0 仕様に準拠した SQL インタフェースを提供するもので、pysqliteという名前で開発されています。 sqlite3 http://docs.python.jp/2/library/sqlite3.html しかしながら、このライブラリはSQLiteの全ての機能を使えるわけではありません。これは、DB-APIの仕様に準拠するためです。 APSWは、SQLite APIをPythonで完全に使用できるようなライブラリになっています。APSWはPython2.xとPython3.xで動作します。 https://github.com/rogerbinns/apsw http://rogerbinns.github.io/apsw/ インストール
Java8の良いのか悪いのかわからない活用法を紹介します。 若干難解なので職場で活用して先輩に怒られても知りません。 AutoCloseableってもしかして関数型インターフェース!?? AutoCloseableは@FunctionalInterfaceはもちろんついていませんが、 関数型インターフェースの定義からすれば関数型インターフェースですね。 つまり AutoCloseableでないクラスをtry-with-resourcesでクローズする Graphicsなんかまさにdisposeめんどくさいですね。 /** * 自力でGraphicsをclose */ public static void disposeSample(BufferedImage image) { Graphics graphics = image.createGraphics(); try { //処理 }
はじめに 世間ではM2MとかIoTとか流行しています。兎にも角にもモノでインターネットしてくれよこのやろう、みたいな案件があちらこちらに飛びかっており、ms単位での応答を求められる顧客からの要求に担当者が絶叫する世界です。 こと速度を優先するならmqttかwebsocketな世の中。 尚且つエンプラで頑張るというのであれば、時代のmqttに。 ということで、今流行のmqttブローカーvernemqをインストールして、phoenixが行っているコンポーネント間のメッセージングをvernemq経由とするまでやってみようと思います。 mqtt界隈のサイヤ人と呼ばれるvの人お墨付きなので、将来性抜群のブローカーです。 例によって動作確認はcentos6となります。恐らくcentos7でも動作すると思います(init.d周りを除く)。デビアンマンの方は、適宜読み替えて下さい。やはりOSは枯れていない
# apt-get install [package] パッケージのインストール用。 パッケージ指定して更新したい時にも使えます。バージョンを指定するには =バージョン をライブラリ名の後ろに付与。 使用例) $ sudo apt-get install ntp ntpdate Reading package lists... Done Building dependency tree Reading state information... Done Use 'apt-get autoremove' to remove them. Suggested packages: ntp-doc The following packages will be upgraded: ntp 1 upgraded, 0 newly installed, 0 to remove and 93 not upg
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く