-
[uechoco@localhost src]$ sudo yum install git --enablerepo=rpmforge
-
Loaded plugins: fastestmirror
-
Determining fastest mirrors
-
* rpmforge: apt.sw.be
-
* updates: www.ftp.ne.jp
-
rpmforge | 1.1 kB 00:00
-
primary.xml.gz | 3.5 MB 02:06
-
rpmforge 9732/9732
-
base | 2.1 kB 00:00
-
primary.sqlite.bz2 | 1.6 MB 00:02
-
updates | 1.9 kB 00:00
-
primary.sqlite.bz2 | 235 kB 00:00
-
addons | 951 B 00:00
-
primary.xml.gz | 201 B 00:00
-
extras | 1.1 kB 00:00
-
primary.xml.gz | 107 kB 00:00
-
extras 325/325
-
Setting up Install Process
-
Parsing package install arguments
-
Resolving Dependencies
-
--> Running transaction check
-
---> Package git.i386 0:1.5.2.1-1.el5.rf set to be updated
-
--> Processing Dependency: rcs for package: git
-
--> Processing Dependency: perl(SVN::Core) for package: git
-
--> Processing Dependency: perl(Git) for package: git
-
--> Processing Dependency: perl(SVN::Delta) for package: git
-
--> Processing Dependency: perl(LWP::UserAgent) for package: git
-
--> Processing Dependency: perl(SVN::Ra) for package: git
-
--> Running transaction check
-
---> Package rcs.i386 0:5.7-30.1 set to be updated
-
---> Package subversion-perl.i386 0:1.6.6-0.1.el5.rf set to be updated
-
--> Processing Dependency: subversion = 1.6.6-0.1.el5.rf for package: subversion-perl
-
---> Package perl-libwww-perl.noarch 0:5.805-1.1.1 set to be updated
-
--> Processing Dependency: perl-HTML-Parser>= 3.33 for package: perl-libwww-perl
-
--> Processing Dependency: perl(HTML::Entities) for package: perl-libwww-perl
-
--> Processing Dependency: perl(Compress::Zlib) for package: perl-libwww-perl
-
---> Package perl-Git.i386 0:1.5.2.1-1.el5.rf set to be updated
-
--> Processing Dependency: perl(Error) for package: perl-Git
-
--> Running transaction check
-
---> Package perl-Error.noarch 0:0.17015-1.el5.rf set to be updated
-
---> Package perl-HTML-Parser.i386 0:3.62-1.el5.rf set to be updated
-
--> Processing Dependency: perl(HTML::Tagset) for package: perl-HTML-Parser
-
---> Package subversion.i386 0:1.6.6-0.1.el5.rf set to be updated
-
---> Package perl-IO-Compress.noarch 0:2.021-1.el5.rf set to be updated
-
--> Processing Dependency: perl(Compress::Raw::Bzip2)>= 2.021 for package: perl-IO-Compress
-
--> Processing Dependency: perl(Compress::Raw::Zlib)>= 2.021 for package: perl-IO-Compress
-
--> Running transaction check
-
---> Package perl-Compress-Raw-Zlib.i386 0:2.021-1.el5.rf set to be updated
-
---> Package perl-Compress-Raw-Bzip2.i386 0:2.021-1.el5.rf set to be updated
-
---> Package perl-HTML-Tagset.noarch 0:3.20-1.el5.rf set to be updated
-
--> Finished Dependency Resolution
-
-
Dependencies Resolved
-
-
================================================================================
-
Package Arch Version Repository Size
-
================================================================================
-
Installing:
-
git i386 1.5.2.1-1.el5.rf rpmforge 27 M
-
Updating:
-
subversion i386 1.6.6-0.1.el5.rf rpmforge 6.5 M
-
Installing for dependencies:
-
perl-Compress-Raw-Bzip2 i386 2.021-1.el5.rf rpmforge 108 k
-
perl-Compress-Raw-Zlib i386 2.021-1.el5.rf rpmforge 169 k
-
perl-Error noarch 0.17015-1.el5.rf rpmforge 27 k
-
perl-Git i386 1.5.2.1-1.el5.rf rpmforge 18 k
-
perl-HTML-Parser i386 3.62-1.el5.rf rpmforge 148 k
-
perl-HTML-Tagset noarch 3.20-1.el5.rf rpmforge 14 k
-
perl-IO-Compress noarch 2.021-1.el5.rf rpmforge 238 k
-
perl-libwww-perl noarch 5.805-1.1.1 base 376 k
-
rcs i386 5.7-30.1 base 332 k
-
subversion-perl i386 1.6.6-0.1.el5.rf rpmforge 2.3 M
-
-
Transaction Summary
-
================================================================================
-
Install 11 Package(s)
-
Update 1 Package(s)
-
Remove 0 Package(s)
-
-
Total download size: 37 M
-
Is this ok [y/N]: y
-
Downloading Packages:
-
(1/12): perl-HTML-Tagset-3.20-1.el5.rf.noarch.rpm | 14 kB 00:00
-
(2/12): perl-Git-1.5.2.1-1.el5.rf.i386.rpm | 18 kB 00:00
-
(3/12): perl-Error-0.17015-1.el5.rf.noarch.rpm | 27 kB 00:00
-
(4/12): perl-Compress-Raw-Bzip2-2.021-1.el5.rf.i386.rpm | 108 kB 00:01
-
(5/12): perl-HTML-Parser-3.62-1.el5.rf.i386.rpm | 148 kB 00:02
-
(6/12): perl-Compress-Raw-Zlib-2.021-1.el5.rf.i386.rpm | 169 kB 00:06
-
(7/12): perl-IO-Compress-2.021-1.el5.rf.noarch.rpm | 238 kB 00:06
-
(8/12): rcs-5.7-30.1.i386.rpm | 332 kB 00:01
-
(9/12): perl-libwww-perl-5.805-1.1.1.noarch.rpm | 376 kB 00:00
-
(10/12): subversion-perl-1.6.6-0.1.el5.rf.i386.rpm | 2.3 MB 01:34
-
(11/12): subversion-1.6.6-0.1.el5.rf.i386.rpm | 6.5 MB 03:26
-
(12/12): git-1.5.2.1-1.el5.rf.i386.rpm | 27 MB 16:09
-
--------------------------------------------------------------------------------
-
Total 29 kB/s | 37 MB 21:36
-
Running rpm_check_debug
-
Running Transaction Test
-
Finished Transaction Test
-
Transaction Test Succeeded
-
Running Transaction
-
Updating : subversion [ 1/13]
-
Installing : subversion-perl [ 2/13]
-
Installing : perl-Compress-Raw-Bzip2 [ 3/13]
-
Installing : rcs [ 4/13]
-
Installing : perl-Compress-Raw-Zlib [ 5/13]
-
Installing : perl-IO-Compress [ 6/13]
-
Installing : perl-HTML-Tagset [ 7/13]
-
Installing : perl-Error [ 8/13]
-
Installing : perl-HTML-Parser [ 9/13]
-
Installing : perl-libwww-perl [10/13]
-
Installing : git [11/13]
-
Installing : perl-Git [12/13]
-
Cleanup : subversion [13/13]
-
-
Installed: git.i386 0:1.5.2.1-1.el5.rf
-
Dependency Installed: perl-Compress-Raw-Bzip2.i386 0:2.021-1.el5.rf perl-Compress-Raw-Zlib.i386 0:2.021-1.el5.rf perl-Error.noarch 0:0.17015-1.el5.rf perl-Git.i386 0:1.5.2.1-1.el5.rf perl-HTML-Parser.i386 0:3.62-1.el5.rf perl-HTML-Tagset.noarch 0:3.20-1.el5.rf perl-IO-Compress.noarch 0:2.021-1.el5.rf perl-libwww-perl.noarch 0:5.805-1.1.1 rcs.i386 0:5.7-30.1 subversion-perl.i386 0:1.6.6-0.1.el5.rf
-
Updated: subversion.i386 0:1.6.6-0.1.el5.rf
-
Complete!
[php]needle in a haystack
プログラミングをやっていると、慣習的に用いる変数名、引数名と言った物があります。例えばfor文の変数はi、j、kとか。たまに知らない慣習もあります。今回調べたのは「haystack」と「needle」。文字列検索系の関数の引数名としてよく使われています。例えば下記のstrposやらstrstrやら。
int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
この習慣はphpだけのものではなくて、C言語から来ています。
char *strstr(const char *haystack, const char *needle);
で、実際のところ、なんでhaystackとneedleなのかというところですが、恥ずかしながら、私はhaystackという英単語を知りませんでした。haystackは「干し草」という意味のようです。needleはもちろん「針」ですね。
英語がわかる人には常識なのかもしれませんが、英語には、haystackとneedleという単語を用いた慣用句があるんです。
- needle in a haystack: 見つけることが不可能なもの、捜しても見つかりそうにないもの、無駄骨
- find a needle in a haystack: 干し草の山の中の針を見つける、見つかる望みのないものを見つける
- look for a needle in a haystack: 干し草の山の中にある1本の針を探す、無駄骨を折る
だいたい同じような意味で用いられます。
C言語が定義された頃は、文字列検索関数が対象文字列(haystack)から目的の文字列(needle)を見つけ出す様は、干し草の山の中から針を見つけるくらいに大変なことだった、ということでしょうか?(適当に考えていますが、そういう意味としかとれないですよね)
プログラミングの世界にもうんちく話ってありますよね。
他にもこういった慣習をご存知の方はコメントに書いてください!
[Linux]CentOSにyumでgitを導入
CentOSのyumでgitを入れようとしても、標準のレポジトリにはありません。
私の場合はrpmforgeからとってきます。rpmforgeの設定はすぐですので、CentOS/rpmforgeリポジトリ - ひつじ帳などを参考に入れておくと便利です。もちろん、通常時はこのレポジトリを使用ないように(自分で)設定するので、勝手に予期せぬバージョンアップとかはしません。rpmforgeはyumの--enablerepoオプションで指定して使います。
あとは、gitをinstallするだけですね。ログはこんな感じです。
subversionもrpmforgeで入れてるけれど、subversionのアップデートはgitのインストールに関係あるのかな??関係ないよね?
[php]php.iniをミスるとphp.iniが適用されない
先日、Mac OS XにMacPortsを使って、apache2、php 5.3.0、MySQL 5.1を導入して、しばらく開発をエンジョイしていたのですが、いろいろと作業をしているうちに、MySQLが使えなくなっていることに気がつきました。
具体的にはsymfony 1.2で、DB設定も前に済んでいて、しばらく開発をしていたのに、突然PDO connectionエラー([2002] No such file or directory、MySQLのソケットファイルが無いときに出るエラーです)がでてきたのです。何がおかしいのだろうといくつか見てみると、php.iniやシェル上のphp -i | lessで閲覧してソケットの設定がしてあるのにも関わらず、当該アプリケーションのディレクトリでphpinfo()を見てみると、php.iniの設定が全く適用されていなかったんです。
確かに個々最近、php.iniをちょこちょこ弄った気がしますが、間違ったことはしていないよなと、php -i | lessを見ていたところ、かすかにphp.iniの文法エラーらしき文言を見つけました。そう、php.iniをちょっとでも書き間違えると、mod_php上のphpにはphp.iniが適用されないようなのです。
私の場合は、error_reportingのE_ALLからE_DEPRECATEDから取り除こうと変な論理式(確かXORビット演算子を使っちゃったかな?)を書いてしまったようです。
[Mac][Eclipse]Pleiades入り本体のアップデートすると起動に失敗する時の対処法
[mac]eclipseインストールとpleiadesで日本語化というMacのEclipseにPleiadesを導入する記事を書いてるくらいなので、現在使用中のEclipse 3.5にもPleiadesが適用されていますが、たまにトラブルが起きたりします。今回のトラブルは、何らかの、特にElipseコア系のソフトウェアアップデートをした後に、Eclipseが起動しなくなってしまうという現象です。案の定、Pleiadesがトラブルを起こしているのですが、私の場合の現象と解決策を残しておきます。
まず、Eclipseソフトウェアアップデートした後、再起動を促されますので再起動をします。そうすると、スプラッシュ画像の直後にダイアログが出て、「起動失敗したから、logファイルにエラー状況書き込んどいたよ」的な英語が書かれています。Pleiadesの説明書にも書いてありますが、Eclipseソフトウェアアップデートの直後は、必ず1回だけEclipseを-cleanオプションで起動させなければいけません。ターミナルなどで/Application/Eclipseに移動し、eclipse -cleanとコマンドを打つことでPleiadesがクリーン起動します。
通常なら、次回以降の起動はEclipse.appのダブルクリックで済むのですが、たまに前述の起動エラーが続くときがあります。その場合、クリーン起動なら正常起動できるのに、-cleanを付けない通常起動だとどうしても起動エラーになってしまいました。困っていたときに、Pleiadesのreadmeをくまなく読んでいると、強制終了が続く場合、-clean起動の後、configuration/jp.sourceforge.mergedoc.pleiades/ ディレクトリを削除すると直るかもしれないと書いてありました。試しにやってみたら、本当に直りました。
というわけで、Pleiadesでトラブルが起きたら、readmeをくまなく見て、解決策を探してみるのがいいでしょう。起動エラーが続く場合は今回の記事のような対応が書かれています。
