tamago1106のブックマーク (283)

  • Don't DRY Your Code Prematurely

    TotT 98 GTAC 61 James Whittaker 42 Misko Hevery 32 Anthony Vallone 27 Code Health 27 Patrick Copeland 23 Jobs 18 Andrew Trenk 12 C++ 11 Patrik Höglund 8 JavaScript 7 Allen Hutchison 6 George Pirocanac 6 Zhanyong Wan 6 Harry Robinson 5 Java 5 Julian Harty 5 Alberto Savoia 4 Ben Yu 4 Erik Kuefler 4 Philip Zembrod 4 Shyam Seshadri 4 Adam Bender 3 Chrome 3 Dillon Bly 3 John Thomas 3 Lesley Katzen 3 Ma

    Don't DRY Your Code Prematurely
  • クラウド時代のデータベースを理解するために①

    最近、分散データベースとかNewSQLとかサーバレスなデータベースとか色々聞きますよね。 でも、専門ではない人たちにとって、「何が違うの?」「自分たちに必要なDBはどれなの?」という点が分かりづらいと思います。 私も良く聞かれます。 AuroraはNewSQLですか? NewSQLってサーバレスなんですか? スケールできないDBとか聞きますけど、リードレプリカ増やせますよね? などなど。この辺に基的なところから答えられるように、順を追って解説していきましょう。 「コンピュートとストレージは別であれ」 と神が言うと、コンピュートとストレージは分離された。 と言うのは冗談ですが、まずはここからスタートしましょう。 クラウド以前のデータベースを使っていた人にはお馴染みのように、それまでデータベースは大きな1つの箱でした。 過去に私は下図でデータベース(厳密にはRDBMS)のコンポーネントを解説

    クラウド時代のデータベースを理解するために①
  • はてブの性差別志向すげー!

    母親がパワーウィンドウを操作して後部座席にいる2歳の子を死なせた事故のブコメ欄 https://b.hatena.ne.jp/entry/s/news.yahoo.co.jp/articles/f9966c4ccc374fc88babbb50175a9ea844c99638 同ニュースのブコメ欄はいくつもあるが、どれも数ブコメばかりで、いちばんブコメがついてるのが上のニュース。 上位ブコメに母親を責めるものは一切なく、「やるせない」「技術で防げ」「憶測で叩くな」「人が一番後悔してる」と、 車の仕組みが悪い、母親を責めるな、という同情的なブコメばかり。 いっぽう、数年前にあった、父親が後部座席にいる2歳の子の存在を忘れて車内で死なせた事故のブコメ欄を見ると… https://b.hatena.ne.jp/entry/s/www.asahi.com/articles/ASN6K7F64N6K

    はてブの性差別志向すげー!
  • 頼むから男は「今すぐ」化粧水を塗れ!!(追記でデッキ公開)

    ーーーー(追記です以前の内容を読みたい人は❤️の多いところまでスクロールしてね!)ーーーー えっ何めっちゃブコメついてるこわ…もうすぐ1000じゃん???? お察しの通り元ホビー女子だよ!!みんなもバトろうぜ!! というわけでデュエリストの作法としてデッキを公開するよ。なおレギュレーションは基礎化粧品とします今回はメイクアップの方の化粧はナシね(でも男も顔にラメとか塗ろうぜ?キラカードとか好きだろ?) なんだけど当方コスパ至上主義者なので大した成分使ってないんだが(ホントすいません)…てかコスパ度外視だったら美容医療一択でターンエンドなんだわ(もちろん何も塗らなければ0円だけどそれは肌断っていうちょっと過激な流派で、昔精神的に参ってて自動的に肌断状態だったときの古傷=ニキビ痕がまだ残ってるからもうやらないって決めてるんだぜ!) 前置きが長くなったな!俺のターン! 洗顔:セタフィルのジェ

    頼むから男は「今すぐ」化粧水を塗れ!!(追記でデッキ公開)
  • エンジニア3年目までに読んで良かった書籍 - Yuki Watanabe's Blog

    未経験からエンジニアになり3年が経ちました。 この3年間はベテランエンジニアとの差を埋めるべく、プライベートの時間の大半を学習に充ててきました。幸い少しずつ成長を感じられ、業務では難易度の高い仕事を任せてもらえるようになったと感じます。このキャッチアップのために100冊以上の技術関連書籍を読んだことでしょう。 ここ最近、知人やTwitter経由で知り合った方から、私が学習に使った書籍について質問を頂くことが多いです。そこで、今後参照していただきやすいように、これまで私が読んで良かった書籍を1つの記事にまとめようと思います。 前提:エンジニアとして経験した技術 書籍について 全エンジニア向け Web / インターネット イラスト図解式 この一冊で全部わかるWeb技術の基 (★) HTMLコーダー&ウェブ担当者のための Webページ高速化超入門 (★) Webを支える技術 -HTTP、URI

    エンジニア3年目までに読んで良かった書籍 - Yuki Watanabe's Blog
  • 仕事の進め方がグダグダの会社はどうすればいいのか、「プロジェクトマネジメントの基本が全部わかる本」の著者に聞いてみた

    仕事の進め方がグダグダの会社はどうすればいいのか、「プロジェクトマネジメントの基が全部わかる」の著者に聞いてみた 「プロジェクトマネジメントの基が全部わかる」を執筆し、ご自身もプロジェクトマネージャーやプロダクトマネージャーとして23年経験を積んできた橋将功さん。 橋さんは、セミナーや著書でプロジェクトマネジメントについての知見を発信されていますが、今回 Agend であえてお聞きするのは「専門のプロジェクトマネージャーがいないグダグダになっている職場で、どう仕事を回していくか」。 「うちの会社は仕事を回すのが下手」と感じている方にこそ読んでいただければと思います。

    仕事の進め方がグダグダの会社はどうすればいいのか、「プロジェクトマネジメントの基本が全部わかる本」の著者に聞いてみた
  • サブクエリの書き方を2万文字弱かけてすべて解説する

    これはなに ども、レバテック開発部のもりたです。 今回はSQLのサブクエリについてまとめます。仕事でクエリを書く際、サブクエリは頻出の構文だと思うんですが、同時にサブクエリの書き方を完全に理解しているよという人は案外少ないのではないでしょうか?[1] 実際、MySQLの公式ドキュメントを見ると12ページくらいを割かれており、意外と奥深いのがサブクエリです。使いこなせると便利ですし、何よりちょっとSQLのコツみたいなのがわかって面白いよ、ということで記事にしてみました。 前提 この記事は以下の前提を含んでいます。 環境 MySQL8.0系 読者の知識 なんとなくサブクエリが書ける けど相関サブクエリとかになると「あーっ」つってGoogle meetを閉じてしまうくらいのレベル感 記事のボリューム 18,000文字 おれの卒論が20,000文字だった マサカリ 間違ってたら投げてくれ〜〜 それ

    サブクエリの書き方を2万文字弱かけてすべて解説する
  • Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita

    この記事ですることを3行で Pythonの標準ライブラリでできる並列実行を、あらためて総当たりで速度比較しよう ウォーターフォールチャートで、それぞれの並列処理の処理時間の特徴を可視化しよう boto3の実行をモデルケースにして、どの並列処理が一番早いのかを調べよう この記事の結論を先に Python 3.12から格的に使えるようになったサブインタープリターは、CPUで実行する処理について言えば、従来のサブプロセスよりも高速 boto3の実行は、サブインタープリターよりも署名付きURLの非同期実行のほうが速い → S3からの10ファイルの取得であれば、実行時間を90%削減できます → Bedrockの3回実行であれば、実行時間を60%削減できます 今回使ったソースコードはこちらに置いています。 お手持ちの環境で再実行できるようにしていますので、気になる方はぜひ。 どうしてこの記事を書くの

    Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita
  • 2023年に観た面白かった映画 - whkr’s diary

    2023年はコロナ禍の反動か大作映画も数多く公開され、この記事に入らなかったものも含めて全体的にクオリティも高く、豊作だったと思う。 2024年もその傾向が続いているようで、ついでに面白い近作も紹介したいと思いながら記事を書くのを先延ばしにしていたらどんどん分量が増えてしまったので、できるだけ早く別建てで紹介したい。 という訳で、とりあえず2023年のベスト3と面白かった作品を挙げる。 第1位 『リバー、流れないでよ』 (公式サイト) 温泉街の老舗旅館が2分間のループに囚われる話。 持論だが、ループ物は観客から時間の感覚を切り離す反面、場面に繰り返し映し出される場所の魅力が問われる構造なのではないだろうか。 この作品では、老舗旅館のお勝手、ロビー、客間、別館という適度に非日常的な場所を通じ、複数のスタッフや宿泊客が関わることで、繰り返しを飽きずに楽しめる。 そしてなにより、裏手の小川で恋人

    2023年に観た面白かった映画 - whkr’s diary
  • Cloudflare、CDNエッジでサーバレスなSQLiteを提供する「Cloudflare D1」正式リリース。非同期レプリケーションによる分散データベース機能も

    Cloudflare、CDNエッジでサーバレスなSQLiteを提供する「Cloudflare D1」正式リリース。非同期レプリケーションによる分散データベース機能も Cloudflareは、これまでベータ版として提供してきたSQLiteベースのデータベースサービス「Cloudflare D1」の正式サービス化を発表しました。 D1, Cloudflare’s SQL database, is now generally available. With new support for 10GB databases, data export, and enhanced query debugging, we empower developers to build production-ready applications with D1 to meet all their SQL needs.

    Cloudflare、CDNエッジでサーバレスなSQLiteを提供する「Cloudflare D1」正式リリース。非同期レプリケーションによる分散データベース機能も
  • ブラウザからDBに行き着くまでただまとめる

    はじめに あなたはブラウザからデータベース(DB)に情報が行き着くまでにどんな技術が使われているか説明できますでしょうか? どのようなプロトコルが用いられ、どの技術を駆使してサーバと通信しているのか、Webサーバでは何が行われ、どのようにして負荷が分散されているのか、トランザクションはどのように管理されているのか、そしてデータベースではシャーディングや負荷対策のためにどのような対策が取られているのか… なんとなくは理解しているものの、私は自信を持って「こうなっている!!」とは説明ができません。 そこで今回は「大規模サービス」を題材としてブラウザからデータベースに至るまでの、情報の流れとその背後にある技術について、明確かつ分かりやすく解説していきたいと思います。 対象としてはこれからエンジニアとして働き出す、WEB、バックエンド、サーバーサイド、インフラ、SREを対象としております。 1.

    ブラウザからDBに行き着くまでただまとめる
  • Screwtape / sqlite-schema-diagram · GitLab

    GitLab.com

    Screwtape / sqlite-schema-diagram · GitLab
  • 令和5年度東京大学学部入学式 祝辞(グローバルファンド 保健システム及びパンデミック対策部長 馬渕 俊介 様) | 東京大学

    新入生の皆さん、そしてご家族、ご親族の皆さま、おめでとうございます。 私自身も東大の卒業生ですので、入学時の受験戦争からの解放感、新しい学生生活を始めるわくわく感は、今もよく覚えています。 長い受験勉強が終わって、ついに自由。たくさん遊んで、恋人作って、ガンガンやっていいと思います。 同時に、大学の4年間は、「自分で創り、自分で切り拓く、自分の人生」のスタート地点です。そしてこれからの皆さんの人生の中で、一番自由に、自分の器を広げ、自分の夢を探して突き進める時期でもあります。 私は東大卒業後、発展途上国を日の立場から支援する国際協力機構JICA、民間の経営コンサルティング会社のマッキンゼーの日オフィスと南アフリカオフィス、世界銀行、それからビル・ゲイツがマイクロソフトを辞めて、途上国の保健医療の問題を解決するために作ったゲイツ財団で、世界の貧困や感染症に立ち向かう仕事をやってきました。

    令和5年度東京大学学部入学式 祝辞(グローバルファンド 保健システム及びパンデミック対策部長 馬渕 俊介 様) | 東京大学
  • [Next.js] 開発中のページを開発環境でのみ表示し、本番環境のビルドには含めないようにする

    はじめに この記事について こんにちは、 @zomysan(Twitter) です。この記事では、Next.js で開発をしているWebアプリケーションのフロントエンドを対象に、開発途中のページをどう扱うかということについて書きます。 新しい機能やリニューアルのための開発を始めてあたらしいページを追加したものの、まだ途中なのでユーザーに見せられる状態ではない、ということはよくあると思います。ユーザーには見せたくないけど、開発環境やステージング環境では確認したい。でも番環境には出したくない。そういうときどうしたら良いのでしょうか? この記事の対象 この記事は以下のような人を対象としています。 Next.js で Web アプリケーションを実装している 開発中のページを番環境に露出したくない まとめ 今回、私は以下のように実現してみました。 開発中のページについて、拡張子を .page.d

    [Next.js] 開発中のページを開発環境でのみ表示し、本番環境のビルドには含めないようにする
  • 現職と前職で感じたスクラムの違い - Qiita

    はじめに 今の会社に転職してきて2ヶ月が経ち、まだまだ分からないことも多いですが少しずつ環境にも慣れてきたので頭の中を整理するためにも今感じていることをアウトプットしたいなと思い書きました! 現在、私が参画しているチームはスクラムをベースとして開発を行なっており、前職もスクラムでの開発を経験していたので、その違いを整理していきます。 前職 スクラムを導入するまでの背景 前職では、美容医療・精神科クリニックを運営している会社で、クリニックスタッフが使用する社内システムの開発に携わっていました。働き方としてはフル出社になります。 チーム構成は以下で、私はメンバーでした。 チーム構成(7名) ディレクター(PM) 1名 リーダー 1名 アーキテクト 1名 メンバー 4名 はじめからスクラムを導入していた訳ではありませんでした。 開発の流れとしては、クリニックスタッフまたは関係者からディレクター(

    現職と前職で感じたスクラムの違い - Qiita
  • インデックスを理解したい - Qiita

    はじめに みなさんはDBのインデックスを正しく使えていますか? 私はなんとなく「DBのパフォーマンスを向上するためのもの」という認識はあったのですが、 どのような場面で使うものなのか、逆にどのような場面では使うべきでないのかなど 明確に理解できていませんでした。 今回はそんなインデックスについての理解を深めたいと思います。 インデックスとは インデックスとは、その名の通り「索引」です。 表現の仕方と変えると、(x, a)という形式の配列であるとも言えます。 xというキー値とそれに結びつくaというデータ情報があり、 これを利用することですべてのデータを網羅して見ることなく、 まさにの索引のように目的のデータにたどり着くことができます。 インデックスはSQLのパフォーマンスを改善するための非常にポピュラーな手段であり、 理由としては下記の3点が挙げられます。 アプリケーションのコードに影響を

    インデックスを理解したい - Qiita
  • ブラウザの仕組み  |  Articles  |  web.dev

    序文 WebKit と Gecko の内部オペレーションに関するこの包括的な入門情報は、イスラエルのデベロッパー Tali Garsiel 氏による多くの研究の成果です。数年にわたり、ブラウザ内部に関するすべての公開データを確認し、ウェブブラウザのソースコードを読むことに多くの時間を費やしました。彼女は次のように書いています。 ウェブ デベロッパーは、ブラウザ操作の内部構造を学ぶことで、より的確な意思決定を行い、開発のベスト プラクティスの背後にある理由を知ることができます。これはかなり長いドキュメントですが、時間をかけてじっくり読むことをおすすめします。やったら嬉しいよ。 Chrome デベロッパー リレーションズ、Paul Irish はじめに ウェブブラウザは、最も広く使用されているソフトウェアです。この入門編では その仕組みを解説しますアドレスバーに「google.com」と入力し

  • RustでWeb APIを作る際のエラーハンドリング - CADDi Tech Blog

    TL;DR エラーハンドリングを行う目的 エラーハンドリングが適切に行われているとどう嬉しいか 1. エラーの発生原因が分かる 2. レスポンスステータスを型安全に出し分けることが可能になる どうエラーハンドリングを行うのか 実装方法 エラー型の定義で気を付けるべきポイント なぜanyhowを利用しないのか エラーハンドリングを行う上で持っている課題感 Drawer Growth グループ バックエンドエンジニアの中野です。今回は、私が所属するチームで gRPC API を開発する際に実践している Rust でのエラーハンドリングについて紹介していきます。 TL;DR エラーの発生原因がわかるようにエラー型を定義することが大切。 anyhow は使わずに自前のエラー型を定義して利用する。 エラーハンドリングを行う目的 そもそもなぜエラーハンドリングを行う必要があるのでしょうか。私が所属する

    RustでWeb APIを作る際のエラーハンドリング - CADDi Tech Blog
  • いつか起業したいエンジニアへ - Qiita

    はじめに 34 歳のとき、勤めていた会社の経営が傾き早期退職を促されたのを契機に独立しました。その後、41 歳で Authleteオースリート 社を設立しました。諸般の事情で現在も Authlete 社の代表取締役という肩書きを持っていますが、経営者的な仕事は他の人に任せ (参照: シリコンバレーのプロフェッショナル CEO を迎えて米国市場に挑戦する日のスタートアップの話)、50 歳目前の現在もプログラマとしてコードを書き続けています。 Authlete 社設立 (2015 年 9 月) から 8 年半弱経過したものの、まだまだ小さな会社で道半ばであるため、起業家として何か語るのは時期尚早ではあるものの、軽い体調不良が長引く中、『自分のエンジニアとしてキャリアを振り返ろう!』という記事投稿キャンペーンを見かけ、生きているうちに子供世代のエンジニアの方々に何か書き残しておこうと思い、文章

    いつか起業したいエンジニアへ - Qiita
  • リレーショナル・データベースの世界

    序文 私の仕事は、DBエンジニアです。といっても別に望んでデータベースの世界へきたわけではなく、当初、私はこの分野が面白くありませんでした。「Web系は花形、データベースは日陰」という言葉も囁かれていました。今でも囁かれているかもしれません。 ですが、しばらくデータベースを触っているうちに、私はこの世界にとても興味深いテーマが多くあることを知りました。なぜもっと早く気づかなかったのか、後悔することしきりです。 もちろん、自分の不明が最大の原因ですが、この世界に足を踏み入れた当時、先生も、導きの書となる入門書もなかったことも事実です。 今でこそバイブルと仰ぐ『プログラマのためのSQL 第2版』も新入社員には敷居が高すぎました (2015年2月追記:その後、自分で第4版を訳出できたのだから、 人生は何があるか分からないものです)。 そこで、です。このサイトの目的は、データベースの世界に足を踏み