[Linux] # yum -y install yum-fastestmirror で速いリポジトリを自動的に選択

CentOSのパッケージ管理システム yum をアップデートするときに、高速化する方法を調べたのでメモ。

まず、yumコマンドで yum-fastestmirror をインストールします。

# yum -y install yum-fastestmirror

次に、yum check-update で fastestmirror プラグインが正常に読み込まれているか確認します。

# yum check-update
Loading "fastestmirror" plugin
Determining fastest mirrors
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad..jp
* updates: ftp.iij.ad..jp

最後に、yumのアップデートが必要な場合は実行します。

# yum -y update

以上です。


参考情報

yumで速いリポジトリを自動的に選択するには - @IT

[Linux]# yum -y install yum-fastestmirrorでyum高速化 : うえちょこ@ぼろぐ

Mac に Ruby on Rails の開発環境を構築する手順 [Ruby 1.8.7]

MacOS に Ruby 1.8.7 で Ruby on Rails の開発環境を構築する手順をご紹介します。

Ruby on Rails

続きを読む

[Mac] Homebrew をインストール(ついでにGitもインストール)

Macで利用できるパッケージ管理ツール「Homebrew」をインストールしたのでメモ。
(最終更新日:2014/11/19)

・公式:Homebrew — MacPorts driving you to drink? Try Homebrew!

homebrewは、system に元から入っている環境をそのまま使うので、序盤の環境構築をサクサクできるというのがポイントみたいです。

Homebrew インストール

HomebrewのインストールをGitHubからRubyスクリプトで行います。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

インストールが完了したら、brew doctor を実行します。

$ brew doctor
 
Error: Experimental support for using Xcode without the "Command Line Tools".

Command Line Tools をインストールしろと言われるので、

Xcodeのメニュー
Xcode->Open Developer tool -> More Developer tool
をクリックして、ジャンプ先から Command Line Tool for Xcodeをダウンロードする。
ダウンロードして、通常のアプリケーションと同じようにインストール。

再度、brew doctor を実行。

$ brew doctor
Your system is ready to brew.

OK!

Homebrew自体Gitを使っているので、まずGitをインストールします。

インストール後、すぐにupdateします。

$ brew install git
 
$ brew update
 
$ brew -v
0.9.4

以上です。

========

もし、brew install git がエラーで失敗する場合は、kernel.orgのサイトが利用できないのが原因ということがあります。
(今回は kernel.org がメンテナンス中で使えませんでした。)

この場合、Formula内の git.rb を編集して、ダウンロード先のURLを書き換える必要があります。

$ vim /usr/local/Library/Formula/git.rb

デフォルトでは、以下のようになっているのを、

class GitManuals < Formula
  url 'http://kernel.org/pub/software/scm/git/git-manpages-1.7.6.1.tar.bz2'
  md5 'cae559424a62507cb2c15252d85a158e'
end
 
class GitHtmldocs < Formula
  url 'http://kernel.org/pub/software/scm/git/git-htmldocs-1.7.6.1.tar.bz2'
  md5 'f698e0abbf1555582e30320930391c59'
end
 
class Git < Formula
  url 'http://kernel.org/pub/software/scm/git/git-1.7.6.1.tar.bz2'
  md5 'd1e00772cc9dc6c571999feb9e8771ab'

以下のように書き換えます。

class GitManuals < Formula
  url 'http://ftp.uk.freesbie.org/sites/ftp.kernel.org/pub/software/scm/git-core/git-manpages-1.7.6.1.tar.bz2'
  md5 'cae559424a62507cb2c15252d85a158e'
end
 
class GitHtmldocs < Formula
  url 'http://ftp.ntu.edu.tw/ftp/pub2/software/scm/git/git-htmldocs-1.7.6.1.tar.bz2'
  md5 'f698e0abbf1555582e30320930391c59'
end
 
class Git < Formula
  url 'https://github.com/git/git/tarball/v1.7.6.1'
  md5 'ab731cf9b99529f3f8d126aa15d9a1cd'

今回のように、kernel.orgが落ちていたら、ミラーサイトのURLに書き換えましょう。

Index of /pub/software/scm/git

・git関連のミラーサイト:Index of /ftp/pub2/software/scm/git/

・gitのミラーサイト:Downloads for git's git – GitHub

以上です。


参考情報

初めてのHomebrewインストール. #install #環境構築 #homebrew – Qiita

[homebrew]Homebrewインストールメモ | milligramme 3cc

OS X LionのMacbookAirを買ってからRailsの開発環境整えるためにやったことメモ | 野ログはノロキュアMaxHeart

