@gomi_ningen's Website

play 2.5 のアレコレ

play がいろいろと変わっているので、いろいろと走り書き

logback.xml を使え

  • WARN がうるさい
  • logback.xml という名前でとりあえず次のようなファイルを作っとけば OK
  • https://www.playframework.com/documentation/2.5.x/SettingsLogger
<!-- https://www.playframework.com/documentation/latest/SettingsLogger --> <configuration> <conversionRule conversionWord="coloredLevel" converterClass="play.api.libs.logback.ColoredLevel"/> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>${application.home:-.}/logs/application.lo...
Read More

terraform を使ったAWS構成管理 ハンズオン

terrafrom は、インフラの構築や設定などをコードで表現して管理できるようにするツールです。AWS や Azure、 Heroku など様々な環境に対応しています。

この資料はラビットハウス社内で開催される、 AWS リソースを terrform で管理するためのハンズオン向けに作成した資料になります。AWS 構成管理をコードで管理したいなどと思っている方のなかにも、こういったツールが面倒臭そうだとか、すぐ使えなくなってしまいそうだとお思いの方が多いかと思いますが、 terraform の挙動はとてもシンプルで学習コストはものすごい低いツールです。また AWS 構成をコード化することでより深く AWS について理解することできる側面もあると考えています。

是非この機会に terraform に入門してみませんか...? この記事の通りにコマンドを入力していけば、きっとあなたも1時間もしないうちに terraform を使いこなせるようになっているでしょう。

1. 環境構築

このハンズオンでは terraform v0.7.4 を前提として話を進めます

...

Read More

Jakarta Commons CLI

  • Jakarta Commons CLI
    • コマンドライン引数をパースしてという CLI(Command Line Interface)
    • Options: 受け取れるオプション
    • addOption で受け取れる引数を追加していく
    • parser.parse(options, args)とするとパースした結果を得られる
import org.apache.commons.cli.base.*; final Options options = new Options(); final Option helpOpt = OptionBuilder .hasArg(false) .withArgName("help") .isRequired(false) .withDescription("このヘルプ") ...
Read More

phax/ph-cssを使う

phax/ph-css の使い方

// parsing css and get CSSOM final CascadingStyleSheet css = CSSReader.readFromString( ".index h1,\n" + ".index h2,\n" + ".index h3,\n" + ".index h4,\n" + ".index h5,\n" + ".index h6 {\n" + " font-family: \"ヒラギノ明朝 ProN W3\", \"HiraMinProN-W3\", serif;\n" + " font-size: large;\n" + "}", ECSSVer...
Read More

Protocol Buffers を PHP から使う

Protocol Buffers とは

JSON, XML などは人間の目に比較的優しい形 [要出典] でデータを表現することができます。その反面、データが大きくなったり、データ解析が複雑だったりします。

Protocol Buffers は、通信や永続化などを目的に、データサイズの小ささやパース時のパフォーマンスなどを追及したシリアライズフォーマットです。データ構造はあらかじめプロトコル定義ファイル(.proto)に定義をしておき、Google が配布している protoc プログラムによって、各プラットフォーム上でのシリアライザ・デシリアライザを含めた関連コードが自動的に生成できるようになっています。

したがって利用する際の基本的な手順は大雑把に次のようになります

  1. データ構造を IDL で定義した proto ファイルを作成する
  2. proto ファイルから Protocol Buffers の利用に必要なコード(シリアライザ・デシリアライザなどが含まれる)を生成する
  3. 生成されたコードを利用したコードを書く

データ構造をはじめに定義し、その...

Read More

PHPのアレコレ

たまにしか PHP を触らないので色々問題が発生する

# pear で入れたものが入るパス pear config-set php_dir # pear で入れたものリスト pear list # php.ini の場所を探す php -i | grep php.ini

Java, Scala のお仕事依頼お待ちしております → @gomi_ningen ...

Read More

複数環境に対応する terraform のディレクトリ構成と tfstate の管理

terraform はディレクトリ内のすべての tf ファイルを実行対象とするので、環境ごとに変数を変えるなどの際には module という機能を使うと良い。このときのディレクトリ構成は terraform が公式でこれというものは定めていないので各々やっていく必要があるが、よさそうな構成は以下の 2 つの記事の内容だった。

後者のほうがよりシンプルで個人的には好き。さて、これらのディレクトリ構成をとった場合、 tfstate はそれぞれの環境ごとに作成される...

Read More

terraformingを試す

AWS の管理に terraform を導入したいけれど、既存のリソースはもうすでに存在しちゃっているということは、まあよくあると思います。手で tf ファイルと tfstate ファイルをいじればなんとかやってやれないことはないですが、幸いなことにこれを支援してくれるツールが存在します。それが terraforming です。

terrraforming の導入

terraforming を取ってくる Gemfile 書いて bundle install すれば、お k。

terraforming の使い方

とても簡単。bundle exec terraforming [service_name] --profile=[$PROFILE]で既存の aws の構成通りの tf ファイルのコードを生成してくれます。以下のような具合。

% terraforming iamu --profile default ...
Read More

terraformを試す

terraformのチュートリアルを見ながら、いろいろ試してみた記録その1。結構使い勝手はよさそうなので、こういうツールでちゃんと AWS のリソースを管理していきたい。

terraform の導入

導入は brew install terraform で OK

EC2 インスタンスを立てる, 更新する, 破棄する

とりあえず簡単なところから。以下のファイルを example.tf という名前で作成する。

provider "aws" { access_key = "..." secret_key = "..." region = "us-east-1" } resource "aws_instance" "example" { ami = "ami-13be557e" instance_type = "t2.micro" }

で、 terraform plan を実行するとこれから AWS に対して何を行うのかを表示してくれる。なにも...

Read More

Copyright © 53ningen.com