Time to Read 3分 近いうちに環境をお引越しする必要が出てきたので、自分向けにまとめ。 Ubuntu だと割と色々最初から入ってるし、こんなもんかなあ……。 git パッケージ詳細ページ 大変有名な分散型バー [...]
このたび、株式会社富士山マガジンサービス(fujisan.co.jp)を退社いたしますのでご報告します。2月3日(本日)が最終出社となります。 Fujisan.co.jp では、大変に貴重な経験をたくさん積むことができ、1年と11ヶ月の短さとは思えないぐらい成長ができたと思います。特にエンジニアの皆様においては、ぼくは割とめちゃくちゃな人間だったと思うのですが、見捨てることなく多くのことを教えていただきました。感謝してもし切れません。 多くの方に迷惑を掛けたように思いますし、「良い“ものづくり”」のサイクルを思ったとおりに実現できなかった面があったと思っています。が、ひとえに自分の未熟さに依るもので、今後の課題としたいと思っています。 もう少しだけ違ったことをしたいと思い、より冷たい海に出ていこうと思います。 で、来週からさっそく新しい環境に入ります。そちらについても追ってご報告いたします
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 require 'sinatra' require 'haml' class Sinatra::Request def pjax? env['HTTP_X_PJAX'] || self["_pjax"] end end get '/' do haml "%p this is index...", :layout => !request.pjax? end get '/akubi' do haml "%img{src: 'http://udzura.jp/images/150709359.jpg'}", :layout =>
先日のポストの続き、と言うより一例として、 Lokka に対しての Rack Middleware の使い方を見てみたい。 Lokka は軽量でステキな、 Sinatra ベースの CMS で、オープンソースの権化みたいなクールな会社フィヨルドさんで開発、メンテナンスをされている。個人的にも使わせていただいているソフトウェアなのだけれど、今回の利用にあたって例えば以下のカスタマイズ要件が必要になったとする。 身内向け告知用 CMS のため、 heroku にデプロイする以上、一応 Basic 認証をかけたい さらに、 http でのアクセスは、全部強制的に https にリダイレクトしたい 全部 Rack Middleware でできます。 まず、 Basic 認証ミドルウェアは、 Rack に標準添付されています。 config.ru を編集。 Encoding.default_exte
初めましての方は初めまして。近藤うちお(@udzura)です。 Sinatra ベースのフレームワークである Padrino framework の日本語サイトを管理したりしています。 Ruby Advent Calendar jp: 2011 2日目である今日は、 Sinatra 主要コミッタである rkh が、わずか 8 行で実装した Sinatra クローン、「almost-sinatra.rb」を読み解いたりして、2日目にして一気に読者を置いてけぼりにしたいと思います(1日目はこちら – “Coffeescripting with Ruby”)。 RedBull(できれば複数本)の用意を推奨します…… まずは、全コードを下にコピーして置いておきます。先日、 このパッチ が accept されたので、それが適用された最新バージョンです。 %w.rack tilt backports
概要 私、一応職業としては、主にRuby on Railsで開発をしているプログラマなんですが、Railsの開発環境については以下のように変遷してきました。 NetBeans for Ruby on Windows NetBeans for Ruby on Ubuntu emacs + Rinari on Ubuntu 開発用マシンのOSはここ一年ぐらいUbuntuでやってます。 UbuntuのGNOME環境では(GNOMEなら他もそうなんでしょうが)、標準で「gedit」というエディタがついてきます。 gedit text editor 軽量で、Ruby、PHP、JavaScript、HTML等多くの言語のシンタックスハイライトが最初から用意されていて、Windows風の操作感なので、僕のような「薄い」Linuxユーザにはとても優しい感じなんですね。ちょっとしたファイルの編集には以前から
Debian/Ubuntu では、 moreutils というパッケージに parallel と言うプログラムが含まれている(Debianだとsqueezeから)。しかし、この parallel は GNU parallel ではなく、似ているけどかなり違う何かのようだ。 なので、 parallel と言うコマンド自体は便利なんだけれど、例えば GNU Parallelがすごすぎて生きるのがつらい にあるサンプルがそのまま動かない、素晴らしい導入記事なのに、、、、 そもそもネットで拾えるいろんなサンプルが動かないので…… Ubuntu厨として生きるのはつらい。 で、どうするのか GNU Parallel 20110822 (‘Utøya’) released まずすべきこととして、 Debian and Ubuntu people have complained GNU Parallel
ずっと GNU screen を使ってギ~クを気取りたかったんですが、複雑怪奇な .screenrc などに関するバッドノウハウが怖くて(この辺 zsh 移行とかでも同じようなことが言えそう)何度か挑戦しては挫折していたんです。 でも、ここ数か月ぐらい byobu を導入していて、普通に長いこと使えているし大変快適なので、今回ざっくり紹介してみようかな~とか思います。 byobu とは Ubuntu Manpage: byobu byobu in Launchpad Byobu is a Japanese term for decorative, multi-panel screens that serve as folding room dividers. As an open source project, Byobu is an elegant enhancement of the
RubyKaigi とか色々あって、ふと、僕がプログラミングを始めたころのことを何となく思い出したので走り書きしておきます。特に PHP に関しては記憶が曖昧なところがおおいので、 PHPer モヒカン族によるツッコミを歓迎します。 配列とハッシュが違う PHP においては、配列も連想配列もすべて array() と言う関数で生成する。むしろ、配列というものがキーを数字にしているだけの連想配列と言う位置づけだと思う。 Ruby ではもちろん、主たるコレクションには Array と Hash の二種類が存在し、区別される。最初はこの区別に若干戸惑いを覚えた。 ちなみに Python だとリスト・タプル・辞書ともっと増えるわけで、Javaのコレクションクラスに至ってはさらに多いし、この辺はどの実装が正しいとか適切とかではなく慣習なのかなあ、と思ったりする。 型(クラス)がより厳格 PHP では
require 'net/http' def wbs_request(method, uri_string, data={}) uri = URI.parse(uri_string) uri.path = "/" if uri.path.empty? http = Net::HTTP.new(uri.host) case method.to_s.downcase.to_sym when :get query_string = data.to_a.map{|(k, v)| "#{k}=#{v}"}.join("&") return http.get(uri.path + "?" + query_string).body when :post return http.post(uri.path, data).body when :put, :delete, :head raise NotImp
先日言ったとおり、サーバの引越しを完了させた。 ServersMan@VPSのStandardプランでやっている。ServersMan@VPSは最安値で490円/月だったり、2ヶ月無料キャンペーンをやっていたりするにも関わらずDebianが使えるので、apt信者の人でも安心して使えると思った。 とはいえ、契約初期状態ではDebianはlennyのリポジトリを向いている。これを、squeezeに向けて、なるべく最新のソフトウェアを使えるようにする(以下の方法はサポート対象外の手順なので、自己責任で!)。 手順は簡単で、 /etc/apt/sources.list を、「Debian JP Project – ミラーサイトについて」を参照しつつ例えば以下のようにする(バックアップは取っておこうね!)。 deb http://ftp2.jp.debian.org/debian squeeze m
Gtk::MozEmbed を使う Webサイトのスクリーンショットを撮るサービスの作り方 Gtk::MozEmbed sample Webページのスクリーンショットを撮る方法(Xvfb + Firefox + ImageMagick) 上記のサイトを参考に準備。環境は例によってUbuntu 64bit(Lucid Lynx)。 libgtk-mozembed-ruby をインストール。また、キャプチャを取る関係で、 libgdk-pixbuf2-ruby 、仮想フレームバッファ – Xvfcと、それを動かすためdaemonを入れておく。 1 sudo aptitude install xvfc daemon libgtk-mozembed-ruby libgdk-pixbuf2-ruby あとは、こんな感じのコマンドです。ここのブロックの操作は、デスクトップでは不要です。 1 2 3 s
Time to Read 4分 今回、僕の環境を説明したりします。 sonydb EasyTag cutmp3 Audacity sonydb 以前、利用法の記事を書きました。その通りに使っていけば問題ないかと。。 公式のソフトウェアじゃないので自己責任でご利用いただくことになりますが、僕の場合、利用機種はNW-E026Fで、ここ1年は壊れることなく使用できています。ただ、以下の3点は留意する必要があるでしょう。 Walkmanを初期化したら、最初にWindowsのSonicStage経由で曲を入れてからでないとsonydbで曲を転送できない(データベースが作られていないためだと思う)。 転送中に機器を抜き差しすると曲が全部吹っ飛ぶ(当然やってはいけないことだけど)。 日本語タグは、後述するエンコーディング設定でないと文字化けする。 EasyTag 1 aptitude install e
標記のとおり。遅まきながら,ですが。 普段,NetBeansのRailsモードで開発してたんですが,Rinariなる凄く便利なelispができたようなので,試すついでに色々設定してみました。emacsは23.1.1です。パッケージで言うとemacs23、と明示的に指定します。単純に23のほうが日本語フォントの設定がしやすいからです。。 インストールと設定 一部,emacsとRinariで快適Rails開発! と言う素晴らしい記事を激しくコピペしつつ,以下の手順です。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 sudo aptitude install \ emacs23 emacs23-common emacs23-bin-common emacs23-el \ emacs-goodies-el \ ruby1.8-elisp \ yaml-mode c
最近Ruby on Railsばかりなので、今回もRailsのお話。 何も考えずに特定のIDのレコードを見つける際は、「ActiveRecord::Base#find」という超基本メソッドを使うけれど、同時に、XXXというフィールドに対して「ActiveRecord::Base#find_by_XXX」なるメソッドも定義されているので、「ActiveRecord::Base#find_by_id」でも同じようにidに紐付けて見つけ出せる。 以上は当たり前の話だが、この同じような2つ、重要なところが違う。すなわち、そのIDに紐付くレコードが存在しない場合。 「ActiveRecord::Base#find」は例外が生じる。 1 2 3 4 5 6 7 Post.find(1) #=> ActiveRecord::RecordNotFound: Couldn't find Post with
カリー化とは 複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること。 http://wiki.onakasuita.org/pukiwiki/?%E3%82%AB%E3%83%AA%E3%83%BC%E5%8C%96 http://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%AA%E3%83%BC%E5%8C%96 など参考 最近は「関数が第一級のオブジェクト」、要は「手続きの固まり」を文字列や数字のようにモノ扱いできる、RubyやJavaScriptのような言語が普及しているが、そういう言語では「カリー化」の手法が使える。 例えばRubyで、x個の、yから始まる数の総和を求めるorigという関数を考える。 1 2 3 4 5 6 7 def orig(x, y) re
日ごろgithubさんにお世話になっておりますが、Gitoriousというサービスは自分のコードを公開し、個人でインストールできるようなので入れてみたメモ。 概要 ホストするOSはUbuntu 9.10。 手順は、9.04の場合のものが公式Wikiにあったりする(http://gitorious.org/gitorious/pages/UbuntuInstallation)のでそれを大幅に参照した。基本的にコレの通りで問題ないのだが、Gitorious自体のバージョンが上がったこともあって微妙に違う点もある。 以下、日本語Remix CDを入れたてのまっさらな状態からの構築を想定。 aptで入れたもの 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 sudo aptitude install build-essential\ apache2 apache2-dev\
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く