manページをPDFにする

man -t ls | pstopdf -i -o ~/Desktop/ls.pdf

DBデータをコマンドライン一発で別サーバへ移動させる

mysql_dumpして、アーカイブして、それをSCPで移動させてとか面倒。コマンド一発で移動させたい。 from_server >> to_serverというデータの流れを想定。from_server上で下記コマンドを実行する。 mysqldump -u user_name -p password db_name | ssh user@to_…

コメント行、空行を除いて表示する

コメント行が多く、肝心の設定が把握しづらい設定ファイルがある。そこで、コメント行と空行を除いて表示させる方法を紹介する。 $ grep -v -e '#' -e '^$' /usr/local/nginx/conf/nginx.conf 簡単に解説をすると、-e pattern_nameにて、パターンを指定しま…

バックアップファイルを一括削除する

TextMate2では、「._foobar.txt」みたいなバックアップファイルが生成されるようになった。このバックアップファイルをコマンドで一括削除する。 $ find . -name "\._*" | xargs rm 参考 カレントディレクトリ以下のファイルの総行数を調べる - 屑プログラマ…

カラムの文字コード変更

MySQLは、データベース、テーブル、カラムそれぞれに文字コードが設定可能。カラムに文字コードが指定してある場合、これを変更するには、下記コマンドを実行する。 ALTER TABLE t MODIFY col varchar(255) CHARACTER SET utf8; 変更されたかどうかは、下記…

OS X Marvericks

OS X Marvericksにアップグレードして一番困ったのは、MySQLとPostgreSQLが起動しなくなったこと。とりあえず、データだけでも何とかして取り出したい。 MySQLの場合 $ sudo /opt/local/bin/mysqld_safe5これで起動するはずなので、いつもどおり、mysqldump…

VirtualBoxで、共有フォルダを利用する(CentOS 6.4編)

VirtualBoxでゲストOS−ホストOS間でファイルをやりとりするケースは多い。ファイルのやりとりだけなら、VirtualBoxの共有フォルダを利用するのが簡単。利用するためには、VirtualBoxのGuest Additionsをインストールし、共有フォルダの設定を行う。 Guest Ad…

Rubyで指定した範囲の日付を列挙する

一ヶ月ほどブログ更新していませんでしたね。 >> (Date.parse("2013/1/20")..Date.parse("2013/3/2")).each {|i| puts i } 2013-01-20 2013-01-21 2013-01-22 2013-01-23 2013-01-24 2013-01-25 2013-01-26 2013-01-27 2013-01-28 2013-01-29 2013-01-30 201…

DebianBanner no

DebianBannerとは、Debian系ディストリのSSHD設定オプション。初めて知りましたが、SSHの接続時にOSの情報が漏れている見たいですね。積極的に漏らす必要は無いので、しっかり消しましょう。ApacheでいうServerTokens的な感じですかね。man sshd_config にDe…

PostgreSQLの認証方式について

PostgreSQLの標準では、認証にIdent認証を利用している場合がある。これは、DBに接続させるユーザとOSのユーザ名を一致させなければならないというものである。クライアントの認証は、pg_hba.conf の中で定義してある。 # /var/lib/pgsql/data/pg_hba.conf #…

RAID1+ホットスペアとRADI1ADMの違い

hw

RAID1+ホットスペアとは、3台のHDを以下のように使用することである。 HD1 ミラーリング HD2 ミラーリング HD3 通電状態で待機(ホットスペア) ホットスペアでは、HD1かHD2のどちらか故障した場合、待機中のHD3(ホットスペア)の再構築を直ぐに行い、HD1…

DMZ(非武装地帯)とは?

nw

DMZ(非武装地帯)。公開用のサーバを設置する専用の場所。DMZは、ファイアウォールを利用することで作成できる。ファイアウォールの役割 社内ネットワーク→外部ネットワーク 社内で許可されているパケットのみ通す。 外部ネットワーク→社内ネットワーク 社…

拡張をインストールする(9.1編)

