yak shaving life

遠回りこそが最短の道

Selenium IDEがChromeで使えるようになっていた

Seleniumといえばブラウザ操作の自動化ツールで、Selenium IDEFirefoxのアドオンである。いや、であった。いつの間にかChrome Extensionが出来ていたようだ。せっかくなので使ってみた。

Selenium IDEを使えば、ブラウザ操作を"Record"してTest Suiteを作成できる。Recordボタンをポチッと押して、実際にブラウザ操作をカチカチとやって、Record終了ボタンを押せば自動化スクリプトの雛形が出来上がる。驚きのお手軽さで、ちょっとした定型業務の自動化なんかにも使える。かも知れない。

これを本格的なブラウザテストに使おうと思うと変数や制御構文が欲しくなるところだが、以前のSelenium IDEに制御構文はなかった(はず)。ところが最新版ではifとかwhileとか普通に使えるみたい。便利ー。素晴らしい。

変数は以前からあるのだが、最新版での変数の使い方が全然分からなくてハマった。storeコマンドで変数の宣言と代入ができるはずなのだけど、公式ドキュメントにはGUIの操作方法がなーんにも書いてないし。。なんでなの。。

結局、TargetとValueに入れるべきものが間違っていた。変数名と値を書くものだと思っていたら、なんと逆だった。targetに値を、valueに変数名を入れたら動きました。valueって書いてたら値入れたくなるじゃないですか普通。なかなかヤクい(=yak shavingな)時間だったなあ。まあSelenium IDEがちょっとだけ使えるようになったから良しとしよう。自動化は良いものだ。自動化好き。No自動化No Life 。なんかコマンドラインランナーとかもあるようなのでもう少し使いこなしたい。こういうツールで日常をちょっとだけ便利にしていけたらいいなあ。

chrome.google.com

入門 監視 ―モダンなモニタリングのためのデザインパターン を読んだ

タイトル

入門 監視 ―モダンなモニタリングのためのデザインパターン

入門 監視 ―モダンなモニタリングのためのデザインパターン

  • 作者:Mike Julian
  • 発売日: 2019/01/17
  • メディア: 単行本(ソフトカバー)

入門 監視 ―モダンなモニタリングのためのデザインパターン

なぜ読もうと思ったか

発売当初からよくお勧めされている印象があった。 監視についての本は読んだことがないし、業務でも監視やObservabilityの重要性を日々感じている。ので読んでみることにした。

書評というか感想

めちゃくちゃいい本。マジで。金言と知見に溢れてる。

百戦錬磨のSREとかDevOpsエンジニアみたいな人には刺さらないのかもしれないけど、少なくとも僕のような平凡なプログラマには非常〜に参考になる本だった。

第一章と第二章では監視のアンチパターンデザインパターンについて述べられている。もうこの二つの章だけで読む価値があった。何度も繰り返し読みたい章。アンチパターン「監視を支えにする」とか胸にグサグサ刺さりすぎて謝りたくなった。すみません。

第三章と第四章でより具体的な内容、アラートやらオンコールやらについて説明があり、第五章以降は実際にどう監視をするかの戦略についての記述となっている。第九章、第十章あたりは普通のバックエンドエンジニアにとっては馴染みの薄い内容かもしれない(というか自分にとってはそうだった)が、知識として知っておくのは役に立ちそうではある。

とにかく参考になるし読んでいて納得感もあるいい本だった。あと日本語が抜群に読みやすい。翻訳クオリティが異常。訳者の松浦さんに対する興味が湧きまくった。他にも訳されている本があるのかな、探してみよう…。

ちょっと前にバズっていた記事 に書いてあった、読みながらハイライトをつけて言って、読了後にもう一度ハイライト部分だけ読み直し、その中で改めて良いと思った部分だけメモを取るというやり方が良さそうだと思ったので、この本ももう一度ハイライトをつけながら読もうと思う。しかしいい本だったなー。自分的オススメ技術書の一冊に加わった。満足満足。

転職して数カ月経った

入社直後の焦りについて – 1/0 という記事を読んだ。読みながらウンウン頷き過ぎて、V系バンドのライブさながらのヘドバンをかましていたと思う。分かる…分かるんや…。

去年の夏頃に転職をしたので、現職についてから半年以上経ったことになる。はっきり言って、自分が想像していた転職後半年時点でのパフォーマンスは全く出せていないように思う。悲しい。

これは単純に見立てが甘かっただけなのかも知れないけど、予想していなかったこととして「リモートワークだとなかなか馴染めない」というのがある。もちろん会社によるとは思うが、少なくとも自分の場合、隣の席の人に話しかけるのとSlackで発言するのではハードルが全然違う。というか、コミュニケーションとしての性質が全く異なると思う。ムズカシー。あと、チーム外の人との会話がマジで少ない。一緒にランチしたり、フリースペースで適当に喋ったり、そういう雑多なコミュニケーションがとても価値あるものだったと気付かされている。

