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

開発合宿行ってきた

いつも一緒に活動してるメンバー5人で、久々に開発合宿してきましたー 今回は「勉強したい技術を使って、何か作ってみる」をテーマとして、1泊2日。場所は伊東の山喜旅館。両日とも会議室を貸し切ることができたので、快適なネット環境の元、集中して開発で…

レガシーシステムを理解する方法

結構年季が入ったJavaのレガシーなwebアプリをRailsに移行するというプロジェクトを進めている。レガシーシステムは以下のような状態。・オリジナルを作ったエンジニアは既に不在 ・ビジネスロジックに対するドキュメントは殆ど存在しない ・単体テストは存…

「Webアプリエンジニア養成読本」を献本してもらった!読んだ!

「Webアプリエンジニア養成読本」を献本してもらいました。あざす! Webアプリエンジニア養成読本[しくみ、開発、環境構築・運用…全体像を最新知識で最初から! ] (Software Design plus)posted with amazlet at 14.03.19和田 裕介 石田 絢一 (uzulla) すがわ…

Backbone.jsでViewからModel・DOMを操作する時の流れ

自分の頭の中の整理のために。 はじめに Backbone.jsガイドブックを読んでいたら、このような事が書いてあった。 Backbone流MVCでは、ビューとコントローラは両方ともViewが担当します。(略)これらはそれぞれViewのメソッドとして実装しますが、本書では区…

Backbone.jsをRailsで使った際の、初期設定とルール

こないだまでRailsとBackbone.jsを使ったWEBサービスを作ってました。折角なので、その際の初期設定とちょっとしたルールをまとめておきます。ちなみに、規模感は以下のような感じです。・ModelとCollection 各約10個 ・ViewとTemplate 各約30個 ・Routerは…

RubyのIntegerを拡張してFizzBuzzを問題をやってみた

FizzBuzz問題というのをやったことが無かったので、Rubyでやってみた。「ある整数がある整数で割り切れるか?」という部分を抽象化すると、少し汎用的になってよいかと思った。 class Integer def dividable?(n) self % n == 0 end end (1..100).each do |n|…

ネーミングに困ったとき、RailsのAPIが参考になった

最近ちょっとしたORMを書いていて、SQLのプレースホルダに「紐付ける値」をなんと命名したらよいか悩んでいたのだけど、こういう定石的な命名は、自分でウンウン悩むよりフレームワークのAPIを参照するのが早いと思ったRubyのORMをざっと調べてみたところ、…

Perlいつやるの?今でしょ!

ゆーすけべー先生のPerl入門書がKindle本で出ました。詳細はこちらPerlについて語ろうposted with amazlet at 13.03.17和田裕介 (2013-03-13)Amazon.co.jpで詳細を見る僕はRuby, PHP, JavaScriptしかまともに触った事が無かったのですが、 心の中からこんな…

や...やっと理解できた!(2) JavaScriptのスコープチェーン

前回はJavaScriptのプロトタイプチェーンについて、図解を用いることでなんとか理解できました。今回はスコープチェーンに挑戦してみます。前回と同じく「1. 図解を用いる」「2. 用語を明確に定義する」「3. Standard ECMA-262 3rd editionを情報ソースとす…

まさに忍者...JavaScriptの関数は第一級オブジェクト

JavaScriptの関数は「ファーストクラスオブジェクト(第一級オブジェクト)」である。なので、変数に代入したり、配列にセットしたり、他の関数に食わせたりできる。この変幻自在っぷりはすごい。newでコンストラクタになるところなんて変化の術のようだ。無…

jQueryで$(document).readyを複数実行した場合のthisやvarについて

はじめに jQueryを使う時は、$(document).ready(handler)やその省略法である$(handler)でdom構築ができてからコードを実行することが多い。(handlerは無名関数などの関数オブジェクト)で、たまに複数のファイルで何度も$(handler)を呼び出すことがあるのだ…

