sometimes I laugh

高専卒WEBエンジニアがいろいろ残しておくブログ

terraform planで消耗しないためにTFLintを作った話

以前から、インフラそのものの構成管理にはTerraformを利用しています。主にAWSのリソース管理に使っていて、Terraform自体はaws-sdkのラッパーみたいな感じなのですが、宣言的に構築できるので、複製が容易であったり、変更に必要な操作(modify系のAPI実行…

ALBとTerraformによるBlue-Green Deployment

最近、AWSからALBというビックなアップデートが発表されました。 【新発表】AWS アプリケーションロードバランサー | Amazon Web Services ブログALBは従来のELBと比べてコンテントベースルーティング、優先度の設定、HTTP/2、WebSocketの対応など、さまざま…

Capistranoでデプロイした後にAMIを作って世代管理するプラグイン書いた

タイトルの通り、デプロイ後にAMIを作ってAMIの世代管理もできるCapistrano3向けのプラグインを作りました。 要件としては意外とありそうなのに、(自分で調べた限り)gemがなかったので、作ったという経緯です。AMIを作るだけならば、適当にaws-sdkをrequir…

株式会社アクトキャットに入社しました

入社エントリです。正直ちょっと書くのに憧れてました。 標題の通り、株式会社アクトキャットに入社しました。

可用性の高いcron処理の為にJob Observerパターンを使う

1日に一度だけ、1時間に一度だけ、あるタイミングで処理を走らせたいというニーズは常に存在します。昔から多くのエンジニアはそういった要望に対して、サーバを用意して、crontabに独自の魔法を書くことで対応していました。時は現代、インフラといえばAWS…

PackerとTerraformで始めるミニマムなAWS構成管理

前回の記事ではDockerとECSを使ったAWS上でのInfrastructure as codeについて言及しましたが、サーバリソースの構成管理についてはAWSのマネージメントコンソールから手動で行わないといけなかったり、コンテナを用いたアプリケーション構成を強制され、従来…

DockerとECSでInfrastructure as codeを体感する

Infrastructure as codeの思想に感動し、AWSを使い始めて早1年になりますが、なんだかんだで最近はコードを書いてばかりでAWSを触っていませんでした。貴重な無料期間も終了し、非常にもったいないことをしたなと反省中です。さて気を取り直して、ついに先日…

FuelPHPのデフォルトバリデーションルールの仕様について調べた話

最近仕事でFuelPHPを使う機会を得たのですが、FuelPHPのデフォルトで用意されているバリデーションルールで少しハマった部分があったため、戒めのためにまとめておきます。意外とググッても情報が出てこない部分があって、公式ドキュメントはそれなりに充実…

Railsで好き嫌い管理アプリ作った

https://kobayasitabel.herokuapp.com/タイトルの通りです。 知人の好き嫌いが激しすぎて何ならば食べられて何ならば食べられないのか判別が難しかったので勢いで作りました。 中身は大したことのない簡単なものですが、Railsの開発の速さと生産性の高さを感…

ローカルで開発したRailsアプリをCapistrano3でEC2にデプロイする

最近RailsのScaffoldから色々開発するのにハマっていて、WEBRickで動作確認しながら、ちょこちょこ開発していました。 そろそろ公開環境へのデプロイ自動化を考えないとなーとなって、せっかくなので今までやっていた単純なAnsibleを使用した形ではなく、デ…

RailsのScaffoldでネストしたResourceを作る

先週、Rails寺子屋に参加させていただきまして、いまさらながらRailsデビューを果たしました。もともとバックエンドにはFuelPHPを使っていたので、未だにRuby独自の記法に四苦八苦しながらも、Scaffoldの強力さに感動を覚えている次第です。お恥ずかしながら…

AngularJSでクリックする度に一定時間だけ表示される要素を作る

最近、AngularJSが楽しすぎてフロントエンドばかり触っています。Yeoman便利すぎgrunt最強すぎ。ストレスフリーに色々試せるので、つい遊びすぎてます。 今回は小ネタですが、意外と情報がなくて困惑したのでメモとして残しておきます。 JavaScript初学者な…

Yeomanを使ってAngularJSによるAPIリクエストと非同期の画面更新を高速実装する

過去の記事からもわかっていただけるかと思うのですが、AWSやらFuelPHPやら、どちらかというとバックエンドの仕組みやインフラの仕組み作りを楽しいんですよね。 そんな感じで色々自分なりにやりつつも「あー、やっぱり自作アプリぐらい作っておきたいなぁ」…

Heroku Dropbox Syncでブラウザからデプロイする

最近興味があり、Herokuを触り始めたのですが、今年の新人研修でクラウド関係の話を非エンジニア含めた場で話させてもらえる機会があるので、AWSに限らず、Herokuの話をしようかなと思っています。 個人的にはクラウドといえば、AWSのようなIaaSなのですが(…

FuelPHPのMVCについてちゃんと考えてみた

フレームワークというものを学びはじめてざっと5ヶ月くらいになるんですが、FuelPHPに限らず、CakePHPやRuby on RailsなどのWebアプリケーションフレームでは必ず登場するキーワード「MVC」についてちょっと理解が浅かったので、改めて色々調べてみました。 …

AWS Data Pipelineで日次バッチ処理取得データをS3にポストする

最近コードを書いてはいるものの、なかなかブログにできるネタがないため、またブログを書くとなれば結局AWSとかインフラ側の話になっちゃうんですね。 さてさて、今回はCDPで問題になりがちなバッチ処理、ジョブスケジューリングです。単純に実現するならば…

JAWS DAYS 2015に行ってきました

JAWS DAYS 2015 http://jawsdays2015.jaws-ug.jp/AWSユーザの祭典、JAWS DAYS 2015に参加してきました。 日本各地のJAWS-UG支部が東京に集まるということで、結構地方の方もいたみたいですね。とはいえ、やっぱり関東地区の黒い札の方が多いようでしたが・・…

AWS CLIでもっと快適に開発環境を起動する

最近、時間がないことを理由に開発環境構築だけで、私的にプログラムを全然書いていないのですが、忙しさを理由に平日のコーディングをサボってはいけないなと思えてきました。では、仕事を終えてコードを書こうと決心すると、 AWSマネージメントコンソール…

Jenkinsの自動デプロイにAnsibleを使ってみた

ありがたいことに、以前のJenkins自動デプロイ記事がそれなりに多くの反応をいただきまして、冷静に見直してみたのですが、ちょっとデプロイ処理が雑だなと。 最近ではデプロイをやるにも、Capistranoやfabricなどのツールがあり、多様化するデプロイ要件に…

dots. Summit 2015に行ってきました

dots. Summit 2015 http://eventdots.jp/promotion/dots_summit_2015行ってきました。以前より勉強会の登録や情報収集で利用させていただいているdots.にて、運営元のインテリジェンスさんが企画するdots. Summitの情報が公開されていたので、早々に登録。昨…

Jenkins + GitBucketなインスタンスでFuelPHPをバージョン管理する環境構築してみた

以前までの記事でデプロイ、テストの自動化ができたわけですから、これで後はゴリゴリコーディングするだけ、ということで、Route 53でドメイン購入までしたわけですが、いまさらになってGitHubをリポジトリホストに使うのはちょっと厳しいなと。 できればAW…

JenkinsでFuelPHPのユニットテストを自動化してみた

Jenkins、いいですよね。オペレーションの自動化には美があります。前回の記事ではGitによるデプロイ自動化を行いましたが、その時点で既にユニットテストの自動化は想定していたので、今回はそれを実現してみます。 これによって、機能を実装してプッシュす…

JenkinsでGitHubのプッシュ時に自動デプロイする

Gitでバージョン管理をしていると、本番サーバにデプロイする際に、クライアントでpush、そして本番サーバにログインしてgit pull、ってやるのは面倒臭いですよね。そんな不毛な操作は自動化するのがプログラマとしては当然です。 GitHub上のリポジトリで、…

SourceTreeでgitブランチモデルの運用を試してみる

前回の記事ではFuelPHPのバージョン管理をやりまして、ソースコード管理のモデルがとりあえずできたかなという感じです。ただ、gitのバージョン管理をどんなブランチモデルでやろうかなと考えていたところだったので、今回固めてきました。 gitは非常に奥が…

FuelPHPのプロジェクトをGithubでバージョン管理する

今回の記事もFuelPHPです。以前からコードを書いてはいましたが、プログラミングするなら、今の時代はgitでバージョン管理したいですよね。 インフラはみんなだいすきAWSなので、gitサーバを立てるのは難しくないけど、いちいちインスタンス立ち上げるのもも…

FuelPHPとAWS RDSでMVCプログラミング

年末にかけてインフルエンザの猛威を受けてしまい、数日ダウンしておりました。 体調はすっかりよくなったのですが、まだ体内を菌がうようよしているらしいので、念のため自宅療養中です。それはさておき、既にネタとして用意しておいたRDSを使ったFuelPHPの…

AWSソリューションアーキテクトになってきた

めでたく合格しました。正直受験したときには「あ、落ちたな(確信)」となるぐらい難しかったのですが、ギリギリのスコアで合格できたみたいです。やったぜ。 AWSの利用経験は2ヶ月くらいしかなく、あんまり実践経験がないため、試験は難しく感じました。難…

FuelPHPの導入とVCモデルでプログラミングしてみる

ようやくプログラマらしい記事が書けます。コーディング全然してませんでしたからね。 FuelPHPとは、超高速開発をサポートするPHPフレームワークです。FuelPHP » A simple, flexible, community driven PHP5.3 framework. http://fuelphp.com/フレームワーク…

Salesforce World Tour Tokyoに行ってきました

Salesforce World Tour Tokyo http://eventjp.salesforce.com/ちょっと前にも書いたかもしれませんが、社内的にSalesforceの活用が広がりつつあるので、会社のお金で連れて行ってもらいました。Salesforce World Tour Tokyo。 CRMツールとして始まったSalesf…

AWS CLIを使いつつ、IAMを体験する

今週もAWSです。前回の記事で、ある程度AWSのサービスプロダクトについては理解できたかな、と思っていましたが、未だに意味不明なものがあります。そう、IAMです。 EC2を起動する機会もだいぶ増えたわけですが、毎回毎回「IAM Role」という項目は意味不明だ…

AWSで可用性の高いWEBサービステンプレートを構築する

Elastic Beanstalkをちょこまかいじっていたわけですが、ちょっと挫折しちゃいました。 後々にサービスを拡張することを考えるならば、VPCを使えたほうがいいよねと思って、Elastic BeanstalkからVPCの設定をやってみたものの、なんかうまくいかんくなってあ…

AWS Elastic Beanstalkを使って環境構築してみた

最近AWSが楽しすぎて1年契約した某VPSの方を放置しっぱなしです。よくないですね。 諸事情により、今年中にAWSのソリューションアーキテクトを受ける事にしたので、しばらくAWSしか触らない生活が続きそうです。本業のプログラミングが進まない進まない。そ…

SourceTreeとGithubでAWS上のWebサイトをバージョン管理しつつデプロイする

以前、Gitの簡単な導入をやってブログにまとめたわけですが、やはり時代はGithubですね。 今後AWSをメインのインフラとして使っていこうと思っているので、EC2でGitサーバを立ててもいいわけですが、認証の問題とか、リポジトリの公開とかいろいろな問題があ…

AWS EC2を使って無料枠でWebサーバを立ててみた(2015年12月版)

# 2015年12月アップデートしました。本記事の元ネタは2014年11月に書かれたものです。やはり時代は話題のAWS、ということで。クラウド新時代のIaaSとして、どんどん成長を続けるAWS。クレジットカード登録必須なのが抵抗感を煽っていましたが、やらざるを得…

Force.comでHello Worldを表示させてみた

来る12月4日、Salesforce World Tour Tokyoが開催されますね。 Salesforceとは、今話題のクラウドCRMなのですが、Force.comという独自のPaaSを保持し、単なるCRMツールとは一線を画すサービスとなっているらしいです。 イベントも間近ですので、簡単なSalesf…

バージョン管理初心者がGitとSourceTreeで既存プロジェクトのバージョン管理をしてみた

技術ブログは毎度毎度3日坊主が続いていたので、はてなで週一くらいのペースで更新したいなーと思っている今日この頃です。 何かと話題のGithubとかGitとかのバージョン管理ですが、そもそもWeb開発一年目、今まで書いてきたプログラムはローカルでバリバリ…

PHPカンファレンス2014に行ってきました

PHPカンファレンス2014〜知りたい、があなたを変えていく。〜 http://phpcon.php.gr.jp/w/2014/ そんなわけで行ってきました。 PHPは最近になってMVCフレームワークという概念に感動してばっかりだったり、いろいろと技術に追いついていけてない状況ではあり…

Wordpressからはてなブログに移行しました

もともとブログ記事はWordpressで1から立ち上げるつもりだったんですがね。 いろいろと弄っていて、Wordpressの仕組みやら、Bootstrapで簡単にレスポンシブルデザイン、とかできて面白かったんですが、正直その辺りをやりすぎて、ブログがいつまでも完成しま…