M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

清水克行『喧嘩両成敗の誕生』

喧嘩両成敗の誕生 (講談社選書メチエ)

喧嘩両成敗の誕生 (講談社選書メチエ)

中世の「喧嘩」に関する処罰のあり方、それに対する人びとの「もっともだ」「やりすぎだ」「足りていない」といった種々の感想を平易に紹介してくれている点でよし。

ただ「喧嘩両成敗」もしくは「喧嘩両成敗的」措置の結果としての構図に執着しすぎ、紛争当事者双方が厳しく処断されることの、そこに至る意味というか、そうする時の権力者の意図が必ずしも正しく顧みられていないのではないかという印象を受けた。

「両成敗」もしくは「両成敗的」措置には、「平衡」「秩序回復」の意味が込められているケースと、私闘というかたちで検断という本来当事者らに行使を許されていない行為を行い、ときの権力者の権利を侵して秩序を乱したことに対する処罰という意味が込められているケースがあるであろうことは、まま容易に想像がつく。

前者後者の「両成敗」はそもそも処罰の次元を異にしている。前者は紛争当事者やそれを見守る世間一般の思いが権力者の口をして語らせているようなものであり、後者は惣無事令・喧嘩停止令に従わない無法を罰する権力の立場が彼自身の口をして語らせているようなものである。

本書にはそれらを「両成敗」を一緒くた(もしくは一報を無視)している印象を受けた。

ftp通信のputコマンドで553エラー

直近職場で、ftp通信によりファイルをリモートサーバ上にアップロードしてリネームするバッチPGMのエラー事象に悩まされました。

事象はftp通信のputコマンドを実行すると553エラーが発生してしまうというもの。

このエラーコードをキーにしてインターネット上でトラブルシューティング情報を探すと、見つかるのは大概「指定したパスのディレクトリやファイルに対する権限不足」によるエラーのケースです。しかし私が立ち会った事象において権限設定は問題ありませんでした。

あれこれ調べた結果、「バッチPGMがファイルアップロード先を指定する際、ftpプロトコルの仕様に沿ったURLを組み立てられていなかった」が原因とわかりました。

どういうことかというと、ftpでファイルパスを指定する方法にはローカルのファイルシステム同様に相対パス絶対パスの2つが存在し、ftpのURLもこれに応じて異なるかたちになるのですが、バッチPGMはこれを考慮できていなかったのです:

ドメイン名の直後のスラッシュ(/)はあくまでもURLを構成するフラグメントを区切る文字でありファイルシステムのルートを表すものということでしょうか。ルートを表すにはその後ろにURIエンコードされたスラッシュ(%2f)を記載してパスを記述する必要があるのです。

もちろん相対パスftp接続ユーザのホームディレクトリからの相対パス)と絶対パスftp接続したリモートサーバのルートからの絶対パス)とでは指示す先がまったく異なります。指し先が異なれば権限どころか存在すらしないというのが普通でしょう。

"MCP 70-483 Programming in C#"を受験

ここ1年お勉強をする時間と気力がなく、日々貯金を切り崩すような感覚で仕事をしていたのですが、そろそろ余力が出てきたところで、思い立ったが吉日とばかり "MCP 70-483 Programming in C#" 試験の受験をしました。

実は 去年4月に参考書(後述)を買っていたのですが何だかんだで半分ほど読んだところで積読状態になっていたのでした。受験を申し込んだのが10月初めで受験したのが今日。試験前も試験後も勉強不足の感は否めない状況でしたが、なんとか合格しました。

これから受験を考えられている方向けに所管を述べておきます:

  • Javaの試験(OCJ-P)と比べると問われる事項の難易度は低い。
  • Javaの場合、恐ろしく読みにくいコードが提示されるケースがしばしばだが、C#の場合そうでもない(酷いコードがないでもないが、比較すれば相当読みやすい)。
  • Javaの場合、多くの出題の選択肢に「コンパイル・エラー」が存在し、実際それが正解であるケースもままあるが、C#の場合そのような選択肢はない。
  • 以上3点から、Javaの場合、知識だけでなく限られた時間内にコードを的確に解読する能力(もしくは慣れ)も問われるのに対して、C#の場合そのようなことがない(ほとんどない)。
  • 拡張メソッド、LINQTPLとasync/await、コレクション初期化子の知識は必須。
  • アセンブリに各種情報を付与するAttributeの知識を問うものが多い感じ。
  • シリアライズ/デシリアライズAPIについての知識を問うものも多い感じ。
  • 以上3点を含めて、参考書をきちんと読了していれば及第点には到達できる。

参考書については選択肢はなく "Exam Ref 70-483 Programming in C#" 一本です。直近9月に第2版が出ていますが私は第1版で勉強しました。英語ですが平易な内容で、単語・文法の知識が高校かそれ以前のレベルで止まっている私でもなんとかなりました。

Exam Ref 70-483 Programming in C# (2nd Edition)

Exam Ref 70-483 Programming in C# (2nd Edition)

m12i.hatenablog.com