この記事の続編(?) izumisy-tech.hatenablog.com 深海の使者 ノンフィクション・ドキュメンタリーの大御所、吉村昭によって描かれる遣独潜水艦作戦のドキュメンタリー。 映画「ダンケルク」を見てから、船乗りから見る潜水艦というのはめちゃくちゃ怖いも…
elm-jp.connpass.com 前回Elmのミートアップが最後に行われたのは1年以上前で、運営や会場の関係で長らくこのようなElmを愛する者達の交流会は開かれていなかったが、急遽弊社オヒスの大広間(?)を貸してElmエンジニアたちを集めてワイワイしようという運…
いくら効率を上げて作業量を減らしたとしても、労働者からすれば、減った分を補う余剰の仕事が増えていくだけ。うれしくなるのは経営者、マネージャ層だけであって、労役側は効率が上がることによるメリットをなにも享受しない。 できるだけ働きたくない 労…
弊社では「筋肉の人」*1として知られるRichard FeldmanはElmの創造神ことEvan擁するNoRedInkに所属するエンジニア。 Evanが比較的キーノート的なElmの未来やらビジョンを語るトークをする一方で、RichardはどちらかといえばElmをプロダクションで使うにあた…
例えばこんな構造体が定義されているとして type User struct { Name string `json:"name"` Status int `json:"status"` } この構造体をJSONからUnmarshalしてマッピングする際に、以下のような要件があるとする statusの取りうる範囲は1,2だけ、かつそれぞ…
GitHubなどで作者がライブラリ(やフレームワーク)をopinionatedであると形容しているのを見ることがある。Opinionatedというのは直訳すると「意固地な」「意志のかたい」のような雰囲気になるが、意固地なライブラリというのは正直意味が通らない。ではど…
世界中のElmエンジニアが集まるSlackワークスペースがあり、情報収集をするには非常によい。 あまり日本のElm界隈では知られてないのかな? と思ったのでメモ程度に周知しておく。以下のページからSlackのワークスペースに入れる。基本的に全部の会話が英語…
2019/6/27-28にかけて開催されていた Elm Europe 2019 というカンファレンスにスピーカーとして参加した Now on: @sy_izumi recounts the journey of the biggest Elm application in Japan. pic.twitter.com/VG0NQG1Yo3— Elm Europe (@elm_europe) 2019年6…
年と月だけの文字列をDateへ変換すると2月だけおかしくなる console.log(dayjs('201901', 'YYYYMM').toDate()); // Tue Jan 29 2019 00:00:00 GMT+0900 (日本標準時) console.log(dayjs('201902', 'YYYYMM').toDate()); // Fri Mar 01 2019 00:00:00 GMT+090…
よく新しいフレームワークを学ぶにはTodoアプリを作ってみるのがよい、と言われる。実際、Todoアプリを様々なフレームワークで作ってみたサンプルをまとめたサイトもあったりする。 ところが、実際に業務で作るようなアプリケーションはTodoアプリの範疇を超…
6/1に開催されたJavaScript祭りというイベントに「jQueryからElmまで」というタイトルで15分枠の登壇をした This is my slides on #jsfes https://t.co/6p0mONwZrk— IzumiSy (@sy_izumi) June 1, 2019 内容はjQueryからJavaScriptを触り始めた自分が、Elmを…
先日業務で1からElmアプリケーションを作りきったのでそのときの学びをメモっておく。 1. Model / Msg / View のような分割をしない Rails などのフレームワークからきた人がやりがち。 Elm でファイル分割をするのはモジュール単位でのカプセル化をするとき…
先日、新卒で入ったエンジニアが 「Immutable.jsの研修課題をやってるんですけど、正直なんで必要なのか分かんないっす」 と言っていた。 たしかに React, Redux と Immutable.js をセットでつかおうみたいなノリの記事はネットでよく見るが、じゃあなんでそ…
自分の欠点として、まず「完璧につくろうとしてしまう」というものがあることが分かってきた。 www.wantedly.com 2度現地で参加したリモートハッカソンでは、SAPに勤める若いエンジニア、バークレーで勉強をしている学生とそれぞれペアを組んで開発をしたが…
去年の4月から社会人としてエンジニアをやっている。 いつのまにやらもう1年が経とうとしているが、自分が仕事としてコードを書くエンジニアになって、これまでにどんなことを学んできたのか? ということを文章として書き残していなかった。タイミング的に…
戦争、とくに太平洋戦争に関する本を読んでいる。 大学生のとき語学留学でフィリピンに行ったり、卒業旅行でグアムに行ったりしたが、やはり東南アジアの島国をめぐると様々な形で戦争の形跡を目にする。戦争を経験していない世代として、戦争とはどんなもの…
紛れもない事実として、学生の頃よりも明らかにプライベートの時間でプログラミングをするのが億劫になった。 後輩にこのことを話すと「それってインポみたいですよね」と言われたので、これをプログラミング・インポテンツと名づける。 いまの生活に関して …
年明けに書いたこの記事で触れていたように、もともと住んでいた江東区から千葉県にある母親の実家へと引っ越した。 izumisy-tech.hatenablog.com 引っ越すにあたって、朝のラッシュがどんな感じなのかネットで調べてもいまいち要領を得ない感じなので、実際…
今週のお題「2019年の抱負」 ■ 2018年の出来事 去年は各月の出来事を垂れ流して書いていたがめんどくさいのでやめた。今回は出来事を箇条書きスタイルで。 大学を卒業した 大学を卒業した。ギリギリまで単位が足りているのかわからない状況で、教務課に問い…
ElmのMaybeはデータの有無を型で表現できるゆえ非常に便利なものであるが、文脈が失われるため無闇に使い過ぎるとワケがわからなくなる。ケースによっては、カスタム型を使うことによって型でデータの有無を Maybe に代えて表現するほうがよりメンテナブルに…
結論から言うとこれです。 $ npx create-react-app myapp --typescript #React Create App now officially supports #TypeScript!I'm so happy this will make it much easier for devs to start with, well, both of these great pieces of tech! pic.twit…
本日久しぶりにGPD Pocketのコミュニティパッチを更新して適用したところ、まだ44℃だというのにCPUファンが思いっきり回転しはじめた おそらくこれはファン周りのデーモンかなにかがうまく動いてないな...ということでおもむろにログを確認 $ journalctl -u …
Golangを使い始めてinterfaceでDIPっぽいことをしようとするとたしかに湧きがちな疑問のひとつ。結論から言うと、interfaceはそれを使う側のパッケージに所属させるのがセオリーらしい。なるほど。 Go interfaces generally belong in the package that uses…
izumisy-tech.hatenablog.com あとからこの過去記事を読み返して「ムム」と思うところがあったので改めて。 CategoryId ではなく Category を引数として渡すことでデータ構造が隠蔽されているという旨の説明をしているが、これは fetchArtclesByCategory を…
OneTapBUYをやっていたときもこういう記事を書いていたので今回はクラウドバンクについて書く izumisy-tech.hatenablog.com つい最近クラウドバンクも始めた。いまのところ投資額はOneTapBUYと同じくらいだが、パフォーマンスで言うと年6〜7%といったところ…
日本語だとググっても出てこなかったのでまとめた 操作 計算量 添字アクセス O(1) 挿入(splice) O(n) 削除(splice) O(n) 削除(delete) O(1) 最後に追加 O(1) 先頭に追加 O(n) スワップ O(1) 添字アクセスがO(1)だったりするのは、JavaScriptの配列は連結リス…
歴史 かつて、分散システムのデータ複製における唯一無二の理想は「更新されたデータは即座に反映される」というものだった。 70年台の分散システム技術において試みられているものの多くは、いくら背後にたくさんのシステムが控えているとしても「使う人間…
ScalaでDDDなコードのアプリケーションを作ろうとしているときに UserId など値型はどうするべきか の記事を読み、「専用の値クラスを作る」のパターンでふと 「ここでケースクラスが AnyVal を継承する理由ってなんだ...?」 と思ったので調べた。 case cla…
自分がOOPをそれっぽく学んだのは、サンディ・メッツの「オブジェクト指向設計実践ガイド」だが、この本だとダック・タイピングはバキバキにでてくる一方であまりポリモーフィズムについては詳しく書かれていない。thoughtbotのブログの記事、Rubyとポリモー…
Domain Name Systemの略 インターネットに接続されているすべてのコンピューターはIPアドレスを割り振られているが、数字でサイトを記憶しておくのは難しいので、DNSで覚えやすい文字列への解決を行う。 ARPANET時代はひとつのHOSTS.TXTにすべて書き込まれた…