PostgreSQLでは、拡張機能を利用することにより、機能を追加できる。利用出来る機能は下記の通り(他にも有るのかもしれないが)。これらの拡張機能を利用可能にする方法が、PostgreSQLのバージョンによって異なる。今回は、簡単な方、つまりPostgreSQL9.1以…

コマンドラインでメールを送信

よく忘れるのでメモ echo "body........." | mail -s "Subject here." foobar@example.com

uniqコマンドで重複行をカウントしてランキングを求める

下記のようなテキストを考える。誰が最もログインしているか知りたい。 $ cat test.txt "login"=>"admin" "login"=>"guest" "login"=>"guest" "login"=>"mike" "login"=>"admin" "login"=>"" "login"=>"" "login"=>"" "login"=>"" "login"=>"taro" "login"=>…

ヒュベニの公式で地図上の2地点間の距離を求める

地図上の2点間の距離を求めるのはやっかいな問題だ。地球は丸いため、ピタゴラスの定理で求めることは出来ず、難しい計算を要するためだ。今回、数ある計算式の中から、比較的簡単なヒュベニの公式を挙げておく。ただ、この公式、カシミール 3Dで利用されて…

yumとwgetでproxy超え

yumの場合 # /etc/yum.conf proxy=http://your.proxy.server:8080wgetの場合 # /etc/wgetrc、または~/.wgetrc http_proxy=http://your.proxy.server:8080 ftp_proxy=http://your.proxy.server:8080どちらもhttp_proxyと書いて上手く行かなかった。bashの環境…

サーバ初回接続時の公開鍵のfingerprint確認方法について

[~/.ssh@rish]ssh root@hostname The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established. RSA key fingerprint is 51:92:03:78:03:a7:8b:9f:27:95:75:96:89:5a:8b:f7. Are you sure you want to continue connecting (yes/no)?…

PostgreSQLで連番付与(PostgreSQLでもROWNUM使いたい)

SELECTした順番に連番付けたいときありますよね。OracleだとROWNUMというものがあるらしいです。PostgreSQLでは、Ver8.4以降に実装されたWindows関数を利用するのが簡単だと思います。Window関数ってのは、GROUP BYを集約せず、それぞれのROWに対して関数を…

proxy環境でのgem

下記のようなエラーが出て困る。どうやらproxy環境では下記のようになるようだ。ということで、gemからの接続時にproxyを挟む必要がある。 # gem install rails ERROR: Could not find a valid gem 'rails' (>= 0) in any repository ~/.gemrc *1に下記のよ…

LinuxでCVS処理

サンプルは以下。 20130201070000,91.699 20130201070100,91.690 # yyyymmddhhmmss, price cutコマンドを利用する。cutコマンドは、ファイルの各行に対して指定した部分の文字列を切り出すコマンド。カンマで分割し、左から2列目を切り出す。 $ head USDJPY_…

KoboのAndroidアプリは基本機能にはもう少し頑張って欲しいが、挑戦的な作り

電子書籍体験したいなと思い、AndroidのKobo使ってます。KindleはAmazon.com利用なので、アカウント統合すると色々不都合なのでKoboにしました。全く期待していなかったのですが、これが面白い作りです。ただ、基本機能はイマイチなところが多いので、これか…

達人に学ぶ SQL徹底指南書

達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)作者: ミック出版社/メーカー: 翔泳社発売日: 2008/02/07メディア: 単行本(ソフトカバー)購入: 54人 クリック: 1,004回この商品を含むブログ (76件) を見るSQLは一通り書けるけど、RDBMSがまだ"表"モデルだと思…

RailsでKWIC