Installation – GitHub

homebrew – alternative source for installing git. brew install git; kernel.org Down for maintenance – Stack Overflow

Mac Port をアンインストールする方法

Macで利用できるパッケージ管理ツール Mac Port をアンインストールする方法を調べたのでメモ。

$ sudo port -fp uninstall --follow-dependents installed
$ sudo rm -rf \
    /opt/local \
    /Applications/DarwinPorts \
    /Applications/MacPorts \
    /Library/LaunchDaemons/org.macports.* \
    /Library/Receipts/DarwinPorts*.pkg \
    /Library/Receipts/MacPorts*.pkg \
    /Library/StartupItems/DarwinPortsStartup \
    /Library/Tcl/darwinports1.0 \
    /Library/Tcl/macports1.0 \
    ~/.macports

【参考】

2.5. Uninstall はてなブックマーク - 2.5. Uninstall

satomacoto: MacPortsを消す/アンインストールする方法 はてなブックマーク - satomacoto: MacPortsを消す/アンインストールする方法
 

[Facebook] Graph APIのリクエスト制限は1分間に600回?

 

Facebookの Graph API のリクエスト制限は1分間に600回という情報を見つけたのでメモ。(非公式ですが)
 

Graph APIを毎回叩くのは遅いし、API制限に引っかかりそうです。API制限を調べてみると、公式には何も書いてありませんが、どうも1分間に600回というようなことがまことしやかに言われています。
 

・引用元:Rails Hub情報局: 素人がWebサービスを作ってみて分かった9つのこと はてなブックマーク - Rails Hub情報局: 素人がWebサービスを作ってみて分かった9つのこと

 

APIの公式ドキュメントにちゃんと明記されてるよ!って情報があれば教えて下さい。
 

[DotCloud] Web/DBサーバーにファイル転送する方法

 

DotCloudで立ち上げたWebサーバーやDBサーバーにファイル転送する方法を@utahtaさんに教えてもらったのでメモ。
 

サーバにファイルを置くには、scpコマンドを使ってできるそうです。

(全てコマンドラインからの実行です)
 

まず、dotcloudのinfoコマンドを使って、以下のようにdbが動いているサーバのURLを調べます。
 

1
2
3
4
5
$ dotcloud info example.db
...
-   name: ssh
    url: ssh://dotcloud@XXXX.dotcloud.com:ポート
...

 

続いて、取得したURL宛にscpコマンドを叩きます。
 

1
$ scp -P ポート -i ~/.dotcloud/dotcloud.key 転送するファイル dotcloud@XXXX.dotcloud.com:

 

以上で、対象のサーバにファイルを転送できます。
 

DotCloudでWebサービス開発を始めるなら読んでおきたい記事まとめ

 

DotCloudを入門して、Webサービスを作るまでに参考になった記事をまとめてみました。
 

DotCloudを利用して何か作ってる系の記事はほぼ網羅しているつもりです。(随時更新予定)
 

・公式:DotCloud – Deployment made simple はてなブックマーク - DotCloud - Deployment made simple
 

ちなみに、僕がDotCloudを利用して作ったウェブサービスはこちらです。

よければ使ってみてください!!
 

自炊戦隊サイダーン | 電子書籍化支援!裁断本を一括検索 はてなブックマーク - 自炊戦隊サイダーン | 電子書籍化支援!裁断本を一括検索
 

以下、ジャンル別に分類しています。
 
 

■ Python 関連
 

PythonでWebアプリつくるのにDotCloudに登録しない手はない – YAMAGUCHI::weblog はてなブックマーク - PythonでWebアプリつくるのにDotCloudに登録しない手はない - YAMAGUCHI::weblog

dotcloudとPythonを使ってWebアプリを公開してみた。無料で。 | ninxit.blog はてなブックマーク - dotcloudとPythonを使ってWebアプリを公開してみた。無料で。 | ninxit.blog

Python/Django/Zope:ある nakagami の日記:So-netブログ はてなブックマーク - Python/Django/Zope:ある nakagami の日記:So-netブログ

dotcloud に flask アプリをデプロイする。 – kuma8の日記 はてなブックマーク - dotcloud に flask アプリをデプロイする。 - kuma8の日記

dotcloudでサクっとpython/flask/mongodbデプロイ | low level life はてなブックマーク - dotcloudでサクっとpython/flask/mongodbデプロイ | low level life

python – Web.py on dotcloud with wsgi – Stack Overflow はてなブックマーク - python - Web.py on dotcloud with wsgi - Stack Overflow

