ブックマーク / bufferings.hatenablog.com (76)

  • CircleCI の設定ファイルを分割して CUE で合成してみたら割と簡単で便利そう - Mitsuyuki.Shiiba

    ぼーっと CUE のドキュメントを読みながら CUE という設定用の言語・・・と呼んで良いのかな?のドキュメントを読みながら https://cuelang.org/ 「これ、いろんな機能があるけど、それは置いといて、YAML の合成が簡単にできるのでは?・・・とすると、CircleCI の設定を簡単に分割できて面白いかもなぁ」 と思ったので試してみた。わりとアリかもしれない 今回のサンプルコードはここ: github.com どういう感じ? こんな感じに適当に分割した設定を ❯ tree .circleci/configs .circleci/configs ├── header.yml ├── job1.yml ├── sample │ ├── job2.yml │ └── mixed\ sample.yml ├── workflow1.yml └── workflow2.yml 1

    CircleCI の設定ファイルを分割して CUE で合成してみたら割と簡単で便利そう - Mitsuyuki.Shiiba
  • トラブル対応中にエンジニアリーダーとして考えていること - Mitsuyuki.Shiiba

    を言葉にしてみようと思った。僕のいる場所での話。ステークホルダーに対する窓口としてプロデューサーがいて、僕が開発チームのリーダーをしてるようなとき。 ## 状況を把握する システムトラブルが発生すると場が混乱してることが多い。色んな情報が混ざるし、色んな人から問い合わせが来たりするし、窓口になってくれているプロデューサーからの説明も省略されていることが多い。このときに一番避けたいのは、ミスコミュニケーションによって当の問題を見失って無駄な作業をしてしまうこと。 なので、まずは落ち着いて状況を正確に把握する。ちょっとでもはやく解決したいから、その断片的な情報を元に調査に入りたい気持ちになるけど、ぐっとこらえて全体像を把握する。 コミュニケーションで特に気をつけるのは、相手や自分の中にある思い込み。思い込みがあると喋るときには(当然分かってることだよね)と言葉を省略してしまうし、聞くときには

    トラブル対応中にエンジニアリーダーとして考えていること - Mitsuyuki.Shiiba
  • 「Jestではじめるテスト入門」を書きましたー #Jest本 - Mitsuyuki.Shiiba

    Jestではじめるテスト入門 日「Jestではじめるテスト入門」がついに発売されました 🎉🎉🎉 peaks.cc CircleCI時代の同僚の伊藤さん @ganezasan が「Jestの自動テストの執筆を手伝ってくれませんか?」と声をかけてくれて「これからテストを書きたいって人に向けたJestの入門書を書きたいんですよ!!」って熱く語ってくれて「いいなぁ」と思ったので参加しました。を書くなんて初めてのことなので、自分なんかに書けるかなぁとドキドキしてたのですが、周りの方々の助けのおかげで、なんとか書き上げることができました。 そして、監修はなんと和田さん @t_wada です。自分が自動テストについて書いた文章を、和田さんに監修していただけるなんて、それだけでとても幸せだなぁと思っていたのですが、「むちゃくちゃ面白かったです!」って言ってもらえたので、もう出版しなくても満足し

    「Jestではじめるテスト入門」を書きましたー #Jest本 - Mitsuyuki.Shiiba
  • 開発中のコミュニケーションには色んなところで想像が入り込む - Mitsuyuki.Shiiba

    例えば「会議が多い」という意見に、どう対応しよう? 普通に考えたら「無駄な会議を減らそう!」かな だけど、できれば僕は「だからどうしたいと思ってるんですか?」というのをその意見をくれた人に確認したい 十中八九「会議を減らしたい」ってことなんだろうとは思いつつ、でも「会議が多いから、」のあとには色んなことが想像できる (順当→)会議を減らしたい それぞれの会議に自分が参加しないといけない理由を知りたい 会議が多くて他のことをやる時間がないから、自分の担当タスクを減らしたい 会議が多いのはいいんだけど、間に休憩が欲しい 「そっかぁ、それは大変だよね。ありがとう」って話を聞いて欲しいだけ もしかしたら「だから、充実してるんです」って可能性もなくはない さらに「会議を減らしたい」だったとして、その内容も 「無駄な会議が多いから減らしたい」かもしれないし 「開催頻度を減らしてもいい会議があるのではな

    開発中のコミュニケーションには色んなところで想像が入り込む - Mitsuyuki.Shiiba
  • クソコードと思わない - Mitsuyuki.Shiiba

    なんか、あんまりいい感じじゃないなぁって思うコードに出会ったとして、それをクソコードと呼ばないようにはしてたんだけど、いつからか、そもそもクソコードだと思わなくなってる そのときの、そのコードが書かれた環境があって、それは、その人が持っているスキル以上のことをなんとかしないといけなかったのかもしれないし、めちゃくちゃなスケジュールの中でやらないといけなかったのかもしれないし、お試しで作ったものをそのまま使われちゃったのかもしれない あんまりいい感じじゃない構造だったとしても、そのコードによってシステムは動いて価値をもたらしていて、そのおかげで僕がそのコードに出会ってるんだから、それはとてもスゴイことだなぁって思う コードを悪者にして文句を言っても何も変わらないし、僕はエンジニアなのだから、そのコードをより良いコードにすればそれでいい 自分がコードを書くときには少し気をつけたり、あんまりいい

    クソコードと思わない - Mitsuyuki.Shiiba
  • #fukabori をきいて Value Object と Value Object パターンについて頭の中を整理 - Mitsuyuki.Shiiba

    連休の余韻も楽しんだので今日から散歩を再開した。ちょっと前までは「陽の光を浴びなきゃ!」と思って3時過ぎにウロウロしてたけど、これからはもうちょっと涼しい時間帯がいいなと思って、夕暮れ時に散歩しながら fukabori.fm を聴いてた。Value Object のお話。面白いなぁ 73. Value Object w/ kumagi | fukabori.fm kumagi さんの記事はこちら Value Objectについて整理しよう - Software Transactional Memo お絵描き PoEAA や DDD はだいぶ前に読んだことがあるけど、Value Object を雰囲気で捉えてるからちゃんと見直しておこうと思って、調べたりしながら絵を描いた。こういうことなのかな? (絵をかくほどでもなかった・・・ Value Object とは? kumagi さんも書いてる

    #fukabori をきいて Value Object と Value Object パターンについて頭の中を整理 - Mitsuyuki.Shiiba
  • macOS版の1PasswordでSSHキーの管理が便利になってた - Mitsuyuki.Shiiba

    GitHubの鍵を1Password管理に ちょっと前に、azuさんの記事を読んでSSHの鍵を1Password管理にするのいいなと思ったので efcl.info GitHubのAuthとSigningの鍵を1Password管理にしておいた。 GitHubの鍵を1Password管理にしといた。簡単だった。よいー。https://t.co/Vo2OA230V5— Mitz Shiiba (@bufferings) March 25, 2023 azuさんの記事だと、SSHの鍵以外も色々やってるんだけど、そのへんはまたの機会に。 便利 GitHubにアクセスするときに、macOSのTouch IDを使って指紋で認証するだけでよくて便利。しばらくは有効なので、毎回認証が必要なわけじゃないのも便利。 なんだけど、tmuxで新しいペインとかウィンドウを開くたびに聞かれてしまうのか、有効期限が短い

    macOS版の1PasswordでSSHキーの管理が便利になってた - Mitsuyuki.Shiiba
  • ペアプロが苦手でペアワーク - Mitsuyuki.Shiiba

    ペアでやろうよー! チーム内で知識を共有できるように、フルリモートでも一緒に仕事できるように、チームとしてプロジェクトに取り組めるように、「ペアでやろうよー!」ってなって「それいいねー」って思って、最近はペアで仕事をしてる そして、何年も前からうすうす感じてはいたんだけど、やっぱり、僕はペアプロが苦手だった!ので、ペアプロじゃなくてペアワークしてる ペアプロ?ペアワーク? 「ペアプロ」は「ペアプログラミング」のこと。一緒にコードを書く。リモートワークなのでペアプロするときは、Zoom とかで画面をシェアしながらコーディングしてる 参照 → https://martinfowler.com/bliki/PairProgramming.html 一方「ペアワーク」って言葉は、正式な定義があるわけじゃなくて、自分がそう呼んでいるだけなんだけど「ひとつのタスクを二人で担当する」こと なんで苦手なん

    ペアプロが苦手でペアワーク - Mitsuyuki.Shiiba
  • ローカルでk8sを試してみたいときはk3dが使えそう。Istioも動きそう。 - Mitsuyuki.Shiiba

    ## ローカルでk8s ちょっと試してみたいときとかに、ローカルでk8sを動かしたくて。以前だとMinikubeとかDockerについてくるk8sとかを使ったことがあるけど、今だとまた何か出てるかな?と思ってたらこういうスレッドを見つけた。 K3s, minikube or microk8s? : kubernetes Minikube Microk8s K3s Kind Desktop Docker K3d Kubeadm が紹介されてた。へー。と思って、なんとなくk3dが面白そうかなと思ったので試してみた。 ## k3d https://github.com/rancher/k3d 紹介されている一覧の中にあるk3sをDockerで動かしてくれるのがk3dということみたい。Dockerを動かすプラットフォームをDockerの中で動か・・・す?こんがらがる。 僕はUbuntu使ってるんだ

    ローカルでk8sを試してみたいときはk3dが使えそう。Istioも動きそう。 - Mitsuyuki.Shiiba
  • Java 8でも安心。Dockerに対するCPU・メモリ対応。(2018年11月現在) - Mitsuyuki.Shiiba

    8u191でDocker対応がバックポートされたので、頭の整理と確認をしておいた。 ## まとめ Java 11使っておけばそもそも安心なんだけど、Java 8でも8u191以降を使えば安心。 ## 課題だったこと DockerJavaを動かすときJavaが「そのコンテナに割り当てられたCPU・メモリ」じゃなくて「Dockerが動いてるHostのCPU・メモリ」を見てしまうことが課題だった。 ## Java 10以降 Java 10以降なら「そのコンテナに割り当てられたCPU・メモリ」を見る対応が入ってるから安心になった。 https://www.oracle.com/technetwork/java/javase/10-relnote-issues-4108729.html#JDK-8146115 ## Java 8は? Java 8で入ってた対応は8u131のこれ: Bug ID:

    Java 8でも安心。Dockerに対するCPU・メモリ対応。(2018年11月現在) - Mitsuyuki.Shiiba
  • 意識低めの成長 - Mitsuyuki.Shiiba

    とても雑記 個人の成長は必須かなぁ? よーはつのツイートを見て、古川さんのスライドを見て、「グループや会社は成長して欲しいなぁって思うけど、個人の成長はどうなんだろう?僕は『今、自分が持ってるチカラで会社の成長を支える』ぐらいがいいなぁ」みたいなことをぼやーっと考えた ここ数年、こういう組織の支援もやっているけど、ほんとに難しい… 開発組織の持続可能性について https://t.co/8HpulzqngQ pic.twitter.com/Jx9LFuH0p2— yoh nakamura (@yohhatu) July 12, 2022 意識低い 最近の自分は「成長しなきゃ!」「そして自分の成長で会社の成長を支えなきゃ!」みたいなのはあんまりなくて、意識は低い方かなぁと思う。「それはそれ、これはこれ」な気持ち 単純に、新しいことを学ぶのは楽しいし、昨日できなかったことが今日できるようになる

    意識低めの成長 - Mitsuyuki.Shiiba
  • Git-flow とデプロイ - Mitsuyuki.Shiiba

    前回 は継続的にデプロイしてるよって話をしたので、その流れで今日からちょっと Git を使った開発フローに対するデプロイについて考えてみたいと思う。まず最初はやっぱり Git-flow からかな。と、その前に 前置き 自分は CircleCI だとどうなるかなぁとか考えながら書いてるけど、どの CI サービス・ツールを使っても大丈夫 自分の頭の中にあるのはウェブ系の自社サービス。スマホアプリとか組み込みとかは経験がないから分かんない どんな風にテストを実行するかみたいな話も面白いけど、今回は CI のことは忘れてデプロイだけ考える どのフローが良い・悪いという話ではない Git-flow ということで Git-flow 。この絵は有名ですね どこが始まりなんだろう?って思ったら2010年のこの記事みたい: https://nvie.com/posts/a-successful-git-br

    Git-flow とデプロイ - Mitsuyuki.Shiiba
  • ある程度いいエンジニアでありたいかもしれない - Mitsuyuki.Shiiba

    ふとしたときに、ぼーっと考える 会社(や評価をする人)は何をもって「このソフトウェアエンジニアはいい」って判断するのがいいんだろうなぁって。むずかしくない?入社前じゃなくて、入社した後のこと。自社ウェブサービスを開発しているソフトウェアエンジニアのこと 特に伝えたいことも答えもなくて頭の中のメモ 分かりやすいならいい その人の開発したものが、バグだらけだとか、そもそも設計ができないとか、そういうのだと分かりやすいからいい。まずは、バグを減らそうねとか、設計ができるようになっていこうね、という話 あと、やってることが周りから見えないとか、コメントとかが攻撃的で一緒に働いてる人が嫌な気持ちになるとか、まぁ、そういうのも「違うよね?」って言えるし、コンピテンシー評価で伝えていけたらよさそう ある程度のモノができている場合は、どうだろう? もっと早く作ってほしかった! って考えるかもしれない。確か

    ある程度いいエンジニアでありたいかもしれない - Mitsuyuki.Shiiba
  • フルスタックすきまエンジニア - Mitsuyuki.Shiiba

    ぼーっと。最近は、フルスタックすきまエンジニアっぽい。と思ったので、とりあえずタイトルだけ書いて、深く考えずに書き始めてみる 僕は、好きなサービスの周りのことだと、何をやっても楽しいタイプなので、これをやったらチームにとって良さそうかな、って思うことをやってたら楽しい。ただ、そのままどっかに行ってしまうとあれなので、軸足はコーディングに置くように意識してる あと、自分は色んなことを同時に考えられるタイプではないので、たくさん面白そうなことがある中で、最大でも3個くらいしか選べないよなぁと思っている。それ以上手をだしてしまうと、混乱する。だから、今の自分がどのスキマを埋めるのがいちばんいいかなぁってのを雰囲気で考えながら動いてると思う。たぶん 具体的に何をやってるかなぁって考えてみる。色々あるけど、同時にやってるわけじゃなくて、どれかをやってるときは、別のことは横に置いてる コード周り 軸足

    フルスタックすきまエンジニア - Mitsuyuki.Shiiba
  • 明日から、仕事するー! - Mitsuyuki.Shiiba

    昨日、4月1日に株式会社カケハシへ入社した。 株式会社カケハシに入社しました - Mitsuyuki.Shiiba 明日から仕事が始まるので、ひとつの区切りとして、この3ヶ月半をふりかえっておこうと思う。ちょっと長くなっちゃった。 前職を退職 ウェブアプリケーションエンジニアとして転職活動をしますー! - Mitsuyuki.Shiiba 12月15日付けで前職を退職することになったため、ブログを書いて「転職活動します!」とツイッターにポスト。ありがたいことにたくさんの方が声をかけてくれたり、応援してるよって言ってくれたりして嬉しかった。 外資への応募も少し考えてたけど、こんなに声をかけてくれたので、その中で探すことにした。レイオフじゃないと、こういう形で転職活動をすることもないから、いい経験だなと思いつつ。 カジュアル面談 12月から1月にかけて77社にお声がけいただき、42社とカジュア

    明日から、仕事するー! - Mitsuyuki.Shiiba
  • npm install と npm ci って結局どう使うの?2023年版 - Mitsuyuki.Shiiba

    うりうりさんの↓のコメントを見て、そういえばnpm ciって見たことあるけどチェックしてないなぁ。というかnpm installも雰囲気で使ってるなぁ。と思ったので、うりうりさんに教えてもらったことを手がかりに、npm installとnpm ciについて調べた。 これ、node_modulesキャッシュしてたり npm install使ってるけど npmのグローバルキャッシュ(~/.npm)をキャッシュした上で npm ciで早くなったりしないんだろうか GitHub Actions上でテストを約3倍早くした話https://t.co/MpmFktGBxU— wreulicke (@wreulicke) March 14, 2023 ちょこっと検索して見てみたところ、新旧情報があって自分が混乱したのと、公式ドキュメントには概要は書かれているものの詳しい内容は書かれていないので(僕が見つけ

    npm install と npm ci って結局どう使うの?2023年版 - Mitsuyuki.Shiiba
  • ウェブアプリケーションエンジニアとして転職活動をしますー! - Mitsuyuki.Shiiba

    しばらくしたら次のことを考えたいなと思ってるので、よい仕事や空いてるポジションがあったら教えてください!— Mitz Shiiba@フルスタックエンジニア (@bufferings) December 8, 2022 突然ですが CircleCI を辞めることになりました。そのことについてあまり話すつもりはないのですが、今の気持ちだけ書いておくと、びっくりはしたけど特にネガティブな感情はなく、面白い経験だなぁという気持ちです。 この一年間、色々とあまりできない体験をしてきた締めくくりにピッタリです。この状況を受け入れて、流れに身をまかせて楽しもうと思います。 ということで、こんな機会はあまりないので、次をどうするか、折角だから色々な会社のお話を聞いてから考えたいなぁと思ってつぶやいたら、たくさんのご連絡をいただき、とても嬉しく思っています。ひとつひとつのお誘いや励ましが、とてもありがたいで

    ウェブアプリケーションエンジニアとして転職活動をしますー! - Mitsuyuki.Shiiba
  • 開発チーム間の情報を遠回りさせてる - Mitsuyuki.Shiiba

    いまの会社では、エンジニアどうしの距離が近いので、他のチームのエンジニアと一緒に開発に取り組んでたりする。 のだけど僕からは 「この部分はディレクター(社内でスクラムマスター的なロール)さんから、あのチームのディレクターさんに共有してもらってもいいですか?」 って自分のチームのディレクターにお願いしたり 「この部分はプロダクトマネージャ(社内のプロダクトオーナー的なロール)さんから、他のチームに確認してもらってもいいですか?」 ってプロダクトマネージャにお願いしたりしてる。エンジニアどうしで話をして、お互いに状況を理解しているのに、公式なルートとしては、情報を遠回りさせているのだ。 そんなお願いをすると、一瞬(え?エンジニアどうしで話して認識合ってるのに?)って反応をされるし、僕自身も(大企業っぽいかなぁ?)って思ったりするのだけど、自分の気持ちを説明すると「たしかにそうね。おっけー!やっ

    開発チーム間の情報を遠回りさせてる - Mitsuyuki.Shiiba
  • Gitのコミットメッセージは適当に書いてる - Mitsuyuki.Shiiba

    「Gitのコミットメッセージをしっかり書こう」という記事を読んで、いい話だなーと思う一方で、うちのチームはちょっと前に「コミットメッセージは適当でいこう」って決めたなーって思った。 Gitのコミットメッセージをしっかり書こうという話【備忘録的共有】 | SIOS Tech. Lab しっかり書くのを否定するわけでは全然ない。しっかり書くのはしっかり書くのでいいなって思う。どっちがいいかはチームやプロダクトによるので、チームがいいと思う方を選べばいいかなと。 僕もしっかり書くほうがいいなって思うときもあるのだけど、今のチームでは適当のほうがいいなってだけ。 しっかり書きたいとき 僕が、コミットメッセージをしっかり書きたいときはどういうときだろう?って考えると、OSSにプルリクエストを出すときかなぁ。自分は特にOSSの何かを作ってるわけじゃないけど、自分で何かのOSSを作るならある程度ちゃんと

    Gitのコミットメッセージは適当に書いてる - Mitsuyuki.Shiiba
  • これからは git restore を使ってみようかな - Mitsuyuki.Shiiba

    Gitの基的な使い方のおさらいをチームのLearning Sessionでやろうかなと思ってドキュメントを眺めてたら、あれ?こんなんあったっけ?と思うコマンドがあった。 git restore と git switch Git 2.23で導入されたみたい。去年の夏か。 https://github.blog/2019-08-16-highlights-from-git-2-23/ まだExperimentalみたいだけど、面白そうなので触ってみた。今日は git restore の話。git switch はまた気が向いたら。 https://git-scm.com/docs/git-restore ## リストアの前にWorking Treeとかの話をざっくり GitにはWorking TreeとStaging AreaとGit Directoryという3つの場所がある。 file.t

    これからは git restore を使ってみようかな - Mitsuyuki.Shiiba