タグ

yatmsuのブックマーク (6,174)

  • 2024年版のDockerfileの考え方&書き方 | フューチャー技術ブログ

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

    2024年版のDockerfileの考え方&書き方 | フューチャー技術ブログ
  • Rails7.2のマイナーフィーチャーで気になったところ

    rails_7_2_new_features.md これはなに 現時点(2024/08/30)でRails7.2.1がリリースされています Ruby on Rails 7.2 Release Notes — Ruby on Rails Guides にメジャーフィーチャーが書かれている マイナーフィーチャーはよくわからないので、個人的に気になったマイナーフィーチャをまとめています Railties rails bootコマンドの追加 Implement the bin/rails boot command by fxn · Pull Request #52480 · rails/rails ベンチマークを取るようなときに「railsをbootさせる」だけをしたいケースが有る これまではbin/rails runner 1みたいなやつでやってたけど専用のがあったほうがいいよね、ということで追

    Rails7.2のマイナーフィーチャーで気になったところ
    yatmsu
    yatmsu 2024/09/07
    パーフェクト
  • Rails 7.2 - Slidev

    yatmsu
    yatmsu 2024/08/07
    ブクマ忘れてたよ
  • Terraformモジュール構成のベストプラクティス - ENECHANGE Developer Blog

    VPoTの岩 (iwamot) です。 この記事では、Terraformモジュール構成のベストプラクティスをご紹介します。Terraformドキュメントに書かれているものですが、従わずに時間を溶かした失敗談をまじえてお伝えすることで、同じ轍を踏む方が減ることを願っています。 取り上げるのは下記のベストプラクティスです。 Module Composition(フラットなモジュールツリー) Dependency Inversion(依存性の逆転) Module Composition(フラットなモジュールツリー) Module Compositionは、モジュールをフラットに並べられるよう構成すべし、という話です。Terraformドキュメントでは下記の例が挙げられています。 module "network" { source = "./modules/aws-network" base_c

    Terraformモジュール構成のベストプラクティス - ENECHANGE Developer Blog
  • Why choose async/await over threads?

    A common refrain is that threads can do everything that async/await can, but simpler. So why would anyone choose async/await? This is a common question that I’ve seen a lot in the Rust community. Frankly, I completely understand where it’s coming from. Rust is a low-level language that doesn’t hide the complexity of coroutines from you. This is in opposition to languages like Go, where async happe

    Why choose async/await over threads?
    yatmsu
    yatmsu 2024/03/29
    [.async/await][.good_reading]threadのが楽なのに、何故async/awaitを使うのか
  • aws-sdk-ruby配下すべてのgemにRBSが含まれた状態でリリースされました - スペクトラム

    みなさまに、RBSに関する重要なニュースを発表できることを嬉しく思います。 私の目標の一つにはRBSを当たり前の世界にするというものがあります。 この目標に対して大きなインパクトを残せたことに大変興奮しています。*1 aws-sdk-ruby配下すべてのgemにRBSが含まれた状態でリリースされました こちらは公式blogからのアナウンスです。 aws.amazon.com aws-sdk-rubyrubygemsでの累計ダウンロードランキング2位に乗るほどの人気gemです。(aws-sdk-core) aws-sdk-rubyは現状370以上のgemのあつまりです。 このすべてのgemにRBSが含まれた状態でリリースされました。 そうです。すべてです。 rbs v3.4.0以上でご利用いただけます。 steep + vscodeの例。etagがStringであることがわかる え、なにが

    aws-sdk-ruby配下すべてのgemにRBSが含まれた状態でリリースされました - スペクトラム
  • 鈴木おさむ「僕も老害になっていた」。40代からのソフト老害とは

    2024年3月31日をもって、32年間続けてきた放送作家業と脚業を辞めることを表明した鈴木おさむ。マンネリを捨てることで、働く意味、人生の目的、幸せのカタチが見えてくるという。著書『仕事の辞め方』の一部を再編集してお届けする。1回目。 老害は60代、70代の話ではない 僕は「老害」による被害者側だとずっと思ってきました。 でも、この一年はそうでもないと思っています。 老害は60代、70代の話ではない。40代から老害を与える加害者側に立っている人もかなり多い。 事の始まりは、とあるYouTube チャンネル。『街録ch』という人気チャンネルをご存じでしょうか? 三谷三四郎というテレビディレクターが町中で、とんでもない人生を経験した人たちにインタビューするもので、これがとてつもなくおもしろい。 三谷Dは、元々お昼の番組『笑っていいとも!』のADさんで、そのあとディレクターになり、僕もいくつか

    鈴木おさむ「僕も老害になっていた」。40代からのソフト老害とは
    yatmsu
    yatmsu 2024/01/25
    正面から嫌われる事を恐れずにしてます。
  • RubyKaigi 2023 RactorとThread、Ractor local GCについて - OPTiM TECH BLOG

    はじめまして、Optimal Biz開発チームの片岡です。 私は業務では主にRubyを使ってWebアプリケーションの開発をしています。 5/11~13に開催されたRubyKaigi 2023 に参加してきました。 私は今回、Ractorに注目して参加していたため、Koichi Sasadaさんの講演 "Ractor" reconsidered を紹介します。 RactorとThread 講演の紹介の前に、RactorとThreadについて確認します。 Threadとは Rubyでは、並行・並列処理を行う仕組みとしてRactor/Thread/Fiber/Processをサポートしています。 例としてThreadを確認します。 Threadは、ネイティブスレッド(カーネルスレッド)を用いて、同時実行を行います。 Ruby 3.2 リファレンスマニュアル Thread ネイティブスレッドを用い

    RubyKaigi 2023 RactorとThread、Ractor local GCについて - OPTiM TECH BLOG
    yatmsu
    yatmsu 2023/11/25
    blogでまとまってると早く読めていいわ
  • ブラウザ自動操作のPlaywrightはRubyからでも使える? - YusukeIwakiのブログ

    Playwrightのリリースノートに、気になる記載がある。 Release v1.4.0 · microsoft/playwright · GitHub 英語が苦手でも読めるよう、みんな大好きdeepl翻訳をかけておこう。 爆速の多言語展開スピードを支える何かがあるらしいことはわかる。 ただ、具体的にどういう仕組みで動いているとか、どうやればクライアントが実装できるよとか、そういう情報はドキュメントには一切書かれていない。 さすがマイクロソフト。 なので、いろいろソースを読んで調べた&実際にRubyからPlaywrightを使うPoCを作ってみた。 PlaywrightはServer/Clientモジュールに分かれている 結論から言うと、 microsoft/playwright (TypeScript版)にはServerモジュールとClientモジュールの両方が含まれている ただ、RE

    ブラウザ自動操作のPlaywrightはRubyからでも使える? - YusukeIwakiのブログ
  • Web業界の底上げとか崇高な考えがあるなら、お前ら率先して金取ろうよ : 404 Blog Not Found

    2007年07月18日23:30 カテゴリMoneyArt Web業界の底上げとか崇高な考えがあるなら、お前ら率先して金取ろうよ そのレベルが高いはずの君たち -- 僭越ながら、私自身も勘定に入れとく -- 俺たちが、なまじ楽しいからって手弁当イベントばっかりやっていると、どうなるかって考えてみたことある? 最速廃人研究会 - Web業界の底上げとか崇高な考えがあるなら、お前ら率先して廃業しろよ お前ら全然凄くないよ。いい加減自覚しろよ。そんで自重しろよ。イベントだ勉強会だ交流だの、レベルの低い連中で集まっても何の意味もねーよ。なまじ仕事になって給料とかもらえてしまうから、ダメなことに気付かないんだよ。凄い人々しか、業界でえなくなるんだよ。 すると何がおこるか、といえば、業界が育ちにくくなるんだよ。 仮に、「凄い人」と「凄くない人」の給与が10倍あるとする。このとき、「凄い人」が月200

    Web業界の底上げとか崇高な考えがあるなら、お前ら率先して金取ろうよ : 404 Blog Not Found
    yatmsu
    yatmsu 2023/09/30
    いわゆる凄い人でなくとも取れる金額を取るべきだな。と思ったエントリー。16年越しでブクマ。
  • Reverse Proxy がなぜ必要か - naoyaのはてなダイアリー

    フロントエンジニアに知ってもらいたいリバースプロキシの重要性 | RickyNews この記事が目に入って読んでみた。なるほど、昨今は Reverse Proxy は便利な L7 ルーター的なものとして認識されているのだな、と思った。URL の Rewrite や、VirtualHost 云々。確かに Reverse Proxy の便利な側面ではある一方、それらは Nginx などの Reverse Proxy でなければ実装が不可能かと言えばそんなことはないものでもある。 自分は Reverse Proxy はもうすこしサーバー/インフラ的な側面でその役割を捉えている。今更何をというものでもあるが、昼休みがてら時間があるので簡単に書いてみよう。 Reverse Proxy はWebシステム全体のリソース最適化のためのパーツ Reverse Proxy のインフラ的な視点での役割は「Web

    Reverse Proxy がなぜ必要か - naoyaのはてなダイアリー
    yatmsu
    yatmsu 2023/09/11
    9年越しのブクマ。ALBやWAFにリバプロの責務の一部が移行してしまって、いらなくね?と考える世代が出てきたんかな
  • 社内用GitHub Actionsのセキュリティガイドラインを公開します | メルカリエンジニアリング

    この記事は、Merpay Tech Openness Month 2023 の4日目の記事です。 こんにちは。メルコインのバックエンドエンジニアの@goroです。 はじめに このGitHub Actionsのセキュリティガイドラインは、社内でGithub Actionsの利用に先駆け、社内有志によって検討されました。「GitHub Actionsを使うにあたりどういった点に留意すれば最低限の安全性を確保できるか学習してもらいたい」「定期的にドキュメントを見返してもらい自分たちのリポジトリーが安全な状態になっているか点検する際に役立ててもらいたい」という思いに基づいて作成されています。 今回はそんなガイドラインの一部を、社外の方々にも役立つと思い公開することにしました。 ガイドラインにおける目標 このガイドラインは事前に2段階の目標を設定して作成されています。まず第1に「常に達成したいこと

    社内用GitHub Actionsのセキュリティガイドラインを公開します | メルカリエンジニアリング
  • Design Docs at Google

    One of the key elements of Google's software engineering culture is the use of design docs for defining software designs. These are relatively informal documents that the primary author or authors of a software system or application create before they embark on the coding project. The design doc documents the high level implementation strategy and key design decisions with emphasis on the trade-of

    Design Docs at Google
  • (翻訳) ビッグテックのプロジェクトマネジメントとスクラム不在の謎 - forest book

    稿は Gergely Orosz 氏によって書かれた次の記事の日語翻訳です。著者に翻訳の許可を得て公開しています。 blog.pragmaticengineer.com また稿は DeepL Pro を使って下訳したものに手を加えています。日語翻訳の不具合または誤訳については Gergely Orosz 氏ではなく、稿のコメント欄にお願いします。 著者も機械翻訳を下地にしたやり方に関心をもたれたようです。 The article translated to Japanese: https://t.co/4uynyyhm4E The author was transparent and noted that the article is a modification of an ML-translated article. This person managed to transl

    (翻訳) ビッグテックのプロジェクトマネジメントとスクラム不在の謎 - forest book
  • Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ

    技術部の笹田です。今日で退職するので、バタバタと返却などの準備をしています。 記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもに RubyKaigi 20222023 で発表した内容をもとにご紹介します。 並行と並列はよく似た言葉ですが、記事では次のような意味で使います。 並行処理(concurrent processing)は、「複数の独立した実行単位が、待っていればいつか終わる(もしくは、処理が進む)」という論理的な概念で、古典的にはタイムシェアリングシステムなどが挙げられます。 並列処理(parallel processing)は、「複数の独立した実行単位のうちのいくつかが、あるタイミングで同時に動いている」という物理的な概念で、古典的には複数のCPU上で同時に実行させる、というものです。最近では、1つのCPU上で複数コアが同時に動いている、という

    Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ
  • YJITの性能を最大限引き出す方法 - k0kubun's blog

    RubyのJITコンパイラYJITを開発している弊社Shopifyでは、社内で最もトラフィックが多いストアフロントのアプリにRuby 3.3 (master) をデプロイして平均レスポンスタイムが16%高速化、社内で最も大きなアプリであるモノリスにRuby 3.2をデプロイして平均レスポンスタイムが9%高速化している。他の会社でも、YJIT番で有効にしたら高速化したという事例をちらほら目にした。 一方で必ずしも良い報告ばかりではなく、YJITを有効化したらメモリを使い切ってしまったりだとか、遅くなったみたいな報告も目に入ることがある。こういった問題は我々も多かれ少なかれ経験しており、それぞれ適切に対処することで解決できたため、その知見を共有する。*1 メモリを使い切ってしまった時 zenn.dev YJITを有効化すると、YJITが生成する機械語に加えて、それに関するメタデータもメモリ

    YJITの性能を最大限引き出す方法 - k0kubun's blog
  • RubyKaigi 2023にメドピアは今年も全力でブース出展します - メドピア開発者ブログ

    皆さんこんにちは! サーバーサイドエンジニアの伊藤(@yuma_ito_bd)です。 2023年5月11日から開催のRubyKaigi 2023まであと少しですね! 今回はPlatinumスポンサーとしてブース出展も行う、メドピアの協賛企画の詳細をご紹介します! 目次 ブース企画 参加方法は簡単! Twitterクイズ企画も! 今年の注目ノベルティ 1. 大きなビニールバッグ 2. フライヤーがうちわになりました この場所でお待ちしています 最後に(告知あり) 「After RubyKaigi」を3社共同で今年も開催! 参考 ブース企画 今回は、 「Rubyistの中でお酒が飲める人はどれくらいいるのか?~How many Rubyists Good at Drinking?~」 と題して、来場者の皆様に「アルコールパッチテスト」をお試しいただく企画です! 実は、このアルコールパッチテスト

    RubyKaigi 2023にメドピアは今年も全力でブース出展します - メドピア開発者ブログ
    yatmsu
    yatmsu 2023/04/27
    現場猫コス
  • DHHはどのようにRailsのコントローラを書くのか | POSTD

    私たちの救世主DHH™は最近の Full Stack Radioのインタビュー で、 Basecamp の最新版で彼がどのようにRailsのコントローラを書いたかを説明しています。下記は、彼のすばらしい話を書き取ったものです。 これまでに思うようになってきたのは、「RESTの原則に従うには、どのタイミングで新たなコントローラを作るべきかを一度決めたら、ほぼ異例なくその原則を遵守するべきだ」ということです。いつだってその方がうまくいくんです。自分の作ったコントローラの状態を悔やむのは決まって、作ったコントローラの数が少なすぎた時です。多くの処理を任せようとしすぎてしまうんです。 そこでBasecamp 3では、ある程度理にかなったサブリソースがあれば、毎回コントローラを分割していきます。フィルタなどの場合ですね。例えば画面があって、それがある状態になっているとします。もしこれにいくつかのフィ

    DHHはどのようにRailsのコントローラを書くのか | POSTD
    yatmsu
    yatmsu 2023/04/18
    これブクマしてなかったとは。なつかしのブクマ。
  • 令和にふりかえる C10K 問題

    C10K 問題 (the C10K problem) は1999年に Dan Kegel が発表した文章、ならびにそこで提示された「問題」です。文章はその後も2000年代前半に何度か更新されているのですが、さすがに令和に読み返すと、当初の問題意識がわかりにくいところがあります。 2000年からの10年は、 ソフトウェア面では、select(2), poll(2) にかわる新しいシステムコールの実装と、それを使ったアプリケーションの普及 ハードウェア面では、x86 アーキテクチャの64ビット移行、仮想化命令の追加と、マルチコア化 さらにそこにクラウドも登場する、面白い時代でした。ここでは、それらの出来事を中心に、さらに、当時の雰囲気をつたえるような日国内のブログやインタビュー記事をまとめることで、C10K 問題が、さまざまな側面から解決されていく流れを説明したいと思います。 書き足したいと

  • Webサーバーアーキテクチャ進化論2023

    はじめに 最近プログラマーとしてのキャリアに一区切りつけようと思っており、これまでのプログラミングの勉強の集大成となるブログを書きたくなったので書く。初めてプログラミングをして、フロントエンド開発をして、サーバーから値が返ってきたときは「どういう仕組みで値が返ってきたんだ?」と疑問に思っていた。ずっと理解したくて理解できていなかった。だからずっと勉強していた。そして最近になってようやく自分の言葉で説明できるようになった気がしたのでブログを書きたい。 2015 年版が自分の原点であり、この記事を書くモチベーションになった このような記事は実は過去に存在している。 FYI: https://blog.yuuk.io/entry/2015-webserver-architecture その記事はサーバーがどういう仕組みで動いていて、どのように進化し、2015 年に至るかを解説してくれた記事だ。自

    Webサーバーアーキテクチャ進化論2023
    yatmsu
    yatmsu 2023/04/04
    俺の好きな歴史系