会社から過度に期待されているとかプレッシャーをかけられているということは全くなくて、自分自身で勝手に不安になっているだけ。自覚はある。不安になっても正直意味がないし、理想と現実のギャップを受け入れてある程度割り切るべきだとも理解している。頭では分かっているのだけれど、それでも焦り、不安、俺ってダメすぎない?ヤバくない?陰で給料泥棒とかハズレとかゴミとか言われてたらどうしよう、俺のプルリクを画面共有しながら「見て見て、コイツのコードやばくない?プププ…」なんていう闇のミーティングが開催されているのでは…いやそこまでは思ってないけど、まあそんなようなネガティブ感情がちょいちょい押し寄せてきて仕事を楽しめていない感がある。そう、僕は楽しく仕事できれば良いのだ。少なくとも今は。ただそれだけなのになあ。

あとはアレだよアレ、シンプルに技術力の問題もあるよね。ハイ。スミマセン。転職前は主にPHPというサイコーな言語を使っていたけど、転職してJavaになりまして、これが本当になにもわからない。日々勉強しながら仕事してるわけなんですが、明らかに勉強量が足りてない。言語を変えるって思ったより大変なんだなあ。勉強するよりも早く仕事で成果を出したいと思ってアウトプットに時間を費やしてしまい、なかなか技術インプットに時間をかけられていない。良くない傾向だ…。

他にも、「俺って結構会話が好きなんだな」という発見があった。自己分析というやつである。基本的には内向的な性格なのだが、それでもやはり人とは話したい、というか、話すことがあまりに少ないと気分が落ち込んでいってしまう気がする。思えば前職でも、何気なく交わしていた仲の良い人たちとの会話、ふざけたやりとりや飲み会などが心の栄養になっていたんだなあ。なくなって初めて気づくものですね。

こうやって色々書いてみると、課題は結構明確なのかもしれない。解決策は自分で考えて実行していかなければ。職場の環境自体はすごく良いし、同僚も皆ナイスガイだ。ソフトウェアエンジニアとしても成長の機会がたくさんありそうなので、うまく仕事を楽しめるようにしていきたい。

多くのIT企業が在宅勤務を推進し始めたのが3月頃だとすれば、それ以降に転職して、自分と似たような境遇の人は少なくないだろう。つまり、転職してからずっとリモートで仕事をしている人たちだ。彼らはどうしているんだろう。思ったような成果は出せているのだろうか。同僚とは仲良くなれているだろうか。仕事を楽しめているのかどうか。人の心配をしている余裕はないけれど、外出自粛やリモートワークが続くと気分が落ち込みがちだと思うので、皆さん無理せず楽しく働けていたらいいなと思う次第。頑張って生きていきましょう。

2020年何があったか思い出せない

新型コロナウイルスによって世界が完全に様変わりしてしまい、コロナ以前のことが遠い昔のように思えてきた。ほぼ家に篭っていることもあり、今年はなーんにもしなかったな。。などと感じ若干凹んでいたが、よくよく考えたら色々あった年だったような気もするし、そうでもないような気もする。うん、正直、全然思い出せない。だらだらと振り返ってみようと思う。

まず仕事。昨年の終わり頃に異動したチームで本格的に業務をやり始めた。言語がPHPからJavaに変わったり、話す言語も日本語から英語になったり、そもそもチームメンバーが全員外国人になったり。新しく学ぶことだらけで、移動を快諾してくれたマネージャーには感謝の言葉もない。

3月からリモートワークになって、明らかに家族と過ごす時間が増えた。特に娘との時間が増えたことが嬉しかった。嬉しかったのだが、緊急事態宣言とともに保育園が休園になり、一歳の幼児を見ながら在宅ワークをするという超絶ハードモードになってしまい辛かった。奥さんに死ぬほど助けられました。。ありがとう。。

その後なんやかんやあり、転職をした。人生初転職でビビリまくっていたのだが、自分のスキルや経験を活かしつつも新しいチャレンジができそうな企業から内定をいただくことができた。良かった良かった。複数社受けて落ちたり受かったりしたのだが、そういえば、選考プロセスは最終面接も含め全てリモートだった。ニューノーマルという感じだ。この辺の「フルリモート転職体験記」みたいなモノを書こうと思ってはいたのだけれども、全く筆が進まず2020年が終わってしまった。来年気が向いたら書こう。