や...やっと理解できた!JavaScriptのプロトタイプチェーン

JavaScriptのプロトタイプチェーンについて理解しようとしたのだけど、prototypeとか__proto__とかごちゃごちゃになって、色んなブログを読んでもなかなか理解しきれなくて悶々としていたのだが、図を書いたらパッと理解できた!以下、情報ソースはなるべくE…

いつも忘れる「Railsのgenerateコマンド」の備忘録

本当にいっっつも忘れる(T-T) ので、よく使うコマンドだけメモ なお、網羅的な解説は以下のサイトがよくまとまっている! railsコマンド(rails) - Railsドキュメント はじめに 全てのrailsコマンドは-h (or --help)オプションでヘルプが見れる $ rails -h …

GitとSubversionを併用する

仕事ではSubversion(以下、svn)を使っているのだが、これをgitに置き換えたい。 とはいえ、いきなり全体をgitに移行するのはキツそうなので、以下のようなプロセスを踏もうと思う。(1) 自分の環境だけgitを使えるようにする(中央リポジトリはsvn) (2) 他…

gitignoreまとめ

Git

Gitで無視ファイルを細かく設定する際にはまったので、メモ ヘルプ こまったら、これで $ man gitignore web版 前提 まずは前提を抑えておかないと、はまる 既にトラックされたファイルはgitignoreが効かない $ git init $ touch hoge.txt $ git add hoge.tx…

PHPを愛する試み 〜self:: parent:: static:: および遅延静的束縛〜

PHP

PHPを愛する試みというものを個人的にやっているPHPを愛する試み PHPを愛する試み 〜調教編〜今回は、self:: parent:: static:: 遅延静的束縛について図で整理してみた。 スコープ定義演算子 (::) まず「::」について。これはスコープ定義演算子という。マニ…

PHPを愛する試み 〜調教編〜

PHPを愛する試みというのを個人的にやっている。最近仕事でPHPをガリガリ使わなければならない状況になってしまった。そのため可及的速やかにPHPを愛する必要がある。 tap ときに、Rubyにはtapという素敵なメソッドがある。tapかわいいよtapPHPでも$obj->tap…

unshift, shift, pop, pushが混乱するので、絵で整理した

配列の追加・取り出しに関する4つのメソッド(unshift, shift, pop, push)がいつも混乱するので絵で整理した。絵にすれば覚えられそう!いちお練習のため、自分がよく使うRuby, PHP, JavaScriptでコードも書いた。・いずれの言語においても上記4つのメソッ…

一瞬で「今日のディレクトリ」を作成・移動できるRuby/Bashスクリプト

ちょっとしたファイルを作成・保存しておきたい時、自分にとっては「今日の日付のディレクトリ」にまとめておくのが丁度よい。これまでは毎日手作業で「今日の日付のディレクトリ」を作成・移動していたのだけど、これを毎回やるのが面倒臭い。ということで…

PHPを愛する試み

僕はRubyが好きだ。プライベートではRubyばっかり使っている。でも、仕事ではPHPを使わなければならない。これまでPHPは書きにくいーと思い込んでいてあまり好きではなかったのだけど、仕事で使う以上PHPを好きになった方がきっと幸せになれる。何かを好きに…

Rubyで内部DSLっぽいのやってみる

少し前に仕事中、一瞬の隙も見逃さずに情報収集できるRubyワンライナーとスクリプトというRubyスクリプトを書いたのだが、スクレイピング対象サイトをハッシュで持ってるあたりが使いづらい。良い機会なので内部DSLってのに挑戦してみた。しかし、内部DSLに…

Rubyワンライナー入門

先日仕事中、一瞬の隙も見逃さずに情報収集できるRubyワンライナーとスクリプトというネタエントリを書いたのだが、その際Rubyのワンライナーをもう少しまともに理解したいと思ったので入門してみた。手元のRubyは1.9.2 はじめに Rubyのワンライナーは、ruby…

