読者です 読者をやめる 読者になる 読者になる

Ansibleのselectattrとmapとlist

最近またAnsibleでAWSの構成を書き始めました。 selectattrとmapが便利 次のような値を with_items で回してサブネットを作るとともに、publicなものを取り出してルートテーブルを作りたくなったのですが、selectattr()とmap()を使うと取り出すことができま…

Vimプラグインの管理にdein.vimを使う

vim

家の前の日当たりがいい坂道にある桜がだいぶ咲いてきました。穏やかな春の陽気を感じます。 この週末は3連休ということもあり、いつかやろうと思っていたVimプラギンのパッケージマネージャの移行をしました。 今まで大変お世話になっていたneobundle.vimを…

はじめての絵本

息子のはじめての絵本は「はらぺこあおむし」でした。 はらぺこあおむし|絵本ナビ : エリック・カール,もり ひさし みんなの声・通販www.ehonnavi.net 絵の色がとてもきれいな本。穴の開いたページをめくるのが楽しい。 検索して知ったんだけど、絵本ナビが…

ゲームボーイの思い出

先週の昼休み、会社でお弁当を食べながらゲームボーイの話になった。 みんなどんなカセットがあったか写真を撮ってこよう、ということで引っ張り出してならべてみた。 カセットをしまっていたのは牛乳パックの空き箱。牛乳パックを横に置き、1面を切り取って…

最近学んだRuby

Rangeの範囲 p (1..10).to_a p (1...10).to_a [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] [1, 2, 3, 4, 5, 6, 7, 8, 9] 多重代入とflatten 複数の引数でも、配列でも、どっちでも引数にとれて便利 def f(*params) params.flatten.reduce { |sum, v| sum + v } end p f…

7月のVimmerランチ

vim

毎月第三木曜は社内のVimmerが集結して昼飯を食いに行く。 今日はVimの日。ここへ行った。 ふーみん (表参道/台湾料理)tabelog.com 油淋鶏が上にのった麺ものを食べた。 意外にボリュームがあった。からあげは柔らかくて美味し。 今日話題に上がったのは、go…

Rubyのブロックについての理解

[Ruby] ブロックとProcをちゃんと理解する - Qiitaqiita.com 実際手を動かすと理解しやすいので、書いてみるのがおすすめ。 基本 def give_me_block yield # yieldで暗黙引数のブロックが実行される感じ end give_me_block do # --- ここから p 'Hello, bloc…

gitで最近コミットしたブランチを探す

git

gitを使った開発で複数のブランチが平行で走っていて、チェックアウトしようとしたときに「アレ名前なんだっけ」と忘れることがよくある。 適当なブランチ名をつけているわけではないんだけど。ちなみにブランチ名はこんな感じでつけてる。 feature/<GitHubのIssue番号>/<機能を</githubのissue番号>…

内向型人間のための人生戦略大全

内向型人間のための人生戦略大全作者: シルビア・レーケン出版社/メーカー: CCCメディアハウス発売日: 2014/11/20メディア: Kindle版この商品を含むブログを見る 例えばストレスを抱えたとき、たくさんの人に会って元気を充電するよりも、ひとりでゆっく…

6月のVimmerランチ

vim

毎月第三木曜は社内のVimmerが集結して昼飯を食いに行く。 今日はVimの日。ここへ行った。 青山 鶏味座 本店 (表参道/焼鳥)tabelog.com 南青山の落ち着いた雰囲気のなか、究極の親子丼に舌鼓を打ちながらVimの話にも花が咲いた。 うましうまし。 夜もよさそ…

RubyやRailsでメソッドを上書き・処理追加する方法いろいろ

オープンクラス class Hoge def hello 'HELLO' end end class Hoge def hello 'hello taro!' end end p Hoge.new.hello #=> "hello taro!" aliasでいったんメソッド名を退避するテクニック class Hoge def hello 'HELLO' end end class Hoge # (3) hello2の…

Vimでいい感じにMarkdownを書く

vim

理想のMarkdown編集環境を求めて ブログやQiita::Teamへの投稿はMarkdownで書いている。 Markdown中にコードやコマンドを貼り付けることがよくあるのだけど、iTerm + tmux + vimのCUI環境で開発しているので、MarkdownもVimで書けたら便利だなぁと思っていた…

