mMQnaZ7vL2DWkoUのブックマーク (340)

  • 情報の見つけやすさを追求する - 社内ドキュメンテーションの階層整理術 - KAKEHASHI Tech Blog

    カケハシのプラットフォームチームでソフトウェアエンジニアをしているすてにゃん (id:stefafafan) です。今回はチームに配属されて数ヶ月の私が、いかにして社内ドキュメンテーションの階層構造を整理し、情報の検索性を向上させたかについてお話します。 はじめに この記事の想定読者 課題意識 メンバーへの共有と相談 社外事例の調査 esa の階層整理 第 1・第 2 階層の整理 ストック情報とフロー情報を意識した階層の整理 esa の機能をフル活用する 効果や今後について はじめに カケハシでは全社的にドキュメンテーションツールとして esa - 自律的なチームのための情報共有サービス を利用しています。それぞれのチームやプロダクトごとに階層を切ってドキュメントを書いています。 プラットフォームチームでは認証基盤などの社内プラットフォームシステムを開発しているため、自チームが運用する各種

    情報の見つけやすさを追求する - 社内ドキュメンテーションの階層整理術 - KAKEHASHI Tech Blog
  • データベース中心の設計になってしまう問題と闘う - laiso

    『手を動かしてわかるクリーンアーキテクチャ 』の第二章の冒頭に登場する話題に共感したので紹介。 従来の多層アーキテクチャでは、データベースを中心にアプリケーションの 開発が行なわれます。この場合、Web 層はドメイン層に依存し、ドメイン層は 永続化層、つまり、データベースに依存することになります。そうなると、す べてのものは永続化層上に構築されることになり、その結果、いくつかの要因 が絡まり合って、問題が起きやすくなります。 手を動かしてわかるクリーンアーキテクチャ ヘキサゴナルアーキテクチャによるクリーンなアプリケーション開発 20p 手を動かしてわかるクリーンアーキテクチャ ヘキサゴナルアーキテクチャによるクリーンなアプリケーション開発 作者:Tom Hombergs,須田 智之インプレスAmazon 著者によれば、機能開発をデータベース中心に設計すると、ドメイン層と永続化層の密結合が

    データベース中心の設計になってしまう問題と闘う - laiso
  • 翻訳記事 -「インフラ基盤部門は本当に必要か」に関する議論 - CyberAgent SRG #ca_srg

    #SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。 たまたま中国語のITブログを読んでいた時に、「インフラ基盤部門が要らない」という論点を持つ文章と、それに反論する文章を見かけました。論点の一部には根拠が弱い箇所もありますが、インフラ基盤部門のような部門に所属する者として、中国IT業界のトレンドや課題、そしてインフラ技術者への啓示を感じ取ることができたので、翻訳してみました。

    翻訳記事 -「インフラ基盤部門は本当に必要か」に関する議論 - CyberAgent SRG #ca_srg
  • 2024年版のDockerfileの考え方&書き方 | フューチャー技術ブログ

    最近はお客さんとの勉強会でDockerのドキュメントをつまみいして読むというのをやっていますが、改めて最新版を読んでみて、いろいろ思考が整理されました。2020年の20.10のマルチステージビルドの導入で大きく変わったのですが、それ以前の資料もweb上には多数あり「マルチステージビルドがよくわからない」という人も見かけるので過去の情報のアンラーニングに使っていただけるように改めて整理していきます。 仕事Pythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編で触れた内容もありますが改めてそちらに含む内容も含めて書き直しています。 エントリーの執筆には@tk0miya氏から多大なフィードバックをいただきました。ありがとうございます。 基的なメンタルモデル現代的な使い方を見ていくために「Dockerを使ってビルドする」というのはどのようなものか考えを整

    2024年版のDockerfileの考え方&書き方 | フューチャー技術ブログ
  • このSRE本がすごい!2024年版 - じゃあ、おうちで学べる

    はじめに 有用な知識の特性 Google SRE リソース Site Reliability Engineering: How Google Runs Production Systems The Site Reliability Workbook: Practical Ways to Implement SRE Building Secure and Reliable Systems: Best Practices for Designing, Implementing, and Maintaining Systems SLO Adoption and Usage in SRE Creating a Production Launch Plan Training Site Reliability Engineers: What Your Organization Needs to Cre

    このSRE本がすごい!2024年版 - じゃあ、おうちで学べる
  • Grokking Simplicity探訪

    2024/6/5のアーキ部で話したスライドです。 Stratified Designの目的を中心に、そのメリットを考えてみます。Read less

    Grokking Simplicity探訪
  • 「説明能力の高さ」はどこに現れるか

    職業柄、昔から人の「説明」を聞くことがとても多かった。 会社の現状、技術的な見解、商品のスペック、あるいは人の経歴についての話もあった。 そして、説明がとても上手な人もいれば、下手な人もいることを知った。 例えば、こんな具合だ。 「では、御社の事業説明をお願いします」 「わかりました、こちらが会社案内です」 「では、始めてください。」 「はい、では1ページ目をご覧ください。弊社の主要な株主は……全国に展開しており……事業所は……」 ……5分経過 「では次は、弊社の主要な事業です。おもに3つあり……」 「(退屈だな……後ろのページでも見ているか)」 ……5分経過 「次に今回お問い合わせの商品についてです……こちらの……」 「(その話はもうサイトで見たからいいよ……話ながいな……内職でもするか)」 ……5分経過 「以上となりますが、なにかご質問はありますか?」 「………いえ。」 例えば上のよう

    「説明能力の高さ」はどこに現れるか
  • 「上手い努力」ができる人とできない人が居る世界の話 - CLOCKGRID’s diary

    www.tyoshiki.com 上の記事と、中で紹介されている漫画で言われてることは、何となく理解はできる。 ・自分の子のレベルを把握する、出来ないならアウトソーシングする。 ・現状の課題を明確にした上で、一つ一つ解決する。 ・やり方を適宜修正する こういうのは、使い古された言葉で言えばPDCAサイクルとかOODAループというものなんだと思う。 ja.wikipedia.org ja.wikipedia.org こうやって努力のやり方を言語化するのは当に素晴らしいことではある。 でも、一方でこうも感じてしまう。こういうのを読んでも結局超えられない何かがあるのではないかと。 現状を把握したり、課題を見つけて解決したり、やり方を修正する能力には、格差がある気がするのだ。 最初にリンクを貼った記事の中でも、それらしいことが言及されている。 教育格差、文化による格差というのは、勉強に対する

    「上手い努力」ができる人とできない人が居る世界の話 - CLOCKGRID’s diary
  • OSS 観光名所を貼るスレ - ぽ靴な缶

    これは はてなエンジニアアドベントカレンダー2023 2日目の記事です。 はてなエンジニア Advent Calendar 2023 - Hatena Developer Blog はてなエンジニアのカレンダー | Advent Calendar 2023 - Qiita トップバッターは緊張するけど、順番が回ってくるまで長い間ソワソワするのも嫌、という理由で例年2日目を狙うようにしている id:pokutuna です。今年も成功しました。 観光名所とは 目を閉じれば思い出す、あのコード... あの Issue... あなたが Web 系のエンジニアであれ、趣味で開発している方であれ、必要に応じてライブラリやフレームワークのコードを読むのはよくあることでしょう。公開の場で開発されているソフトウェアは、ソースコードだけでなく、開発コミュニティでの議論やバグ報告なども見ることができます。 リポ

    OSS 観光名所を貼るスレ - ぽ靴な缶
  • 不確実性や心理的安全性に向き合い自己組織化するチームを作る実践プラクティス

    こんにちは。Gaudiyでソフトウェアエンジニアスクラムマスターをしている Namiki ( @ruwatana ) です。 「チームが向き合う不確実性が大きいと手戻りが増えて価値提供のリードタイムが遅くなる」 「チーム内の心理的安全性の低さや認知負荷の高さによってエンゲージメントが低下して従業員がオンボード・定着しにくい」 ... などなど、昨今のチーム開発はこうした課題で溢れかえっていることかと思います。 結局のところ、我々は具体的にどんなプラクティスを行うことで、こうした課題を解決できていくのでしょうか? 稿では、筆者と筆者が4ヶ月ほど前に配属することになったチームがこうした問題に対して執ったアプローチおよびその効果をより具体的に示すことができればと考えています。 プロダクトチーム開発を行う皆様に何かしらの参考になれば幸いです。 1. チーム構成と特性 2. 特性が生み出しうるリ

    不確実性や心理的安全性に向き合い自己組織化するチームを作る実践プラクティス
  • Engineering Career Ladderを作るときに気をつけたこと 其の一 - LayerX エンジニアブログ

    この記事はLayerXテックアドカレ2023の4日目の記事です。 昨日は@shun_takさんが「バクラクのデータは難しくて面白い」を書いてくれました。 明日は機械学習チームのyakipuさんの記事が公開予定となっています。楽しみですね! こんにちは、すべての経済活動をデジタル化し、ハタラクをバクラクにしたいmakogaです。 私のチームであるEngineering Officeは「人とチームの観点からエンジニアリング組織のパフォーマンスを最大化する」というミッションを持ち、組織の仕組みの設計や運用改善を行っています。その1つにEngineering Career Ladder*1の策定があり、10月から一部のRoleで仮運用を開始しています。 Engineering Career Ladderは上手に運用すれば強力なツールとなりますが、下手をすると生産性の悪化や成長の妨げになる可能性があ

    Engineering Career Ladderを作るときに気をつけたこと 其の一 - LayerX エンジニアブログ
  • RenovateでGitHub成果物のチェックサムを更新する - プログラムモグモグ

    開発やビルドに必要なツールをインストールするとき、特にビルド済みの実行ファイルをインターネットからダウンロードするとき、セキュリティインシデントを防ぐためにはアーティファクトを信頼しても良いか確認しなくてはいけません。 もしGnuPGで署名されていればそれを使うことになりますが、正直に言うと開発者にとってもユーザーにとっても手間がかかることが多いです。 一般によく取られている方法が、チェックサムファイルをアーティファクトと一緒に公開することです。 ユーザーは、sha256sumコマンドなどでアーティファクトのチェックサムを公開されているチェックサムと比較し、改竄されていないことを確認できます。 中間者攻撃やソーシャルハッキングによるアーティファクトの改竄などのシナリオを想定すると、アーティファクトと同じドメインで公開されているチェックサムファイルを、同じスクリプトのなかでダウンロードして使

    RenovateでGitHub成果物のチェックサムを更新する - プログラムモグモグ
  • 自分の心理的安全性を、自分で高める - Link and Motivation Developers' Blog

    エンジニアの梅原です。 少し前から「心理的安全性」というキーワードについて、疑問に思うところがあって色々と考えていて、 なんとなく考えがまとまったので、自戒も込めて文章として書き起こしてみました。 もともと社内向けに書いたものでしたが、思いのほか反響があったためこちらでも書いてみようと思います。 めちゃくちゃなこと言ってんな、って思う人もいるかもしれませんが、際に振ったときの思考実験だと思って読んでもらえると。 心理的安全性とは何か? 一般的に「心理的安全性」とは、以下の定義で語られます。 "A shared belief held by members of a team that the team is safe for interpersonal risk taking." (このチーム内では、対人関係上のリスクをとったとしても安心できるという共通の思い) Edmondson (19

    自分の心理的安全性を、自分で高める - Link and Motivation Developers' Blog
  • 手を動かさないマネージャーを試している - id:onk のはてなブログ

    2 月から、Mackerel チームの所属になった。 今日から異動して Mackerel チームです。非正規ルートでの要望でもいい感じにやるので何でもください!— Takafumi ONAKA (@onk) February 1, 2023 これを期に、せっかくなのでコードを読まないマネジメントスタイルを試してみようと思って、実践している。 今までは自分が一番プロダクトのコードベースに詳しい状態を作ってきていて、障害対応でも嬉々として先頭に立つようなテックリードスタイルだった。 この姿が天職と思っているが、今までの人生で、コードの細かい話が通じない (というか、共通言語や会話のレイヤーが違う) けれども非常に信頼できるマネージャーと仕事をしてきた経験はあるので、自分も彼らのようなムーブが可能なんだろうかとやってみたくなったのだ。知識欲が減衰した老害化現象ではないと思う。きっと、たぶん。 も

    手を動かさないマネージャーを試している - id:onk のはてなブログ
  • 「遅れ」なんてない - 日々常々

    「頑張って遅れを取り戻す」 綺麗な言葉ですが、私は嫌いです。その中でも次の言葉が特に嫌いです。 頑張る 遅れ 取り戻す 全部。これらが嫌いな理由をそれぞれ説明していきます。順番は「頑張る」→「取り戻す」→「遅れ」です。 なお、「頑張って遅れを取り戻す」に期待される結果は「他に一切の影響を与えず、遅れだけが綺麗になくなる」だと思われます。 頑張る 「頑張ってなかったん?」と言うと「頑張っていましたが、もっと頑張ります。」みたいなのが返ってきます。でもこれって多分「頑張る」と言われることが求められているからそう返してるだけで、もともと手なんて抜いていない。仮に手を抜いていたとしたら「頑張る」は「手を抜いていました」の宣言になるので、それを許容してる状態が問題になるんじゃないかな。 とか言葉遊びは置いておいて、現実の話をします。こういう文脈での「頑張る」は「長時間連続労働」に他なりません。そこで

    「遅れ」なんてない - 日々常々
  • GUIアプリケーションのバージョニングどうする問題(あるいはメジャーバージョン上げられない問題) - ナカザンドットネット

    結論 SemVer GUIアプリケーションとSemVer メジャーバージョン上げられない問題 SemVerではない運用 バージョニングは誰のために まとめ 皆さん、リリースしてますか! いいですよね、リリース。(雑な導入) GUIアプリケーション(Webアプリやモバイルアプリ)のバージョン番号をどうやって決めるか(バージョニング)を迷ってしまったので、考えていることを一度吐き出してみることにしました。 結論 結論からいうと、GUIアプリケーションのバージョニングはSemVerにこだわる必要はないです。サービスを提供する主体として、開発するチームとして、そのバージョン表記によって誰に何を伝えたいのかがハッキリしていて、それが伝えたい人々に伝われば、何だっていいです。 SemVer 現代のWeb界隈でデファクトスタンダードなバージョン記法といえば、セマンティックバージョニング(通称SemVer

    GUIアプリケーションのバージョニングどうする問題(あるいはメジャーバージョン上げられない問題) - ナカザンドットネット
  • 『Joel on Software』を読んだ - 30歳からのプログラミング

    Microsoft での勤務経験を持ち Stack Overflow の創業者でもある Joel Spolsky によるエッセイ集。 Joel は自身が運営するウェブサイト Joel on Software で多数の記事を公開しており、その一部を掲載したのが書。 ひとつひとつの章がかなり短い(長いものでも 20 ページくらい、短いものだと 4 ページほど)ので気軽に読めるし、各章は独立しているので興味のある部分だけ読むこともできる。 技術そのものについて解説している技術書ではなく、ソフトウェア開発やソフトウェア産業についての著者の考えが書かれており、 Paul Graham の『ハッカーと画家』にテイストが近いかもしれない。 無料で公開されているエッセイ集をまとめたもの、というのも『ハッカーと画家』に似ている。 書に収録されているのは 2000 年から 2004 年に書かれた記事なので

    『Joel on Software』を読んだ - 30歳からのプログラミング
  • Zero Touch Productionへの移行 | メルカリエンジニアリング

    記事は2022年1月26日に公開された記事の翻訳版です。 筆者:Dylan Lau (@aidiruu), Platform DXチーム Zero Touch Production (ZTP)は、番環境に加えられるすべての変更が、自動化、安全なプロキシ、または監査可能なBreak-glass(緊急アクセス)システムによっておこなわれるという概念です。人為的ミスに起因する番環境での障害には、次のようなさまざまな種類があります。 構成エラー スクリプトエラー 間違った環境でのコマンド実行 ZTPはこれらのエラーによる障害発生のリスクを軽減できます。メルカリでは、ZTP環境への移行に取り組んでいます。最初のステップは、一時的な役割付与システムであるCarrierを実装することです。 この記事では、以下について説明します。 ZTPの重要性 ZTPを実装するプロセスとCarrierを始めた理

    Zero Touch Productionへの移行 | メルカリエンジニアリング
  • プロトコルスタックを写経してネットワークを完全に理解したかった日記

    Webページはどうやって表示されるのでしょうか. 「ブラウザでアドレスバーにURLを入力してEnter押してからページが表示されるまでに何が起きているか説明してください」面接で使っていた質問が面白いと話題に 上記の質問には様々なレイヤーでの回答があると思うのですが,私はネットワークの動作に興味を持ちました.というのも,TCP,IP,ARP,Ethernetといったキーワードが関連しているのは教科書や講義で聞いた気がするのですが,それ以上のことはうまく説明できなかったからです. これらのプロトコルは,普段はカーネル内部に隠れていてあまり意識できません. しかし,以下の資料を参考にプロトコルスタックを写経すれば,少しは身近に感じられるかもしれないと思いました. 3月に開催したプロトコルスタック自作キャンプの講義資料を公開しました。1週間でTCP/IPのプロトコルスタックを自作してUDPやTCP

    プロトコルスタックを写経してネットワークを完全に理解したかった日記
  • 【翻訳記事】BDDの考案者が執筆した記事「テストについて話し合わなくてはならない」を翻訳しました! - ブロッコリーのブログ

    目次 目次 はじめに(記事の見どころなど) テストについて話し合わなくてはならない テストの目的 「うまくいかないかもしれないものは何ですか?」 なぜテストをするのですか? この場合に限り…… テスト駆動開発 〜テストについて語る前に説明が必要です〜 テストについて話しましょう なぜすべてのテストを自動化しないの? テストカバレッジは有用な指標ですか? 「テストをシフトレフトする」とはどういう意味ですか? いつ、どこでテストすべきですか? 十分なテストとはどれくらいですか? おわりに はじめに(記事の見どころなど) 今回は著者人の許可をもらった上で、「テストについて話し合わなくてはならない」(原題は「We need to talk about testing」)を翻訳したので紹介します。 dannorth.net 記事はDaniel Terhorst-North(Dan North

    【翻訳記事】BDDの考案者が執筆した記事「テストについて話し合わなくてはならない」を翻訳しました! - ブロッコリーのブログ