Fukuoka.rbでエクストリームフィッシュボールをして、エクストリームな体験をした #fukuokarb

成果です。 github.com ひょんなことから @udzuraさんとペアプロをする機会を得たのですが、成果は出るわ勉強になるわで最高体験でした。教えてもらうことが久しぶりで新鮮過ぎて とりあえず豪華だった…あとメタプロRuby読めって感じだった。 @udzura さんあ…

Fukuoka.rbでawspecを対象にペアプロをしてもらえることになったので、やりたいことを書いておく #fukuokarb

SlackのチャンネルでRubyの質問(というか悩みを相談)をしていたら、緊張ヤバいことにありがたいことに今日のFukuoka.rbで @udzura さんとペアプロをすることになりました。 今年多分最後の #fukuokarb で、 @k1LoW さんと僕とでエクストリームフィッシュボ…

aws-sdk-rubyで `*.example.com` なレコードを取得すると `\052.example.com` になる

AWS

某プロジェクトで awspec generate route53 example.com. を実行したのですが、なぜか describe route53_hosted_zone('example.com.') do it { should have_record_set('\052.example.com.').cname('example.com') } end なspecが生成されて、「\052???」と…

TechTouchを久しぶりに開催します

最近、「Fusicよく勉強会やっているよね」というお話をよく聞きます。 Fusic Co.,Ltd. | Doorkeeper 事実さまざまな勉強会や報告会やセミナーが開催されているのですが、実は最近自分が主催しているものがありません。 それには、ひとりでもくもくやって満足…

awspecがShared Credentialsに対応しました

AWS

awspecがShared Credentialsに対応しました。 Release v0.19.0 · k1LoW/awspec · GitHub Shared Credentialsとは aws-cliでよく使う ~/.aws/credentials のことです。 Shared Credentialsのprofile対応 もともとawspecで利用しているaws-sdk-rubyはShared Cr…

JAWS FESTA Kyushu 2015で受託開発とAWSな発表をします

AWS

JAWS FESTA Kyushu 2015で登壇させていただくことになりました。 「受託開発でAWSを活用したらこうなる ~AWS導入の事例と仮想事例~」というタイトルで発表します。 受託開発とAWS 本当に小さい狭い観測範囲での話なのですが、受託開発でAWSをガシガシ使っ…

ソースコード内の日本語文章の表記ゆれをなんとかしたくて試行錯誤している話

ソースコード内の日本語文章の表記ゆれ問題 システム開発をしていると、管理画面のタイトルとか、エラーメッセージとか日本語文章を(HTMLやconfigを含む)ソースコード内のどこかに記述します。 しっかりと、開発の前に用語集(Excel!?)を作ったり、エラ…

AWS IAMのポリシー検証用のマッチャをawspecのiam_user / iam_group / iam_role リソースタイプに追加した

dev.classmethod.jp というエントリーをみて、「お、これはまさにawspecに追加したら便利系なのでは?」と思ったら、既にaws-sdk-rubyにメソッドが実装されていたので、awspecにマッチャを追加してみました。 使い方 こんな感じで書けます。 describe iam_us…

Backlogのプロジェクトごとのファビコンをわかりやすくする"Backlog Favicon Changer"をつくった

弊社では、後発ながらBacklogを活用することが多いのですが、複数プロジェクトのタブを開いて作業をしていると、どのタブがどのプロジェクトかわからなくなってきます。そんなことないですか?そうですか。 ということで、ふと思い立ってChrome Extensionで…

最近のawspec活動

v0.10.1になりました。 github.com リソースタイプを増やした 最初エントリーで紹介したときは6個だったけれどもv0.10.1の段階で17個。 結構増えました。 iam_policy のリソースタイプは @hoppiestar さんのコードをマージさせてもらいました。 awspecの利用…

Fusicに出張体験GLOBISがやってきた!ヤァ!ヤァ!ヤァ!

【期間限定】出張体験セッション「グロービスがゆく!」を実施します。|グロービス経営大学院mba.globis.ac.jp というわけで今日の早朝に出張体験GLOBISがFusicで開催されました。 出張体験GLOBISは若手勉強会の一環で運良く開催してもらったのですが、今回…

awspecのソースコードやオブジェクトからドキュメントを生成する

awspecはAWSのリソース構成をServerspecのようにテストするためのテスティングフレームワークです。 ServerspecにおけるResource Typeは、awspecにおけるAWSの各リソースになります。 今回、awspecのリソースタイプのドキュメントを作るにあたって、 ソース…

WIPなPull RequestによるOSS開発とoctoreleaseの相性がいいことに気づいた