Python で作る Facebook ページの「いいね!」ファン限定コンテンツ (ファンゲート) – さよならストレス はてなブックマーク - Python で作る Facebook ページの「いいね!」ファン限定コンテンツ (ファンゲート) - さよならストレス
 
 

■ Perl
 

・DotCloudは開発者のための優良なプラットフォーム – ゆーすけべー日記 はてなブックマーク - DotCloudは開発者のための優良なプラットフォーム - ゆーすけべー日記

dotcloudで遊んでみた – antipop はてなブックマーク - dotcloudで遊んでみた - antipop
 
 

■ PHP
 

DotCloud で PHP アプリを設置してみたときの色々 – 肉とご飯と甘いもの @ sotarok はてなブックマーク - DotCloud で PHP アプリを設置してみたときの色々 - 肉とご飯と甘いもの @ sotarok

新しいPaaS?のDotCloudを試す – λab’s Blog はてなブックマーク - 新しいPaaS?のDotCloudを試す - λab's Blog

DotCloudでのMySQL,Redis,MongoDBの使い方 « Rest Term はてなブックマーク - DotCloudでのMySQL,Redis,MongoDBの使い方 « Rest Term
 
 

■ Node.js
 

DotCloudでNode.js+tweet streamAPIのクローラーを公開  しようとした – 写真と読書と時々プログラマー はてなブックマーク - DotCloudでNode.js+tweet streamAPIのクローラーを公開  しようとした - 写真と読書と時々プログラマー
 
 

■ CentOSにDotCloud をインストール
 

CentOS 5.5にdotcloudの開発環境を作る | らいふログ はてなブックマーク - CentOS 5.5にdotcloudの開発環境を作る | らいふログ

【ためした】dotcloud – php start « Presented by Mickey!! はてなブックマーク - 【ためした】dotcloud – php start « Presented by Mickey!!
 
 

■ 色々、試してみた系
 

[WordPress]
 

WordPress を dotCloud にデプロイ | hiromasa.another :o) はてなブックマーク - WordPress を dotCloud にデプロイ | hiromasa.another :o)

CORESERVERからdotCloudにWordPressをお引っ越し « LANCARD.LAB|ランカードコムのスタッフブログ はてなブックマーク - CORESERVERからdotCloudにWordPressをお引っ越し « LANCARD.LAB|ランカードコムのスタッフブログ

dotcloudでサクっとpython/flask/mongodbデプロイ | low level life はてなブックマーク - dotcloudでサクっとpython/flask/mongodbデプロイ | low level life
 

[Twitterアプリ]
 

Twitter検索からももクロ関連のTweetをダラ見する – すぎゃーんメモ はてなブックマーク - Twitter検索からももクロ関連のTweetをダラ見する - すぎゃーんメモ
 

[Facebookアプリ]

PinMarch: Facebookアプリ on DotCloudを試す はてなブックマーク - PinMarch: Facebookアプリ on DotCloudを試す

Python で作る Facebook ページの「いいね!」ファン限定コンテンツ (ファンゲート) – さよならストレス はてなブックマーク - Python で作る Facebook ページの「いいね!」ファン限定コンテンツ (ファンゲート) - さよならストレス
 

[Redmine]
 

Redmine on Dotcloud – jptomo断章 はてなブックマーク - Redmine on Dotcloud - jptomo断章
 
 

■ その他、便利系
 

dotcloudのコマンドがまとめられた便利なチートシート – 大人になったら肺呼吸 はてなブックマーク - dotcloudのコマンドがまとめられた便利なチートシート - 大人になったら肺呼吸

DotCloudのプラン確認 – こしごぇ はてなブックマーク - DotCloudのプラン確認 - こしごぇ

Backing Up Database to Dropbox on DotCloud Platform | Ollix Blog はてなブックマーク - Backing Up Database to Dropbox on DotCloud Platform | Ollix Blog

dotcloudからファイルをバックアップするシェルスクリプト – ymkoの日記 はてなブックマーク - dotcloudからファイルをバックアップするシェルスクリプト - ymkoの日記
 
 

以上です。(随時更新予定)
 

[PEAR] Amazon API の ItemSearch を使った複数キーワードでの検索方法

 

Amazon API を使える PEAR :: Services_Amazon の ItemSearch を使って、複数キーワードでの検索をしてみました。
 

・参考:Docs For Class Services_Amazon
 

ItemSearch の使い方サンプルは以下のようになっています。
 

1
2
3
4
5
6
7
8
9
10
11
<?php
 
$amazon = new Services_Amazon('[your Access Key ID here]', '[your Secret Access key here]');
 
