つよく、やさしく、泥臭く生きていくブログ

日常とポエムと、ときどき技術

「UNIXという考え方」を読んだ

評判どおりのめっちゃ良い本だった。。。
まじで良いことしか書かれてない。いいことづくし。
もっと早くにちゃんと読んでればよかった。

そもそも、帯に書かれているように考え方のことが書かれている。だからUNIXに限らず当てはまることがたくさんありそう。

そういえば序盤の序盤で、初期のUNIXに貢献した人々の紹介として我らがラリー=ウォールの名前も上がってました。

UNIXの考え方として重要な9つの定理と、いくらか重要度の低い10の小定理が書かれている。そんな中から特にわかりみ溢れる箇所について適当に書く。

定理1: スモール・イズ・ビューティフル
定理2: 1つのプログラムには一つのことを上手くやらせる

この2つは特に引用されたりして目にする機会が多い気がする。 小さいものはわかりやすくて保守しやすく、1つのことに専念させれば堅牢で、他のプログラムと組み合わせやすい。

一つのことをうまくやるようにアプリケーションを書けば、それは必然的に小さなプログラムになる。

一つのことを上手くやるようにプログラムを作れないのであれば、おそらく問題をまだ完全には理解していないのだろう。

モジュールや関数を書く時は普段から意識してる点ではある。普段はできるだけ「◯◯する関数」と言えるレベルにしようと努めてる。「◯◯して△△する関数」だとまだ単純にできるだろうと思う。けれど難しいところで、◯◯と△△を分ければその分 sub hoge {の行と my $self = shift; の行が余分に増え、肝心の中身は 1行程度になるようなとき、分けるほどか?と悩む時がある。といいつつ、あとから見るときに分けるほどか?というほど単純な関数は見た瞬間何を返すかが分かりやすかったりして
つまり、やっぱりスモールイズビューティフルなのだなと。
そういえば、「これ分けたほうが良くない?」っていうレビューは受けたことあるけど「分けなくて良くない?」は無い気がする。

定理3: できるだけ早く試作する

アジャイル的というかプロトタイピング的というか、なんとなく最近ぽいなと勝手に思ってた考え方がもう既にずっと前から言われてたってことですな。
もう31ページと43ページから45ページをまるっと引用したい。
試作することで何がうまくいくかと、何がうまくいかないかが分かる。
どれだけ仕様書を書いてもどんなものが出来上がるのかは想像するしかないのに対して、作ってしまえばそこからイメージを膨らませてもらえるし、気に入らない部分を具体的に教えてくれる。
これは今の職場ではやりやすいことなので、これからもとにかく早くに見れる・触れる状態で確認してもらうようにしたい。

定理6: ソフトウェアの梃子を有効に活用する
よいプログラマはよいコードを書く。偉大なプログラマはよいコードを借りてくる 勝者となる条件は、車輪を発明し直すことではなく、既存の車輪を光らせることにある

これほんと最近思うことで、自分でガリガリとコードを書いて実現するんじゃなくて、既にあるソフトウェアやwebサービスや、もちろんAWSとかもそうなんだけど、それらを上手く組み合わせて使って、 その組み合わせる部分とかちょっとした部分だけを自分で書くっていうのを上手くやれるようにならないとイカンなって思う。

定理8 過度の対話的インタフェースを避ける

たぶんこの辺だったと思うんだけど、UNIXは「ユーザは自分が何をしているのか分かっている」ことを前提としているらしい。UNIX以外は、何をしているのか分かっていないユーザのためにたくさんのヘルプやメッセージをだしたりしている。だそうだ。
「ユーザは自分が何をしているのか分かっている」のあたりを上手く的確に捉えられるようになりたい。というのも、アプリケーションに過剰に注意書きを書きたくないから。

定理9: すべてのプログラムをフィルタとして設計する

これ読んで「たしかに…」と思った。今後プログラム書く時に意識したい。
プログラムは、何らかのデータを入力として受け入れて、何らかの形でデータとして出力するものである。
シェルのコマンドがパイプでどんどん繋げられるのを意識すると分かりやすいかもしれない。 出力されるのはデータであり、データはまたなんらかのプログラムの入力になりえる。

あー、めっちゃハッとさせられたんだけどこう書こうとすると上手く咀嚼できてない感がある。
この、出力がデータだという点が今まで曖昧だった気がする。データ入力→データ出力じゃなくて、データ入力→何か動く みたいな考え方だったと思う。
たとえば、DBに入れるプログラムがあったら、
データ → SQLでDBに入れる ってイメージしてたけど、
データ → SQLを通す → DBのデータになる ってイメージが良いのかも。(SQLからDBのデータの間も幾つかプログラムがあると思うけどそこは割愛)

めっちゃいい本だったしちゃんと読んだのでこれからは人に勧められる

Perl入学式を中退したけどサポーターとして完走した話

Perl入学式というものがあります。

www.perl-entrance.org

perlの勉強会なのですが、その名の通り入門レベルの初心者から大歓迎な勉強会です。

遡ること数年前

昔々、具体的には4年か5年ほどの昔あるところに所謂IT系の会社に入社した男がおりました。
もちろん私のことなんですけど。
男はプログラミングの経験はあったものの、業務で使うことになったperlは初めて触るものでした。
あるとき同僚から、perl入学式っていう勉強会があるよ、と聞きました。
ところが、そういった環境に身を置いていたわけではない私は、勉強会ってなんじゃそら? という状態でした。

初めての参加

おっかなびっくりしつつ、同僚と一緒にPerl入学式に参加しました。たしか2014年度のやつだったと思います。
そこで初めてそういう文化に触れました。怖かったけど新鮮でした。懇親会もビビりながら参加しました。

そして中退

当時のPerl入学式は隔月全6回開催。その第1回に参加した私でしたが、第2回以降は参加することはありませんでした。
理由は単純に第2回目の日に都合が悪く参加できず、そうするとなんだか第3回からも参加する気力が失われてしまいました。
あと当時はまだコミュ障だったのも少なからずあります。

補足しておくと、Perl入学式は各回の資料が全部公開されているので、内容をさらうだけなら自習できます。
自習しておけば途中の回から参加するのも全然オッケーです。
しかし、業務で否応なしにperlは使うし、意志の弱い私は自習することもせず、
こうして私はPerl入学式を中退したのでありました。
ちなみに「中退」という呼称は私が勝手に言ってます。

遡ること1年前それはYAPC

さて、話は変わり...
YAPCというものがあります。世界規模のPerlのカンファレンスです。
以前はYAPC::Asiaとして日本でも開催されていましたが、2015年を最後にその大規模なものは終わりました。
その後、有志の手によってYAPC::Kansaiとか北海道とか福岡とかで開催が続けられています。

ある日、YAPC::Kansaiが大阪で開催されしかも参加料めっちゃ安いことを知った私は参加しました。
YAPCは良いですよ。熱量があります。

転機 きっかけ 決意(とても小さな)

トークの中にPerl入学式座談会みたいなのがありました。(うろ覚え)
そのトークは、Perl入学式の校長である id:papix さんとサポーター数名が当時の話やらなんやらをトークするものでした。
トークは一通り終わりいわゆる質疑応答タイム、エモくなった私はこんな質問をしました。

「私、昔参加したけど途中で中退してしまって、そうこうしているうちに業務でperl使ってて、入学式という段階ではなくなってしまったんですけど、でもそういうコミュニティに参加したくて、今からでもまた参加して大丈夫なんでしょうか?」

期待していた答えは、「全然大丈夫ですよ!」
ところがどっこい、返ってきた答えは
「あっ、じゃあ、サポーター、どうすか」
思わず私も、「え、あ、え、じゃあ、あの、はい」
みたいなね。

そんでPerl入学式のSlackがあるってんで、初めてのSlackをどうにかこうにか設定し、 恐る恐るSlackに入ったんですね。
最初は誰でも見れる#generalで。「YAPCで言うてた私です」と挨拶したら、 なんか即行で招待飛んできて、入ったらサポーター用のチャンネルやないですか。
ビビりますよね。だって私ほとんどの人からしたら誰やねん状態ですし。私も誰やねんですし。
勢いパねぇ。勢いで生きていくしかねぇって思いましたね。

2017年度 in大阪 第2回

講師役をしました。
かつて自分が参加できなかった第2回ですよ。
第1回は普通にサポーターで参加。第2回にあたって、「誰か講師チャレンジしませんか」と問われ、
チャレンジしたいと答えたら、こうなりました。

もうね、口がカラカラカラカラになりましたわ。

そして完走

そして今日、2017年度 Perl入学式 in 大阪 第5回が終わりまして、
かつて完走できなかったものをちょっと違う角度からですが完走できました。

こういうコミュニティに参加したことのなかった自分にとってはめちゃくちゃ刺激的だし、 刺激受けるだけじゃなくて刺激受けたらちゃんと反応していきたいと思う。
1ミクロンずつでも成長するぞ!!!

オチ

ここまで書いてきて思い出したというか、途中で思い出したけど引けなくなったのだけど、
実は第4回は参加できなかったので、完走したのかどうかというとちょっとアヤシイ。

情報処理安全確保支援士試験に合格したので登録に必要なものについてまとめてみる

資格試験に合格したはいいものの、その後の登録手続きが面倒くさそうすぎて放置していたので、 やることの整理がてらにまとめてみる。まとめてみるとそんなに面倒くさくなさそうな気もしてきた。
あくまで自分のメモ的位置づけなので、もしも万が一参考にするときは自分でもよく確認してくださいね。 各地域によっていろいろ違うかも

参考ページ

参考というか、公式ページにきちんと必要なことは書かれているので基本的にはそれを見る。 国家資格「情報処理安全確保支援士」:IPA 独立行政法人 情報処理推進機構

取り組み方

とはいえ、いろいろあって分かりにくいのでよさそうな順路を書く。

  1. 登録申請チェックシートを見る
  2. チェックシートを一つずつ見ながら登録の手引きの該当箇所を見る
  3. やることをまとめる
  4. やる。やれ。やらなければやれない。

必要書類

書類としては以下のものが必要である。チェックシートとは順番を変えている。

  • 戸籍謄本もしくは抄本、または住民票の写し(原本)
  • 市区町村の交付する身分証明書または身元証明書(原本)
  • 登記されていないことの証明書 (原本)
  • 登録申請書
  • 現状調査票 (登録申請書と同じPDFにある)
  • 誓約書
  • 登録事項等公開届出書
  • 合格証のコピー
  • チェックシート

この中で厄介なのは上の3つである。
これ以外はPDFダウンロードして書けばいいだけだが、上3つは取りにいかなくちゃいけない。 平日の窓口に行かなければならない場合もあるので早めに動きだそう(自戒)。

順番に入手していこう

落ち着いて順番にゲットしていく。

戸籍謄本もしくは抄本、または住民票の写し(原本)

まずこいつをゲットする。市役所へGo。
住民票の場合は、本籍地を記載してもらおう。 これ以降の書類入手には本籍地が必要なものがあるからだ。
本籍地がはっきり分かっているなら本籍地の記載は不要だ。

追記 本籍地が必要なのは

  • 身元証明書を交付してもらう市区町村を知るため
  • 身元証明書を交付してもらうときに必要な情報

の2点だったと思う。 「登記されていないことの証明書」の申請書には、本籍地を書く必要はない。

市区町村の交付する身分証明書または身元証明書(原本)

この身分証明書とは運転免許証とかそんなんじゃあない。
これは自分の本籍地のある地域の窓口に行く必要がある。 郵送可の場合もあるが、書類を送る&送られるので数日かかる。
「各市町村 身元証明書」でググればたぶん役所のページが出てくる。 また、名称もバラバラっぽっくて、禁治産・準禁治産・後見及び破産に関する証明(身分証明)とか書かれてたりする。

登記されていないことの証明書(成年被後見人被保佐人に該当しないことの証明)(原本)

さて、ここで一旦、郵便局へ向かい、次のものを購入する。

  • 9,000円の収入印紙 (資格の登録申請書用)
  • 300円の収入印紙 (登記されていないことの証明書の申請用)

窓口で「しゅうにゅういんし を ください! 9000えんのと、300えんのをください!」と唱え、購入する。
ついでに 10,700円の登録手数料を払い込んでしまおう。

次に、下記のページを見て、登記されていないことの証明申請書(後見登記等ファイル用)[PDF]を記入、ダウンロードして300円の収入印紙を貼る。
法務省:登記されていないことの証明申請(後見登記等ファイル用)
そして、各地の法務局へ赴く。もしくは郵送で請求できる。オンライン請求もできるがムズカシソウだったのでスルーした。

追記: 申請書は法務局にあります。収入印紙も法務局で買えるみたいです。

法務局は本籍にかかわらずどこでもよいが、証明書交付を受け付けているところでなければならない。
大阪にはいくつかの法務局があるが、これができるのは本局だけっぽい。

法務省:法務局・地方法務局所在地一覧
ここから各法務局のページに飛べるので、右側メニューから
「法務局・管轄のご案内」-> 「登記管轄一覧」->「成年後見登記」を見て、成年後見登記の証明書交付に丸がついてればよさそう。

あとはIPAからダウンロードした書類に記入、ダウンロードなので割愛

以上のようにして必要書類とうとうを揃えたら、間違いのないように簡易書留で郵送する。 書類を入れた封筒をもって郵便局窓口に行けば教えてもらえるだろう。

じつはまだ完遂していないので完遂して追記することがあったら追記する。

完遂してきたので追記

それぞれの証明書の発行は、混んでいなかったのでそれぞれ10分もかからなかった。
しかしまあ結構お金がかかる。

摘要 お金
登録手数料 10,700円
収入印紙(登録申請書用) 9,000円
収入印紙(登記されていないことの証明書申請用) 300円
住民票発行 300円
身元証明書発行 300円
合計 20,600円

さらにこれにプラスして簡易書留郵送代、
そして本籍地まで行った交通費(往復)で大変なのだわ。
本籍地までは電車で1時間くらいなのでなんとか行けたけど、遠方だったら郵送しかないね。

おわり。