public: typedef Takel::Diary Observable; このページをアンテナに追加 RSSフィード

[[はじめ]] [[韓国編]] [[爆裂帰国編]] [[暗黒出張編]] [[郷愁編]] [[メールはこちらまで]]

2012-01-26

[] git-clone とかで秘密鍵を指定する  git-clone とかで秘密鍵を指定するを含むブックマーク  git-clone とかで秘密鍵を指定するのブックマークコメント

git コマンド には SSHパラメータを渡す方法(rsync で例えると -e "ssh -i $HOME/.ssh/kagi" みたいな指定)がないっぽい?ので、指定した秘密鍵を使うには ~/.ssh/config記述するしかなさそう

$ touch ~/.ssh/config
$ chmod 600 ~/.ssh/config
$ cat >> ~/.ssh/config <<EOF
Host www.example.com
  IdentityFile ~/.ssh/takel@www.example.co.jp-to-takel@www.example.com
EOF

これを記述した状態で

$ ssh takel@www.example.com -p 10022

みたいなコマンドキーパスワードを聞かれれば OK.

ダメ場合

$ ssh takel@www.example.com -p 10022 -i ~/.ssh/takel@www.example.co.jp-to-takel@www.example.com

のようにして、そもそもキー等が間違ってないかどうかチェック。

それでもダメ場合

$ ssh -vvv takel@www.example.com -p 10022 > ~/failure-log.txt 2>&1
$ view ~/failure-log.txt 2>&1

などとしてエラー理由を調べてみるとよいかも。

あ、そもそも先に接続先に接続元の公開鍵は登録してある前提で。

$ cat ~/.ssh/takel@www.example.co.jp-to-takel@www.example.com.pub >> ~/.ssh/authorized_keys

大丈夫そうだったら git clone してみる。

$ git clone ssh://takel@www.example.com:10022/var/git/example.git
トラックバック - http://d.hatena.ne.jp/takel/20120126

2011-12-15

[]気がついたこと 気がついたことを含むブックマーク 気がついたことのブックマークコメント

ずっと、日本語の「じゃ、またね」は韓国語では立場で使い分けなくてはいけなくて、感覚で理解するまでは違いがわかりづらく、そのような対応日本語にはないと思っていたのだけど、ふっと気づいた。


日本語でも「行ってきます」と「行ってらっしゃい」は同じ対応関係にあるじゃんと。


韓国語でも通常のさよなら挨拶と「行ってきます」「行ってらっしゃい」は別の言葉なので、単純に日本語でのさよなら挨拶韓国語では出かけるときの言葉で言うんだという置き換えはできないものの、ほぼ同じ対応日本語があるという事を覚えておくと、感覚で理解する前の段階で区別をつけるのに役立つと思う。

トラックバック - http://d.hatena.ne.jp/takel/20111215

2011-11-28 永遠の17歳のまま0x20歳になりました

[]永遠の17歳のまま0x20歳になりました 永遠の17歳のまま0x20歳になりましたを含むブックマーク 永遠の17歳のまま0x20歳になりましたのブックマークコメント

永遠の17歳のまま0x20歳になりました。

頭は火照っているのに手足が寒いです。風邪が治らないです。そんな0x20歳の誕生日

トラックバック - http://d.hatena.ne.jp/takel/20111128

2011-11-27

[]これはコーディングコンベンションのレベルの話じゃなくて、言語機能の正確な把握のレベルのお話です これはコーディングコンベンションのレベルの話じゃなくて、言語機能の正確な把握のレベルのお話ですを含むブックマーク これはコーディングコンベンションのレベルの話じゃなくて、言語機能の正確な把握のレベルのお話ですのブックマークコメント

本屋にふらっと言ったら、内容が8割くらい同じ本が別の会社から出ていてびっくりした。

あまりに驚いて、よく確認したくて両方買っちゃった orz

ISBN:9784774145471

ISBN:9784822296070

Java でのコーディング規約の例の本なのだが、どうやら絶版っぽい元の本があって、その改訂版っぽい。

しかし翻訳でもない本で、ここまで同じ内容で出版されちゃうのも珍しいと思う。


話は変わるけどその中で、非常に悪いサンプルがあった。

数年前、職場でわけのわからない事を言う人がいたんだけど、どうやらこれの元の本をみて鵜呑みにしたんだろうなと思う。


Java ルールブックのほう、『2.1.1 オブジェクトの参照にはインターフェイスを利用する』のサンプルがすこぶるまずい。

サンプルコードを一部修正して引用


違反例(とされている)

public class BadSample {
    public static void main(String[] args) {
        ArrayList<String> sampleList = new ArrayList<String>(); // 1. この本ではここが違反とされている
        sampleList.add("bad_sample");
        BadSample badSample = new BadSample();
        String ret = badSample.badMethod(sampleList);
        System.out.print(ret);
    }
    