KWICと言っていいのか悩ましいところだが、検索結果で下記のようなことを行いたいケースは一般的だと思う。 検索語の前後x文字を表示 検索語を強調させたいときがある これをRailsで実現するには、viewに以下のように書く。 highlight(excerpt(article_body,…

RubyGemsでRIとRDocを作成しない

~/.gemrc に以下のように書く。 gem: --no-ri --no-rdoc または、 install: --no-rdoc --no-ri update: --no-rdoc --no-ri

Macでファイル名に濁音、半濁音を利用したらハマった。

Ruby1.9で文字列比較していたら、同じ文字列のはずなのに一致しなくて悩んでいた。なので、String#dumpしてみると… >> puts filname.inspect => "うぃきぺいじ.md" >> p filname.dump => "\"\\u{3046}\\u{3043}\\u{304d}\\u{3078}\\u{309a}\\u{3044}\\u{3057…

Postgresql で null を 0 で返す方法

select price + tax from mytable; みたいなことをしようとしたら、taxにnullが入っていて計算が上手く行かなかった。ということで、nullを0に変えてやる必要がある。 select coalesce(column, 0) from mytable; ここではPostgresのcoalesce関数を利用した。…

ダウンロードが途中で止まった

ブラウザで大きいファイルをダウンロードしていて途中で止まってしまった。再開ボタンを押しても新しいダウンロードが始まってしまうだけ。また最初からダウンロードするのも疲れた…という時に思い出したいtips.前提としては、途中までダウンロードしたファ…

Ruby1.9でUTF-8の漢字だけ正規表現でヒットさせる

1.9.2 :001 > "隣の客は良く柿食う客だ".each_char do |c| 1.9.2 :002 > if c =~ /\p{Han}/ 1.9.2 :003?> puts $& 1.9.2 :004?> end 1.9.2 :005?> end 隣 客 良 柿 食 客 => "隣の客は良く柿食う客だ" Ruby1.9では正規表現のエンジンがonigurumaに変更になっ…

コピーした記号がどういう意味か知りたい場合

` とか ¶ どういう意味だろう。どうやって調べればいいのだろうという時はWikipediaで調べましょう。http://ja.wikipedia.org/wiki/` http://ja.wikipedia.org/wiki/¶みたいにURLの http://ja.wikipedia.org/wiki/ の後に続けて記号を入れれば調べられます。

必要のないコードはしっかり消しましょう

直していたコードが実は使われていなかった件。コードを直すもなかなか上手くいかず。そこは運悪くメール送信処理。自分が悪いにも関わらずメールサーバーを疑うはめに。真に疑うべきは、別の場所にあったとさ。教訓。いらないコードはいらないと思った時に…

CakePHPでAppControllerのbeforeFilter()が呼び出されない時

AppControllerのbeforeFilter()に処理を書けば、それぞれのメソッドに共通する処理を書けるのだが、個別のControllerにてbeforeFilter()を設定してしまった場合、親(要するにAppController)のbeforeFilter()を呼び出す必要がある。かなりハマった。またCak…

Google IMEアップデートした

1.05くらいなのが、1.4くらいになってた。まだ違いはよくわからないが、機能が色々と追加されているみたい。忘れがちだと思われるので是非アップデートしてみてください。

HTMLにおける強調にはemとstrongがある

HTMLにはemとstrongという要素型があり、それぞれ強調とより強い強調を示すものとされています。これらの要素については、強調の強弱を示すためなら要素を多重に入れ子にすればよい(例えば、強調 のように)との考えから、強調を表す要素は2つも必要無いと…

カゴヤ・クラウド/VPSにプラン変更機能キター

仮想専用サーバー・VPS | スケールアップ | オプション | カゴヤ・クラウド/VPSカゴヤ・クラウド/VPSにスケールアップ機能が追加された模様。今回の仕様変更で、サーバーのリソースが柔軟に変更できるようになりました。また、今気づきましたが、サーバーの…

seam-carving という新しい画像リサイズ方法

前から知っていたんだけど、いざ利用する際に名前が分からず何時間も探していたので個人的にメモしておく。画像の縮小を行う際、原則的には、画像の比率は変わらずに小さくなる。ところが、seam-carvingでは、面白いことが起きる。これを言葉で説明するのは…

CakePHP2でBASIC認証

事情がありCakePHPでBASIC認証に挑戦。ところがPHPもCakePHPもあまり詳しくなく、さらにネット転がっている情報のほとんどがCakePHP1の情報で動くまで大変苦労しました。その試行錯誤の結果を記しておきます。まず、データベースにテーブルを作成します。今…

Rails3.2でRails.logger.debug効かない…

Rails.logger.debug { "message" } # 何も表示されない Rails.logger.debug "message" # ブロック渡しやめる。表示される。 便利に使っていたのですが、Rails2.3にアップグレードしてからログに何も表示されなくなりました。ブロック渡しをやめたら動きまし…

mongoidでログに色付ける

mongoidは便利で出来る子だが、ログに色付いていないのがいまいち。ということで色を付けましょう。Gemfileに以下を付け加える。 group :development, :test do gem 'mongoid_colored_logger' end

”The following packages have been kept back”

apt-get update すると下記のようなメッセージを見かける。 以下のパッケージは保留されます: # The following packages have been kept back:(英語の場合) linux-headers-server linux-image-server linux-server How do I upgrade the kernel in Ubuntu …

counter_cacheは、合計値を計算しているわけではないようだ

まぁ、APIに書いてあるから説明するのもどうかと思うんだが、日本語での情報は見た記憶がないので誰かのために残しておく。 class Comment < ActiveRecord::Base belongs_to :article, :counter_cache => true # counter_cacheを有効にする際には、予め arti…

ベンチャー企業が起業時に導入するビジネスツール ベスト5についてツッコミを入れる会

ベンチャー企業が起業時に導入するビジネスツール ベスト5 ― 米 BestVendor 調べ - インターネットコムツールって大事ですからね。ベスト5まで突っ込み入れるのは面倒なので、原則ベスト3まで。また一部省いている項目があるので興味が有る方は元記事参照…

MongoDBを使う

$ mongo MongoDB shell version: 2.0.2 connecting to: test Tue Jan 17 22:43:09 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84 exception: connect failed まず、サーバーであるmongod(daemon??)を動かす。mongodサーバーも立ち上がって…

グーグルのバグ予測アルゴリズムを実装したツール「bugspots」は思ったより簡単な作りだった

予備知識: グーグルのバグ予測アルゴリズムを実装したツール「bugspots」、オープンソースで公開 - Publickey バグ修正のための変更の40%が新たなバグを混入するという研究結果 - Googleのバグ予測方法との共通点:森崎修司の「どうやってはかるの?」:IT…

全国お気軽Railsハッカーの皆さん。ホスティングにカゴヤ・クラウド/VPSはいかがっすか?

お気軽Railsハッカーってなんだよというツッコミは置いておいて、VPSの普及のお陰でRailsのホスティングは随分と改善されたように思います。でも、サーバーのセッティングって面倒ですよね。慣れないサーバーの設定するくらいなら、アプリの開発に注力したい…

AjaxのPOSTでsessionが取得できない

RailsでjQueryなどの今時なライブラリを使わずにAjaxに挑んだメモRailsでフツーのGETではsessionが取得出来てるのに、AjaxでPOSTしたときはなぜかsessionが取得できない。POSTだから? Ajaxはセッション使えない? まさかjQueryがその辺上手く処理してた? …

Wordpressのshortcodeで投稿最新リスト表示

function list_news() { $my_query = new WP_Query('showposts=10&orderby=date&order=DESC&post_status=publish'); $retHtml='<ul>'; while ($my_query->have_posts()) { $my_query->the_post(); $retHtml.= '<li>'. the_date('Y/m/d', '<span class="date">', '</span>', false). '<a href="'.get_permalink().'">'.the_t…</a></li></ul>

自分の知っているGoogleMaps子ネタ

ストリートビュー表示時に、「3」を押すと、3D表示になる。ただし、がっかり機能。 お台場から出ている観光船の航路もストリートビューで見られる。

Poeditの使い方

某Wordpressのプラグインの翻訳ファイルを修正した際のメモ。Poedit 取扱説明書がよくまとまっているが、要点を取り出す。 Poeditを起動させ、ファイル > 新規カタログ 情報タブで言語や国やキャラクタセットを記入 パスで、ベースのパスとパスを追加 自分の…

いつか来るかもしれないGmail有料化に備える

http://internet.watch.impress.co.jp/docs/news/20111028_487036.htmlGAE、そしてGoogleMapsと順調に課金へと軸足をずらすGoogle様ですが、次はGmail, カレンダー, docs辺りが来るのではないかと個人的には思っております。いつまでも無料だと思わないほう…