Rails キャッシュとセッションを別々のmemcachedで管理

Rails 4.2 Dalli require 'action_dispatch/middleware/session/dalli_store' Rails.application.configure do config.cache_store = :dalli_store, 'localhost:22222', { namespace: 'myapp_cache', compress: true, expires_in: 1.minute } config.session…

リストの差分

vim

id:celt69cobra「Vimscriptでリストの差分を抽出する関数ってあんの?」 :h functionsをみても分からなかったのでやってみた。 function! s:diff(list1, list2) abort return filter(copy(a:list1), 'index(a:list2, v:val) == -1') \ + filter(copy(a:list2…

AWS CloudFormationの勉強

基本的な構成を作ってみた VPC、InternetGateway、RouteTable、Subnetの基本セット NetworkAclはとりあえず空 SecurityGroupはWebサーバ用、DB用の2つ Webサーバ用EC2インスタンス2つにPublicIPが振られる Amazon Linux RDBはMutiAZ、MutiAZで必要なDBSubn…

AWS CloudFormationの効率的な学び方

aws

RDSとかは特に設定項目が多く、JSONの各項目に何を指定すれば良いかリファレンスを見て理解するのが大変。 ConfigとCloudTail マネジメントコンソールからポチポチやって立ち上げたときに、裏側でよしなに作ってくれているJSONが見えたら捗る。 そこで、Conf…

AWS::IAM::InstanceProfileの理解

aws

AWS::EC2::Instanceを立ち上げるときに指定できるIamInstanceProfileがよく分からなかった。 セキュリティグループやネットワークACLでアクセス制御できるのに... EC2インスタンスからS3へアップロードするとしても、Webアプリケーション内でAWSのユーザ(ア…

Cloud Formationのテンプレートを何で書くか

CloudFormationのテンプレートを書いているけど、大量のJSON記述&コメントが書けないのがちょっとつらい。 Cloud FormationのJSON生成ツール探し いろいろある。 VisualOps 画面からネットワークをつくってJSONを生成。 Visual DevOps Automation for Amazo…

AWSのSecurityGroupとNetworkACL

aws

違い 違いは簡単にこんな感じ。 セキュリティグループ ネットワークACL EC2インスタンスのファイアーフォール サブネットのファイアーウォール 許可のみ設定できる(ホワイトリスト形式) 許可と拒否が設定できる ユーザーガイドの図がとてもわかりやすい。 …

AWS CloudFormation 入門

概要 CloudFormationは、今までマネジメントコンソールやawscliでやってたシステム構築を自動化する仕組み VPCつくってSubnetつくってルートテーブル作ってEC2つくって...の一連の流れが一発で起動できる 自動化の設定は「テンプレート」と呼ばれるJSONファ…

ピアノの曲に癒やされる

最近、通勤中や作業中にピアノの曲をよく聴く。 NewdaysSchroeder-Headzジャズ¥200provided courtesy of iTunes Blue BirdSchroeder-Headzジャズ¥250provided courtesy of iTunes きときと - 四本足の踊り高木正勝サウンドトラック¥250provided courtesy of …

AWS CLI 入門

aws

管理画面コンソールでも操作できるけど、CLIを覚えた方が奥深くAWSの機能が学べて良いっぽい https://github.com/aws/aws-cli/ READMEやってみた インストール pip install awscli pip install --upgrade awscli コマンド補完を有効にする bashの場合 comple…

AWSのRDS

バックアップ S3への自動バックアップ 5分以上前の任意時点のデータをリストア可能 Multi-AZ スタンバイ用のレプリカを別のアベイラビリティゾーンに配置し、マスタ障害時には自動的にスタンバイへフェイルオーバーする機能 ディスクレベルで同期 仕組みは、…

心を整える

スーパー銭湯がスーパー好きなのです。 最近の入り方を紹介します。 流す サウナ 洗う 寝湯orジャグジー サウナ 佇む 外湯 内湯 出る マッサージ 心がへこんだときや飲み過ぎた次の日によく来ています。 精神力は整心力。 銭湯に頼らない力を得たい。 平常心…

EC2でDockerを動かす

これやってみた http://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html ここでの完成形 EC2 + Docker ローカルのMacでDockerイメージをビルド、DockerHubへプッシュ EC2上でDockerHubからDockerイメージをプル、Dockerコンテナ起…

AWSの各サービスについて学ぶ

aws

3つのレイヤに分かれる インフラストラクチャ アプリケーション デプロイ/アドミニストレーション サービスの種類 ネットワーク VPC / 仮想プライベートクラウド Direct Connect / AWS への専用線接続 Route 53 / DNS コンピューティング EC2 / クラウド内の…

AWS入門 最初の最初

aws

サインアップ 必要な物 メールアドレス 請求先住所 クレジットカード 無料利用枠がついてくる https://aws.amazon.com/jp/free/ 注意点 ここでサインアップして作成したルートアカウントは使わないこと 権限の管理の基本 ユーザの作成 AWS操作用の自分のユー…

美味しいお煎餅屋さん

美味しいお煎餅やさん紹介。 茨城・老舗の煎餅(せんべい)おかきの専門店 都炉美煎本舗 通販サイト 三州製菓・三州総本舗ホームページsanshu.com 越後の菓子処 瑞花 オンラインショップwww.zuika.jp 玉井屋 (下北沢/和菓子)tabelog.com 東京のあられ・おせ…

Golangで画像プロキシサーバをつくった

Graidという画像プロキシサーバをつくりました。 外のサーバから画像を取得してリサイズしたりして返す、ということをするサーバです。 Golangでなんかミドルウェア的なものが作ってみたかったのでやってみました。 Graidについてのスライド エンジニアが集…

Hugoを使ってみた

Hugo :: A fast and modern static website engine brew install hugo hugo new site /path/to/site cd /path/to/site hugo new post/start.md git clone --recursive https://github.com/spf13/hugoThemes themes hugo server --buildDrafts --theme=nofanc…

【ブログリレー】33歳、エンジニアのかばんの中身

nanapiカバンの中身だしアドベントカレンダー2014のバトンを受け取りました。 nanapiカバンの中身出しアドベントカレンダー2014:ブログまとめ - 水割りを、ロックで リターンズ 前の日はid:horikunさんでした。 行動的なid:horikunさんならではの工夫があっ…

大人の学習机探し

自分で使う学習机が欲しくて探してた。 今までは、ローテーブルの上にデスクトップパソコンを置いて座椅子に座ったり、ソファに腰掛けてノートパソコンで作業をしてた。 だけどすぐに腰や肩が痛くなって長く居られなかったし、落ち着いて作業や勉強がしたか…

railstutorial全11章を終えた

railstutorialはRuby on RailsとデファクトスタンダードなGemを使ってTwitter風アプリケーションを作るということを題材に、実際の仕事の開発でも行うGitHub Flowや振る舞い駆動開発をしながら、Webアプリケーション開発を学ぶチュートリアル。 Ruby on Rail…

railstutorial.jp 11章メモ

テーマ has_many throughアソシエーション member, collection ルーティング コレクションとアンパサンドシンボルメソッド名 Ajaxリクエストとレスポンス ユーザ has_many リレーションシップ リレーションシップ has_many ユーザ リレーションシップをリン…

railstutorial.jp 10章メモ

テーマ アソシエーション パーシャル micropostsテーブルの追加 $ rails generate model Micropost content:string user_id:integer $ rake db:migrate $ rake test:prepare やはりテストがこける Failure/Error: let(:user) { FactoryGirl.create(:user) } …

railstutorial.jp 9章メモ

テーマ ユーザーの更新・表示・削除 認証と認可 フレンドリーフォワーディング ページング機能 webブラウザからPATHリクエストができないので、POSTのhiddenパラメータ_methodにpatchが入っている <form accept-charset="UTF-8" action="/users/2" class="edit_user" id="edit_user_2" method="post"> <input name="_method" type="hidden" value="patch" /> Active Recordのnew_record?メソッド Railsは、form…</form>

railstutorial.jp 8章メモ

テーマ ログイン/ログアウト セッションとクッキー nilガード オープンクラス Cucumber セッションコントローラの作成 $ rails generate controller Sessions --no-test-framework $ rails generate integration_test authentication_pages 限定したリソース…

railstutorial.jp 7章メモ

テーマ フォーム paramsでデバッグ <%= debug(params) if Rails.env.development? %> 環境 test development production (Herokuは常にコレ) パラメータを指定して起動 $ rails console test $ rails server --environment production $ rake db:migrate RAI…

railstutorial.jp 6章メモ

テーマ ユーザ登録 モデル バリデーション 認証と権限のモジュールはたくさんあるけどここでは自前で作る Clearance Authlogic Device Cancan モデルは単数形で指定 $ rails generate model User name:string email:string t.timestampsはマジックカラム マ…

railstutorial.jp 5章メモ

テーマ Twitter Bootstrap レイアウト パーシャル ルーティング Asset Pipeline CSS Sass Gem追加 gem 'bootstrap-sass' gem ‘sprockets' config/application.rbに追加 config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif) Bootstrap CSSを追加 app/a…

railstutorial.jp 4章メモ

テーマ 普通のRuby Rails風味のRuby rails console コメント 文字列 式展開 #{first_name}はダブルクォートのなかのみ putsはput string nil.to_s.empty? “".nil? nil.nil? Rubyにおいてifがfalseになるのはfalseとnilのみ if nil then true else false end …

railstutorial.jp 3章メモ

テーマ rails generate erb 振舞駆動開発 (Behavior-Driven Development, BDD) Guard --ski-test-unit は、Test::Unitを使うのではなくRspecを使う為にtestディレクトリを作成しないオプション。 $ rails new sample_app --skip-bundle --skip-test-unit $ b…

railstutorial.jp 2章メモ

テーマ scaffolding MVC rake REST $ mkdir demo_app $ cd demo_app $ rails new . --skip-bundle Gemfileと.envrcは前章のをコピー $ bundle install --path=vendor/bundle --binstubs --without production $ bundle config --delete bin $ rake rails:upd…

railstutorial.jp 1章メモ

テーマ Ruby, Rails, Gem, Bundler Git Heroku $ bundle install --without production $ heroku login $ heroku create Creating xxxxxx-xxx-0000... done, stack is cedar http://xxxxxx-xxx-0000.herokuapp.com/ | git@heroku.com:xxxxxx-xxx-0000.git Gi…

マッキー

帰省している妻とLINEでマッキーの話をしていたから、今日はマッキー。 僕が一番欲しかったもの槇原敬之J-Pop¥250provided courtesy of iTunes GREEN DAYS槇原敬之Pop¥250provided courtesy of iTunes どんなときも。槇原敬之Pop¥250provided courtesy of iT…

Ruby久しぶりすぎてブロックとProcについて頭の中からさっぱり抜けていたけど、この記事とてもわかりやすくて良かった。 [Ruby] ブロックとProcをちゃんと理解する - Qiita [Ruby] ブロックとProcをちゃんと理解する - Qiita ブロック、Procってなに? ブロ…

RailsとはてブとFeedly

Railsがんばるぞ 10月になりました。また、Railsやりはじめます。 Macには既にrbenvを入れてた。 brew install rbenv ruby-build echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.zprofile 2.1.1が入っていたので、消して2.1.3を…

instacodeがかっこいい

http://instacod.es/ instacodeはソースコードをinstagramぽく画像加工して投稿できるサービス。 記念に、初めて書いたVimスクリプトのコードで作ってみた。 http://instacod.es/93656セピア調。書いたときの思い出がよみがえる。 Instacodeへ投稿するVimプ…

w.vimをつくっています

vim

https://github.com/violetyk/w.vim メモの管理 w.vimはメモを管理するためVimプラグインです。僕はメモを書くときは単純に記録の他、考えるときや作業するときの頭の整理のためにも書くことが多いのですが、そのメモを管理するツールは今までいろいろなもの…

リストの同一性

vim

リストが入った変数を別の変数へ代入すると、参照になる。 知らなかったー。copy()でリストのコピーを作ればOKと思ったが、 "浅いコピー"になるので要素がリストだとコピー元も変更される。 完全にコピーを作ろうと思ったら、deepcopy()を使えばOK。:help li…