$options = array();
$options['Keywords'] = 'sushi';
$options['ResponseGroup'] = 'ItemIds,ItemAttributes,Images';
 
$result = $amazon->ItemSearch('Books', $options);
 
 ?>

これの $options[‘Keywords’] の部分を下記のようにすれば、「書籍名」「著者名」「出版社名」と複数のキーワードで検索できます。
 

1
2
3
4
5
$title = '検索したい書籍名';
$author = '検索したい著者名';
$publisher = '検索したい出版社名';
 
$options['Keywords'] = $title . $author . $publisher;

 

このとき、キーワードに含まれる「書籍名」「著者名」「出版社名」は、検索時にAmazon側での区別はされていません。
 

Amazonには、これらの文字列3つを連結した文字列の内容で検索しています。
 

以上です。
 

[PEAR] Services_Amazon をインストールして Amazon API を使ってみました

PEARの Services_Amazon をインストールして Amazon API を使ってみました。

・参考:Amazon APIを使って簡単にランキングを取得する – EC studio 技術ブログ はてなブックマーク - Amazon APIを使って簡単にランキングを取得する - EC studio 技術ブログ
 

1. PEAR HTTP_Request2 のインストール

# pear install -a HTTP_Request2-alpha

※Services_Amazonで使用しているHTTP_Request内で使用しているので、まずこちらをインストール。

※インストールのバージョン(state)は最新のものを指定してください

※インストールする際に、依存するパッケージも合わせてインストールするため、オプションに「-a」を指定しています。

 

2. PEAR Services_Amazon のインストール

# pear install -a Services_Amazon-beta

 

3. ちゃんとインストールされたか確認

# pear list

以下の4つがインストールされていればOKです。(バージョンは、2011/05/17 時点)

Cache            1.5.6    stable
HTTP_Request2    2.0.0RC1 beta
Services_Amazon  0.8.0    beta
XML_Serializer   0.20.2   beta

 

以上です。
 

[Symfony1.4] Strict、Deprecated エラーや Warning を表示させない設定方法

 

Symfony1.4 にて、PEARを使うと、StrictエラーやらDeprecatedエラーやらが大量に出力されました。
 

エラーの出力設定を php.ini で変更したのですが、Symfonyのプログラムでは反映されていませんでした。
 

Symfonyには プロジェクトホーム/apps/frontend/config/settings.yml に error_reporting が書かれているので、php.ini の設定をこれで上書きしてしまっているようです。
 

ちなみに、「error_reporting」というワードが記載されているファイルは以下のように grep コマンドで探します。
 

1
2
3
4
5
# grep -R error_reporting ./
 
./cache/frontend/dev/config/config_settings.yml.php:  'sf_error_reporting' => 32767,
./apps/frontend/config/settings.yml:    error_reporting:        <?php echo (E_ALL | E_STRICT)."\n" ?>
./apps/frontend/config/settings.yml:    error_reporting:        <?php echo ((E_ALL | E_STRICT) ^ E_NOTICE)."\n" ?>

 

該当しそうな部分が見つかりました。
 

cache の config_settings.yml.php に ‘sf_error_reporting’ => 32767, とあり、32767 デフォルトのE_ALL | E_STRICTなので、php.ini の設定がSymfony側に反映されていないことが、ここで確認できます。
 

デフォルトでは settings.yml は以下のようになっています。
 

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
# You can find more information about this file on the symfony website:
# http://www.symfony-project.org/reference/1_4/en/04-Settings

prod:
  .settings:
    no_script_name:         true
    logging_enabled:        false

dev:
  .settings:
    error_reporting:        <?php echo (E_ALL | E_STRICT)."\n" ?>
    web_debug:              true
    cache:                  false
    no_script_name:         false
    etag:                   false

test:
  .settings:
    error_reporting:        <?php echo ((E_ALL | E_STRICT) ^ E_NOTICE)."\n" ?>
    cache:                  false
    web_debug:              false
    no_script_name:         false
    etag:                   false

all:
  .settings:
    # Form security secret (CSRF protection)
    csrf_secret:            ebfxa42b0x90387xd2fx4d24xd00xxx38c1a9x16
 
    # Output escaping settings
    escaping_strategy:      true
    escaping_method:        ESC_SPECIALCHARS
 
    # Enable the database manager
    use_database:           true

 

dev の部分を以下のように変更して、Strict エラーと Deprecated エラーを表示させないようにします。
 

1
2
3
dev:
  .settings:
    error_reporting:        <?php echo (E_ALL & ~E_DEPRECATED)."\n" ?>

 

以上です。