タグ

tofu-kunのブックマーク (23,118)

  • 『ソフトウェアアーキテクトのための意思決定術』を読んだ - Don't Repeat Yourself

    ソフトウェアアーキテクトのための意思決定術 リーダーシップ/技術/プロダクトマネジメントの活用 作者:Srinath Perera,島田 浩二インプレスAmazon 私は現在、会社でアーキテクト[*1]という職位についています。実際のところは、自分の半分くらいの時間でチームのテックリードを務めつつ、半分くらいの時間でアーキテクトをしているという時間配分です。アーキテクトというのは、勤務先ではテックリードの上位に置かれているようなイメージで、テックリードがチーム単位での技術的なリードを司る職位だとすると、アーキテクトはチームの上位概念である事業領域単位での技術的なリードを司る職位、ということになります。 アーキテクトの主な仕事は、基的にはテックリードと変わらず技術的な意思決定です。さまざまなトレードオフを掻い潜りながら、その時点での最適な結論を出すのがお仕事といったところでしょうか。ただ、

    『ソフトウェアアーキテクトのための意思決定術』を読んだ - Don't Repeat Yourself
  • ソフトウェアアーキテクトが知るべき 97 のこと

    【01】システムの要件よりも履歴書の見栄えを優先させてはならない by ニティン・ボーワンカー 【02】質的な複雑さは単純に、付随的な複雑さは取り除け by ニール・フォード 【03】最大の問題は、たぶん技術的なことではない by マーク・ラム 【04】まずコミュニケーション、そのための明快さとリーダーシップ by マーク・リチャーズ 【05】パフォーマンスの決め手はアーキテクチャー by ランディ・スタッフォード 【06】要求仕様の当の意味を探れ by アイナー・ランドル 【07】立ち上がろう! by ウディ・ダーハン 【08】すべてのものは、かならずエラーを起こす by マイケル・ナイガード 【09】それは交渉だということに気付け by マイケル・ナイガード 【10】定量化を求めよ by キース・ブレイウェスト 【11】500 行の仕様書より 1 行のコード by アリソン・ランダ

    ソフトウェアアーキテクトが知るべき 97 のこと
  • サーバサイドJavaScriptの標準策定を目指す「WinterTC」がECMA International傘下で始動、W3CのWinterCGから移行

    サーバサイドJavaScriptの標準策定を目指す「WinterTC」がECMA International傘下で始動、W3CのWinterCGから移行 W3CでサーバサイドJavaScriptを中心とした非Webブラウザ環境におけるJavaScriptの互換性について議論してきた「Web Interoperable Runtimes Community Group 」(WinterCG) とECMA Internationalは、サーバサイドJavaScriptランタイムにおけるAPIの互換性を実現するための新グループをECMA International傘下の「TC55 – Web-interoperable server runtimes」(WinterTC)として設立すると発表しました。 WinterTCには、Node.js、Deno、Verel、Fastly、Netlify、Sh

    サーバサイドJavaScriptの標準策定を目指す「WinterTC」がECMA International傘下で始動、W3CのWinterCGから移行
    tofu-kun
    tofu-kun 2025/01/14
  • RSCがSPAに与える意味についての考察、Wakuを試してみませんか?

    こんにちは、Wakuの作者です。RSCのためのReactフレームワークであるWakuですが、SPAもサポートしたいと思っています。RSCとSPAに関して思ったことを雑多ですが記事にしたので、よろしければご覧ください。 以下、ChatGPTによる翻訳です。 はじめに RSCはReact Server Componentの略ですが、この投稿では以下の2つの主要な要素を含む広義のアーキテクチャとしてRSCを使用します。 コア機能:Reactコンポーネントやその他の値をシリアライズおよびデシリアライズする能力。 コア機能に基づくベストプラクティス:まだ探索の余地があると感じています。 SPA(Single Page Application)は、静的ファイルとしてデプロイされることが多いです。別のサーバーが存在する場合もありますが、それは通常SPA自体を提供するためのものではありません。この文脈では

    RSCがSPAに与える意味についての考察、Wakuを試してみませんか?
  • TypeScriptのBranded TypeとZodの.brand - Mitsuyuki.Shiiba

    Branded Typeについては、もういろんなところで触れられているから、わざわざ書かなくてもいいよなぁという気持ちがありつつ。でも、せっかく頭の整理をしたから、来月の自分用にまとめておくくらいはやっておこうか、という気持ちになったのでメモを残しておく。それとZodの.brand。 やりたいこと 次の2つの型に対する値を間違えて渡したときに、TypeScriptの型検査でエラーになってほしい。 type UserId = number; type BookId = number; TSの型システムはStructural Subtypingを採用しているので、構造が同じだったら部分型として扱われる。だから、↓こんな風にUserIdを引数で受け取る関数にBookIdの値を渡してもエラーにならない。どちらも同じnumber型だから。 const getUser = (id: UserId) =

    TypeScriptのBranded TypeとZodの.brand - Mitsuyuki.Shiiba
  • GitHub - skim-rs/skim: Fuzzy Finder in rust!

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - skim-rs/skim: Fuzzy Finder in rust!
    tofu-kun
    tofu-kun 2025/01/13
  • 同接1500人耐える配信サーバーをCloudflareを使って構築した

    始めようと思ったきっかけ Twitchのクローンサイトを作りたいとずっと考えていて、おおえのたかゆき(おえちゃん)さんが一般の配信サイトでは放送できないジャンルのコンテンツを配信できるサイトを探していると知って作成に取り掛かりました。なのでおえちゃんの元々配信していたサイトであるOPENRECにちなんで、サイト名はOpen放送室にしました。 前提 サーバーのプロバイダー: Linode クライアント: Next.jsUIはNextUI バックエンド: Express.js 環境 NginxでRTMPとHLS配信 NginxAPIとクライアントへのリバースプロキシ 全ての通信はCloudflare経由 ①初期段階の構成 第一回目のテスト放送での出来事です。 結果から言うと600人ぐらいで落ちました。 サーバー Ubuntu 4GB 2 Core (Dedicated Server) Ca

    同接1500人耐える配信サーバーをCloudflareを使って構築した
    tofu-kun
    tofu-kun 2025/01/13
  • Goodbye WinterCG, welcome WinterTC

    Deno has always been committed to web standards and runtime interoperability. Here at Deno, we believe that the web is the most important development platform in the world - poised to outlive all other development platforms. We believe that the APIs that make up the web are so ubiquitous that they should not be constrained to just the browser. They should be usable by any developer, including serv

    Goodbye WinterCG, welcome WinterTC
  • Repomix

    Include File SummaryInclude Directory StructureRemove CommentsRemove Empty LinesShow Line Numbers

    Repomix
    tofu-kun
    tofu-kun 2025/01/10
  • exec(3) するけど、その裏でサーバーとかを動かしておきたい

    何か下準備をしたり環境変数などに変更を加えてから指定したコマンドを起動するプログラムはたくさんある。bundle exec や npx, uv run や、拙作でも envchain などがそのようなプログラムの例だと思う。このようなプログラムは世間では executor と呼ばれているような気がするので、ここでもそう呼ぶことにする。 executor を最近あたらしく書いていて、ただそこでは指定されたコマンドを起動するだけではなく、そのコマンドのためのサーバーを裏で実行し続ける必要があり、ちょっとした工夫が必要だったのでメモ。 (なお、executor に指定されたコマンド = ユーザーや executor の親プロセスが最終的に起動を期待しているプログラムについては以後 command と表記) tl;dr executor が command の子プロセスになるようにする。execu

  • ドット絵を作るGPTsを作ったら反応が良かった件(GPTs配布あり)|けいすけ / AIマンガ家

    こんにちは。けいすけです。 この記事の最後にGPTs配布をしていますので、記事は良いから取りあえずGPTsがほしい!という方は最後までぐいーーーーんとスクロールプリーズ! 最近こんなポストをしました。 ChatGPTだけでキレイなドット絵が描けるようになりました。 ドット絵って簡単そうですが、AIで作ろうとすると結構難しいんですよね。 たとえば、これを見てください。 DALL-E3でドット絵を描いて!とお願いして出てきたものです。 まあ、ドット絵っぽいといえばっぽいのですが、拡大してみると違いが分かります。 こんな感じで、ピクセルの端がにじんでいたり、ピクセルの境目が直線になっていなかったりします。 で、これをどうしたかというと、pythonで加工することでちゃんとしたドット絵になるわけです。 詳しい仕組みは省きますが、ニアレストネイバー法というもので、64×64に縮小すると、割りとキレイ

    ドット絵を作るGPTsを作ったら反応が良かった件(GPTs配布あり)|けいすけ / AIマンガ家
  • 結局iTerm2を単体で使うことにした - Mitsuyuki.Shiiba

    年末年始にGhosttyを触ってみてて、好きだなとは思いつつもメイン使いするのはもうちょっと待ちたいなという気持ちになった。 なので、↓以前に書いたみたいにiTerm2 + tmuxに戻すかー!と思って、それならtmuxの使い方をもういっかい勉強するかー!って考えたんだけど。 はて?そういえばなんでtmuxを使ってるんだっけ?ってなった。 もともとは、踏み台からサーバーに入って作業をするときに切断されないようにするためだったな。ついでに複数台のサーバーに入りやすくて便利だなくらいで使い始めたんだった。 もう今じゃ踏み台からサーバーに入ることもほとんどないし、単に複数ペインやタブで操作したいだけならiTerm2だけでよくない?って気持ちになった。 それに、もしまた踏み台経由でtmuxを使いたいってなったら、iTerm2のtmuxインテグレーションの機能を使えばiTerm2の使い方でtmux

    結局iTerm2を単体で使うことにした - Mitsuyuki.Shiiba
    tofu-kun
    tofu-kun 2025/01/08
  • ssh-keygenしたときに出るあのキラキラの正体

    LabBaseテックカレンダー Advent Calendar 2024の12月17日分のアドベントカレンダーです。 このブログのゴール ssh-keygenしたときに出るあのキラキラの正体を突き止めて、Rustで完全再現する⭐️ 再現するだけにとどまらずオエー鳥AAで似たようなものを作る🐦‍⬛ コードはここ 出典 http://www.dirk-loss.de/sshvis/drunken_bishop.pdf https://github.com/lfam/randomart あのキラキラの正体 randomartって言う テキストベースのフィンガープリントだと人間が誤って確認するリスクがあるから、視覚的な差分が取りやすいようにAAとして可視化している アルゴリズム 公開鍵ファイルの解析 公開鍵の中身はこうなっている ssh-ed25519 AAAAC3NzaC1lZDI1NTE5A

    ssh-keygenしたときに出るあのキラキラの正体
    tofu-kun
    tofu-kun 2025/01/08
  • 初めてAWSを使うときのセキュリティ覚書〜管理者編〜 | DevelopersIO

    初めてAWSを使っていくときに読んでおきたいセキュリティの覚書、管理者編です。これからAWSの管理者となる人は是非読んでください。あるいは管理者を任せる方が活用してください。 こんにちは、臼田です。 みなさん、AWSセキュリティ気にしてますか?(挨拶 今回はこれからAWSを使う組織や使い始めた組織向けに、AWSセキュリティで絶対に覚えておく必要があることを解説します。 この記事を読んでいただければ、自信を持って安全にAWSを利用し始められます! なお、初めてAWSを使う利用者に向けた記事として初めてAWSを使うときのセキュリティ覚書〜利用者編〜 | コラム | クラウドソリューション|サービス|法人のお客さま|NTT東日を先に掲載しています。記事はこの続編で管理者としての内容を綴っていきます。まだ読んでいない方は先にそちらをご覧ください。 目次 前置き〜AWSの管理は大変?〜 組織に

    初めてAWSを使うときのセキュリティ覚書〜管理者編〜 | DevelopersIO
  • 「Google Agentspace」発表、生成AIがGoogleドライブ、Slack、SharePoint、JIRAなど社内情報を横断的に読み取って質問に答えてくれる

    Google Cloudは生成AIのGeminiがSharePoint、Googleドライブ、Confluence、JIRA、ServiceNowなどと接続して情報を読み取り、自然言語によるプロンプトに自由に応えてくれる新サービス「Google Agentspace」を発表しました。 Google Agentspaceは企業データを統合する Google CloudはGoogle Agentspaceを、すべての企業データを統合するエージェントと位置づけており、GmailやG……

    「Google Agentspace」発表、生成AIがGoogleドライブ、Slack、SharePoint、JIRAなど社内情報を横断的に読み取って質問に答えてくれる
  • <label>で<button>を囲んでいるときにclickイベントが2回発火する問題の原因と対策

    皆さんこんにちは。今回は、最近筆者が遭遇した、<label>で<button>を囲んでいるときにclickイベントが2回発火することがある問題について解説します。 さっそくですが、こちらのCodePenをご覧ください。 ここでは、0と書かれたボタンが表示されています。このボタンは1回クリックすると数字が1増えるように実装されています。 しかし、ボタンに表示されている数字をクリックすると、数字が2増えてしまいます。これは、clickイベントが2回発火しているためです。それ以外の部分(ボタンの端や、ラベル)をクリックした場合は数字が1増えます。 実装のHTMLJavaScriptは以下のとおりです。 <p>数字をクリックするとonClickが2回発火する!!!</p> <div> <label> ラベルのテスト <button type="button"></button> </label>

    <label>で<button>を囲んでいるときにclickイベントが2回発火する問題の原因と対策
    tofu-kun
    tofu-kun 2025/01/07
  • GitHub - sorah/mairu: on-memory AWS credentials agent and executor

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - sorah/mairu: on-memory AWS credentials agent and executor
  • ID連携を理解しよう(1) ID連携の概要とOAuth, OIDCで実現できること

    ritou です。 あけましておめでとうございます。2025年はID連携の話をしましょう。 昨年、仕様策定から10年を迎えたOpenID Connectですが、関連仕様の策定は続いています。特に最近はDigital Identity Walletを支える仕様群の策定がお盛んです。新しい技術をキャッチアップするためにも、ベースとなるID連携の概要から理解していく必要があると考えています。 今回はID連携とは、というところとどうしても混乱してしまうOAuthとOIDCの用途について理解するための説明をします。OAuth/OIDC関係はどうしても記事が長くなってしまうので、今後のモチベーションのためにも「ID連携を理解しよう(1)」としています。 ID連携とは ID管理などで使われるID(=Identity)とはユーザーの属性情報の集合です。 ユーザー識別子(User Identifier)やメ

    ID連携を理解しよう(1) ID連携の概要とOAuth, OIDCで実現できること
  • 簡易DBをフルスクラッチで実装して得た学び

    ☀️ はじめに 最近 「Database Design and Implementation」 という技術書を読みました。 書は、一般的なDBMSについての設計パターンを概説しつつ、その一つのパターンをJavaで実装するというものです。 しかし、ただJavaのサンプルをそのまま動かすのでは味気ないので、今回は Go で書き直しています。 実装する機能はごくシンプルに絞っていますが、実際に自作することで「DBMSが内部で何をしているのか」が肌感覚でわかり、非常に勉強になりました。(まだ一部実装しきれていない部分はありますが...) 📝 実装した内容 この書籍では、DBMSの設計における複数の実装パターンを解説したうえで、そのうちの1つを実際に作るという構成になっています。おかげで、シンプルなDB機能を一通り体験しながら理解を深めることができました。今回実装した機能の一部を挙げると、次のと

    簡易DBをフルスクラッチで実装して得た学び
  • Drizzle x SQLiteで作成日時や更新日時をCustom typesでいい感じにしたい - くらげになりたい。

    前回の続き。Drizzle ORMをちょっと触ってみたときに、 いろいろ調べてみたときの備忘録(*´ω`*) Drizzle ORMに入門してみた with Turso - くらげになりたい。 SQLiteにはdate/time型がない Date And Time Functions 残念なことに、SQLiteにはDate/Time/DateTimeの形がなく、 以下の形式の文字列(text)か数値(integer)で保存する ISO-8601 ... text Unix timestamp ... intager いくつか便利な関数が用意されていて、それを利用する形になる date() ... YYYY-MM-DD形式のtext time() ... HH:MM:SSやHH:MM:SS.SSS形式のtext datetime() ... YYYY-MM-DD HH:MM:SSなどのtex

    Drizzle x SQLiteで作成日時や更新日時をCustom typesでいい感じにしたい - くらげになりたい。