タグ

takahashimのブックマーク (4,457)

  • スタディサプリ最大のRailsアプリケーションにYJIT+pitchforkを導入してメモリ使用量を劇的に削減するまで - スタディサプリ Product Team Blog

    こんにちは。SREのkyontanです。Rubyが大好きなのでRubyの話をします。ちなみにリクルートはRubyKaigi 2024へGold Sponsorとして協賛しています! *1。ぜひ沖縄でお会いしましょう。 これはあるアプリケーションのメモリ消費量を示すグラフなのですが、まさかgemを入れ替えるだけでこんなに嬉しい変化が見られるとは思っていませんでした。今日はそんなgemの話をします。 話は遡って2023年4月のある日、インターネットを眺めていたところ、ShopifyがpitchforkというOSSを公開したという情報が目に留まりました。 調べてみると、どうやら著名なRackサーバー実装の1つであるunicornの派生版であり、メモリ使用量の削減に特化しているらしいのです。 github.com これはスタディサプリ小中高のあのリソースドカいマイクロサービス第一位である api

    スタディサプリ最大のRailsアプリケーションにYJIT+pitchforkを導入してメモリ使用量を劇的に削減するまで - スタディサプリ Product Team Blog
    takahashim
    takahashim 2024/04/02
    なかなか手がかかってそうだけど、メモリ消費量が6割近く減るならうれしい人にはうれしそう
  • Railsを高速かつセキュアにするHTTP/2プロキシ「Thruster」、37signalsがオープンソースとして公開

    RailsのためのHTTP/2プロキシ「Thruster」がオープンソースで公開された。ほとんど設定不要で、導入によりRailsアプリをより高速かつセキュアにする。 Ruby on Rails(以下、Rails)の開発元である37signalsは、より高速でセキュアなRailsアプリケーションを実現するHTTP/2プロキシ「Thruster」をオープンソースとして公開しました。 We've released Thruster as open source! It's a tiny, no-config HTTP/2 enabling, asset caching, X-Sendfile sending proxy for Rails' default web server Puma. One of the secret sauce elements of ONCE, now availab

    Railsを高速かつセキュアにするHTTP/2プロキシ「Thruster」、37signalsがオープンソースとして公開
    takahashim
    takahashim 2024/03/26
    今のkamalだとTraefikが標準だけど、設定が大変だし融通も効かないので専用に作り込んでライブラリ化したという理解。ONCEのCampfireだとこういうのあるといいよねというのはよく分かる
  • 【翻訳】テスト駆動開発の定義 - t-wadaのブログ

    このブログエントリでは、テスト駆動開発(TDD: Test-Driven Development)の考案者Kent BeckがTDDの定義を改めて明確化した文章を、許可を得たうえで翻訳し、訳者の考察を沿えています。 きっかけ 2023年の年末、テスト駆動開発(TDD: Test-Driven Development)の考案者Kent Beckは、substackにTDDに関するポストを連投して論戦を繰り広げていました。TDDはその誕生から20年以上が経ち、その間に「意味の希薄化」が発生して議論が噛み合わなくなっていました。意味の希薄化(Semantic Diffusion)とは、新しく作り出された用語が広まる際に来の意味や定義が弱まって伝わる現象です。 私(和田)はTDDと関わりの深いキャリアを歩んできました。Kent Beckの著書『テスト駆動開発』の翻訳者であることもあり、TDDの正

    【翻訳】テスト駆動開発の定義 - t-wadaのブログ
    takahashim
    takahashim 2024/03/08
    記事の翻訳も考察も良かったけれど、元記事のステップ1は違和感が(翻訳じゃなく原文の方に)。これだとテストリストがテストや実装の前に完成してることになるのでは?TDD本だと途中でTODOリストが変わってますよね
  • 技術屋の癖に湾岸ミッドナイトを読んだことがない奴

    当に「残念」な価値観をしている。 機械に存在する絶対的な寿命も理解してないし、調整することが取捨選択であることも理解してない。 巷に賑わう「っぽさ」しかない改造技術の上限の低さ、それ故に実現されるリーズナブルさだから需要があることについて認識したことも想像したことさえない。 名機が下手な最新型よりもずっと信頼できることを分かってないか、逆に名機を信奉しすぎて時代の流れにはいつか勝てなくなることを理解してないか。 そもそも技術屋としての精神性が足りてない。 ユーザーの願望を叶えることが自分たちの提供している商品であり、目の前にある物理的な部分はそのための手段でしかないことさえ分かっているのか。 そもそも自分の願望・ユーザーの願望・業界の願望・会社の願望・国の願望・業界外の人の願望、それらを切り分けることさえ出来てなさそうだ。 当しんどいよ。 湾岸ミッドナイトさえ読んでいてくれれば説明する

    技術屋の癖に湾岸ミッドナイトを読んだことがない奴
    takahashim
    takahashim 2024/03/03
    上司に言われてもダメそうなのに「増田に言われて読みました」ではもっと届かなさそう
  • Freshハンズオン 初級編

    ハンズオン用の記事です。随時修正・アップデートされます。 対象レベルは「少々JavaScriptが書ける」初心者向けです。中級編はこちら 色々端折るために拡張機能をインストールします。Next.jsなどに親しんでフロントエンドをバリバリやっている方には冗長な説明が多いと思います。上級者は公式ドキュメントを全部読み込むことをおすすめします。 Freshの特徴 Freshはシンプルさと速度、信頼性に重点を置いたDeno用のWebフレームワークです。 特徴としては「サーバサイドレンダリング」を基礎に下記の特徴を備えています。 必要がない限りゼロJavaScript的にすべてTypeScript ビルドステップなし(条件あり) この結果、型の恩恵を受けながら、極力軽量な構成でWebアプリケーションを作ることができます。 ゼロJavaScript FreshはIsland architectu

    Freshハンズオン 初級編
    takahashim
    takahashim 2024/03/03
    “deno install -Arf jsr:@deno/deployctl” もうJSRの時代が来てたのか!(denoだから?)vscode拡張は普通に便利そう
  • Why single vendor is the new proprietary - OpenSource.net

  • 「自由度が高いのでこういう事が許されがち」偏差値70オーバーの北海道の進学校、札幌南高校名物のコスプレ卒業式に卒業のフリーレン現る

    咲来さん@ @sakkurusan なんかこう、北海道でいろいろとやってる人。セコマ、公営競技、二次元、ゲーム、バラエティ、昭和平成初期、鉄道、地理、地図、テレラジ、ローカルCM、いものなんかに明るい。自称超弱小零細あばら家インフルエンサー。何かあればDMで。無言フォロー、FF外リプ歓迎。 youtube.com/user/sakkurusan

    「自由度が高いのでこういう事が許されがち」偏差値70オーバーの北海道の進学校、札幌南高校名物のコスプレ卒業式に卒業のフリーレン現る
    takahashim
    takahashim 2024/03/02
    別にみんながみんなコスプレする(してた)わけじゃないですよ…ノリのいい奴もいればくだらん・つまんねーなと思ってる奴も昔からいたし、まあ別にいいんじゃない?くらいの人が多数派だったような(母校です)
  • Hotwire Modals in Ruby on Rails with Stimulus and Turbo Frames | AppSignal Blog

    ruby Hotwire Modals in Ruby on Rails with Stimulus and Turbo Frames Modals are widely used on the web, but they are rarely built with accessibility in mind. When a modal is displayed, the background is dimmed visually but it's still visible to screen readers and keyboard-only users. In this post, the first of a two-part series, we'll look at presenting accessible modals in Rails using two differen

    Hotwire Modals in Ruby on Rails with Stimulus and Turbo Frames | AppSignal Blog
  • Denoのフロントエンド開発の動向【2024年冬】

    半年程前に、以下のような記事を書きました。 この記事では、上記の記事から半年程の間で起きたDenoでのフロントエンド開発に関して影響がありそうな内容などをまとめていきます。 Deno体のアップデート 直近半年ほどでDenoに導入された機能からフロントエンド開発に影響しそうなものについていくつか紹介します。 npmパッケージの対応状況について 大きな点として、Deno v1.35からAstroが動作するようになったようです。 それ以外にはDenoNext.jsを動かすための試みがいくつか進んでいるようです。next buildやnext devを動かすための対応がいくつか入っています。 また、直近で公開されたロードマップではSvelteKit, VuePress, Qwik, Remixなどを動かすための対応を進めていくことが検討されているようです。 Remixについては公式でRemix

    Denoのフロントエンド開発の動向【2024年冬】
  • Switching to Android was easy

    In addition to trying out Windows for a week, I also switched my main phone number to Android recently. And that turned out to be far easier. Dangerously easy, you might say, if you were in Apple’s shoes. But it’s all down to how deep you’re mired in the platform services soup. I used to be all-in on the Apple software story. Apple Mail, Apple Calendar, Apple Notes, Apple Photos, iMessage, Apple J

    Switching to Android was easy
    takahashim
    takahashim 2024/02/27
    この前のWindowsの記事と言い、要はApple製品は好きだけどAppleとは喧嘩したりしてるからApple以外の選択肢があることの重要性を訴えてるんだろうなあと推測 https://world.hey.com/dhh/apple-approves-the-hey-calendar-c76ebd9c
  • TypeScriptの代数的部分型模型

    書ではTypeScriptの型と部分型関係がなす代数的構造を解説し、型についての強固かつ柔軟なメンタルモデルを構築します。 順序理論、集合論、束論、環論、そして圏論に至るまで、複数の数学理論を利用して多角的にモデルを構築することで、型の直感的な理解を深め、型の互換性に対する自然な推論を可能となるように解説した新しい試みのです。

    TypeScriptの代数的部分型模型
  • (翻訳) GitLab 社で働くのはどのようなものだったか - forest book

    稿は Yorick Peterse 氏によって書かれた次の記事の日語翻訳です。著者に翻訳の許可を得て公開しています。 yorickpeterse.com また稿は DeepL Pro を使って下訳したものに手を加えています。日語翻訳の不具合または誤訳については Yorick Peterse 氏ではなく、稿のコメント欄にお願いします。 ここから文です。 GitLab 社で働くのはどのようなものだったか 私は2015年10月に GitLab 社に入社し、6年あまり働いて2021年12月に退社しました。 前に GitLab 社を辞めて Inko に取り組んでいることは書きましたが、2015年から2021年までの間、GitLab 社で働いていたことがどのようなものであったのかについては触れませんでした。理由は2つあります。 燃え尽き症候群に苦しんでいて、(当時は) 自分の人生の最後の6

    (翻訳) GitLab 社で働くのはどのようなものだったか - forest book
  • 開発イテレーション偏重 - 兼雑記

    開発イテレーションを早くすれば、かなりの問題が勝手に解決される、と信じています。なんか最近、他の要素を軽視しすぎていたり、特にイテレーション速度に影響しなさそうなことすらしている気がしていて、信仰とかのレベルかもしれない、という気がしてきたので、ちょっと書いてみようかなと。主に C++ の話です。 仕事とかしてると良い判断力が求められたりしますが、判断というのは結構難しいですよね。アプローチ A と B で悩んだ時に、手が速ければ両方できたりします。開発イテレーションを無限に速くすると、必要とされる判断力はゼロに漸近していきます。やったね。 2手で変更の正当性を高速に確認できるようにする make (かその他のビルドコマンド)てやったらビルドができて、 make check (かその他のテストスクリプト)てやったら遅くないテストが全部走る、という体勢が好きです。試すためにはあっちのディレク

    開発イテレーション偏重 - 兼雑記
  • Re: WebサーバーアーキテクチャとPHP実行方式の理解から始めるphp-fpmとはなにか?

    この記事のモチベーション 「php-fpmとはなにか?」を知るため、PHPのドキュメントを見ました。 しかし、ここに書いていることはまあそうなのですがあまりに焦点が絞られ過ぎてて「php-fpmとはなにか?」に対する答えとしては少し不十分な気がしていました。 例えるなら数学の問題に答えるにあたって、途中式を飛ばしたり証明の過程を飛ばしたりというような感じ。 不十分というのは、それを理解するための段階をすっ飛ばして答えだけが書かれている状態のことを指しています。 その不十分なところを自分も曖昧にしか理解できていない気がしており、いい機会なので整理しておこうというのがこの記事のモチベーションです。 そのためこの記事は、「php-fpmとはなにか?」をプロセス→Webサーバー→実行方式と順を追って説明していく構成になっています。 「細けぇこたぁいいんだ、おらぁ今すぐ答えだけ知りてぇンダ」という方

    Re: WebサーバーアーキテクチャとPHP実行方式の理解から始めるphp-fpmとはなにか?
    takahashim
    takahashim 2024/02/25
    本題はさておきApacheとC10Kについて思うところがあったので気合いを入れてコメントを書いてみました
  • SQLite FTS : trigram tokenizerでunigram&bigram検索までサポート-日本語全文検索

    SQLite FTS : trigram tokenizerでunigram&bigram検索までサポート-日語全文検索 2023.06.20 ### 前段 2023年現在、全文検索システムをセルフホストしようとした場合に、 Elasticsearch、OpenSearch、Meilisearch(最近勢いありますね) がまずメジャーどころで候補にあがるとおもいますが、これ以外にSQliteという選択肢もあります。 SQLiteには、デフォルトで有効の拡張機能として全文検索 FTS(Full-Text-Search)があります。 SQLite FTSはSQLite自体の特徴である優秀なポータビリティ、SQLで扱える習得運用コストの低さ、何より必要十分過ぎる検索速度があります。 ローカル/エッジといった環境向けなら個人的にはかなりオススメと感じています。 今回は SQLite FTS での

    SQLite FTS : trigram tokenizerでunigram&bigram検索までサポート-日本語全文検索
  • SaaS アーキテクチャ概要

    SaaS をアーキテクトをするにあたって、どのような事を考えればよいのか?をまとめました。

    SaaS アーキテクチャ概要
  • 「プログラミング言語開発」教育用言語MinisにJSONベースの具象構文を付け足してみた - kmizuの日記

    皆様、お久しぶりです。去る2月10日(土)、2月11日(日)に筑波大学情報科学類にて特別講義の講師をやってきました。といっても、私が全日担当したわけではなくOB一人が一コマを自分の得意分野について講義をするオムニバス形式のものです。 私はといえば去年やったのと同様、JavaScriptで抽象構文木を「手で」組み立てて解釈・実行するプログラミング言語Minisとその処理系を作るという講義を行いました。講義当日はスライドにミスがあることに途中で気づいたり色々あってテンパりましたがそれはそれとして。 元々、私が担当した「プログラミング言語作成概論」の趣旨は プログラミング言語を作るというのはとても簡単な作業なのに、プログラマにすらあまり知られていないのはけしからん。 とはいえ、実際に作ってみせないと実感が湧かないのが人情。 抽象構文木をJavaScript上で組み立てて、それをevalする関数を

    「プログラミング言語開発」教育用言語MinisにJSONベースの具象構文を付け足してみた - kmizuの日記
    takahashim
    takahashim 2024/02/21
    “抽象構文木を「手で」組み立てて解釈・実行するプログラミング言語” それはLispって奴では…?と思ったら最後でほんとにLispぽくなっててほっこりしました
  • 性暴力被害から生き延びて、当事者と研究者の間で生きる - 東京都人権啓発センター

  • HTML: ログイン・ユーザー登録フォームの厳選ベストプラクティス11(翻訳)|TechRacho by BPS株式会社

    概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: 11 HTML best practices for login & sign-up forms—Martian Chronicles, Evil Martians’ team blog 原文公開日: 2023/05/24 原著者: Andrey Sitnik(PostCSSとAutoprefixerの作者、首席フロントエンドエンジニア) サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日語ブログ: 合同会社イービルマーシャンズ - Qiita 日語タイトルは内容に即したものにしました。 はじめに ログインフォームやユーザー登録(サインアップ)フォームは、ほとんどのWebサイトで使

    HTML: ログイン・ユーザー登録フォームの厳選ベストプラクティス11(翻訳)|TechRacho by BPS株式会社
  • 面白法人カヤックのグループ入りに関するお知らせ|英治出版

    私たち英治出版株式会社は、株式会社カヤック(社:社:神奈川県鎌倉市、代表取締役CEO:柳澤大輔、東証グロース:3904、通称「面白法人カヤック」、以下「カヤック」)の子会社となり同社グループの一員となることを決定いたしました。 当社は「Publishing for Change “みんなのものにする”ことを通して人・組織・社会の未来づくりを応援する。」をパーパスに掲げ、ビジネス書や社会書を中心に数多くのロングセラー、ベストセラーを含む独自色ある書籍コンテンツを生み出してきました。出版不況のなか黒字経営を続け、近年はコミュニティスペース運営や新興出版社とのアライアンス、研修サービス開発等にも取り組んでおります。 事業の進化を模索する中、デジタルコンテンツやコミュニティ関連など多様な領域でビジネスを展開するカヤックと意見交換を重ね、グループに参画することで新たな事業機会を開拓していけると考

    面白法人カヤックのグループ入りに関するお知らせ|英治出版