データベースのテーブル定義で、カラムの順番が重要になることなんてあるのかな、ドキュメントの生成かな、よく知らないけど。ぐらいの認識なのですが、CSV をそのままテーブルに対応させる場合に、プログラム側で都合がよいとこがありました。 あとになってカラムを追加することになった場合は、マイグレーション時の add_column で :after => :column_name と指定する ことでカラムの挿入場所を決めることができます。APIdock になくてググると stackoverflow に投稿がありました。手元の環境では MySQL を使っています。 class AddNewColToTableA < ActiveRecord::Migration # some_column の後ろに new_col, new_col_en を追加 def change add_column :tabl
shell のちょっとしたテクニック - odz buffer odzさんのところで単語の出現頻度を調べるためのワンライナーが紹介されている。 単語抽出についてはいくつかやり方があるので紹介する。 特に egrep -o は非常に実用的。 もちろん、この話はリンク先において主題ではない。 俺のただの自己満足。 tr -cs で単語抽出 $ tr -cs 'a-zA-Z' '\n' < ./.zshrc 上記コマンドで、a-zA-Zのみで構成される文字列を抽出できる。 -c オプションで、'a-zA-Z' の補集合(以外)を '\n' に変換し、 -s オプションで、最後の引数で指定される要素の重複を除去している。すなわち '\n' の連続を除去している。 grep -o で単語抽出 grepには、( -o、--only-matching ) オプションというのがある。 これは、指定された正
シェルスクリプト内で実行した cd コマンドをターミナルに反映させたい。シェルスクリプト内でふつうに cd しても、子プロセスで cd するだけ。exec cd すればいいだろうと思ったのですがうまくゆかず、はてな人力検索で質問しました。そこで、a-kuma3 さんという方に、最後に exec /bin/bash すればよい という、目から鱗なアイディアを教わったので、自慢しておきます。 シェルスクリプト内で実行した cd コマンドをターミナルに反映させたい - 人力検索はてな 検証/理解の確認として、ターミナルで echo $$ し、次のスクリプト dummy.sh を実行し、再度ターミナルで echo $$ してみました。いうなれば、ターミナルで直接向き合っているカレントプロセスをシェルスクリプトのプロセスに差し替える技。なるほど。感動しました。 #!/bin/bash cd /tmp
Web ページからデータを抽出してデータベースに突っ込むことに性的興奮を覚えるみなさん、 ScraperWiki 使うとキモチイイですよ。以上です。 そうではないみなさんには少々の説明が必要かと思いますので少々書きます。 ScraperWiki はスクレーパ(Web ページをスクレイピングするスクリプト)とスクレイピングで得られたデータを共有しようぜっという Web サービスです。Wiki と名が付いていますが Wiki っぽいページ構成になってるわけではなく、スクレーパやデータを誰でも編集できるようにして成果を共有するという理念が Wiki と共通しているのが由来みたいです。 ScraperWiki を使うとスクレーパを作るのがラクになります: Web ベースのエディタでスクレーパを書き、その場で実行できる PHP、 Python または Ruby が使える(HTML パーサなどのモジュ
みなさん、Evernoteは使っていますか? Evernoteは「全てを記憶する」が合言葉のメモアプリで、クラウド上にデータを保存してWin/Mac/iPhone/Webから共通のデータにアクセスしたり同期したりできるのが特徴の便利なサービスです。開発元はシリコンバレーの会社ですが、日本人のユーザも非常に多いそうで、Evernoteの使い方についての記事は日本語でも星の数ほどありますのでここでは触れません。 今回は、そのEvernoteの裏側のシステム概要を解説する記事が今月開設されたばかりの技術ブログに公開されていましたので、翻訳してみました。Architectural Digest | Evernote Tech Blog はじめにこのブログの手始めとして、Evernoteの構築について大雑把な概要を述べる。ここではそれぞれのコンポーネントの詳細に踏み込むことはしない。それらについての
Ruby | 22:45 | せっかく2TBのHDDを買ったので、素敵な画像をたくさん入れてみたいと思った。 require 'open-uri' require 'rexml/document' mail = "mail" pass = "password" num = "50" #dashboadから取得する写真の数、最大50 def url(mail,pass,num) comp = "?email=#{mail}&password=#{pass}&type=photo&num=#{num}" dashboad = "http://www.tumblr.com/api/dashboard" url = dashboad + comp return url end def save_file(url) filename = File.basename(url) open(filenam
インターネット 先日はてなブックマークのエントリーページが改良されました。本日、はてなブックマークのエントリーページ(ブックマークコメントの一覧が表示されるページ)を見やすく改良しました。これまで、エントリーページは、コメントを新着順に表示することを主な目的としたシンプルなページでした。今回の改良で、「人気のブックマークコメント」という欄を新たに設け、はてなスターなどで人気を集めたブックマークコメントを、快適に閲覧できるようにしました。 はてなブックマークのエントリーページを改良しました - はてなブックマーク日記 - 機能変更、お知らせなど 上記の引用にもあるように、はてな運営曰く「見やすく改良」したそうなのですが、多くのはてなユーザーからは非難囂々のようです。確かに、私個人の見解でも少し不便になった気がします。過去のエントリーページと比べて一覧性が低くなったような気がするのです。 過去
インターネットサービスプロバイダの行儀の悪い同居人に巻き込まれてしまった結果,Web掲示板などが利用出来なくなってしまう,そんな経験をしたことがある人は少なくないだろう.特に2ch掲示板では,その掲示板の特性上かこのようなことが大変多く,しかも俺はプロバイダとしてdionを利用しているので,多くの板で年中ほとんどの期間で書き込みが出来ない.2ch掲示板は我々のライフラインであるから,書き込みが不可能であるということは由々しき事態であって,これは何らかの方法を用いることによって改善するべきである. さて,最近の一連の記事の通りさくらのVPSの利用を始めた訳なんだけど,これはスタティックなIPを1つ余分に持っていることと同義であることは容易に理解出来ると思う.今回の目的を達成する為に,このIPアドレスを有効活用しない理由は無い.つまるところ,この VPS を踏み台にするという寸法だ.まず直感的
いろいろ方法はありそうですが。。。 はじめに、教えてもらって、良いなと思ったのはこちら。 $ find . -type f -name "*.php" -exec nkf -w --overwrite {} ; findでディレクトリ以下のphpファイルを見つけて、execでnkfしています。 なるほど、と思ったのですが、UTF-8 への移行計画 - いやなブログさんより、 さらにいいコマンドが紹介されてました。 EUC-JP の.php、.incファイルを UTF-8 に一括変換する場合 $ nkf -Ew **/*.php.inc | nkf --guess UTF-8 $ nkf -Ew --overwrite **/*.php.inc 最初の実行で、変換結果が正しく UTF-8 になるか確認しているようです。 (もし文字化けが起きた場合は BINARY という表示になるみたい) *
ディノでは京都1箇所+都内2箇所+社内の計4箇所に分散されていたデータセンターを京都に集約しつつあります。私は昨日からその関連作業でネットワークチームと京都に来ています。作業の多くが遠く離れたコンピュータを介して行われる事になると同一データセンターのサーバに対してたくさんのSSHを立あげて作業するこは、ネットワーク的に効率的ではありません。クラウド環境がもてはやされている昨今おなじような状況の方も少なくないと推察されます。そこでリモートコンピュータでのオペレーションを効率的にする方法としてGNU Screenをご紹介します。というか、ネットが瞬断したくらいでいちいち文句垂れる奴は迷惑なのでいい加減にGNU Screenを使えばいいとおもいます。 やり方まず、作業用のサーバをデータセンター側に一つ作ります。このサーバへはローカルからSSHのAgentForwardを介してアクセスするので自分
JavaScriptDebouncing Javascript Methods | Unscriptable.com 密に処理が実行されてしまうのを避けるため、二つのかたちがあるとのこと。下のデモ。throttleは、0.5秒ごとに点の位置が変わる。debounceは、0.5秒いると赤くなる。 デモ throttleひとつ目は一定間隔以内の呼び出しは間引いて無視する方法。イベントの発生頻度が多く、処理が重い場合に使う。 Function.prototype.throttle = function(threshold, alt){ threshold = threshold || 100; var me = this; var last = Date.now(); return function(){ var now = Date.now(); if(now - last debounceも
EijiroX 最近, Google Chrome を良く使うようになりました. と言っても, ブラウジング用途にではなく, 専ら EijiroX による辞書引きにですが. EijiroX は id:edvakf さんの作成されたGoogle Chrome 用の拡張機能で, かの「英辞郎」をサクサクっと快適に検索・閲覧するためのツールとなっています. Google Chrome がクロスプラットフォーム対応であるために, Windows, Mac, Linux などで動作し, 日頃からこの三つを代わる代わるに使用している身としては大助り. カナダに足を向けて寝ることは出来ないなと枕の位置を調節する日々です. とまあ, 今日は EijiroX の紹介がメインでは無いので, この辺りにしておきます. 早速, 本題に入りますと, どうせならワンキーでこの EijiroX の表示をトグルできないか
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く