タグ

あとで読むに関するrazokuloverのブックマーク (378)

  • packs-rails + packwerkでファットモデルを安全に分割する

    はじめに こんにちは。リンクウェルクリニックDX支援システムチームの山です。 皆さんが普段開発しているサービスの1stコミットはいつでしょうか?私が主に担当しているサービスは2018年から開発されており、今まで経験したRailsプロジェクトの中でも比較的大規模のものとなっております。 長期間開発が続けられているRailsのサービスでよくある問題として、ファットモデル・ファットコントローラーが挙げられます。その名の通り1つのファイルのサイズや役割が大きくなってしまう問題です。 我々のサービスでは診察の「予約」を担当するReservationモデルの肥大に悩まされています。この問題に対し、packs-rails と packwerk というライブラリを利用して解決する方法を検証しました。今回はこのライブラリを利用し、モデルを適切に分割し、ドメインの境界を容易に検知する仕組みをご紹介します。

    packs-rails + packwerkでファットモデルを安全に分割する
  • Static search trees: 40x faster than binary search

    1 Introduction1.1 Problem statement1.2 Motivation1.3 Recommended reading1.4 Binary search and Eytzinger layout1.5 Hugepages1.6 A note on benchmarking1.7 Cache lines1.8 S-trees and B-trees2 Optimizing find2.1 Linear2.2 Auto-vectorization2.3 Trailing zeros2.4 Popcount2.5 Manual SIMD3 Optimizing the search3.1 Batching3.2 Prefetching3.3 Pointer arithmetic3.3.1 Up-front splat3.3.2 Byte-based pointers3.

  • 個人的技術書大賞2024 - Qiita

    O'Reillyサブスクリプションで読むことができる今年発行された書籍の中から、これは良いんじゃないかな、と感じたものを紹介します。 Balancing Coupling in Software Design 『[ドメイン駆動設計をはじめよう』原著者のVlad Khononovさんの最新作で、ソフトウェアにおいて結合とは何かを一冊まるまる使って掘り下げたです。 ソフトウェアにおける結合というと、その指標として50年以上前に提唱された構造化設計時代の結合強度が用いられがちです。書ではこれについて解説をしつつも、新たな現代における結合強度の基準を提案しています。(元ネタはMichael NygardのUncouplingを統合したものでもあるのですが…) それから開発の辛みは結合強度だけでなく、「距離」「変動性」も影響してくるため、これらのバランスをとるのが重要であるといい、以下公式を導き

    個人的技術書大賞2024 - Qiita
    razokulover
    razokulover 2024/12/28
    どれも読みたくなるような書評だ
  • Tidy First? - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Kent Beckの最新作Tidy First?は、リファクタリングよりも小さな単位でコードを整理するやり方を記したです。これをTidying(記事では「片づけ」と呼びます)と呼んでいて、リファクタリングのサブセットと定義付けています。なので片づけはコードの振る舞いは変えないことはリファクタリングから継承します。 Tidy First?はこんまりメソッドの影響も少なからず受けてそうです。 Tidy First?を書いた背景には、リファクタリングが機能開発を止めて行うようになったり、振る舞いを変えてしまうようになったことがある、とKe

    Tidy First? - Qiita
  • 30分でわかるデータ指向アプリケーションデザイン - Data Engineering Study #18

    600ページを超える書籍である「データ指向アプリケーションデザイン」の要点を最近の話題を交えながら解説します。 Data Engineering Study #18 の発表資料です プレゼンテーション https://www.youtube.com/watch?v=ZiKWXc0fSCw …

    30分でわかるデータ指向アプリケーションデザイン - Data Engineering Study #18
  • TypeScriptで『関数型ドメインモデリング』をやってみよう - Qiita

    この記事は、LIFULL Advent Calendar 2024 21日目の記事になります。 はじめに LIFULLでは、技術負債解消のためにレガシーなコンポーネントをいわゆるCleanArchitecture(以降CA)に置き換えるという取り組みをやっています。 内製ソフトウェアアーキテクチャでレガシーシステムを刷新し技術的負債を削減するまでにやったこと クリーンアーキテクチャで構築したプロダクトが2年経過してみて現状どうなっているかを紹介 新卒エンジニアがリファクタを突貫したClean Architectureプロジェクトの舞台裏 CAはいくつかのレイヤに別れていますが、LIFULLではCAのEnitityをドメイン駆動設計(DDD)で言うところのドメインモデルで実装しています。 この記事は、前に読んでいた関数型ドメインモデリングの「型によるドメインモデリング」がこの実装に応用できる

  • 「テクノ楽観主義者宣言」にみる先鋭化するテック大富豪のイキり、そしてテック業界の潮目の変化

    「テクノ楽観主義者宣言」にみる先鋭化するテック大富豪のイキり、そしてテック業界の潮目の変化 2023.11.07 Updated by yomoyomo on November 7, 2023, 12:00 pm JST 前々回「先鋭化する大富豪の白人男性たち、警告する女性たち」、前回「テクノ楽観主義者からラッダイトまで」を書いた者として、今回はマーク・アンドリーセンの「テクノ楽観主義者宣言(The Techno-Optimist Manifesto)」(解説付き日語訳)を取り上げるのが必然と思われます。まさに大富豪の白人男性の先鋭化とテクノ楽観主義者の現在を見るうえで必読と言える内容になっています。 しかし、この渾身のマニフェストに対する風当たりは強い、という印象があります。それについては後で取り上げますが、いろいろな意味で潮目の変化を感じずにはいられません。 著者のマーク・アンドリー

    「テクノ楽観主義者宣言」にみる先鋭化するテック大富豪のイキり、そしてテック業界の潮目の変化
  • 全てのエンジニアが必ず見るべき9のYouTube動画

    https://youtube.com/watch?v=Q_FtGfUV5u0https://youtube.com/watch?v=HVC6RL3TyZIhttps://youtube.com/watch?v=wEX1_NYoPlshttps://youtube.com/watch?v=7utuuiw7v0Uhttps://youtube.com/watch?v=9qN9EF-6IcIhttps://youtube.com/watch?v=K7kRDPmwzVIhttps://youtube.com/watch?v=AOux701nwCUhttps://youtube.com/watch?v=N6PR1n4Oyaohttps://youtube.com/watch?v=i2ZQ1OdfcHI 当はもっと出したかったけど、URLを10件以上含んだ増田は投稿できないようだ。残念。

    全てのエンジニアが必ず見るべき9のYouTube動画
  • mruby/ruby: mruby VMをRubyで実装してみた - yhara.jp

    このエントリはmrubyファミリ (組み込み向け軽量Ruby) Advent Calendar 2024の1日目の記事です。 近年、mruby bytecodeを利用していろんな環境でRubyを動かす試みがみられます。ふつうRuby処理系を自分で実装するとすれば という3段階になるわけですが、mruby bytecodeを使えば前段はmrbcコマンドがやってくれるので、後段であるVM+ランタイムの実装だけでRubyプログラムを動かすことができ、だいぶ楽になります。 とはいえ… 言語処理系実装の経験がなければ、後段だけでもけっこうな歯ごたえがあるでしょう。特にmruby体はC言語で書かれているため、Rubyistにとってはとっつきづらいかもしれません。 ということで、Rubyで書かれたmruby VM、mruby/rubyをご用意しました。 https://github.com/yhara

  • 【ログ分離】 ログデータを DB に保存してはいけません

    はじめに TROCCO では ETL ジョブや、dbt 連携、ワークフローなど、様々なジョブで実行ログをリアルタイムで見ることができます。 これによりエラー時のトラブルシュートをスムーズに行うことができます。 そして、この実行ログですが、DB にあるジョブのレコードの1カラムに書き込まれていました。 このように TROCCO の実行ログの表示機能は、データベースのアンチパターンの上に成り立っています。 ログデータは TEXT 型で DB に保存されているためサイズが大きく、また TROCCO の成長に応じてジョブ数は増えるため、ログデータもサービスの成長とともに無限に成長してしまいます。 おかげさまでアカウント数は増加の一方であり、それに伴い DDL が遅くなったり、また SELECT のパフォーマンスも当然落ちるため、INDEX に気をつけたりする必要がありました。 SRE ではこれに課

    【ログ分離】 ログデータを DB に保存してはいけません
  • AWS re:Invent 2024の振り返り|Eugene Kawamoto / 川本雄人

    ベガスの長い一週間から帰ってきました。生成AIのローンチ祭りと隙間のない連続EBCでツィートする機会がほとんどのなかったので、帰りの飛行機でAWS re:Invent 2024の振り返りについてまとめました。2023年のre:Inventの振り返りについてはこちらから。 re:Inventの参加は12回目(お客さんとして2回とオンライン1回を含む)になりますが、今回は、間違いなくTop 3に入るぐらい充実した内容になりました。 それでは、ご笑覧ください。 コスト削減から生成AIへ一気に加速昨年末からコスト削減話がようやく減り、今年になり生成AIを筆頭としてイノベーションが一気に加速していることを肌で感じ取るイベントになりました。景気も良く、お客様の消費意欲を強く感じるイベントでした。 また、生成AIはスタートアップやクラウドネイティブな業界は当たり前として、規制産業である金融、保険、ヘルス

    AWS re:Invent 2024の振り返り|Eugene Kawamoto / 川本雄人
  • エンジニアも知っておきたい『プロジェクトマネジメント』〜カレー作りで学ぶPMBOKの実践的TIPS〜 - Uzabase for Engineers

    NewsPicks Advent Calendar 2024 一日目の記事です。 こんにちは!ソーシャル経済メディア「NewsPicks」の安藤です。長らくSREチームのプレイングマネージャーをしていたのですが、最近はEMとして自分の技術的専門性とは異なる担当領域の開発チームもサポートしています。 その中で気づいたのが、「プロジェクトマネジメントを通じてならどのチームでもエンジニアリングマネージャーとして一定のバリューを発揮できるかもしれない」ということです。 私自身は前職で10年以上プライムのSIerに在籍しており、PMを務めたことはありませんが一流のPMの元で開発リーダーとして一緒に仕事をした経験はあります。*1 SEの必須研修として『プロジェクトマネジメント基礎』という一週間の座学をした程度の知識ですが、スクラムが中心の事業会社のエンジニアにとっても意外と役立つTIPSがあるので思い

    エンジニアも知っておきたい『プロジェクトマネジメント』〜カレー作りで学ぶPMBOKの実践的TIPS〜 - Uzabase for Engineers
  • この本がスゴい!2024

    p.97 「So What?」の繰り返しによるイシューの磨き込みより ①の「地球温暖化は間違い」といった焦点の定まらない主張だと反論しようがないが、⑤にまで磨き込まれていれば、白黒はっきりさせるために何をどう検証すればよいか、見えてくる。 「So what?」の他に、「空・雨・傘」といった技法が登場するため、気づく方もいるだろうが、これはマッキンゼー&カンパニーのコンサルになる。ただし、書が他のマッキンと異なるのは、完全に血肉化されているところだろう。 書は、「コンサルティングファームの報告書のリード文に最終的に何を書くか」を丁寧に解説したものだ。だがこれは、そのまま、「どの課題に取り組めば、成果が出たといえるか(そしてそれをどう伝えるか)」という現場の問題に応用できる。 与えられた問題に疑問をいだかず、唯々諾々と取り組んでいるうちに終業時刻となる。怖いのは、頑張って残業しても終わら

    この本がスゴい!2024
    razokulover
    razokulover 2024/12/02
    戦略的交渉入門の流れで、日経文庫は結構良い本あるイメージ
  • 「出世」を目指そう、もとい「マネジングアップ」しよう / Managing Up

    Scrum Fest Osaka 2024 キーノートの資料です

    「出世」を目指そう、もとい「マネジングアップ」しよう / Managing Up
  • あなたの知らない超絶技巧プログラミングの世界

    2015年9月25日紙版発売 2015年9月25日電子版発売 遠藤侑介 著 B5変形判/272ページ 定価2,948円(体2,680円+税10%) ISBN 978-4-7741-7643-7 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle 楽天kobo honto 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 「役に立たないプログラムには価値がない?」 「プログラミングは仕事以外でやりたくない?」 書には,アスキーアート化,自己生成,縛りのあるプログラミングなど,実用性を追求するだけでは出会えないテクニックが満載。プログラミングが好きな方はもちろん,プログラミングが苦手な方でも楽しめる遊びをIOCCC入賞常連の著者が紹介しま

    あなたの知らない超絶技巧プログラミングの世界
  • [React] 新規作成画面と編集画面の実装で気をつけていること

    SaaS の管理画面を開発していると新規作成画面と編集画面を実装することがよくあります。 これらの画面は一見似ているので共通のコンポーネントで実装できそうですが、意外と多くの違いがあります。 この記事では新規作成画面と編集画面を実装するときに気をつけていることをまとめてみます。 コンポーネント設計について シンプルな例でも新規作成画面と編集画面には違いがありました。 これらを1つの共通コンポーネントで実装するとコンポーネント内でIF分岐が発生し可読性が下がったり、再利用性が低くなったりします。 では両者を完全に別コンポーネントで実装したら良いのかというとそれも微妙です。新規作成、編集の入力項目は仕様的に同じであり、バリデーションも同じであることが多いです。 ここを別に実装してしまうと仕様が変わったときに変更する箇所が多くなってしまいます。 なのでフォーム部分(入力とバリデーション)は共通化

    [React] 新規作成画面と編集画面の実装で気をつけていること
  • [社内勉強会] mizchiさんのパフォーマンスチューニングイベントについていくための準備をしました

    2024.12.02に開催する【mizchiさんによる 「LAPRAS 公開パフォーマンスチューニング 」調査編】の事前知識を得るための社内勉強会の記録です。 https://lapras.connpass.com/event/337670/ 学習の取っ掛かりを得ることをゴールとして、Webフロントエンドのパフォーマンス指標、ブウラザによるレンダリングの流れ、その他頻出ワードについて、先人による解説記事を参照しながら 川俣さん( https://twitter.com/KawamataRyo ) に概要を解説して頂きました。 ■ 試し切り素材のサービス - LAPRAS https://lapras.com ■ チャプター 00:00 勉強会のゴール/進め方 01:25 チェックイン 04:35 フロントエンドパフォーマンス指標 05:16 Core Web Vitals 11:25

    [社内勉強会] mizchiさんのパフォーマンスチューニングイベントについていくための準備をしました
  • 佐倉綾音が語る「不登校を超えて」 | TBSラジオ

    TBSラジオ『荻上チキ・Session』(平日18時~生放送) 新世代の評論家・荻上チキがお送りする発信型ニュース番組。「Yahoo! ニュース Voice in Session」。 このコーナーは、今聞きたい当事者からの声――「今、これを伝えたい」という意志を持つ発信者が、自ら

    佐倉綾音が語る「不登校を超えて」 | TBSラジオ
  • EC サイトの決済機能を開発するなら知っておきたい「与信」と「売上」およびそれらに関わる決済処理について | DevelopersIO

    概要 EC サイトを構築・運営するに当たり、商品購入の最後の手続きであり、実際に売上金を受け取るための 「決済」 の機能は考えなければならないことのひとつだと思います。私が開発に携わる prismatix ( EC / CRM 向け API プラットフォーム) でも、 提供するマイクロサービスの機能として決済サービスを用意しております。 大抵の EC サイトであれば「クレジットカード決済」を備えると思いますが、その中で 「与信」 と 「売上」 は必ずといっていいほど使う機能です。当記事ではこの与信と売上、および関連する決済処理についてまとめております。 各種処理の説明を踏まえて、最後に prismatix の決済サービスについても紹介します。 この記事で取り扱う内容について この記事では一般的な会計用語としての解説はせず、「 EC サイト上で与信・売上をどう扱うか」 を観点として話をさせて

    EC サイトの決済機能を開発するなら知っておきたい「与信」と「売上」およびそれらに関わる決済処理について | DevelopersIO
  • 【保存版】Active Storageの内部詳細と、5年以上productionで運用して得た知見(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Active Storage in production: lessons learned and in-depth look at how it works - rubyonrails-talk - Ruby on Rails Discussions 原文公開日: 2023/07/26 原著者: Breno Gazzola 参考: Active Storage の概要 - Railsガイド 元記事はRuby on Rails Discussionsへの書き込みですが、「公式ドキュメントにしたい」との声もあったほど大きな反響を呼びました。 2023年の情報につき、記事のクラウドなどの情報はその後状況が変わっている可能性もありますのでご了承ください。 🔗 1: 概要 私の会社では、ユーザーアップロードの実装が必要になる直前に、幸

    【保存版】Active Storageの内部詳細と、5年以上productionで運用して得た知見(翻訳)|TechRacho by BPS株式会社