    private String badMethod(ArrayList<String> input) { // 2. ここは確かに違反かもね(要件による)
        return input.toString();
    }
}

修正例(とされている)

public class GoodSample {
    public static void main(String[] args) {
        List<String> sampleList = new ArrayList<String>(); // 1. これは改悪じゃん?
        sampleList.add("good_sample");
        GoodSample goodSample = new GoodSample();
        String ret = goodSample.goodMethod(sampleList);
        System.out.print(ret);
    }
    
    private String goodMethod(List<String> input) { // 2. ここは確かに良くなったかもね
        return input.toString();
    }
}

えっと、1. のほうは元のコード全然悪くないです。 new している時点で具体的な型名を書いてしまっているので、それを受け取る変数名の型を抽象度高くしても意味なくて無意味に不便なだけなんです。

この例の 1. の所で本当に抽象化恩恵にあやかりたい場合オブジェクトの生成部分を抽象化して、該当部分から具象クラスに対する知識を取り除いてください。


修正例(ただし元のサンプルに意味がなさ過ぎて有用性も伝わりづらい)

public class ActuallyGoodExample {
    public static void main(String[] args) {
        List<String> sampleList = createList(ListImplType.ARRAY_LIST); // これでやっと List<String> で受け取る意味が出てきました。
        sampleList.add("actually_good_sample");
        ActuallyGoodExample goodSample = new ActuallyGoodExample();
        String ret = goodSample.goodMethod(sampleList);
        System.out.print(ret);
    }
    
    private static List<String> createList(ListImplType listImplType) {
        switch (listImplType) {
            case ListImplType.ARRAY_LIST:
                ArrayList<String> result = new ArrayList<String>();
                // ここでは List<E> になくて ArrayList<E> にだけあるメソッド等を使って
                // 精一杯インスタンスの初期化を頑張ってよい(ArrayList である事は保障されているのだから)
                return result;
            case ListImplType.HOGE_LIST:
                // 別の実装クラスのインスタンスを生成することもありうる。
                return new HogeList<String>();
        }
    }
    
    private String goodMethod(List<String> input) {
        return input.toString();
    }
}

そこに変な自己規制無用です。

これはコーディングコンベンションのレベルの話じゃなくて、言語機能の正確な把握のレベルのお話です。


この二冊、良い原則もたくさん書いてあるけど『Java の標準規約ではそうです』『著者たちの好みです』っていう隠れた但し書きが必要な所もいっぱいあるので、未熟な人が鵜呑みにするのは良くないと思う。でももっとこういう本には出てきて欲しいと思う。

トラックバック - http://d.hatena.ne.jp/takel/20111127

2011-11-26

[]今日空耳 今日の空耳を含むブックマーク 今日の空耳のブックマークコメント

D

歌いだし "You say 『バラモスめちゃ変〜♪』"。

トラックバック - http://d.hatena.ne.jp/takel/20111126

2011-11-11

[]ssh2_scp_send() で failure creating remote file が出るとき ssh2_scp_send() で failure creating remote file が出るときを含むブックマーク ssh2_scp_send() で failure creating remote file が出るときのブックマークコメント

ssh2_scp_send() で failure creating remote file が出るとき……。ホームディレクトリを ~ って書いてたら駄目だった。

『いまできます、もうできます』と言ってから、これでひとしきりハマった。

トラックバック - http://d.hatena.ne.jp/takel/20111111

2011-09-22

[]裏ゼルダクリア 裏ゼルダクリアを含むブックマーク 裏ゼルダクリアのブックマークコメント

3DSゼルダ1やってたんだけど、表から始めて裏ゼルダまでクリアした。

ぶっちゃけ攻略サイト見なかったら解けんかったわw

(小学生当時は確かクリアできてなかったと思う)

で、裏ゼルダクリアするとセーブデータがまた裏の最初に戻されるのなw 鬼仕様だ。

どうでもいいけど、"ゼルダ1" ってなってるのって多分かなり後期に発売された ROM 版で、ディスク音源鳴ってないと思われる。

リンクとかメトロイドディスク音源鳴ってない気がするんだけど、これらって ROM 版ってあったんだっけ?

リンクアドバンスか何かのやつで解いたからもういいや。

っていうか 3DS なのに 3D じゃない昔のゲームばかりやってる。。。

3D のやつは 500 円でダウンロードできる Vector Racing っていうのがシンプルで爽快感があってわりとお勧め

[]3DS のうしみつモンストルオもクリア 3DS のうしみつモンストルオもクリアを含むブックマーク 3DS のうしみつモンストルオもクリアのブックマークコメント

上の日記は下書きのまま放置してたので矛盾するけどゼルダ1クリア後はうしみつモンストルオっていうのをやってた。