新しい会社では、入社した瞬間からフルリモートで働いている。正直、リモートでのオンボーディングはめちゃくちゃ難しい。元々フルリモート前提の会社とかなら違うのかもしれないが、ほとんどの会社はそうではない。「転職してすぐフルリモートで全然会社に馴染めないしパフォーマンスもなかなか出せないし俺ってカスなのかな辛い」的なスレが2chに沢山立っていることだろう。見てないけど。え、2chじゃなくて5ch?言わないでください、未だにしっくりこないんです…。

そんなこんなで数ヶ月働いてようやく慣れてきたが、チームメンバー以外との人間関係が全然構築できないのが悩ましい。ある程度は仕方ないと割り切ってはいるけれども…もっとみんなと仲良く楽しく仕事したいというのが本音ではあるんだよなあ。来年はどうなることやら。まあそれ以前に、給料泥棒と思われないようになんとか成果を出していきたい。

娘は今年2歳になった。毎年毎月毎日可愛さが加速しており控えめに言っても天使である。動物園や水族館が好きなのだが、人混みに行きたくなかったのもあり今年はあまり連れて行ってやれなかった。去年行った富士サファリパークでひたすら楽しそうにしていたので、来年はまた連れていってあげたいところ。

あとは、奥さんに連れられて最近の有名な建築や現代美術を見に行ったりした。自分は完全にズブの素人なので一からの勉強という感じだが、少しずつ知識が増えていく感じが楽しい。知識が増えると同じものを見ても解像度が違うので、より楽しめるようになっていく。なんだか、Web開発にハマった時に似ているような気もする。少しずつ勉強していこう。

こんなところだろうか。上の方にも書いたが、とにかく家族と過ごす時間が増えた一年だった。通勤も無いし、出かける時もほとんど常に家族と一緒なので娘の成長をがっつり見られて大変良い。自分の勉強や個人開発をいつやるのか問題というのもあるが、あまりハードになりすぎてもしょうがないし、子供が小さい間はなるべく家族の時間を優先しつつ、効率よく楽しく仕事ができれば良い。バランスが難しいけど、幸せな悩みというやつなのかもしれない。

一方、コロナで人との関わりが大きく減り、なんとなく気分も落ち込みがちで、もし一人暮らしだったら精神がやられていたかもしれない、とも思う。家族がいてくれてよかったと心から思う。皆さんもお気をつけください。

家族第一、健康第一で来年も過ごします。それでは皆様、良いお年を。

江之浦測候所に行った

普通に日記もここに書くことにした。

というわけで行った。江之浦測候所なるところに。江之浦測候所は、写真家で現代美術作家の杉本博司氏が手掛けた広大な施設であり、建築であり、美術作品である。

らしいのだが、そもそも測候所って何?初めて聞く言葉なんですけど?ということでGoogle先生に聞いてみたところ、測候所というのは

その地方の気象を観測し、天気予報・暴風警報などを発し、また地震・火山(の噴火)の観測をする所。 

だそうで。気候を測るから測候所かあ。で、それが現代美術となんの関係があるというのか…と誰もが抱きそうな疑問を抱きながらパンフレットを見ると、以下のようにコンセプトが説明されていた。公式HP にも書いてあるので全文引用。

アートは人類の精神史上において、その時代時代の人間の意識の最先端を提示し続けてきた。
アートは先ず人間の意識の誕生をその洞窟壁画で祝福した。
やがてアートは宗教に神の姿を啓示し、王達にはその権威の象徴を装飾した。
今、時代は成長の臨界点に至り、アートはその表現すべき対象を見失ってしまった。私達に出来る事、それはもう一度人類意識の発生現場に立ち戻って、意識のよってたつ由来を反芻してみる事ではないだろうか。
小田原文化財団「江之浦測候所」はそのような意識のもとに設計された。
悠久の昔、古代人が意識を持ってまずした事は、天空のうちにある自身の場を確認する作業であった。そしてそれがアートの起源でもあった。 新たなる命が再生される冬至、重要な折り返し点の夏至、通過点である春分秋分。天空を測候する事にもう一度立ち戻ってみる、そこにこそかすかな未来へと通ずる糸口が開いているように私は思う。

とのこと。ふ、深い…(語彙力)

僕は正直、アートに関する教養がゼロと言っても過言ではないくらい何もわからないのだけれども、奥さんに連れられてやってきたのでした。そこにあったのは広大な敷地と、特徴的な建築物、天空に佇む光学硝子舞台、石舞台や古美術ギャラリー、茶屋、庭園、そして自然。水平線や自然光を取り入れた、息を呑むような美しい景色。魯山人が所蔵していた井戸枠とか縄文時代に祀られていた石棒、幾何学的な数理模型作品から古代の化石まで、とにかく色んなものが。杉本氏が集めた宝物たちという感じだろうか。


f:id:summertree128:20201213005722j:image