仕事中、一瞬の隙も見逃さずに情報収集できるRubyワンライナーとスクリプト

情報収集はビジネスマンとしての基本である。しかし普段シェルで作業する者としては、毎回ブラウザを立ち上げる時間すら不毛である。よって、シェルから一瞬で情報収集できるRubyのワンライナーを書いた。 上からYahoo, はてな, Naverまとめ, 2ちゃん $ ruby…

RackとERBを使って、超シンプルなRubyのWebアプリを作る

Railsで使われているRackとERB。いつもRailsにお任せだから、たまにはRailsの皮をはいで生で触ってみたい!ということで、超基本的な部分(通常表示, リダイレクト, not found)だけいじったのでメモ。・/にアクセスすると、/hogeにリダイレクトされる ・/ho…

Rubyの多重代入におけるto_aとto_aryの挙動

先日のエントリでRubyの多重代入についてふれたのだが、教科書によってto_aryが呼ばれると書いてあったりto_aが呼ばれると書いてあったりで、なにが本当なのか分からなくなった。 回答らしきもの 調べてみたら、こちらに回答らしきものがあった。 OK, to_a m…

Rack::Responseオブジェクトを多重代入すると、暗黙的にfinishが呼ばれる

環境:ruby-1.9.2、rack-1.4.1RAILSCASTのRackの章を見ていたら、以下のような構文が出てきて、不思議に思った。 def call(env) Rack::Response.new("hoge") end Rackアプリの呼び出し側(例えば、lintミドルウェア)では、このように書かれている status, h…

RubyのFile.expand_path('相対パス', __FILE__)の意味

RailsなどのRubyライブラリのソースコードを見ていると、よく File.expand_path('相対パス', __FILE__) という一文を目にする。ちょっと調べてみた。 File.expand_pathとは riコマンドで調べてみる $ ri File.expand_path (from ruby core) ----------------…

rbenvのメモ

備忘のためメモ。必要に応じて編集予定。 ヘルプ $ rbenv -h主要コマンドの説明はこれで 特定のrbenvコマンドのヘルプを表示 $ rbenv help <コマンド> 現在のRubyバージョンを表示 $ rbenv version rbenvが管理している全てのRubyバージョンを表示 $ rbenv v…

たった80行のコードでひたすらアイドル水着画像をあつめる(C言語だよ)

こないだたった3行のコードでひたすらアイドル水着画像をあつめる(Rubyだよ)というネタエントリを書いたのだけど、これC言語で書いたらどうなるのだろうと思ったのでやってみた。ということで、今年最後のエントリはC言語で締めくくる!やだカッコいい!漢…

誰得スクリプトで学ぶOAuthとRack(Rubyだよ)

元ネタ ゆーすけべー先生が先日、以下のような誰得スクリプトを書いておられました。Facebookのポスト内容をWebアプリケーションとして実行する - ゆーすけべー日記まじ誰得w しかしよく見てみると勉強になる要素満載で、Rubyで書いたらOAuthとRackの勉強に…

たった3行のコードでひたすらアイドル水着画像をあつめる(Rubyだよ)

追記: C言語版書いた!僕が参加していたUT Startup Gymの大先生である@tushuheiさんが、たった10行のコードでひたすらアイドル水着画像をあつめるという刺激的なエントリを書いておられたので、対抗したくなった_人人人人人 人人人人人人人_ >Rubyなら3行…

Rubyで「正規表現でマッチした部分を抽出する」を書いたのだが、なんかしょぼかったので復習

Rubyで「文字列から正規表現にマッチする部分だけぶっこ抜く」ってのをやろうとしてこんな風に書いたのだけど、もっとシンプルに書けるはずだったので復習。 str = 'http://instagram.com/p/hoge/' #hogeを抜き出したい m = str.match(/http:\/\/instagram.c…

Rubyのclass << selfとクラスメソッド、ならびに特異メソッドと特異クラス

