パスワードを忘れた? アカウント作成

こちらは、coaraさんのユーザページですよ。 スラドのストーリを選ぶための補助をお願いします。

13410883 comment

coaraのコメント: Re:売り手市場ならば (スコア 1) 3

by coara (#3281341) ネタ元: 力仕事があるのは承知で入ったとは言え

構築系は本当に売り手市場なので実務経験3年もあれば充分ですし、あとは面接で自信ありそうにしていれば意外と簡単に転職できるかもですよ。
まぁ買いの大半は偽装請負とか派遣なのが問題なんですけど。

13409094 journal
日記

coaraの日記: テストケースの作り方って 2

日記 by coara

Tomcatで動かしてるWebアプリのテストプログラム(JUnitとかの)ってどう作ればいいんでしょ。
モック作るにしても必要な設定や前提情報が大量にあって手のつけようがない感じ。
初めからテストケース作りながらそれに合わせてコードを書いていればこんなことで悩むこともないんだろうけど、
10年近く色んな人の手によって拡張され大きくなった仕様書すらないソフトウェアじゃそんなことも言ってられない。

実際Tomcat+Struts+αなプログラムのテストプログラムは書いたことがある。
そこまで大きくないモックを作ってやれば簡単に試験できた。
さすがに小難しい条件や画面の遷移パターンは画面を表示しないといけなかったが、
画面に至るまでの機能を細かく分け各機能が他の機能の動作に依存しないようにしていたためテストケースは有効だった。

13392009 comment

coaraのコメント: Re:sshj (スコア 1) 4

by coara (#3268585) ネタ元: JavaのSSH接続ライブラリ

ありがとうございます&反応が遅れてすみません。
試そうとしたところビルドエラーで引っかかっていて、ちょっと原因調査は週末に…となってました。

どうもOSによるパスの扱いで問題…とまでは言いませんがテストケース通りに動いていないみたいです。
(テストケースではパスの区切りが "/" 固定で取れることを期待しているが Windows では "\" になる)
私の使おうとしているプログラムはLinux/Windowsいずれのサーバ環境でも動かす必要があるため、もしかしたら問題が出そうです。

さて上記についてはテストケースを通るようにしてしまえばいいので、ビルドはできました。
実際動作を確認してみたところ以下のようになっていていい感じです。
・known_hosts はなくてもいいし、勝手に作ることもない(もちろん見ることもできる)
・キー情報は SSHClient の loadKeys で文字列をよしなに読み込んでくれる。
 引数には PublicKey もあるが、null でいい。
・リモートからのファイルの取得も全部メモリ上で出来る。(&直接ファイル出力もできる)
・鍵周りに必要な処理は BouncyCastle 依存にできるからそっちが更新されていれば不安が少ない

ちょっといけてないのは
・ビルドの際に Java Cryptography Extension (JCE) が必要(java-home/lib に入れる必要あり)
・先述のようにWindows環境で検証されてないっぽい
というところでしょうか。
メンテは止まってないっぽいので一番実用的に感じます。

以下サンプルです。

try( SSHClient ssh = new SSHClient() ) {
        ssh.addHostKeyVerifier((s, i, publicKey) -> true);
        ssh.connect(hostname, port);
        List<KeyProvider> keyProviders = new LinkedList<>();
        keyProviders.add( ssh.loadKeys( privateKey, publicKey, new PasswordFinder() {
                public char[] reqPassword(Resource<?> resource) {
                        return privateKeyPassphrase.toCharArray();
                }
                public boolean shouldRetry(Resource<?> resource) {
                        return false;
                }
        }) );
        ssh.authPublickey(username, keyProviders);
        ByteArrayOutputStream output = new ByteArrayOutputStream();
        try( SFTPClient sftp = ssh.newSFTPClient() ) {
                RemoteFile file = sftp.open(sampleFilePath);
                IOUtils.copy(file.new RemoteFileInputStream(), output);
        }
        System.out.println(output);
}

ホームディレクトリパスの取り方は…StatefulSFTPClientを使ってログイン時に pwd() するのが正しいのかな?
使いやすくもありますので、実際のコードに入れて問題ないかどうか確かめてみます。

13385349 comment

coaraのコメント: Re:jcabi-ssh (スコア 1) 4

by coara (#3264397) ネタ元: JavaのSSH接続ライブラリ

ありがとうございます!
裏で jcabi-ssh.key という一時ファイルを作っていますね。 com.jcbi.ssh.SSH
JSchを使う以上仕方ない実装かと思います。
ファイルパスで渡しても読み込んで改めて自分で一時ファイルを作ってるのでちょっとお行儀悪くも感じますねこれ。
できれば全部メモリ上で済ませたいことなので、ちょっと違うんですよね…
Pythonで言うStringIOのようなものがJavaにあればいいんですが、結局それってInputStreamになるのでそっち使ってくれよ!って色んなライブラリ見るたびに思ってしまう…
引き続き自分でも探してみます。

13383898 journal
日記

coaraの日記: JavaのSSH接続ライブラリ 4

日記 by coara

Javaで使えるSSHライブラリに書かれてるようなライブラリって新しいものは出て来てないのかな?
・JSch
・sshj
 認証用のキーをファイルパスでしか指定できない。
 なんでInputStreamとかにしてくれないのか。

・Ganymed SSH-2 for Java
 メンテされてない。Google Code Archiveで2014年に更新されたのは消えてて他所のサイトからとる必要がある。

・Apache MINA SSHD
 サーバメインでクライアントがちょっとよく分からない。クライアントの資料が少ない。
 あくまで自分が作ったサーバに自分で接続する用って感じ。
 DSAとかRSAとか判定してくれないっぽくて面倒くさそう。

・SSHTools J2SSH
 フリー版が古すぎて色々問題あり。
 有償版は2000ドルからとお高い。

13376985 comment

coaraのコメント: Re:え~ (スコア 1) 3

by coara (#3259823) ネタ元: GPD Pocket

ううむ…ではとりあえずSteamとか入れて帰省中にそれでゲーム遊べるかどうかとか見てみますか
んで1日の終わりにその環境からここに書き込んでみる…と。
電車ほとんど乗らなくなってしまって帰省中以外で触るシチュエーションが本当に思い浮かばない…(なんで買った)

13358799 journal
日記

coaraの日記: Qiitaのアカウントを作った

日記 by coara

今までらずぱいみたいなおもちゃを買ったときはスラドに日記として残してたけど、これからは向こうに残していこうと思う。
まぁ今までと何も変わらないだろう。

13230301 journal
日記

coaraの日記: Mastodonの危うさ 2

日記 by coara

メアドとパスワードが抜かれますぞー!なんてのを気にしてる人が多くて、確かにそこは複数のインスタンスに登録したあたりで簡単に気付ける問題。
しかしもっと問題なのは、インスタンス運営者によっていくらでも非公式カスタマイズ可能な(そしてカスタマイズされているか不明な)状態で提供されている点じゃないだろうか。
あれはやろうと思えば発言した本人には気づかれないように発言内容を書き換えることができる。
例えばAmazonのURLを貼ったとき、それと気づかないようなフィッシングサイトに向けることだって簡単にできてしまう。そんなに専門的な知識を有してなくても…だ。

12872395 comment

coaraのコメント: Re:仕事は、やりたいことよりも、自分自身に向いたことをやるべき (スコア 1) 8

by coara (#3060861) ネタ元: 転職どうしようか

これなんですよねぇ
趣味とか得意分野を仕事にできればいいけど、
業界的なダメな部分に直面してしまうとそのものが嫌いになってしまう…
まぁでも歳を取れば苦手を克服するのも大変でしょうし、うまいこと探しますよ。

typodupeerror

あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー

読み込み中...