2013年8月30日金曜日

git cloneしようとしたらBad owner or permissions on /home/ユーザー名/.ssh/configと出た

この手順に従ってやったら問題が解決した。
http://futuremix.org/2005/10/openssh-config-permission

どうも本人以外が~/.ssh/configを編集できるのがまずいということらしい。なので、
chmod 600 ~/.ssh/config
にして、本人以外は書き込み(w)ができない状態にしたら、表題の、
Bad owner or permissions on /home/ユーザー名/.ssh/config
はなくなりうまくいった。

ssh-addしようとしたらCould not open a connection to your authentication agentと出てきて困った

このサイトに書いてある通りにやったらとりあえずできるようになった。
http://www.geocities.jp/sugachan1973/doc/funto39.html

とりあえず
eval `ssh-agent`
と打った後に
ssh-add id_rsaファイルのフルパス
と打ったら
Could not open a connection to your authentication agent
は出なくなり、パスフレーズの要求がされ、うまくいった。
うまく行けば
ssh-add -l
と打ったときに
2048 2e:c0・・・
みたいな感じで鍵の内容が表示されるようだ。


どうもこの作業、手順に記載されているとおりおまじないとしてやっていたのだが、
ssh-addってのは認証エージェントにパスフレーズを登録する作業らしい。
gitでリモートサーバーとのやり取りをするとき、いちいち作業ごとにパスフレーズを打つのは
だるいので、認証エージェントという、認証作業を勝手にやってくれるプログラムに
パスフレーズを登録しているということかと。


2013年8月29日木曜日

Perlのテスト系モジュールまとめ

Test::***系の便利なモジュールをまとめて端的に説明しているサイトがあったのでメモ。
PerlでTDD(テスト駆動開発)するなら覚えておきたいCPANモジュール群

あー、なるほど。Test::Mock::Guardってのが何やっているのかよくわからなかったが、
Test::MockObjectみたいなモック化モジュールなのね。そっちに関してはこの説明がわかりやすい。
Test::Mock::Guard Released

あと
Test::MockTimeは便利。time()を固定できる。
Test::MockTime::set_fixed_time(1373954400);
のようにして使う。上記例だと2013-07-16 15:00に固定。




VMwareでLinux(CentOS)のキーボードを日本語キーボードにする

VMWareでLinux(CentOS)をインストールしたらキーボードが英語キーボードで困った。
「:」が該当場所にないのでvimで編集した結果を保存できなくて何が起きているのかわからず
かなりはまったし。

とりあえず暫定で必要そうな文字の出し方を下記に記載しておく。
む+shift:|
れ+shift::
6+shift:^
2+shift:@
この辺打てないとなんもできないだろうから・・。

あとは
ls /lib/kbd/keymaps/i386/qwerty/jp106.map.gz
で日本語キーボードの対応キーマップファイルがあるかどうかを確認し、
su
でrootになったら、
vim /etc/sysconfig/keyboard
で設定ファイルを開いて
KEYTABLE="us"
KEYTABLE="jp106"
に直して
reboot
で再起動したら直っているはず。


2013年8月19日月曜日

puttyからpoderosaへの移行時のエージェントフォワーディング設定

設定系、意味がよくわかっていないのでいつも苦戦する。結果的にこれがわかりやすかった。
http://d.hatena.ne.jp/MOZZ/20070208

2013年8月1日木曜日

金融系SIerの仕事の現状に関するメモとWeb系の現状について少し

興味深い記事があったのでメモとWeb系の現状を少し書こうかと。

人月計算とExcelとスーツの世界より
・資格取得で学んだスタックや木など、勉強していて楽しかったが業務で使うことはなかった
・多くの人が入れ替わり立ち代りメンテしたレガシーコードの存在
・方眼紙状のエクセルテンプレにコピペしまくる設計書作成作業
・ExcelVBAを使って業務の自動化を試み、生産性を向上させるも、周りから業務とはみなされない
・大事なのは技術関連の知識ではなく、顧客の業務フローに関する知識

SIerを退職し、Web系に転職しました
・顧客のためにエクセル方眼紙にわかりやすい日本語で仕様書を書くのが主な仕事
・大事なのは技術ではなく業務知識
・顧客の業務フローを理解している人が優秀なエンジニア。フローを作ったらあとは外注すればよい
・このままだとエクセル方眼紙のメンテが仕事のプロジェクトマネージャーになってしまう

2つの別の人が書いた記事だがこれはひどいな。でもこの人達にどこまでウェブ系が綺麗に
見えているのだろうというのも気になったので、ちょっとだけウェブ系の現状に関して書いておくと、


・Web系開発でもスタックも再帰もメモリ管理も、基本的には使わない
だってスクリプト言語だし、再帰とかスタックとかそんな凝ったロジックは基本的に使わない

・レガシーコードはどの会社にも存在する。例え最初に凄腕エンジニアが作ったシステムであっても
多くの人が使うようなサービスになれば、機能拡張が当然行われ、メンテナンスをする人が
増えるのでやっぱりレガシーなコードになりがちになる。ただ、もちろん、そうしたコードに危機感を
持っている人も多数いて、テストコードを書いて、テスタブルなコードにリファクタリングをし、
Jenkinsなど自動テストを回す仕組みを導入したりというところに工数を割く動きもある。

・自社サービスならエクセル方眼紙に書かれた設計書はないことも
ただしこれは良し悪し。ドキュメントを作る文化がないと、コード読んで理解しろという流れに
なり、仕様把握に時間がかかることもよくある話。もっとドキュメント作れと思ったりもする。


まぁでもコード書きたい人にはWeb系の方がよいのかなと上記の金融SIerのエントリー
見てて思った。