Magnolia Tech

いつもコードのことばかり考えている人のために。

自宅のインターネット環境をau ひかりに変えた

フレッツテレビや、ひかり電話を解約することにした。 だったら何の回線でもいいんじゃないか?ということで、自宅のインターネット環境を「au ひかり」に変えてみた。

せっかく工事が発生するなら、NTTのダークファイバーを使っていないauにしてみよう、という理由でauひかり。

回線速度については、具体的な数字を書いても「タイミングとか環境による」ので、あまり参考にならないので載せないけど、平均的には速くなった。5Gコースとか、10Gコースなども申し込める地域だったけど、そこまでは不要だったので申し込まず。

ホームゲートウェイONUと分かれるのは、唯一のフレッツに対するデメリット。ホームゲートウェイ無線LANがIEEE802.11axをサポートしているのはちょっと嬉しい。活用できる機器はあまり無いけど。

設定項目も特段目新しいものはなく、特に追加で設定することもなく、あっさり利用開始。


以前、フレッツがIPoEのIP v6接続になった時に、Meraki Go + Apple Musicが接続できなくなった、というエントリを書いた。

blog.magnolia.tech

とりあえず、これは解決した。久しぶりにMeraki Goを復活させることができた。単にデザインが好きなだけなんだけど。


ということで、あっさりつながって、速度も(ベンチマーク上は)速くなって、月々のインターネット回線費用も下がった(オプションを利用しなくなっただけど)ので、乗り換えは成功。

方法論は、問題は解決してくれない

でも方法論に関する技術書、結構分厚いし、内容も難しいから結構集中して、自分の使える時間をかなりがっつり注ぎ込んだり、読書会でみんなで読んだりしないとそもそも読み終わらなくて。

その関心度の集中の結果、「これだけの時間をかけたのだから、きっと良いものなのだ」というバイアスがかかってはいけないし、現実のプロジェクトではほかにも対応しないといけない課題は山のようにあるし、方法論にだけこだわってはいけないんだよね...

issueを書く時に気をつけること...まずは「書くこと、書かせること」そして「感想や予測ではなく、事実だけを書くこと」

とりあえず最初の「題名は観測された事実を書き、感想や予測を混ぜない」を特に意識的にやってみるだけで、ずいぶんと印象は変わるはず。

あと、そもそも書かない、というのがけっこう有って、エントリは有っても実質中身が無いとか、延々と口頭で説明するとか。

とにかく書いてみる、書かせてみる、まずは書いてみないことには始まらない。

いつの日か、issuepilotが出来上がる日も来るかもしれない。

コードから読み取りたいことは何なのか、定義が必要じゃないか

書いてあることは分かるけど、意味が分からない、みたいな時があるけど、コードから読み取りたい(もしくは意図が書かれてないから読み取れない)ことの正体に名前がついてると、少しは混乱が収まるかもしれない。

一つきっかけが有れば、そこからの理解は早いんだけど、そもそも今何を読むとろうとしてるのか、それを意識して読まないとずっと分からない…が続くよね

printデバッグに絵文字を使うと捗る話

というツイートをしたら意外と反応が多かったので、ブログのエントリとして残しておきます。

printデバッグの時は冒頭に内容を示す文字列を書いておくと思いますが、その時に冒頭に「👺」を差し込んでおくと赤くて目立つし、珍しく横を向いてる絵文字なので、「ここから先を見ろ」って分かりやすい。

あとまず普通出てこないので、検索し易い。

macOS だと「おに」の変換で出てくるのでタイプ数も少ないし。

まぁ当然別に区別できれば何でもいいんですけど、絵文字の普及でUnicodeの文字の扱いがまともになって良いですね。

当然終わったらちゃんと消しておきましょう。突然コンソールとかログに👺がたくさん出てくると驚いちゃいますからね。

『プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書』は書名に偽りのない、全部入りの1冊

予約していたので、早速届きました。

Javaを使ってプログラミングを学ぼうとする人は、とりあえずこれ買っておけばいいんじゃね?っていう全部入りの1冊ですね。

JDKのインストールから、IDE/REPLの使い方、基本的な文法、エラーメッセージの読み方、オブジェクト指向関数型プログラミング、各種ツールチェーン(ユニットテスト、ビルドツール、バージョン管理)と、全部入りの全部入り。

全般的に単なる文法の解説に終始せず、初学者がつまづきやすいところにページを割いているところが良くて、特に「最初からIDEを使う」と、「エラーが出ることと、その読み方を最初から書いていること」、「理解が難しそうな”ループ”の概念にフォーカスしていること」あたりは、上手く理解の解像度に合わせてペースを変えている。


あと、最初からJava17ターゲットにゼロから書き下ろされているので、後から追加されたラムダ式やレコード、新しいswitch構文などが「最初からあるもの」として書かれているのも凄く良い。どうしても歴史ある書籍のアップデートだと、「今頃それを最初に解説する?」とか、「後から追加になった機能の解説の取って付けた感」がすごいけど、この本ではそれが、ない。逆に新しいswitchの構文を先に教えておいて、後から「古いswitchの書き方はこう」と既存のソースコードを読み解くための内容もちゃんとフォローされている。

開発環境の整備も、ちょっとしたつまづきやすいポイント(検索ではJDKのダウンロードページに辿り着くのが大変、とか、IntelliJmacOS版ではOSデフォルトのショートカットキーを変えておいた方がいいとか...)が書いてあるところが良い。


500ページ近くあるので、ちゃんと手元で実行しながら読み進めるのはハードだけど、入門の時くらい最後までやり切ると、必要な知識のベースラインができて良いと思いますし、Java8より前の頃にJavaと、そのツールチェーンを学んだ人にとっては現代的なやり方に知識をアップデートするのにもちょうど良いと思います。

歴史ある言語、みんなこんな感じの解説書があるといいですね。