かなりガーリーゲームなのだけど、キャラクターがあまりに可愛くて買ってしまった。

操作性にちょっと(というかかなり)難を感じる部分はあるけど、そもそもキャラクターが売りのゲームだと思うので気にしない。

というわけで、このゲームキャラクターに惹かれたら買いだと思うけど、他の何かに期待して買ってはいけないと思った。

あと、ミシェル(猫)の設定だけが謎。お前はなんでお化けじゃないのにモンストルオに行けるんだ?

[]それと それとを含むブックマーク それとのブックマークコメント

それと、割とどうでもいいけど現在の勤務先の最終出勤日でした。

半年間よく耐えた(正確に言うと最後の方は耐えきれてなかったが)。

失敗は早めにリカバーするか見切りをつけるか決断するのが自分の主義。

そういうわけで、半年脱出は間違いじゃない。

トラックバック - http://d.hatena.ne.jp/takel/20110922

2011-09-12

[]二勝目 二勝目を含むブックマーク 二勝目のブックマークコメント

やった、二勝目w

エージェントさんから情報が行っていたからかもしれないけど、

一次面接からそのままぶっ通しで社長面接まで進んで、その日のうちに内定貰えてしまった。

今の自分からは全勝型のオーラが出てる気がするw

ていうか猫かぶらずに素直に行けばよかったんだ。多分、今まで上手くいかなかった時期は、猫かぶってたせいでしどろもどろ感が出てたんだと思う。

どっちにするか悩ましいなw

トラックバック - http://d.hatena.ne.jp/takel/20110912

2011-09-09

[]前の会社前の会社はを含むブックマーク 前の会社はのブックマークコメント

前の会社退職する時には激しい憤りと共に無念さと申し訳なさを感じていたけれど、今の職場にはあんまりそういう気持ちがわかないなぁ。

まあ、前の会社は5年いたし、愛着あったからかなぁ。

いや、よくよく考えるとそれより前の会社群も今思うと「いろいろ嫌なこともあったけど、(一部の例外の人を除いて)お世話になった、いい経験させてもらったなぁ」って思ってるから時間の経過の問題なのか?

ぶっちゃけここまでの人生の中で最悪のシナリオ(脅迫)を体験させてくれた韓国ゲーム屋時代の会社社長も、5〜6年の歳月を経たら「でもまあ、俺はあの人のおかげで貴重な海外経験できたんだよな。」って思えるようになってきちゃったしなぁ(少し悔しい)。

トラックバック - http://d.hatena.ne.jp/takel/20110909

2011-09-08

[]笑いが止まらんww 笑いが止まらんwwを含むブックマーク 笑いが止まらんwwのブックマークコメント

昨日の出来事「(臭すぎるのがやはりこれ以上耐えられないので)辞めさせてください……」

うーん、次の仕事決める前に辞めるとか馬鹿正直に言っちゃうのはやっぱりダメだなぁ、今後どうしよう……と思いつつ、今日は午前半休をとり本日面接

面接後、エージェントさんから電話

内定でました!!」

「えっ!? (今日面接)一次ですよ!?」


どうやら面接の心証がとても良かったらしく、異例ながら即内定となったらしい。

やばい、笑いが止まらんw

っていかいかん、発つ鳥後を濁さずだな、引継ぎしっかりやりに会社行かなきゃwww

[]俺は悪いやつだw 俺は悪いやつだwを含むブックマーク 俺は悪いやつだwのブックマークコメント

うーん、物事の見通しがつくと残務整理も捗るわw

悶々としてた時と比べ物にならないくらい生産性高いのが実感できるw


そして……もう一社書類通ってるところあるんだよなぁ、と。

面接キャンセルも失礼だから行くだけ行こう、と。

ここでふと考えついてしまった。

言い方悪いけど既に保険というか保障があるので、高い額提示してみようw

前職の時とか残業代すごくて、凄い額貰ってた年とかもあるしいいだろw

逆にそれを鑑みた額でそっちも通っちゃったりしたら嬉しい悲鳴だなぁ、今日行ったところは普通に良さそうなんだよね。


とか思ってたら……薫ってきた(>_<;)

きっと本人に悪気があるわけじゃないんだろうから、気の毒だと思うけど、俺はやっぱりこの臭い無理だわ(>_<)

[]ビール呑みたくない ビール呑みたくないを含むブックマーク ビール呑みたくないのブックマークコメント

滅多に自分からお酒を呑まない習慣なのに、最近はちょっとビール消費が増えていた、が今日は呑みたくない気分。

自分は多分、嬉しい時には呑みたくないタイプなんだと思う。

呑みたいのはネガティブに包まれてる時なんだなと思った。

トラックバック - http://d.hatena.ne.jp/takel/20110908