えにしテック15周年記念カンファレンスの発表資料です。 https://enishi-tech-15th-anniv-conf.peatix.com/ 資料中で参照しているURLは以下です: https://github.com/rails/rails/milestone/87 https:…
When we introduced a default setup for system tests in Rails 5.1 back in 2016, I had high hopes. In theory, system tests, which drive a headless browser through your actual interface, offer greater confidence that the entire machine is working as it ought. And because it runs in a black-box fashion, it should be more resilient to implementation changes. But I'm sad to report that I have not found
結論 個人で開発していたWEBサービスをOSSとして公開しました。 この背景や技術環境について書いていきます。 すべてのソースコードをGitHubに公開しています。 スターやレビューをしてくださると嬉しいです! 公開したサービス: 上場企業ランキング 先日、オープンソースでWEBサービスを公開しました。 「上場企業ランキング」というサービスです。 その名の通り日本の上場企業を業界ごとに「給与」や「売上」順で閲覧することができるサービスです。 URL: https://company-ranking.net/ GitHub: https://github.com/yuki0920/company-ranking 私は2度の転職活動経験がありますが、企業を選ぶ際に知っておきたいことはいくつもありますよね。 「給与はどのくらいだろう」 「売上や利益はどの程度なのかな」 こういった情報は、求人ペー
「1999年か2000年頃、私は37signalsというWebデザイン企業を経営していました。2人のビジネスパートナーとWebデザインを受注していたのです」(Fried氏) Fried氏は本業とは別に再度プロジェクトとしてオンライン書籍データベースの開発に取り組んでいました。開発はPHPで行っていたものの、Fried氏はプログラミングでつまづきます。 当時はまだStackOverflowのような技術的な質問に答えてくれる掲示板などなかった時代。Fried氏はブログに「誰かこの問題を解決する方法をご存じですか?」と書き込みます。 するとデンマークからメールが届きます。メールを書いてきたのがDHH氏でした。 「私は(37signals社の)Signal vs. Noiseというブログを以前から熱心にフォローしていました」とDHH氏。 「ブログで彼の質問を見て、私は『おお、この答えを知っているぞ
こんにちは、遠藤(@mametter)です。RubyKaigi Takeout 2020お疲れさまでした。 現在クックパッドには、フルタイムでRubyの開発をしている人が2人います(笹田と遠藤)。 それぞれ、Ruby 3の目標である並列性と静的解析の実現をメインミッションに据えて活動していますが、実はそれ以外にもRubyの開発を支えるための活動をいろいろやっています。 今回は、遠藤が関わっている範囲で、「Ruby開発者会議を支える技術」「Ruby開発のリモート議論を支える技術」「Rubyの品質を支える技術」についてざっと紹介してみます。 1. Ruby開発者会議を支える技術 Rubyに対する機能提案などの議論は、原則として、バグトラッカ上で行われます。 しかし、設計者であり最終決定権を持つmatzの多忙などの理由で、それだけでは議論が停滞してしまうのも事実です。 そこでRubyでは、開発促
新型コロナウイルスの影響で多くの学校が休校する状況を受け,『WEB+DB PRESS』で笹田耕一氏が執筆しており,現在も連載中の「Rubyのウラガワ」の第1回から第5回までの記事のPDFを,学習用に期間限定で無償公開します。 記事の概要やダウンロード先などは以下のとおりです。 記事名 Rubyのウラガワ ── Rubyインタプリタに学ぶデータ構造とアルゴリズム 記事概要 本連載では,Rubyインタプリタという,実際に多くの人が利用しているアプリケーションを題材にしてデータ構造とアルゴリズムを学ぼうという趣旨で,その実装を紹介します。単なる実装の紹介だけではなく,なぜそのような選択をしているか,その背景を紹介できればと思っています。(Vol.110「連載のはじめに」より) 公開範囲 Vol.110(第1回)~Vol.114(第5回) 公開期限 2020年4月5日まで ※期限が過ぎまし
docker composeではserviceごとにprofilesという属性を指定できて、起動時にこれを指定することで関連する一連のserviceだけを起動させられる。 どういうシーンで使えるのか。例えばとあるRailsアプリでは、一部の開発者はMySQLやRedisなどのデータストアだけdocker composeで起動して開発し、他の開発者は加えてRubyもdocker composeで起動して開発している。osxfsが遅すぎて、ファイルへの読み書きが頻発する処理がmacOSのDockerでは使い物にならないからだが、この話は今回どうでもいい。さてこのとき、データストア用のserviceに適当な名前のprofileを割り当てておくことで、個々のserviceの名前を逐一指定しなくても起動でき、将来の変更にも強くなって嬉しい。 # profile導入前 docker compose u
Read this article in English. はじめに 見つけやすく、インストールしやすいソフトウェアパッケージは、開発者にとって使いやすいです。React、Ruby on Rails、Airflow のような有名な OSS は良い事例です。しかし、社内の非公開のコードは、企業秘密として世間から隠されることが多いです。権限を持っている人のみ見ることができて、オープンソースのように npm gem や pip で簡単にインストールすることもできません。 その結果、社内のコードがうまく再利用されなくなる(あるいはできなくなる)ことがあります。各チームはそれぞれ独立したコードベースを持ち、他のチームにコードを共有したくても、満足がいく解決策を導き出すことが難しかったりします。戦略を立てないままでは、それぞれの独立したコードベースを充実させ続け「社内共通のライブラリー」が遠い夢のよう
主にバックエンドのエンジニアとしてクックパッドマートの開発に携わっている塩出( @solt9029 )です。 美味しい食材をユーザにお届けするサービスであるクックパッドマートでは、日々街の販売店や地域の生産者が商品の登録を行っています。 商品を登録する際、販売者は消費期限をはじめとする様々な品質保証の情報を正確に入力する必要があります。 しかし、商品の種類や状態に応じて記載するべき品質保証の情報は異なるため、全項目が羅列されるフォームでは正確な入力が困難であり、販売者および商品の審査を行う社内の運用メンバに対して大きな負担をかけていました。 そこで、 JSON Schema を利用して複雑なフォームの出し分けを自動で制御し、またバックエンド側でのバリデーションも行うことが出来る仕組みを導入しました。 その結果、商品の種類や状態を選択するだけで、適切な品質保証の情報が自動的に入力され、必要な
目次 目次 概要 本題 私がこの本を購入した理由 数ある言語処理系の技術書でも恐らく最も初歩的 Goは現在恐らく最も可読性が高い言語 何故オススメ? プログラミングの本質が見えるから 単純にコード量が多いのでやってて楽しい テスト駆動開発 読者の為に残された多くの課題 総評 おまけ 概要 ※注意 Go言語でつくるインタプリタ 作者: Thorsten Ball,設樂洋爾出版社/メーカー: オライリージャパン発売日: 2018/06/16メディア: 単行本(ソフトカバー)この商品を含むブログを見る こちらの本を読み終わりました(付録以外)。 言語処理系に興味を持った衝動で買った本ではありましたが、 今まで読んだ本でもトップレベルで完成度の高いものだったので、 ここで紹介しておきたいと思います。 簡単に良いところをまとめておくと、 プログラミングの抽象的な概念をより深く学べる これは言語処理系
この記事は 「JavaScriptの勉強してたらみんなNode.jsの存在を前提に話が進む。でもNode.jsってWebサーバじゃないの? なんでインストールしなきゃいけないの? なんでみんな使ってるの?」 といった疑問を解消することを目的としています。 基礎:JavaScriptの特徴 まずはJavaScriptと他のプログラミング言語の違いを知っておく必要があるので解説します。 JavaScriptはChromeやFirefoxといった「ブラウザ上」で動作するプログラミング言語です。 対してPythonやRubyのような一般的なプログラミング言語は通常「パソコン上」で動作します。1 このことが生み出す違いは、OSの機能にアクセスできるかどうかです。 「OSの機能」とは例えばファイルの読み書きや、ネットワーク通信などの機能のことです。 パソコン上で動作するアプリケーション(Pythonや
4月3日、DevOps.comが掲載した「Ruby on Railsの復権」(The Ruby on Rails Resurgence)という記事によると、Ruby on Railsの人気が再燃しているという。 4月3日、DevOps.comが掲載した「Ruby on Railsの復権」(The Ruby on Rails Resurgence)]という記事によると、Ruby on Railsの人気が再燃しているという。 同記事では、海外の求人サイト「Hired.com」が発表したソフトウェアエンジニアの採用状況についてのレポートを引き合いに出し、Ruby on Railsがソフトウェアエンジニアリングの役割において最も需要があるスキルであることを示している。同レポートによれば、Ruby on Railsのスキルを持つエンジニアは、約1.64倍もの面接機会を得ている。 Ruby on Ra
こんにちは。 メディアサービス開発部Webアプリケーション開発課のフサギコ(髙﨑)です。部署名が変わりました。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 本記事では、UTF-8環境下で動くRailsがShift_JISな外部APIと通信する方法についてお話しします。 前提知識 文字コード UTF-8環境下で動くRailsがShift_JISな外部システムと通信するには Shift_JISな外部APIに対してPOSTリクエストする べた書きとしては Railsにおいては Shift_JISで使用できない文字が混ざっていないかをバリデーションする Shift_JISな外部システムからPOSTリクエストを受ける おまけ: ユーザのブラウザにShift_JISでPOSTさせる
はじめに こんにちは、まつけんです。 早いもので、Webエンジニアになって、10ヶ月経とうとしています。 先月末、僕の職場に参画していたフリーランス歴20年の強強エンジニアCさんが卒業されました。(以降Cさんと称します) Cさんには、いつも迅速かつ丁寧なレビューをしていただいてました。 たまに補助で僕のプルリクにコミットを積んでもらうことなどもあり、お世話になった記憶が大半です。 今回はそんなCさんから受けたコードレビューから、今後どう改善していくのかアウトプットして学びを深めたいため、こちらの記事を書きました。 ペアプロしている時の参考になったこともおまけで書いてます。 ※こちらの記事に出てくるコードに関しては全てRubyです。実務で学んだことなので、出てくるコードは全てフィクションです。(実際のサービスのコードではないです) レビュー1: migrationファイルを追加する時「db:
技育祭は「技術者を育てる」ことを目的としたエンジニアを目指す学生のための日本最大のオンラインカンファレンスです。「技育祭2023【春】」に登壇したのは、Ruby開発者のまつもとゆきひろ氏。プログラミングの体験の中で実感した、ことわざや格言について話しました。全4回。1回目は、「名前重要」について。 日本人プログラマーで最も有名なRubyの生みの親 まつもとゆきひろ氏:ご紹介に与りました、まつもとゆきひろです。裏番組もおもしろそうなんですけれども(笑)、こちらに来ていただいてありがとうございます。何人ぐらい来てくれているのかな? まぁいいや。 今日はですね、「プログラミングのことわざ〜Rubyの父が語る教訓と知恵〜」というタイトルでお話しします。 まつもとゆきひろです。こんな感じのアイコンで活動していますけれども、Rubyを作った人として知られています。インターネットではひらがなです。ちょっ
(自分はRailsを書くことが多く、フロントエンドの経験は乏しいです。見方にだいぶ偏りがあると思いますので、そのあたり差し引いてお読みいただければと思います〜🙇♂️) こんにちは〜。Hotwireを仕事で使う機会があったので、実際に使ってみて感じた、良かった点、辛かった点、向いているケース、向いていないケースを共有します〜。 Hotwireとは? Turbo Driveとは? Turbo Framesとは? Turbo Streamsとは? Stimulusとは? Hotwireのデモ 良かった点 サーバーサイドに集中できる Railsの資産をフルに活かせる 後付けで段階的にSPA風の挙動を追加できる 学習コストが低い 開発コストが低い WebSocketは必須ではない 辛かった点・辛くなりそうな点 DOM更新時にレスポンスを待たないといけない SPAのユーザー体験とはだいぶ違う He
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: How to Create a CRUD App with Rails and React · James Hibbard 原文公開日: 2022/04/01 原著者: James Hibbard 日本語タイトルは内容に即したものにしました。 React logo is licensed under Creative Commons — Attribution 4.0 International — CC BY 4.0. ほとんどのWebアプリケーションでは、何らかの形式でデータを永続化する必要があります。これは、サーバーサイド言語で作業する場合はシンプルにやれるのが普通です。しかし、そこにフロントエンドのJavaScriptフレームワークも加わってくると、少しややこしくなり始めます。 本チュートリアルでは、Ruby on Rai
Ruby 開発チームに4週間インターン生として参加いたしました、永山 (GitHub: NagayamaRyoga) です。 私は「Ruby中間表現のバイナリ出力の改善」という課題に取り組み、Railsアプリケーションのコンパイルキャッシュのサイズを70%以上削減することに成功しました。以下ではこの課題の概要とその成果について述べたいと思います。 InstructionSequenceの概要 まず、RubyVM 内で実行される命令の中間表現、InstructionSequence (以下 ISeq と省略) について簡単に説明します。 通常の Ruby プログラムは、以下のような手順で実行されます。 ソースコードを構文解析し、抽象構文木を作る。 抽象構文木をコンパイルして、ISeq を作る。 RubyVM (YARV) で ISeq を解釈し、実行する。 ISeq は、このように Ruby
新型コロナウイルスの感染拡大により、急激に需要が高まったMedTech分野。注目度が高まる中、医療機関と提携し、夜間往診と24時間対応可能なオンライン診療のプラットフォームを提供しているのがファストドクター株式会社です。代表かつ医師である菊池 亮さんと、共同代表を務める水野敬志さんがForbes JAPANの「日本の起業家ランキング2023」で1位を獲得したことでも話題を集めています。 患者数が増大した2022年7月の新型コロナ第7波では、リアルタイムで業務負荷が高まっているシステムの問題提起から開発、リリースまでを1カ月以内に完了させるなど、スタートアップならではのスピード感で開発に取り組んできました。 また2022年12月にはRuby on Rails中心の開発から、Vue.jsとNestJSを組み合わた新しい技術スタックを採用。加えてテック部門の組織再編も行いフロントエンドとバックエ
1. Rubyのパパ Matzさん 「Rubyは国内でしか使われてない」というデマに辟易してる。みんな使ってるGitHub、AirbnbはRubyだ(Rubyだけじゃないけど)。私が毎月のように海外に行って出会うRuby開発者は幻なのか。 — Yukihiro Matsumoto (@yukihiro_matz) October 10, 2018 日本人にして、プログラミング言語Rubyの開発者 Matzです。 GithubやAirbnbなど世界でも有数のサービスでRubyが使われており、それを日本人が開発しているのは、すごいことですね! 2. 小飼弾さん https://twitter.com/dankogai 日本のオープンソース開発者で、アルファブロガー。 彼のブログ 404 Blog Not Foundは界隈にはあまりにも有名です。 オン・ザ・エッヂ(後のライブドア)の元取締役とし
I’m kinda shocked. Windows actually got good for web developers. Between VSCode, WSL, and Intel’s latest desktop chips, I’ve been living with a PC for over a week that runs my programming tests faster than an M3 Max, ships with an excellent window manager out-the-box, and generally feels like a completely viable alternative to macOS for working with the web. Hell, not just viable, but better in ma
この記事は クラウドワークスアドベントカレンダー2019 12日目の記事です。 概要 こんにちは、怒り駆動リファクタリングを生業としている @MinoDriven です。 弊社リファクタリング専門チーム「バグハンター」で現在実施中のリファクタリング設計について紹介致します。 ドメイン駆動設計 を用い、Railsレガシーコードに対しViewとControllerを ActiveRecord非依存 に変更する設計です。 状況 弊社ブログの過去エントリにあるように、弊社サービスcrowdworks.jpはサービスインから8年経過し、 30万行 を超えるモノリシックRailsアプリになっています。 開発生産性が低下してきています 。 生産性低下の課題を解決しようにも、大規模な上に複雑かつ密結合な構造になっており、 マイクロサービスへの移行も、リプレイスも困難な制約 があります。 そこで半年前にリフ
2006年からほぼ毎年、日本で開催されているオブジェクト指向スクリプト言語Rubyに関するイベント「RubyKaigi」。 世界中のRubyistにとって“祭り”と言えるような一大イベントですが、この「RubyKaigi」が発足した経緯や、過去から現在までの歴史をみなさんはご存知でしょうか。 今回は「RubyKaigi」の創始メンバーのひとりである荻野淳也さんと、第1回の「RubyKaigi 2006」から運営に携わっている角谷信太郎さん、「RubyKaigi 2015」からチーフオーガナイザーを務めている松田明さんにインタビュー。イベントの歴史を語っていただきました。 「RubyKaigi」が産声をあげるまで ――そもそもの発端として「RubyKaigi」を立ち上げた経緯を教えてください。 荻野:過去から歴史をたどると、最初、「RubyConf」が2001年にアメリカで開催されたんですよ
ちょっとバイナリ配布したいツール↓があったので、Go言語と戯れました。 zenn.dev ほぼはじめてGoを使ったので、にわかほど語りたがる法則に従って、Go言語の感想を書きます。 新しい言語にふれたときは、できることには気づきにくく、できないことに気づきやすいので、不満が多めです。主な比較対象はRuby、C言語、JS/TS、Rustあたりです。 よかったところ ひとことで言えば「便利になったC言語」という感じでした。結構低レベルなAPIも揃っていてよかった(デーモン化が素直にできなかったこと以外)。 Rustと比べたらストレスフリーです。思った通りに書くだけでとりあえず動いてくれる。すばらしい。 見た目はあきらかに長くてダサいですが、こだわりを捨てて割り切って書けると言えなくもない。 配布しやすいシングルバイナリが作れるのはやはりよい。今回Goを選んだ理由がこれ。 細かいカプセル化がむず
この記事の内容 blitz-js が生まれた背景 prisma の紹介 blitz で簡単なブログを作ってみる blitz を vercel にデプロイしてみる tldr blitz-js は next.js + prisma で rails を再現しようとしているフレームワーク Prisma ORM それ自体が良い。blitz の理解のためにも、まず Prisma を学べ blitz-js 自体はまだ α 品質だけど、今から注目しておく価値はある。デファクトになるかは不明。思想は継承されそう。 はじめに next.js はとても良いフレームワークだが、永続層を持たない。なのでフロントエンドとフロントサーバーに閉じている。 永続層、つまり DB を持たないので、初学者や流行りのプログラミングスクールの教材に選ばれない。また、JavaScript の学習資料が散らばっている。 要は Rail
RubyがWebAssemblyのWASI対応へ前進。ブラウザでもサーバでもエッジでもどこでもWebAssembly版Rubyが動くように Ruby言語のリファレンス実装、すなわち事実上の標準となっているRubyインタプリタはC言語で実装されています。そのため、このRubyインタプリタもしくはそのソースコードは一般に「CRuby」(もしくは、まつもとゆきひろ氏による実装という意味でMRI:Matz' Ruby Implementation)と呼ばれています。 CRubyのソースコードをコンパイルすることで、Windows対応Rubyインタプリタのバイナリ形式やLinux対応Rubyインタプリタのバイナリ形式などが生成されるわけです。 今年、2022年1月7日、このCRubyのソースコードに対する要望チケット「Proposal to merge WASI based WebAssembly
こんにちは、弥生 Misoca チームでマークアップをする方のデザイナー @kanizmb です。 今回、約1年をかけて古の Bootstrap の撤去および CSS 設計手法の導入(FLOCSS 化)をやり遂げたので、これらの変更をどのように進めていったかについてお話しします。 どういった状況だったか Misoca ローンチは 2011年、当時最新であった Bootstrap 2.3.2 を用いて構築が始まりました。(*1) 当初は請求書の郵送に特化した非常にシンプルなサービスだったため、少しの上書きでスムーズに開発が進められ、Bootstrap のメリットを存分に生かせていたのだと思います。 しかし時は流れ、取引先管理、品目管理、外部サービスとの連携など、機能が増え続けるとどんどん綻びが出始めます。 設計方針もないままに野放図に差し込まれた CSS たちは、いつしか激しい詳細度バトルを
TL;DR 『環境変数を設定するだけでRuby on Railsサーバが10%高速化する(かもしれない)話』 でRailsを高速化させる素晴らしいハックが紹介されましたが。いまや有効なハックではなくなりました。 TZハックさん、ながい間(2日間)おつかれさまでした。 はじめに アカツキさまで技術顧問をさせていただいている小崎です。 このエントリは『環境変数を設定するだけでRuby on Railsサーバが10%高速化する(かもしれない)話』をRubyコミッタが読んだらこうなったというアンサーソングになっています。合わせてお読みください TZ環境変数でTime.newが10倍近く速くなるのは素晴らしい発見ですが、コミッタとしてはTZなしでも速くなって欲しいなと思いました。だってめんどうだし。 現状分析 まず問題のテストプログラムを軽く分析してみましょう % strace -c ruby .
CTO室SREの@sinsokuです。 Dockerイメージのビルドを高速化するため、試行錯誤して分かった知見などをまとめて紹介します。 AWSのインフラ構成 assetsもECSから配信し、CloudFrontで /assets と /packs をキャッシュする構成になっています。 Rails on ECS デプロイ時にassetsが404になる問題 以前の記事に詳細が書かれているため、ここでは問題の紹介だけしておきます。 Rails等のassetsファイルをハッシュ付きで生成し配信するWebアプリケーションの場合、ローリングアップデートを行うと、アップデート時に404エラーが確立で発生してしまいます。 引用: メドピアのECSデプロイ方法の変遷 Dockerfile 実際のDockerfileには業務上のコード、歴史的な残骸などが含まれていたので、綺麗なDockerfileを用意しま
Railsプロジェクトで、自分が好んで使っている便利な処理をまとめてみました。 core_ext編 sort_byは安定ソートではないので、with_indexを組み合わせて安定ソートを行う https://gist.github.com/alpaca-tc/ed793961f2db438abaae3c00b7e303fa RSpec編 partial viewでインスタンス変数を呼び出していないことをチェックするテスト https://gist.github.com/alpaca-tc/c19f00d583234a2c73eda6d8378b8c50 モデルが変更された際に、参照元・参照先の双方に関連が定義されていることをチェックするテスト https://gist.github.com/alpaca-tc/d53dee5977746256717c7522988b13d8 テーブルが変更
まえがき 本記事は、私がRailsConf 2019で話した「Terraforming legacy Rails applications」↑の、いわばB面に相当します。この記事を読んで、皆さんがアプリケーション開発をDockerに乗り換えるとまでは考えていません(皆さんが以下の動画で若干言及しているのをご覧になっていたとしても)。本記事の狙いは、私が現在のRailsプロジェクトで用いている設定を皆さんと共有することです。それらのRailsプロジェクトは、Evil Martiansのproduction development環境で生まれたものです。どうぞご自由にお使いください。 原文免責事項: 英語版記事は最新の推奨事項に合わせて更新を繰り返しています。詳しくは記事末尾のChangelogをご覧ください(参考: 原文Changelog)。 私がdevelopment環境でDockerを使
1. これはなに こんにちは、リファクタリング大好きなミノ駆動です。2023年7月より株式会社スタメンにジョインしました。 この記事は、今後スタメンにおいてサービスの技術的負債を解消する設計戦略についてまとめたものです。 2. 背景、課題 株式会社スタメンは2016年創業。主要サービスであるTUNAG(ツナグ)は、企業のエンゲージメントの構築、つまりお互いを知って理解し、信頼し合う組織を作るための社内コミュニケーションを活性化させるプロダクトです。TUNAGのバックエンドはRuby on Railsで開発され、ローンチから7年をむかえつつあります。 これまでTUNAGは、プロダクトをいかに伸ばすかに注力してきた一方、内部品質や開発効率など「開発者体験」に関する課題が後手に回っていました。本来プロダクトチームはユーザーにとっての本質的な価値にのみフォーカスできる状況が理想ですし、開発者体験が
プログラミングの学習を始めようとする人がする定番の質問がある。「どのプログラミング言語を選べばいいか」というものだ。 私はこのコラムで以前、JavaScriptからプログラミングを始めてはどうかと書いた。JavaScriptはWebブラウザーさえあれば動作するからだ。例えば「Chrome」であれば、F12キーを押して「Console」タブを選ぶだけで、JavaScriptの対話実行環境を利用できる。 関連記事: 保存していないクレジットカード情報が漏洩する謎、鍵はあのプログラミング言語 もっとも、JavaScriptは最初に学ぶ言語としては少し癖が強いとも感じている。どちらかというと、2番目か3番目に学ぶことで視野が広がるタイプの言語ではないだろうか。 私が初心者に勧めるとしたら候補は2つある。「Ruby」と「Python」だ。 私がRubyを勧める理由は、「プログラミングの楽しさ」を体験
福岡タワーとudzuraさん 近藤宇智朗(@udzura)さんはGMOペパボのシニアプリンシパルエンジニアとして技術を磨き、Rubyコミュニティに参加してきた経験も生かしながら、自走できるソフトウェアエンジニアを育成する「大名エンジニアカレッジ」を福岡で立ち上げました。そこで思わぬ苦戦に直面したことで、あらためて「ユーザーファースト」の大切さを認識したと語ります。それは図らずも、高校生のころ父親からかけられた言葉につながる経験でした。 転職活動をきっかけとしたユーザーファーストへの気付き エンジニア育成を目指した「大名エンジニアカレッジ」とは どんなよい目標もユーザーが成長しなければ意味がない なぜ福岡は「エンジニアらしく暮らせる街」なのか? 父の言葉から立ち返った「ユーザーファースト」の大切さ 転職活動をきっかけとしたユーザーファーストへの気付き ── 近藤さんは長く技術のスペシャリスト
こんにちは。 メディアサービス開発部バックエンド開発グループのフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 本記事では前記事のニコニコ漫画のインフラ構成についてに続いて、読書メーターのサービスインフラの概要について軽くご紹介したいと思います。 読書メーターについて 読書メーターは、2008年5月に開設された日本最大級の読書コミュニティサイトです。 単純な読書記録や感想投稿に留まらず、ユーザ間で交流ができること、出版各社さまからご提供いただき著者さまのサイン本や発売前に校閲校正をする際の仮刷りであるプルーフと呼ばれる段階の本が貰える献本プレゼント企画を行っていることも特徴的な点です。 読書メーターの構成 読書メーターは下記の6つのコンポーネントから構成
estie でソフトウェアエンジニアをしている徳永(@yTo_9)です。 estie では Ruby を書いたりTypeScriptを書いたりしています! estie 夏のブログ祭りにかこつけて、せっかくなら普段は追わない部分だけど、気になっていたYJITなるものを深掘りしてみようと思い、「YJITがなぜRailsアプリケーションの高速化を実現できたのか」を調べてみたので紹介したいと思います。 「どうせ難しいんでしょ?」と思いながら調べてみたのですが、講演や論文の説明がわかりやすく、意外に概要を把握することは難しくありませんでした。 YJIT の核となっているのは Lazy Basic Block Versioning (LBBV) という手法で、これはRubyだけに限らず動的言語全般に適用可能な強力なアプローチであることがわかりました。 「あるタイプの条件分岐は、ほとんどの場合で片側しか
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く