これは冬至の日の出を観測できる場所。冬至は巡り来る死と再生の節目として古代から祀られてきた特別な日らしい。隣にあるのは光学硝子舞台。

  

なんの知識もない自分でも楽しく過ごせる良い場所でした。パンフレットの解説も読み応えがあって、勉強になるし面白い。アートについて全然知らない人、つまり僕みたいな人間であっても行って損はないと思います。車で都心から1〜2時間くらい。オススメです。完全予約制なので注意。 

杉本博司さんの作品も少しずつ知っていけたら楽しそうだなあ。

 

こんなのとか 

こんなのもあった。興味深い。

 

「Javaによる高速Webアプリケーション開発のためのSpring Boot入門」を読んだ

タイトル

Javaによる高速Webアプリケーション開発のためのSpring Boot入門

なぜ読もうと思ったか

Spring Bootの新しい本が出るという噂を聞いた。正直、最近Webアプリケーションフレームワークの書籍はほとんど読んでいない。リリースのサイクルが早いし、公式ドキュメントも充実している傾向にあるし、大抵OSSなのでソースを読むこともできる。のだけれども、Springは大きなプロジェクトで複雑だし、そもそもJavaがよく分かっていないというのもあり、一冊本を読んでみるのもいいかなと兼ねてから思っていた。そんな折に新刊が出ると知り読むことにした。フレームワークの書籍であっても、発売してすぐに読めば比較的新しいバージョンに対応した情報を仕入れることができるので良いかなと思った。

書評 / 感想

一言で言うと

内容薄いけどいい本。でもやっぱりちょっと内容薄くない?

本の内容

はじめにSpring Bootの概要やなぜ注目されているのかの解説、それからプロジェクト構造や主要なアノテーションの説明があり、そこから先はちょっとしたWebアプリを作ってみるという内容で、主にSpring MVC, Spring Data, Spring Securityを使用したサンプルコードを紹介。Springの各機能そのものの解説は少なく、基本は公式を読めというスタイル。最後にAuto-configurationの仕組みについての解説がある。

雑感

フレームワークの解説本としてとても良い構成だと思った。

極端な話、機能についての説明は公式ドキュメントあるいはソースコードを見るのが確実なので、本書のように「なぜ、どのような時にこのフレームワークを使うべきか」「こういうシステムを作りたいときはこのモジュールとこのモジュールを使えば良いというカタログとサンプルコード」「直接使うことの少ない裏側の機能の解説」が書いてあると個人的には嬉しい。各機能の詳細は公式を見てください、という作りは潔いと感じた。ここが物足りない(各機能の詳細をもっと解説してほしい)と感じる方にとってはショボい本という感想になるのかもしれない。

というわけで自分にとっては役に立つ本だった。…のだが、とはいえさすがにちょっと内容が薄いのではないかと思ってしまった。いや、無駄に分厚い本よりはよっぽどいいのだが、この内容ならせめて定価1000円以下くらいにしてほしかったな…というのが正直なところである。まあ得るものはあったからいいのだけれども。

ある程度Java(によるWeb開発)やSpringの経験がある他人にはちょっとオススメしづらい。JavaもSpringも経験が浅く、これからSpring Bootを使って開発をしようという人には結構オススメできる。ただしちゃんと公式も併せて読める人に限る、あるいは公式を併せて読むという習慣を身につけるためにこの本を読むという逆転の発想もありかもしれない。

「Java: The Good Parts」を読んだ

タイトル

Java: The Good Parts

Java: The Good Parts

  • 作者:Jim Waldo
  • 発売日: 2011/02/24
  • メディア: 大型本

Java: The Good Parts

なぜ読もうと思ったか

会社の本棚になんか薄い本があるなと思って読んでみた。


書評というか感想

一言で言うと

実用的ではないけど読み物としては面白い


本の内容

まえがきから引用すると、「本書はJavaという言語のよいところはどこなのか、そしてなぜそこがよいところと言えるのかを、著者の視点で明確にしようという本です。」という本。

型システムや例外、ガベージコレクションJVM、並行処理と言ったテーマごとに章立てがなされており、それぞれの事柄についての概要や歴史、サンプルコード、何が嬉しいのか等が記載されている。


読んでみてどうだったか

正直、この本を読んだからJavaがうまく書けるようになるということはないと思う。技術書というよりエッセイを読んでいるような気分だった。Javaの様々な機能がなぜ導入されたのか、どのように活用されてきたのか、歴史探訪をしている感じ。僕はプログラミング言語Javaについてあまり詳しくないので結構楽しく読めた。

あまり良くない点としては、サンプルコードが読みづらい、あるいは意味が分かりづらい(と個人的には感じた)ことと、対象としているJavaのバージョンが低いこと。

実用書を探している人は大人しくEffective Javaを読みましょう。