サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
bufferings.hatenablog.com
いただきましたー!わーい。脳に収めるぞー! @haradakiro @ryuzee pic.twitter.com/3Qd6EvPioU— SHIIBA Mitsuyuki (@bufferings) June 13, 2024 明日(2024年6月18日)発売! www.oreilly.co.jp どう書くのがいいんだろうなぁ? 複雑なコードと向き合うときは「あー、これはメモを取りながら読まないと迷子になるやつだ」ってなる。最初はわりとキレイに作られていたとしても、機能追加を重ねていくとだんだん読めなくなっていく。 だから「時間が経っても読みやすいコードってどう書くのがいいんだろうなぁ?何かヒントがあるかなぁ?」って思いながらこの本を開いた。先に書いておくと、ヒントはあった。 アウトサイドインのTDD 全然予想してなかったから、おー!と思ったのが、説明をTDDで進めていくってところ。好き
ソフトウェアエンジニアの話ね。想像して遊んでるだけね。 スキルは高い まず、マネージャになってほしいって言われる時点で「仕事を任せられる」というエンジニアなんだろうな。それは、つまりコードを書くことに加えて、プロダクトをなんとかしてリリースする力と責任感をもっていて、それが会社にとってプラスになっている。 だから、チームを任せて同じようなエンジニアを育てて欲しいと期待されている。自分自身も、自分のスキルをもっと会社の役に立てるぞー!とやる気になっている。 任せたい そういう人がマネージャになって、あるだろうなぁと思うのは「どう任せたらいいんだろう?」という悩み。 自分が手を動かせばプロジェクトがなんとかなるのは分かっている。でも、自分はマネージャの仕事があるし、そこは自分の役割ではないし、実際のところ手を動かす時間なんてない。それはメンバーにやってもらわないといけない。 ただ、だいたいの場
単体テストの考え方・使い方を1年ちょっと前に買って、今頃になって少しずつマイペースで読んでいる。著者の考え方が自分とは違う部分があるけど、それはそれでおもしろい。 book.mynavi.jp 第4章を読んだ 昨日いちど第4章を読んで、今日ももういちど読み直した。この章を読み直した理由は、あんまりしっくりこなかったから。でも、別にしっくりこなかった部分については今日は書かない。今日はただのメモ。 この章では、良い単体テストを構成する4つの柱について書かれている。 リグレッションに対する保護 リファクタリングへの耐性 迅速なフィードバック 保守のしやすさ これ自体はとてもよく分かる。単体テストというか、自動テストを考えるときに考えるなぁって気がする。 こんな感じかなぁ 以下、ぼーっとこんな感じかなぁって思った。 UT IT E2E リグレッションに対する保護 ◯ ◎ ◯ リファクタリングへの
昨日TSKaigiに参加してとても楽しかった。そのキーノートスピーカーがDanielで、5.5の新機能を教えてくれた。 ので、今日は↓この記事のInferred Type Predicatesを手を動かしながら読んだ。面白かった。まだ5.5はベータ。 devblogs.microsoft.com Inferred Type Predicatesってどういうもの? こういう関数を書くと function isString(x: string | number) { return typeof x === "string"; } 5.4までは、戻り値の型は単純に boolean に推論される。 これが5.5からは、Type Predicateに推論される。 何が便利なの? 何が便利かって、これで型のNarrowingが便利に使えるようになる。 filter が分かりやすいよね。 const s
TDDを実践する中で身につけた「設計に関するスキル」があるなぁと思ったのでメモを残しておくことにする。TDDをやるときのスキルではなく設計をするときのスキル。 染み込んでいる TDDは以前に書いたように(ってもう7年も前か・・・)あんまり使わなくなっている。でも心の中にある。ウェブアプリケーションエンジニアとしての自分にとても大きな影響を与えている。 bufferings.hatenablog.com TDDから学んだ設計に関するスキル 3つ思い浮かんだ まずは動くものを作る 必要な分だけ作る 「ありえない」の処理を考える 注意 ウェブアプリケーションを書くときのことを考えながら書いている。ライブラリやフレームワークのようないろんなユーザーから利用されるものは、今回の話の対象ではない。 1. まずは動くものを作る TDDで実装を書くときは「キレイじゃなくてもいいからテストがグリーンになる(
ほんとうにハローワールドをやっただけなので、それ以上の情報はないよ! いっこあるとしたら「Cloudflare WorkersのCLIであるwrangler がBig Surでは動かなくて、Sonomaにしたら動いたよ」ってことくらい 全然知らない技術 この記事を読んで、そういえばHono [ほのー] を触ってみたいんだったなぁと思って(HonoはJSランタイム用の高速なウェブアプリケーションフレームワーク) Next.js + Hono + AWS でイベント駆動なプロフィール交換アプリを開発! Honoのドキュメントを眺めて https://hono.dev/ JSのランタイムはNode.jsをいつも使ってるから、Bun [ばん]かDeno [でぃーの]を触ってみようかなと思って、どっちも触ったことがないからどっちでもよかったんだけど、なんとなくさっきの記事もそうだったからBunでやっ
とても雑記。 チームトポロジーを読んだ。買ったときにはさらっと読んでたので、今回はゆっくり読んだ。 読み直そうと思った理由 以前に読んだときは「まぁ、そうだな。わかる」くらいの気持ちだったんだけど、それから2年くらい経って、チームトポロジーの用語が、少なくとも僕の周りでは、普通に交わされるようになってるなぁと感じたから、読み直そうと思った。 用語をある程度理解しておくと、相手の言っていることがよりよく理解できそうだなと思って。 読み直してみてどうだった? まぁ、そうだな。わかる。という気持ち。(おい!) それから、用語の整理もできた。4つのチームタイプと3つのインタラクションモード。これで、周りの会話もよく理解できそう。 そして、とてもよかった。これは、自分が成長したってことかな。 DevOpsにピンときてない そもそも、前段にあるDevOps自体には、自分はピンときていない。これまで開発
以前は、DDDでどう実装したらいいかなぁって考えてたんだけど、最近は、そういうことへの興味があまりなくなっている。エンティティや値オブジェクト、集約やリポジトリなど、そのあたりにあまり興味がない。ヘキサゴナルアーキテクチャなども、そんなに考えなくなった。 TypeScriptを使うことが多いので、型でしっかり守るとかカプセル化するとか、そのあたりがどっちでもいっかという気持ちになっていることが影響してるとは思う。TypeScriptでクラスを使おうとはあまり思わないし。BrandedTypeみたいなのを使ってまで型で守ろうとは思わない。 じゃあ何に興味があるんだっけ?って考えてみると、トランザクション境界とユビキタス言語かな。 トランザクション境界 トランザクションの境界を作って、DB(RDBMS)を小さく保ちたいと思っている。DBが大きくなると、すぐに複雑になっていく感じがする。 だから
Regional Scrum Gathering Tokyo 2024 (RSGT2024) で、ゆのんさんと一緒に登壇してきました。 資料 https://speakerdeck.com/kakehashi/develop-a-new-product-with-bad-practices 話したこと ゆのんさんがエンジニアリングマネージャ兼スクラムマスター、僕がフルスタックエンジニアとして4人のチームを作って、新規プロダクトの立ち上げにスクラムで取り組んだ。 その中で、Badプラクティスと呼ばれる「あまりやらないほうがいいと言われていること」も選んで開発に取り組んだのだけど、どうしてそんなことをしたのかってお話。 新規開発と見積もり 今回はReadyになるのを待たずに、見積もりをせずに開発に取り組んだ。 新規開発って、分かっていないことがたくさんあるし、開発を進める中でも新しい情報がどん
最近、毎日のようにEMのいくおさん( @dora_e_m )とTwitterXでわちゃわちゃしてる。彼のポストを見ていると、ガンプラをつくるかビールを飲むかしかしていないように見えるが、それで合っている。 という冗談はおいといて真面目な話をすると、エンジニアとしての僕は彼と仕事ができている今の時間のことを本当に貴重な時間だと思っている。とにかく仕事がしやすいし、いろいろな気づきを与えてくれるおかげで、自分自身の成長も感じている。 エンジニアリングマネージャとしての知識が豊富でスキルが高いというのはもちろん、人との接し方や日常的なふるまいもとても尊敬できるものなのだ。 そこで今日は、僕が彼とこの3ヶ月間仕事をしていて、やりやすい・尊敬していると感じていることの中から10個だけ簡単に紹介しようと思う。僕からいくおさんへの日頃の感謝の気持ちをあらためて書いておこうと思っただけとも言う(ふだんから
軽くリファインメントをする時間 いまのチームでは、デイリースクラムのあとに毎日15分だけ、軽くリファインメントをする時間をとっている。目の前のスプリントのタスクのことをいったん忘れて、次のスプリントやもう少し先のことについてチームで相談する時間。 そこでは、PdM(プロダクトマネージャ)が「こういうこと考えてるんだけどどう思う?」って話をしてくれたり、エンジニアが「このあたり早めに改善しておきたいんだよねぇ」って話をしたりしている。 こういう軽い相談の場とは別に、もっと深く議論したいと思ったり、要件がかっちりと決まってきたりしたら、別途時間をとって、軽くないリファインメントでしっかりと相談している。 軽いリファインメントが結構好き 僕はこの日次の軽いリファインメントが好き。自分の「技術的な部分の改善をしたい」という考えをふわっとしてる段階で聞いてもらえるし、PdMがプロダクトの機能追加や改
8/26 発売! 『スクラムの拡張による組織づくり』をいただいて読んだ。だいくしーさんの書かれた本。昨日 8/26 発売。すごく読みやすいし、色々と頭の中でぐるぐる考えて面白かった。 gihyo.jp 大規模スクラムに興味がある人にオススメ Scrum@Scale という大規模スクラムのフレームワークの解説を中心にした書籍なので、Scrum@Scale に取り組みたい人や大規模スクラムに興味がある人には、もちろんとてもオススメ。僕は全然 Scrum@Scale のことを知らなかったので本書で入門できて勉強になった。 そして、読みやすい。これから何を説明するのか、なぜこれをここで説明するのか、という著者の意図が各章の最初に書いてあるのが嬉しい。まえがきを含めて、一冊を通しての流れがとても分かりやすいので、まえがきから読むのがオススメ。 まえがきから第6章までを通して読んで「なるほど。Scru
「Gitのコミットメッセージをしっかり書こう」という記事を読んで、いい話だなーと思う一方で、うちのチームはちょっと前に「コミットメッセージは適当でいこう」って決めたなーって思った。 Gitのコミットメッセージをしっかり書こうという話【備忘録的共有】 | SIOS Tech. Lab しっかり書くのを否定するわけでは全然ない。しっかり書くのはしっかり書くのでいいなって思う。どっちがいいかはチームやプロダクトによるので、チームがいいと思う方を選べばいいかなと。 僕もしっかり書くほうがいいなって思うときもあるのだけど、今のチームでは適当のほうがいいなってだけ。 しっかり書きたいとき 僕が、コミットメッセージをしっかり書きたいときはどういうときだろう?って考えると、OSSにプルリクエストを出すときかなぁ。自分は特にOSSの何かを作ってるわけじゃないけど、自分で何かのOSSを作るならある程度ちゃんと
AWSに入門しようと思って何冊か本を読みながら勉強してるところ。で、今は↓を読んでる。面白い。 gihyo.jp この書籍の中でThe Twelve-Factor AppとBeyond the Twelve-Factor Appが紹介されているので、チェックしておこうと思った。 The Twelve-Factor App読み直してみようかな。Beyond the Twelve-Factor App知らなかったから、これも読んでみよっと。https://t.co/rcZN7C8ib1— Mitz Shiiba (@bufferings) May 6, 2023 今回はThe Twelve-Factor Appを読む 両方一気に読むの大変そうだから、今回はThe Twelve-Factor Appを読むことにする。Beyond the Twelve-Factor Appはまた今度。 以前に読ん
を、読んだ。とても良かった。 gihyo.jp 2回読んだ 去年の9月くらいに1回読んで、先月からもう1回読んだ(んで、読んだメモを見ながらもう1回パラパラとめくった)。 1回目は理解。 2回目は記憶と索引づくり。 基本的なことは、ある程度、頭の中に入ったと思う。んで、これは覚えなくてもコンパイラが教えてくれるからいいか、とか、ちょっと踏み込んだ話とかは、出会ったときに「あぁ、かすかに記憶にあるかも」って本を開いて確認する。くらいには、なったかな。 脚注も面白かった 著者の、うひょさん。知識がすごい感じがする。その中の、表面の部分を初学者向けに易しく書いてくれてるように思った。んで、ちょっとだけ踏み込んだ話をしてるときとか、脚注とかが楽しそう。 脚注をいっこずつ確認しながら読んだのは、初めてかも。それくらい脚注も面白かった。 僕が読んだ順番 何年か前に、JSPrimerでJSの勉強をして
pnpm を触り始めた ちょっと前に npm のことを勉強したときに、ゆうくさんに pnpm のことを教えてもらって気になってたので、触り始めた。 bufferings.hatenablog.com pnpm はパッケージをグローバルストアに保存して、各プロジェクトの node_modules ではハードリンクを使用する。だから、ファイルをコピーしなくていいので容量もくわないし、インストールのスピードも速いのか。へー!便利。 ハードリンクを使用するので、プロジェクトとストアが同じディスクにないといけないことを頭の片隅に入れておこうかなってくらい。 ストアの中身 そのグローバルストアのデフォルトの場所は、macOS だと ~/Library/pnpm/store/v3。どんな風に保存されてるんだろう?と思ってのぞいてみたら、こんな感じになってた。途中で切ってるけど2文字のフォルダがたくさんあ
株式会社カケハシに入社しました https://www.kakehashi.life/
Jestではじめるテスト入門 本日「Jestではじめるテスト入門」がついに発売されました 🎉🎉🎉 peaks.cc CircleCI時代の同僚の伊藤さん @ganezasan が「Jestの自動テスト本の執筆を手伝ってくれませんか?」と声をかけてくれて「これからテストを書きたいって人に向けたJestの入門書を書きたいんですよ!!」って熱く語ってくれて「いいなぁ」と思ったので参加しました。本を書くなんて初めてのことなので、自分なんかに書けるかなぁとドキドキしてたのですが、周りの方々の助けのおかげで、なんとか書き上げることができました。 そして、監修はなんと和田さん @t_wada です。自分が自動テストについて書いた文章を、和田さんに監修していただけるなんて、それだけでとても幸せだなぁと思っていたのですが、「むちゃくちゃ面白かったです!」って言ってもらえたので、もう出版しなくても満足し
先週、npm installとnpm ciについて調べて考えたことを書いたのだけど、ドキュメントを読んで、頭の中で考えたことをまとめただけなので、これだけだとちょっと気持ち悪いなと思って。簡単ではあるけど実際の動作を確認することにした。 bufferings.hatenablog.com 結果 だいたい想像どおりだった。今回のサンプルプロジェクトで実験した結果は次のとおり。 (1)と(2)は、キャッシュがない場合のnpm ciとnpm installの速さ。想像では「npm ciの方が多少速いのかな?」と考えていたけどほぼ同じだった。node_modulesがない状態から始まるので、npm ciはnpm_modulesを削除する必要がない。一方で、npm installも既存のnode_modulesをチェックする必要がなくて、package.jsonとpackage-lock.jsonの
次のページ
このページを最初にブックマークしてみませんか?
『Mitsuyuki.Shiiba』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く