awspecはWIPなPull Requestをつかった開発をしています。 理由は 開発者の開発スピードが遅いので、とりあえず今何を作ろうとしているのかがわかったほうが良い気がしている 業務上の慣れ(いつもWIP PR) という、結構ゆるい理由だったのですが、今日「これ…

AWSのリソース構成をServerspecのようにテストする "awspec" をつくった

AWSのリソース構成をServerspecのようにテストできる "awspec" をつくりました。 k1LoW/awspecgithub.com 例えばEC2インスタンスであれば、以下のように書けます。 describe ec2('my-ec2') do it { should exist } it { should be_running } it { should_not…

メール送信テスト用SMTPサーバサービス "mailback.me" を作ってみた

PHPカンファレンス福岡2015 After Hackで発表した内容をここで書き忘れていたので。 Mailback - SMTP server for your CI. -mailback.me Postman というCakePHPのCakeEmailのバグを直したりしているプラグインのテストをいざ書こうと思った時に「みんなメー…

お前は今まで入力したフォームの値を覚えているのか

というタイトルでPHPカンファレンス福岡2015でLTをしてきました。 PHPカンファレンス福岡2015、楽しかったですね。 フォームの入力がツラい問題 あまり大きな問題として上がることが少ないですが、フォームの入力がツラいです。皆さんはどうでしょうか? フ…

Railsのchankoが欲しい。或いはCakePHPプロトタイプ開発プラグイン "Ya"について

PHPカンファレンス福岡2015で、「CakePHPを業務で使ってみた(7年ほど)」というタイトルで発表させてもらいました。 結局、 #phpconfuk から帰って来た新卒のLaravel熱がスゴイらしい。 ということで、私の発表内容は皆さん忘れて下さい。— k1LoW (@k1LoW) Ju…

PHPカンファレンス福岡2015に運営スタッフとして参加してきた+発表してきた

PHPカンファレンス福岡2015に運営スタッフとして参加してきました。 当日は運営スタッフとして対応していたので、発表はあまり見れていないです(でも、スタッフの中では見れた方だし、発表もできたと思う)。 参加していただいた皆さんありがとうございまし…

CakePHP2.6.0からModel::save()時にデフォルトでBEGIN〜COMMITのトランザクション処理が入るようになっていた

あああぁぁぁぁあああぁぁぁぁぁああああぁぁああああぁぁぁぁぁぁああぁぁあぁ リリースノート CakePHP 2.6.0 Released :: The Bakery: Everything CakePHP Model::save() had the atomic option back-ported from 3.0. 該当コミット add 'atomic' option t…

いまさらSecurityComponent::requireSecure()がCakeRequest::is('ssl')で判定していることに気づいた

AWSのELB/SSL Termination配下や、ロードバランサ配下にCakePHPなシステムを設置するとき、 なんとなく SecurityComponent::requireSecure() を使わず、独自のSslComponentをつくることが多かったのですが、 これはSSLの判定条件がELB/SSL Termination配下だ…

画像リサイズディレクトリ "imgin" を作った

PHP

「アップロードした画像のリサイズ機能」というのはよくある機能です。 大規模なシステムであれば「画像プロキシサーバの構築」などもいいのですが、シンプルなシステムの場合は、そこまでしなくてもよかったりします。 リサイズ機能だけなら、「アップロー…

スケジュールxlsx生成サービス "ti.mefra.me" を作りました

最近自分は、以下のような感じでスケジュール表(の雛形)を作成しています。 $ bash <(curl -L http://ti.mefra.me) > template.csv # スケジュール作成用テンプレートCSVを取得 $ emacs -nw template.csv # Emacsで スケジュールCSV を編集 $ bash <(curl …

Vagrantな開発環境でちょっとした確認環境を提供するときに今更ながらngrokが便利

自分のVagrantfileはだいたいこんな感じで、シンプルにlocalhostにポートフォワードして開発しています。 これのメリットは外部ネットワークに影響されないことですね。 ただ、そうすると困るのが「Macにないブラウザでの確認」です。具体的には I(ry とか …

合同新年会の裏で何をやっていたのか。もしくはEFO実装について。

福岡の有名なデザイン会社D-ZEROさんと、弊社Fusicは縁があって毎年新年会を合同でやっています。 実は今年の新年会では個人的に裏目的があって、それは、 この人 を捕まえて、今作成中のちょっとしたライブラリの方針について相談すること。 みんなが呑んで…

Serverspec本、読んでいて楽しかった!

サーバの状態をテストするツール Serverspec の書籍が、オライリー・ジャパンより、まさにServerspecの作者であるmizzyさんの手で出版されました。 Serverspec作者: 宮下剛輔出版社/メーカー: オライリージャパン発売日: 2015/01/17メディア: 単行本(ソフト…

Po plugin for CakePHP にスキーマ情報からschema.potファイルを生成する機能がつきました

Po pluginってどれくらいの人が使っているんですかね? poファイルのマージに使えるPo pluginですが、いつも面倒だなーと思っていたのが、 __()で囲まれたソースコードが存在しないとpoファイルに追加されない ということでした。どういうことかというと For…

2015年、Bakerは "CakePHPで学ぶ継続的インテグレーション" を読んでCI環境を導入しよう

個人的通称「CakeCI本」ですが、やっと年末に読み終わったので、CakePHP Bakerの視点から紹介したいと思います。 CakePHPで学ぶ継続的インテグレーション作者: 渡辺一宏,吉羽龍太郎,岸田健一郎,穴澤康裕,丸山弘詩出版社/メーカー: インプレス発売日: 2014/09…

YacsvがとうとうCSVインポートだけでなくCSVエクスポートにも対応しました!

Yacsvは、拙作のYet AnatherなCSVプラグインです。(使い方はこちら) 今まで数々のプロジェクトの「CSVインポート機能」で活躍してきました。個人的にはFilebinderの次によくできたと思っているプラグインです。 機能を追加するプラグインよりも、面倒な機能…

GinqでCSVを出力できるginq-csvを作ってみた

Ginq便利ですよね! GinqはPHP版LINQです。 LINQはMicrosoftが開発したコレクションを操作する方法です。 本質的に、LINQ to Objects は、コレクションを扱うための新しい方法です。 従来の方法では、複雑な foreach ループを記述して、コレクションからどの…

できる! Phinx

@hamaco フライングでPhinxだけ使い始めましたけど、普通にいい感じです。— k1LoW (@k1LoW) 2014, 11月 25 CakePHP3でも採用されるというDBマイグレーションツール "Phinx" について、CakePHP3の前にフライングで使い始めたので紹介します。 Phinxって何? h…

holiday_jp(Ruby gem) のPHP版、JavaScript版を作りました

https://t.co/Yh5shztNhN の誕生から5年目にしてやっとPHPポーティング版が誕生 https://t.co/9bt1lWEPuD— k1LoW (@k1LoW) 2014, 11月 15 https://github.com/k1LoW/holiday_jp-php 生成元やテストセットは https://github.com/k1LoW/holiday_jp を利用して…

「必要十分を用意する」「dataset/testsetを共有する」「CIを定期的に回して鮮度を保つ」というアイデア

日本の祝日データセット は、アイデアとして「まーよくありそうだよね」というものですが、多分自分では「今」のタイミングじゃないと思いつかなかったと思っています。 「必要十分を用意する」という komagata/holiday_jp のアイデア 日本のRubyな人には、…

日本の祝日データセット "holiday_jp" はじめました

日本の祝日はいろいろ判定が難しいらしいですが、皆さんどうしていますか? @k1LoW @shin1x1 日本の祝日は世界でも珍しい部類の天文ベース(春分の日、秋分の日)になっていて厳密には前年度の4月?とかに国が発表するのでGoogleも1年以上先はわからないん…

CakePHPでActiveRecord::Enumを使いたいので "Enumm" pluginを作った

もしかしたら、プルダウンが多い新規プロジェクトにjoinすることになりそうだったので、ソースコード上のプルダウンデータの配置を検討していたのですが、ActiveRecord::EnumをRailsな人たちに教えてもらったので、CakePHPでも($enumsの配置だけ)なんとなく…

sconbを0.0.7にアップデートしました(Matchキーワードに対応/フィルタ機能を追加)

自分で地味につかっているsconbですが、簡単なツールながら地味にアップデートしました。 Matchキーワードに対応 Matchがちゃんと扱えないっぽい…それ以外はいい感じ♪ RT @k1LoW: はてなブログに投稿しました .ssh/configをバックアップ(?)するツール sconb …

Fukuoka.rbに参加してstackprofを動かしてみた #fukuokarb

Fukuoka.rb #20に参加しています。 今日は d:id:nagachika さんがRubyKaigi2014のキーノートセッションを解説してくれるという豪華回なので、 id:kawahiro311 と来ました。 その中でtmm1さんの鬼プロファイリングツール群を見せつけられて、高まったのでとり…

EmacsでPHPをステップ実行

udzuraさんがなぜかPHPを触っている。。 @udzura さんがなんかPHP触っている。とうとうGEBENにまで到達した。— k1LoW (@k1LoW) 2014, 9月 16 @udzura 自分もかつて頑張ったのですが挫折しました。。https://t.co/y36RBPoTZy— k1LoW (@k1LoW) 2014, 9月 18 @k…

.ssh/configをバックアップ(?)するツール sconb を作ってみた

.ssh/configの管理が面倒すぎる CLIでSSHな環境に身をおいていると、 開発案件が増えるたびに.ssh/configを追加 AWSのIAMを作成するたびに.ssh/configを追加 Vagrantでサーバを作成するたびに必要な.ssh/configを追加。 さらに、 こっちの環境には.ssh/confi…

ちょっと前からTravis CIにPHPUnit 3.7はありません

CakePHP de Travis CIな皆さんこんばんは。 タイトルのままなのですが、ちょっと前からTravis CIにはPHPUnit 3.7はありません。 なぜ「3.7」と言っているかというとCakePHPが4系ではなく3.7系でないとテストがうごかないからです。 https://github.com/cakep…

AnsibleのPlaybookを書くときに便利になるかもしれないansible.elを書いてみた

最近Ansible職人になることが多かったので、マイナーモードを書いてみました。 https://github.com/k1LoW/emacs-ansible 現在MELPAに申請中(&難航中)なので、うまくいけば、M-x package-install ansibleでインストールできるようになります。 そうでない場合…

Chefに挫折した人でも学べるはず "Chef実践入門"

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)作者: 吉羽龍太郎,安藤祐介,伊藤直也,菅井祐太朗,並河祐貴出版社/メーカー: 技術評論社発売日: 2014/05/22メディア: 単行本(ソフトカバー)この商品を含むブログ (4件) を見る どうもこ…

Serverspecでテストを書くときに便利かもしれないserverspec.elを書いてみた

最近Serverspec職人になることが多かったので、マイナーモードを書いてみました。 https://github.com/k1LoW/emacs-serverspec M-x package-install serverspecでインストールできます。 使い方 M-x serverspecで有効化できます。もしくはruby-modeやrspec-m…

定期実行を代わりにやってくれるサービスを考えてみた

つねづね欲しいと思っていたのだけれども、今の"Infrastructure as Code"な時代なら実現できそうなのでは?と思ったので共有してみます。誰か作ってくれないかなー。 どんなことをしてくれるサービスなのか 言ってみればcronを実行してくれるサービスです。 …

phpenv + php-fpm + nginxなVagrant + Ansible

GWノ成果デス https://github.com/k1LoW/phpenv-nginx-ansible-vagrant はじめてのnginx GWは技術調査と趣味を兼ねてnginxとかと戯れていました。 @cakephper 今ひとり社内でnginx本を探しているのです…— k1LoW (@k1LoW) 2014, 5月 2 @cakephper 教えてくれ…

カフェでPCをおいたまま席を少し離れるときにちょっとだけ安心できそうなアプリを考えてみた

GWはカフェでいわゆるドヤリング(ただしMacbook Pro 13inch)をしてNginxと戯れていたのですが、そのときに「ちょっと欲しいなー」と思ったアプリ。 PCから離れるときにちょっとだけ安心アプリ 前提として 日本のカフェ (つまり、大抵は安心) 電源を利用でき…

phpenvのどれを使うのがいいのかわからない

今のところ候補にあげているphpenvは以下のような感じ https://github.com/CHH/phpenv https://github.com/phpenv/phpenv https://github.com/phpenv/phpenv/tree/master https://github.com/phpenv/phpenv のさらに別のブランチ で、ちょろっと調べた結果は…

dotcake organizationはじめました

2012年 @k1LoW ずいぶん昔の話ですいません!cake.elとcake.vimで参照する設定ファイルをapp/.cakeに置く案の話なのですが、json形式とかどうです?今ビルドパスにも飛ぼうとしててhttps://t.co/QBgBg7dT のようにできたらと思っています。— Yuhei Kagaya (@…

Emacsのバージョンマネージャ "evm" がEmacs LispのCIにおすすめ

RubyのrbenvやPHPのphpenvと同じように、Emacsにもバージョンマネージャがあります。 まあ、だいたいの人は最新のEmacsをエディタとして、もしくは環境として利用していると思いますので、普通のEmacsユーザにはあまり必要ないかもしれません。 ただ、Emacs …

AnsibleのPlaybookのymlのname属性は、適当な英語ではなく、むしろしっかり日本語で書いた方が良いと思うたった1つの理由

$ ansible-playbook -i inventory_file site.yml --list-tasks

CakePHPにおける本番/開発環境の切り替え方法について再考

CakePHP3がそろそろ出る中、CakePHPにおける本番/開発環境の切り替え方法について再考です。 .htaccessに判定用の環境変数を設定 ここ数年、CakePHPにおける本番/開発環境の切り替え方法としてCAKE_ENV_MODEみたいな環境変数を.htaccessとかに設定して、それ…