Fohteのブックマーク (819)

  • RubyKaigi 2024 で LT 登壇した 兼 参加記 | fohte.net

    Fohte です。 所属企業のウォンテッドリー株式会社に参加を支援いただき、RubyKaigi 2024 に参加しました。RubyKaigi には仙台で開催された RubyKaigi 2018 が初参加で 1、今回が 6 年ぶり 2 度目の参加となります。前回は一般参加でしたが、今回はなんと LT proposal が通り、LT 登壇もしました。 LT 編 今回は "The Journey of rubocop-daemon into RuboCop" というタイトルで登壇しました。自分の作成した rubocop-daemon gem が生まれた背景から RuboCop 体に取り込まれるまでの過程と、その過程で感じた OSS 開発の良さと大変さを話しました。 SpeakerDeck 地域 rb で同様の LT をしていて、それらをストーリー仕立てにしてエモい感じに (?) しました。 R

    RubyKaigi 2024 で LT 登壇した 兼 参加記 | fohte.net
    Fohte
    Fohte 2024/05/23
    書きました
  • rubocop-daemon 裏話: OSS の苦悩

    「Omotesando.rb #95」で発表した LT スライドです。 https://omotesandorb.connpass.com/event/311351/

    rubocop-daemon 裏話: OSS の苦悩
    Fohte
    Fohte 2024/03/07
    登壇しました
  • ウォンテッドリーのバックエンド領域を支える言語の歴史を読み解く | Wantedly Engineer Blog

    こんにちは、ウォンテッドリー株式会社でインフラエンジニアをやっている @fohte です。 筆者はウォンテッドリーに join して 1 年が経過しようとしており、ようやくウォンテッドリーが採用しているアーキテクチャについて全貌が掴めてきました。そこで改めてウォンテッドリーの技術スタックを考え直してみると、ウォンテッドリーのバックエンド領域において利用している言語はなぜ採用されているのかが気になりました。今回はそれを読み解くべく、過去から現在までに利用されている言語の比率から、その背景と歴史を追っていきます。 ウォンテッドリーで採用している言語とアーキテクチャの歴史まずはじめに、ウォンテッドリーでは下図の技術およびアーキテクチャを選定しています。 (参考: 技術とアーキテクチャ - Wantedly Engineering Handbook) 記事では、この図での "The System

    ウォンテッドリーのバックエンド領域を支える言語の歴史を読み解く | Wantedly Engineer Blog
    Fohte
    Fohte 2024/02/13
    書きました
  • 新しいRubyパーサーPrism利用時の開発体験の変化

    この記事で扱っていること 記事ではRuby 3.3で導入されたPrismという新しいパーサーについて扱っています Prismが持つ「パース時に問題が発生した場合でも可能な限り意味のある結果を返却する」という機能に着目して下記について話します Rubyを記述する際の開発者体験がどれくらい向上しているのか? 「可能な限り意味のある結果」をどうやって組み立てているのか? 最後に主テーマから外れますが、Prismの動かし方についても話しています はじめに こんにちはウォンテッドリーで推薦基盤の改善をやっているnasaです 去年の12/25にもRubyの最新バージョンがサンタさんから届きました。https://www.ruby-lang.org/ja/news/2023/12/25/ruby-3-3-0-released/ 最新バージョンのRuby 3.3.0ではPrismという新しいパーサーが導

    新しいRubyパーサーPrism利用時の開発体験の変化
    Fohte
    Fohte 2024/01/26
    > パース時に問題が発生した場合でも可能な限り意味のある結果を返却する なるほど便利だ
  • 新卒エンジニアが仕事に没頭したら DevOps チームが誕生しました【ウォンテッドリー 23卒入社エントリ】 | Wantedly Engineer Blog

    こんにちは!ウォンテッドリー株式会社の市古 (@igsr5_) と申します。 私は2023年4月にウォンテッドリーに新卒エンジニアとして入社し、もうすぐ1年が経ちます。 ウォンテッドリーは究極の適材適所により、シゴトでココロオドルひとをふやしたい会社です。 そして世界で最も「シゴトでココロオドル」を体現している会社でもあります。 記事では新卒1年目のエンジニアが「どんな仕事に没頭したのか」を振り返ります。 現在転職を考えているエンジニアや学生エンジニアの方の参考になれば幸いです。 目次自己紹介ウォンテッドリーに入社を決めた理由どんな仕事に没頭したのか新卒2年目に没頭したいことタイトルにある DevOps チームの話は『どんな仕事に没頭したのか』の最後の章で言及しています。気になる方はスクロールしてください。 自己紹介市古 空 (いちご そら) と言います。先月 21 歳になりました。 市

    新卒エンジニアが仕事に没頭したら DevOps チームが誕生しました【ウォンテッドリー 23卒入社エントリ】 | Wantedly Engineer Blog
    Fohte
    Fohte 2024/01/25
  • 1人1人が小さなアーキテクトになる組織を目指す | Wantedly Engineer Blog

    こんにちは!ウォンテッドリーでバックエンド領域のエンジニアリングマネージャーをしている鴛海です。 この記事ではウォンテッドリーのバックエンド組織がどのような課題を解決してきて、現在どのような課題が存在しているのか、どのようなバックエンド組織を目指しているのかを紹介します。 ウォンテッドリーはプロダクトを大きく変化させる時期に入っています。チームとしても個人としても大きな挑戦ができる環境にあるので興味を持ってもらえると幸いです! 前提: ウォンテッドリーのプロダクトこれまでの取り組みと現在の課題を紹介する前に前提となるプロダクトについてご紹介します。 ウォンテッドリーでは「究極の適材適所により、シゴトでココロオドルひとをふやす」をミッションとして仕事に関するサービスを展開しています。ココロオドルシゴトを見つけてその環境で活躍するまでを “Recruitment Marketing”、 “Re

    1人1人が小さなアーキテクトになる組織を目指す | Wantedly Engineer Blog
    Fohte
    Fohte 2024/01/25
  • OpenSearch の導入による検索システム改善のための認証・認可設計と負荷検証結果 - シンクロ・フード エンジニアブログ

    SRE チームの @fohte です。普段は音楽ゲームを嗜んでいます。 シンクロ・フードでは、弊社が提供する求人飲店ドットコムの求人検索にて、MySQL から OpenSearch を使った全文検索に切り替えました。 記事では、その OpenSearch を導入する上で障壁となったことや、それらの解決策について紹介します。 なお、記事では、インフラ面で課題となった以下のテーマについて扱います。 認証・認可の設計 負荷検証によるスペックや設定の検討 アプリケーション面での MySQL と OpenSearch のデータ同期や検索の工夫については、以下の記事をご覧ください。 tech.synchro-food.co.jp OpenSearch とは OpenSearch は、オープンソースの全文検索エンジンで、Elasticsearch からフォークしたものです。 MySQL をはじめと

    OpenSearch の導入による検索システム改善のための認証・認可設計と負荷検証結果 - シンクロ・フード エンジニアブログ
    Fohte
    Fohte 2023/03/08
    書きました
  • ECS×Fargateで実現する運用コストほぼ0なコンテナ運用の仕組み/ ecs fargate low cost operation

    AWS DevDay Online Japan 2020 の登壇資料です

    ECS×Fargateで実現する運用コストほぼ0なコンテナ運用の仕組み/ ecs fargate low cost operation
    Fohte
    Fohte 2020/10/21
  • ID生成方法についてあれこれ

    ID生成について聞かれることが多いので、独自の観点でまとめてみます。タイトルは適当です…。 DBMySQL(InnoDB)を想定しています。あしからず。 ID生成を知りたいなら ID生成に関しては以下の記事がよくまとまっているので参考にしてみてください。値形式など詳しく書かれています。 ID生成大全 Facebook, Twitter, Instagram等がどうやってIDを生成しているのか まとめ ID生成方法 以下のID生成方法は、お手軽に採用しやすいもの順で列挙します。 DB採番/連番型 AUTO_INCREMENT DBのAUTO_INCREMENTで採番する方法。 Pros 数値型で扱える 普通は64ビットの整数型を採用することが多い 単調増加する連番ですので、ソート可能でかつインデックスの空間効率がよい 単調増加するので、キャパシティを予測しやすい 64ビットあればあまり気に

    ID生成方法についてあれこれ
    Fohte
    Fohte 2020/10/13
  • MatzにrejectされたES6風HashリテラルをこっそりRubyで使う

    ES6風Hashリテラルとは ここで言う「ES6風Hashリテラル」というのは、ES6(ES2015)でobject property shorthandとして導入された省略記法です。 最近のJavaScriptを使っている人なら見慣れた記法ですね。Rubyでもこういう風に書けると便利そう、と思う人はもちろんいるわけで、この記法を取り入れるべく過去にもbugs.ruby-lang.orgで提案がありました。が、残念ながら今のところrejectされたままです。 Feature #11105 ES6-like hash literals https://bugs.ruby-lang.org/issues/11105 Feature #15236 add support for hash shorthand https://bugs.ruby-lang.org/issues/15236 似た記法

    MatzにrejectされたES6風HashリテラルをこっそりRubyで使う
    Fohte
    Fohte 2020/10/12
    おー Ruby Next 面白そうだな
  • blitz-js prisma rails 倒し方

    この記事の内容 blitz-js が生まれた背景 prisma の紹介 blitz で簡単なブログを作ってみる blitz を vercel にデプロイしてみる tldr blitz-js は next.js + prisma で rails を再現しようとしているフレームワーク Prisma ORM それ自体が良い。blitz の理解のためにも、まず Prisma を学べ blitz-js 自体はまだ α 品質だけど、今から注目しておく価値はある。デファクトになるかは不明。思想は継承されそう。 はじめに next.js はとても良いフレームワークだが、永続層を持たない。なのでフロントエンドとフロントサーバーに閉じている。 永続層、つまり DB を持たないので、初学者や流行りのプログラミングスクールの教材に選ばれない。また、JavaScript の学習資料が散らばっている。 要は Rail

    blitz-js prisma rails 倒し方
    Fohte
    Fohte 2020/09/29
  • Firebase Authentication のパフォーマンスを計測してみた - odan blog

    概要 Firebase Authentication はユーザー認証に関するサービスです。様々な認証方式をサポートしており、活用することで認証に関する実装を大きくサボることが可能になるものです。 一方で、パフォーマンスには難点があることが知られており、firebase auth 遅い - Twitter 検索 / Twitter を見ると、いくつかの人が遅さについて言及しています。 そこで、パフォーマンスについて測定したので、その結果をまとめます。 環境 実験を行った環境は以下の通りです。ネットワークによる影響を調べるために、2 つのリージョンで実験を行いました。 NodeJS v14.12.0 firebase 7.21.1 firebase-admin 9.2.0 EC2 インスタンス t2.micro リージョン ap-northeast-1/us-east-1 コード odan-s

    Fohte
    Fohte 2020/09/28
  • マンション光回線の配線方式のお話 - notokenの覚書

    これは マンション光配線の方式別になぜ速度が出ないのか?を解説する資料 配線方式によって天地の差が出るマンションタイプの回線を、できる限り快適に利用したい人向けの情報 付随情報として、J:COMとかのCATVの話や、UCOM光とかBB4Uとかのマンション共有インターネットの話も載せておく (注意) 一部例外はあります。例外につきましては、「そういうこともある」だと思って下さい。 想定すべき前提知識 フレッツ光やauひかりの分岐数は方式に関わらず 1収容 あたり 最大で 32 回線 となる 光配線方式はGE-PONの仕様上、どの事業者でも最大分岐数は32分岐となる NUROの採用するG-PONは規格上の最大分岐数は64~254となっているが、実際の運用は資料がないのでわかりません NTT の シェアドアクセスを利用している以上、8以上、8の倍数(8, 16, 24, 32, .... )分岐

    マンション光回線の配線方式のお話 - notokenの覚書
    Fohte
    Fohte 2020/09/24
  • コンテナランタイムの仕組みと、Firecracker、gVisor、Unikernelが注目されている理由。 Container Runtime Meetup #2

    Docker MeetupとかCloud Native Daysの運営をしながら、無限にスケールするインフラはないかなって、日々もやもやと考えています。 さっそく題に入っていきましょう。 コンテナってそもそも何ですかっていうと、まず「chroot」というLinuxの機能があって、これはrootディレクトリを特定のディレクトリに切り替えて、そこから下を別のファイルシステムとして確立する、といった技術です。 そこに対して「namespace」という機能で、ユーザー、プロセス、ネットワークを個別に割り当てて、さらにリソースにも制限をかけると、まるでVM(仮想マシン)のように動いて面白いね、というのがコンテナですよ、という説明はよくされると思います。 これを図にしました。 まず、対象のディレクトリに対して「pivot_root」という機能を使ってファイルシステムのルートを作ります。 そのうえで「

    コンテナランタイムの仕組みと、Firecracker、gVisor、Unikernelが注目されている理由。 Container Runtime Meetup #2
    Fohte
    Fohte 2020/09/15
    わかりやすい
  • また make の話してる(2020年9月14日) - なにもわからない

    私の大好きな Makefile の話が盛り上がっていたのでまとめました。 「やめてね。」って方はお声がけください。 同じ会社にいるけど、真逆の感想を持っている。Makefile読まないと副作用が分からないし、Rakefile/package.jsonだけで済むのに無駄に1つレイヤ増えていて、Makefileできたときからいる人は楽だけど、途中から入った人にとっては学習コストが高い。 https://t.co/EXtmI3xl72— 神速 (@sinsoku_listy) 2020年9月13日 golangでMakefileを使うのは分かる。 ただ、RubyやNode.jsのリポジトリなら $ git clone xxx $ cd xxx $ bundle install && rake もしくは npm install && npm test で環境構築ができることを期待する。— 神速 (

    また make の話してる(2020年9月14日) - なにもわからない
    Fohte
    Fohte 2020/09/15
    make 否定派の意見も容認派の意見もよく分かるので頭が痛い
  • Lispはなぜ覇権を握らなかったのでしょうか?

    回答 (9件中の1件目) 広く普及しているとは言い難いですが、今でも新しい製品に採用されることはあります。 数年前、私はあるiOSとAndroid向けのゲーム開発に携わっていました。中でもAIの出来が面白さに大きな影響を与える種類のものでした。 プログラマーの同僚が1人、Lispに大変に強い思い入れがあり、そのAIは同僚の作ったLispインタプリタで動作しています。構文解析が簡単で、ゲームデザイナーのあーしたい、こーしたいの要望にもインタプリタの拡張で対応できる柔軟さがありました。 また別の同僚は、Lisp方言のClojureでゲーム開発の効率を高める特別なコンパイラを書いていまし...

    Lispはなぜ覇権を握らなかったのでしょうか?
    Fohte
    Fohte 2020/09/04
  • Introducing GitHub Container Registry

    ProductIntroducing GitHub Container RegistryGitHub Container Registry introduces easy sharing across organizations, fine-grained permissions, and free, anonymous access for public container images Since releasing GitHub Packages last year, hundreds of millions of packages have been downloaded from GitHub, with Docker as the second most popular ecosystem in Packages behind npm. Our users are leanin

    Introducing GitHub Container Registry
    Fohte
    Fohte 2020/09/02
  • 「実用的でないPythonプログラミング」がよかった - Stimulator

    はじめに 2020/8/12に発売されたImpractical Python Projects: Playful Programming Activities to Make You Smarterの日語訳書である、「実用的でないPythonプログラミング」をひょんな事から献していただく事になった。(訳者が同僚である) 実用的でないPythonプログラミング: 楽しくコードを書いて賢くなろう! 作者:ヴォーン,リー発売日: 2020/08/12メディア: 単行 ありがちなプログラミング初学者向けのから1段上がった中級者向けの良いだと感じたので、当ブログでたまにやっている筆者、訳者に媚びを売るシリーズの一貫として、感想を記す。 書籍の概要 「実用的でないPythonプログラミング」は、想定する中級レベルのアルゴリズムの問題を例に取り、Pythonでの美しいコードの書き方や、コンピュ

    「実用的でないPythonプログラミング」がよかった - Stimulator
    Fohte
    Fohte 2020/08/31
  • Netlifyが日本からだと遅い - id:anatooのブログ

    仕事Netlify にデプロイしたSPAの読み込みが遅いので原因を調査してほしい、という依頼を受けてウェブパフォーマンス調査を行った。顧客から許可をもらって、この記事ではNetlifyに対してどういう調査をしたのかを書く。 結論だけをまず書くと、NetlifyのCDNのファイル配信パフォーマンスは日国内からだと非常に悪い。パフォーマンスを改善させるためには、Netlifyに直接アクセスさせるのではなく、前段に他のCDNやキャッシュサーバを挟んだりするほうがいいだろう。 調査の前提 日国内からのみの調査 サイトには静的なファイルをデプロイしているのみ 該当するNetlifyにデプロイしたSPAをブラウザで試しに開いてみると、確かに初回の読み込みのパフォーマンスがめちゃくちゃ悪い。 Chrome Devtoolsを開いてネットワークタブでどういうふうにリソースの読み込みを行っているのか

    Netlifyが日本からだと遅い - id:anatooのブログ
    Fohte
    Fohte 2020/08/03
  • 日記をリアルタイムに書くというソリューション - 本しゃぶり

    なぜ人は日記が続かないのか。 それはリアルタイムに書いていないからである。 言葉を頭の中に思い浮かべた時には、その場で記録を終わらせろ。 リアルタイム日記が続いている プライベート用にリアルタイムで日記を書くようになって2ヶ月が経過した。これがなかなか良い。 もともと日記と呼べるものは以前から書いていた。1日の終りに今日やったことを5つ書き、それに5段階評価をつけるという手法だ。これは2011年4月頃から始めたので、9年以上続いている。 しかし1日5行では内容があまりにも貧弱だ。何か書きたいことがある日は追加で書くこともあるが、大半は5行書いて終わり。天文学者のクリフォード・ストールは、著書『カッコウはコンピュータに卵を産む』で「文章のないところに現象はない」と述べた。俺の1日は5行分しかないのか。 そう思いつつも日々5行で済ませていたのだが、2,3ヶ月前、似たような話を複数のソースで聞い

    日記をリアルタイムに書くというソリューション - 本しゃぶり
    Fohte
    Fohte 2020/08/03