Rubyライブラリのソースコードを読んでいると、よく class ↓こんなの class C class << self def foo puts 'foo' end end end C.foo #foo

Sinatraのソースコードを読む(1)

Rubyの軽量フレームワークSinatraのソースコードがイケテルらしいので、がんばって読む事にしました。

PHPで集計するとき、array_reduceと無名関数が便利だった!

PHP

仕事 で「連想配列を要素に持つ配列」を集計処理することが結構ありまして。例えば、以下のようなユーザーを表す配列の中で、「attribute_1」が「本社」に該当するユーザーの「合計数」を出したい。なんてケースがよくあります。

Rubyで「ハッシュの配列」を「ハッシュのキー」でソートする

備忘メモ

「Webサービスのつくり方 」がamazon予約開始!

ゆーすけべーさんの書籍、ついに予約開始 僕の推薦文も載ってるお/// Webサービスのつくり方 ~「新しい」を生み出すための33のエッセイ

Webサービスを作ってみた!僕の10ステップ

1年前は、プログラムも書けない普通の文系リーマンでした。20代最後の年。少人数のチームで素敵なWebサービスを作り出している人達を見て羨ましく思っていました。「自分もチームでWEBサービスを作れるようになりたい」。そう思って業務時間外に勉強をはじめ…

Rubyで文字列を日時に変換する方法

前提 ruby 1.9.2 やりたいこと 文字列を日時に変換(空ならnilにする) しかし、文字列はどのような形式で来るか分からない 方法 標準ライブラリのdateを使う まずDateTime.parse()し、それで処理しきれなければDateTime.strptime() それでだめなら、nil req…

JavaScriptの即時関数の使いどころ

自分なりに使いどころを整理してみた 即時関数の中でvarキーワードをつければ、ローカルになる 即時関数の中でvarキーワードをつけなければ、グローバルになる なので「一部をローカルにして一部をグローバル」が簡単に実現できる

Railsのform_tagで生成されるHTML

Railsのform_tagメソッドがどのようなHTMLを生成するのか整理。

UT Startup Gym 第2期の最終発表会で、★優勝★した!

先日、東京大学で行われた、UT Startup Gym 第2期の最終発表会で、私がリーダーを務めるチームが、見事★優勝★しました!やった!

Facebookアプリ開発勉強会で講師をしてきました

先日、HatchUp様のオフィスで開催された第1回Facebookアプリ開発勉強会で講師をしてきました。あいにくの天気でしたが、当初22名定員の予定が、30名近くの方にご参加いただきました>< 受講者のみなさま、ありがとうございます。

文系リーマンでも、半年でFacebookアプリを1人で作れるようになった

私は文系リーマンで、半年前まではプログラミングができませんでした。けれど、独学で少しずつプログラミングをしたり、勉強会に参加したりすることで、先日「友達Tube」というFacebookアプリを、1人で作ってリリースすることができました。

PHPとJavaScriptの配列や連想配列がごっちゃになるので、整理してみた

PHP(サーバーサイド) ←→ JavaScript(クライアントサイド)がすぐ頭の中でごっちゃになるので、よく使う「配列・連想配列とその走査」について整理してみた。元ネタは、以前のエントリでも紹介した、ゆーすけべーさんのエントリ。 配列 PHP '; } JavaScrip…

ゆーすけべーさんのおっぱいスクリプトをPHPで書き直してみた

php

ゆーすけべーさんのおっぱいスクリプト(2012)がPerlで書かれていたので、PHPに書き直してみた。※なんとRuby版を作った方が! Bingのdeveloperに登録して、AppIdをゲット ここから oppai.php

ゆーすけべーさんの初心者向けエントリ(データ表現)を、phpで練習してみた

php

最近初心者向けに素敵な情報を公開してくれている、ゆーすけべーさんのブログで、データ構造をperlで解説していたが、自分はphpがメインなので、書き直してみた。ポイントは、「データ」と「処理」を頭の中で明確に分けること。料理でいうと、仕込んで(デー…