タグ

ブックマーク / blog.yuyat.jp (46)

  • peco で S3 のバケット・ファイル一覧を見るやつを作ったらめちゃくちゃ便利なのができた

    peco で S3 のバケット・ファイル一覧を見るやつを作ったらめちゃくちゃ便利なのができた May 12, 2017 釣りっぽいタイトルにしてしまったけどまぁ主観なので… yuya-takeyama/peco-s3.zsh これがどんなものなのかはこのスクリーンキャストを見てもらうのが一番良いでしょう。 機能 バケットの一覧化 このスクリーンキャストではバケット名を指定してその中身を一覧化していますが、引数を省略した場合はバケットの一覧が表示され、選択することでさらにその中のファイルを一覧化することができます。 元の一覧に戻る バケット・ディレクトリの中に移動したあとで Esc を押すと元のディレクトリに戻ることができます。 peco によるフィルタ peco をベースとしているので、文字列で対象をフィルタしながらファイル・ディレクトリを選択することができます。 s3cat コマンドの生

    peco で S3 のバケット・ファイル一覧を見るやつを作ったらめちゃくちゃ便利なのができた
    taketyan
    taketyan 2017/05/12
    我ながらめっちゃ便利です
  • 引越・同棲 1 年目の 2016 年に買って良かったもの

    去年 1 番のイベントは転職でしたが、今年は引越・同棲というのが一大イベントでした。 丸 7 年住んだ埼玉から浅草に引越したことで京橋の職場への出勤時間が半分の 30 分に縮まったのも良かったですが、生活環境が変わったのを機に家具も色々と買い、QoL も大幅に向上したので、それを振り返ってみるという体でアフィブログを書きます。 生活編 東芝ドラム式洗濯機 TW-117X3L(WW) MVP は明らかにこれです。 埼玉に住んでいた 7 年間は洗濯機外置きという洗濯機もあってドラム式の大きいのは無理だったんですが、ようやく室内に置ける部屋に引っ越せたので奮発して買いました。 乾燥機付きでもドラム式とタテ型で迷いました。ドラム式について事前に調べた中で特に気になったのが臭いの問題でしたが、以下に気をつけたところ、購入から 7 ヶ月経つ今の所臭い問題は起きていません。 ドラム式へに対応した抗菌洗剤

    引越・同棲 1 年目の 2016 年に買って良かったもの
    taketyan
    taketyan 2017/01/02
    食洗機まだ 3 日目だけど早速大活躍だし買って良かったです
  • 好きな Doom Metal のバンドを紹介していく | Born Too Late

    Doom or Be Doomed! その昔、就職活動中に Leaf Hound Records の小林トレノさんに「社員にしてください」とお願いして断られたことのある @yuya_takeyama です。 この記事は METALバンド Advent Calendar 2015 の 12 日目の記事です。 昨日は Natsumi Akai さんの「we have a tank」ウォー・メタル、Sabaton!! でした。 さて、今日の記事ですが、今日は土曜日・安息日ですね。 そして安息日といえば黒い安息日・Black Sabbath ですね。 というわけで Black Sabbath を始めとするドゥームやその周辺ジャンルのバンドを、特に脈絡なく紹介していきます。 ドゥームメタルというジャンルは聴いたことある・興味あるけどどれから聴いていいかわからない方はどうぞご覧ください。 元祖 Doo

    taketyan
    taketyan 2015/12/13
    冒頭の Leaf Hound Records のくだりに言及がなくてさみしい
  • Quipper に入社してました | Born Too Late

    2018/06/09 追記: 現在Quipper は積極採用中です。詳しくはコーポレートサイトかキャリアトレックをご覧ください。 ちょうど 2 ヶ月前に退職についてについて書いていたけど、その翌週の 9 月 7 日から Quipper で働いていた。 初出社 & 初プルリ済みです pic.twitter.com/PvmeYlgKpb — Yuya Takeyama (@yuya_takeyama) 2015, 9月 7 入社当日に Twitter に書いたりしていて、全然隠していたわけではないのだけど、さすがに入って直後だと「転職したぜイエーイ!」で終わる個人の日記レベルのことしか書けないだろう、ということでしばらく放置していた。 いまは入社から 2 ヶ月ほど経ち、日々の仕事や社内の雰囲気にも慣れてきたので、そういうところも紹介も添えて「転職してたぜイエーイ!」的な個人の日記を書いておこう

    taketyan
    taketyan 2015/11/02
  • Web エンジニア 6 年 5 ヶ月やってたどり着いた価値観 | Born Too Late

    Web エンジニアとして経験を積むことでいくつかのプログラミング言語やツール・ミドルウェアの使い方を覚えたりもしたけど、それらのうちいくつかは 10 年後ぐらいには陳腐化してしまっているかもしれない。 だけどそれらを通じて身につけた価値観や哲学はもっと普遍性を持っているような気がする。 大学を卒業し、Web エンジニアとしての職を得て 6 年 5 ヶ月、日数にして 2344 日経ったので、現時点での頭の中にあるもののダンプを残しておく。 どこかで聞いたようなことばかりで新鮮味はないと思うけど、自分で実感を持ってたどり着けたことには意味があるはず。 プログラミングについて 言語はいろいろなものを試してみる 毎年新しい言語に挑戦せよ、というのは確か dankogai さんの講演をまとめた記事で読んだはずなんだけど、記事が見つからない。 キーワードをもとに検索してみたら達人プログラマーにもそうい

    taketyan
    taketyan 2015/09/01
    失職記念エントリです
  • 第57回PHP勉強会@東京で開発環境構築について話して来た | Born Too Late

    内容はほぼ最近のブログ記事をまとめた感じです. php-buildPHP 5.4.0 beta1 をビルドする phpenv で複数の PHP 環境を管理する 一度ブログに書いたものを敢えて発表ネタにしたのにはいくつか理由があります. (もちろん, 一度記事にまとめたネタなのでスライドに起こしやすい, というのもありますが...) もっと色んな人に知って欲しい もっといろんな人に使って欲しい まだまだこなれていない部分があり, フィードバックが必要 フィードバックやパッチによりもっと改善されるはず というわけで皆さんどんどん使いましょう. 類似のツールについて php-build および phpenv と類似の機能をもったツールは他にもあります. 勉強会でも, 例えば phpall とはどう違うのか, という質問がありました. 結論から言うと, 私は他のツールは特に使ったことが無いの

    第57回PHP勉強会@東京で開発環境構築について話して来た | Born Too Late
    taketyan
    taketyan 2011/11/13
    Blogged. スライド付き. #phpstudy_108
  • スライドにシンタックスハイライトされたコードを載せる | Born Too Late

    大まかな手順 Gist にコードを貼付ける UserScript を使って好きな色に変える PowerPoint なり Keynote なりにコピペする この方法で作られたのが, ひとつ前の記事のスライドです. 以下, もう少し詳しく説明します. Gist にコードを貼付ける これは特に説明いらないと思いますが, GitHubGist に, スライドに掲載したいコードをコピペします. Gist ではアカウントが無くても匿名でコードを貼付けることができます. UserScript を使って好きな色に変える ここが一連の流れの中のキモです. UserScript とは, Firefox であれば Greasemonkey というアドオンを使って, ページのレンダリング後にフックさせるスクリプトのことです. 要は, 特定のページの表示するときに好きな JavaScript を実行させるもの

    スライドにシンタックスハイライトされたコードを載せる | Born Too Late
    taketyan
    taketyan 2011/10/02
    Blogged. プログラミング関連のスライドを作る人のために.
  • 第56回PHP勉強会@関東で PHPUnit について話してきた | Born Too Late

    最近 HTML5 化した Slideshare ですが, エラーで表示できないスライドが多すぎてまともに閲覧できないようです. この記事に掲載している Flash 版は今まで通りの問題なく表示できるのですが... スライドが完成したのが勉強会への出発 15 分前で, 通しで練習することすらできず, 発表はかなりひどいものとなっていまいました. 最低限, スライドの流れぐらいは頭の中に入れて発表すべきですね… スライドだけ見てわかるような作りにはなっていないので, 以下で補足したいと思います. ただし, 序盤は省略し, 論となる書法編とパターン編についてのみとなります. それぞれ該当するスライド番号も付記してありますので, よければご活用ください. 書法編 1: ヘルパーメソッドを使う (25 ~ 30) テスト対象のオブジェクト, それを生成するのに必要な依存オブジェクトの生成には, ヘ

    第56回PHP勉強会@関東で PHPUnit について話してきた | Born Too Late
    taketyan
    taketyan 2011/10/02
    Bloggled. #phpstudy_107 の発表内容を記事にまとめています.
  • php-build で PHP 5.4.0 beta1 をビルドする | Born Too Late

    php-build とは コマンドライン一発でソースコードのダウンロード, 展開, ビルドまで自動でやってくれるツールです. ところで Ruby にも ruby-build というツールがありますね. 環境について 最悪壊れても困らない環境で試すことをオススメします. 今回は開発用 VM 上の Ubuntu 10.10 で作業を行いました. php-build のインストール GitHubphp-build プロジェクト上で特にインストール方法について説明されていません. ここではホームディレクトリ上の .php-build というディレクトリにインストールし, そこにパスを通す, という方法を採ります. .zshrc の部分については, Bash を使っている場合は .bashrc に置き換えてください. 以下のようにコマンドを実行して, 同様の結果が得られれば php-build

    php-build で PHP 5.4.0 beta1 をビルドする | Born Too Late
    taketyan
    taketyan 2011/09/17
    Blogged.
  • PHP カンファレンス 2011 で DSL と [] について LT してきた | Born Too Late

    また, 当日 Ustream で配信された動画はこちらにアーカイブされています. 動画中の一番最初がボクの発表です. Lightning Talk この LT では DSL のサンプルとして Paml というテンプレートエンジンを紹介しています. また, オチとして, [] で DSL だけじゃなく汎用言語も実装できる, ということで PHP で実装された Lisp ライクな言語 LisPHP を紹介しています. いずれも GitHub にリポジトリを公開しているので, 興味のある方はご覧ください. Paml LisPHP 結構ネタ的な要素も強いのですが, この発表でボクが割と真面目に主張したかったのは以下の点です. PHP 5.4 では [] が配列リテラルとして導入された PHP の array は他の言語と比べて特殊なデータ構造である その特性を DSL 的に活用することができる ス

    PHP カンファレンス 2011 で DSL と [] について LT してきた | Born Too Late
    taketyan
    taketyan 2011/09/11
    Blogged. LT の補足と LisPHP についての紹介. #phpcon2011
  • PHPUnit の実行を自動化する 3 つの方法 | Born Too Late

    皆さん, ユニットテスト書いてますか. TDD (テスト駆動開発) によるプログラミングは当に楽しいものですが, コマンドをいちいち手動で実行するのは面倒ですよね. テストを自動化しているんだから, その実行も自動化したいですよね. この記事では, 私が仕事趣味で使っている PHPUnit を例に, テストの実行の自動化について紹介します. PHPUnit の, としてはいますが, 他の言語で使えるテクニックもあります. なお, ここでの自動化は開発しながらの自動実行のことで, CI (継続的インテグレーション) の話は出てきません. その前に... 私の開発時のターミナルは以下のようになっています. [caption id="attachment_1298" align="alignnone" width="300" caption="開発時のターミナル"][/caption] GN

    PHPUnit の実行を自動化する 3 つの方法 | Born Too Late
    taketyan
    taketyan 2011/08/16
    Blogged. 作業効率を上げましょう. ヒヤシンスッッッッ!!!111
  • PHP 用キャッシュライブラリ Cache_Casual をリリース | Born Too Late

    Cache_Lite は未だに PHP4 なコードであんまりだし, Zend_Cache は依存関係がめんどくさそうなので, 外部ライブラリに依存しないものを作ってみました. Github Openpear 使い方 Cache_Casual オブジェクトは ArrayAccess インターフェイスを実装しており, 連想配列のように操作することができるので, かなりカジュアルだと思います. カスタムキャッシュコンテナ 上記の例では, キャッシュコンテナとしてファイルを利用しています. キャッシュコンテナは Dependency Injection (依存性の注入) により Cache_Casual オブジェクトに差し込むことができるので, Cache_Casual_ContainerAbstract クラスを継承し, Cache_Casual_ContainerInterface インターフ

    PHP 用キャッシュライブラリ Cache_Casual をリリース | Born Too Late
    taketyan
    taketyan 2011/08/14
    Blogged. Cache_Lite よりもカジュアルなのが欲しい人用.
  • 日本 RubyKaigi 2011 に行ってきた | Born Too Late

    最後の日 RubyKaigi です. 出張の関係で 2 日目の終盤からしか参加できていませんが, 印象に残ったものを簡単にまとめてみました. Advancing Net::HTTP by @wycats さん * net/http は並列化できない * 並列化するためにフォークして net2/http というのを作っている * 並列化するにあたって Reactor パターンを採用した ergをすごく偲んで by @m_seki さん * カスタマイズは誘惑する * 安易にオプションを増やすことは「仕様の議論からの逃避」 Visual Glitch, using Ruby by @ucnv さん * とっさにグリッチが必要なときは sed が便利 * チェックサムを壊したりすると表示自体できなくなることがある * 安全にグリッチするにはどうするか * 仕様に従って壊すのがマナー * 動画は

    日本 RubyKaigi 2011 に行ってきた | Born Too Late
    taketyan
    taketyan 2011/07/19
    Blogged. あっさりとまとめてみた.
  • 小さなチームでの Redmine 運用で気をつけている 3 つのこと | Born Too Late

    日々なんとなく利用している Redmine ですが, ここらで一度振り返ってみることにしました. 一応一般論のつもりで書いていますが, 前提として以下のような環境を想定しています. メインとなるメンバーが 5 名前後の小規模なプロジェクト そのうち何名かは非エンジニア 目新しい話は無いと思います. 様々な機能を使い倒していたりもしません. あまり学習・運用コストをかけずに, いかに効率よく使うか, という方向性です. ルールは少なく チームの全員が Redmine に対して肯定的であることは稀です. Redmine よりもメールや Excel で管理したい, という信じられないことを言う人も少なくありません. そんな人たちも含むであろうチームで Redmine を楽しく運用するには, とにかくルールを簡単にすることが大事だと考えます. 優先度, 予定工数, カテゴリなど, 記入できる項目は

    小さなチームでの Redmine 運用で気をつけている 3 つのこと | Born Too Late
    taketyan
    taketyan 2011/07/07
    Blogged. チケットの効果的な運用について, 初歩的な話.
  • メタプログラミングで jQuery.ajax を Fluent Interface にする | Born Too Late

    jQuery で Ajax リクエストを行う場合, パラメータはハッシュ (JavaScript の Object 型) で指定して実行します. この例だとまだシンプルに見えますが, success コールバックなどが肥大化してくると, 見通しが悪くなってきます. そこで以下のようなコードを用意します. jQuery.ajax() のラッパーとなる FluentAjax オブジェクトと, それを呼び出すヘルパーとして fajax() 関数を定義しました. メソッドの定義にはメタプログラミングを使用しており, 実質上のプログラムは約 30 行程度です. これを利用すると, 同じ Ajax リクエストを以下のように行うことができるようになります. メソッドチェインでリクエストオプションを組み立てていき, 最後に execute() メソッドでリクエストを実行しています. いわゆる Fluent

    メタプログラミングで jQuery.ajax を Fluent Interface にする | Born Too Late
    taketyan
    taketyan 2011/05/28
    Blogged. 流れるようなインターフェイスで Ajax リクエストを実行する.
  • 常識を覆すソートアルゴリズム ! その名も "quick sleep sort" ! を CoffeeScript で実装しました | Born Too Late

    常識を覆すソートアルゴリズム ! その名も "quick sleep sort" ! を CoffeeScript で実装しました 2011-05-20 02:43:20 Coffee キメるの気持ちいいですね. Node.js で実行してください. CoffeeScript のコードスニペット書いてます. See also 常識を覆すソートアルゴリズム!その名も"sleep sort"!

    常識を覆すソートアルゴリズム ! その名も "quick sleep sort" ! を CoffeeScript で実装しました | Born Too Late
    taketyan
    taketyan 2011/05/20
    Blogged. Coffee キメるの気持ちいい.
  • ActiveSupport に名詞の複数形の不規則変化ルールを教える | Born Too Late

    この連休中, Ruby の Padrino というフレームワークを使って Web サービスを作っています. その中で Cafe というモデルが必要で, それ用の管理ページを Padrino のコマンドで自動生成したところ, caves という名前のコントローラが生成されてしまいました. なんとなくカッコ悪いので調べてみたところ, Padrino では, 名詞の複数形変化に, Rails の ActiveSupport を利用していることがわかりました. ActiveSupport は, ロード時に String クラスに対していくつかのメソッドを追加しており, pluralize というメソッドで, 名詞の複数形への変換を行います. pluralize メソッドについては, Padrino のコンソールを使えば簡単に確認できます. (当然 Rails でもできるとは思いますが, 特に試して

    ActiveSupport に名詞の複数形の不規則変化ルールを教える | Born Too Late
    taketyan
    taketyan 2011/05/04
    久々に Blogged. すごく地味なネタ...
  • .htaccess を Ruby の DSL で記述してみる | Born Too Late

    最近 .htaccess をいじることが多いんですが, 融通効かないなと思うことが多々あります. .htaccess を Ruby で書くことができれば... ということでとりあえずプロトタイプ程度ですが作ってみました. DSL の記述例 これが以下のように出力されます. <IfModule mod_rewrite.c> RewriteEngine on <Limit GET> RewriteRule ^/user/(.*)$ /user.cgi?id=$1 [L,R] </Limit> </IfModule> Order Deny,Allow Deny from All Allow from 192.168.0.11 Allow from 192.168.0.12 Allow from 192.168.0.13 Allow from 192.168.0.14 Allow from 192

    .htaccess を Ruby の DSL で記述してみる | Born Too Late
    taketyan
    taketyan 2011/03/29
    Blogged.
  • JavaScript でコンストラクタを隠蔽する | Born Too Late

    思いつきをメモ. 良い点 コンストラクタが隠蔽される JavaScript では, オブジェクトのコンストラクタは関数として定義されます. なので, new Constructor と呼び出すべきなのに, Constructor() というように呼び出されることもあり得ます. インスタンスメソッドも隠蔽される Dog.create() でオブジェクトが生成されるまでは, greet() メソッドは見えません. オブジェクトを通してしか, インスタンスメソッドにアクセスできないということです. 悪い点 create() の定義が面倒 create() に渡された引数を, init() に渡さないといけないので, 定義がやや煩雑です. Function.apply() が使えれば, arguments を渡すだけで良さそうですが, コンストラクタを Function.apply() で呼び出す

    JavaScript でコンストラクタを隠蔽する | Born Too Late
    taketyan
    taketyan 2011/03/06
    思いつきを Blogged.
  • JavaScript の spec を RSpec で書く | Born Too Late

    Ruby 以外のプログラムを書いていると, 「RSpec で spec が書けない」というだけの理由で, 億劫になってしまうことがあります. RSpec で JavaScript の spec が書ければ... そう思って, やってみました. まずは実際のコードを説明なしに紹介し, 環境構築手順や, 解説については後述します. テスト対象 (System Under Test) 今回はこの JavaScript のコードを対象に, spec を書いてみます. とりあえずは「RSpec で JavaScript の spec が書けるのか」という検証が目的なので, シンプルなもので十分でしょう. t-wada さんのRSpec の入門とその一歩先へをそのまま JavaScript にしてみたようなものです. detect メソッドに渡す文字列の中に, コンストラクタに渡された単語が含まれるか

    JavaScript の spec を RSpec で書く | Born Too Late
    taketyan
    taketyan 2011/03/06
    Blogged. これをネタに LT 発表者として Test.js に参加, とかダメですよねぇ... #shibuyajs