タグ

ブックマーク / techracho.bpsinc.jp (19)

  • Ruby: メモ化のイディオムが現代のRubyパフォーマンスに与える影響(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Performance impact of the memoization idiom on modern Ruby | Rails at Scale 原文公開日: 2024/02/14 原著者: Jean Boussier(byroot) Ruby 3.2における主要な内部変更のひとつに、オブジェクトシェイプ(object shape)の導入があります。 記事では、オブジェクトシェイプが導入された理由、仕組み、制限事項について解説します。 🔗 オブジェクトのインスタンス変数はどのように保存されるのか Rubyは非常に動的な言語なので、インスタンス変数へのアクセスという単純な操作でも多くの作業を伴います。 Rubyオブジェクトは、ほとんどの場合インスタンス変数を「参照の配列」に保存します。 たとえば、インスタンス変数を2個持つ

    Ruby: メモ化のイディオムが現代のRubyパフォーマンスに与える影響(翻訳)|TechRacho by BPS株式会社
    nabeatsu1
    nabeatsu1 2024/03/20
  • 素のRailsは十分に豊かである(翻訳)|TechRacho by BPS株式会社

    はじめに 「Railsは関心の分離が不十分である」という批判をよく目にします。状況が深刻になったら、Railsに足りない別のピースを導入しなければならないというのです。しかし私たちはそうは思いません。 「素のRails(vanilla Rails1)ではここまでしかできない」みたいな批判を耳にすることがよくあります。Railsはアーキテクチャレベルで関心の分離が不十分なのだから、アプリはいずれメンテナンス不能になり、足りないピースを導入するという別のアプローチが必要になるというのです。 代表的なDDD(ドメイン駆動開発)書籍では、概念上の4つの層である「プレゼンテーション層」「アプリケーション層」「ドメイン層」「インフラストラクチャ層」について議論しています。 アプリケーション層は、ドメイン層と協調動作してビジネスタスクを実装します。しかし、Railsが提供しているのは「コントローラ」と「

    素のRailsは十分に豊かである(翻訳)|TechRacho by BPS株式会社
    nabeatsu1
    nabeatsu1 2023/01/13
  • GitLabがRuby on Railsを使い続ける理由(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Why we're sticking with Ruby on Rails | GitLab2022/06/08にthenewstack.ioに掲載されました) 原文公開日: 2022/07/06 原著者: Sid Sijbrandij -- GitLab, Inc.の共同創業者、CEO、取締役会議長 Ruby on Railsを作ったときのDavid Heinemeier Hansson(DHH)が道しるべとしたのは、それまでに経験していたPHPJavaでした(インタビュー)。DHHにとって、JavaのWebフレームワークはJavaが冗長で柔軟性が低く使いにくい点が好みでなかったものの、構造的に統一されている点が高く評価できるものでした。一方、PHPについては敷居の低さが好みだったものの、プロジェクトが泥沼化しがちな点をあま

    GitLabがRuby on Railsを使い続ける理由(翻訳)|TechRacho by BPS株式会社
    nabeatsu1
    nabeatsu1 2022/07/09
  • 2024年のファビコンを極める: 本当に必要なファイルはほぼ6つ(翻訳)|TechRacho by BPS株式会社

    はじめに モダンブラウザで使われるファビコンの作り方を見直して、今こそアイコン生成であくせくするのを終わりにしましょう。昨今のフロントエンド開発者は、ブラウザタブやらタッチ画面やらにWebサイトの小さなロゴを表示する、ただそれだけのためだけに静的なPNGファイルを20個以上扱わなければなりません。よりスマートな方法で、現代のニーズに合う最小限のアイコンセットを使う方法を紹介します。 ファビコンは見かけよりもずっと幅広く奥深いトピックで、実は誰もがファビコンについてしっかり学びたいと思っていることもわかってきました。記事全体の内容を実質わずか2行のスニペットに凝縮したものも紹介していますので、今ファビコンで苦しんでいる方は(正確な使い方をご存知なら)そちらをお使いいただけますが、そこをぐっとこらえて記事を最後までお読みいただくことをおすすめいたします。 🔗 忙しい人向け: ウルトラショー

    2024年のファビコンを極める: 本当に必要なファイルはほぼ6つ(翻訳)|TechRacho by BPS株式会社
    nabeatsu1
    nabeatsu1 2021/06/25
  • Rails: AppSignalが採用する「シタデルアーキテクチャ」(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: The Citadel Architecture at AppSignal | AppSignal Blog 原文公開日: 2020/04/08 著者: Thijs Cadier サイト: AppSignal DHHが「シタデル(Citadel: 要塞、とりで)」という用語を命名しました。これは私たちAppSignalでアプローチしている技術を表すうってつけの用語となっています。「うちでやってるのはまさにこれだよ!ついに名前が付いた」と話題になったものです。 In addition to the Majestic Monolith, someone should write up the pattern of The Citadel: A single Majestic Monolith captures the majority

    Rails: AppSignalが採用する「シタデルアーキテクチャ」(翻訳)|TechRacho by BPS株式会社
    nabeatsu1
    nabeatsu1 2020/06/11
  • 【Flutter】アイコンにオリジナル画像を設定する方法|TechRacho by BPS株式会社

    こんにちは! BPSの福岡拠点として一緒にお仕事をさせていただいています、株式会社ウイングドアのウメバヤシです。 iOSやAndroidのアプリで下タブ(BottomNavigationBarやUITabBar)などを実装することはよくあるかと思います。 その際、アイコンをオリジナルの画像にすることも多いと思いますが、通常は端末ごとに適正サイズの画像ファイルを何サイズか組み込みます。 ただ、Flutterではちょっと違った方法で設定した方がスマートそうだったので、今回はその方法を紹介します。 画像ファイルを設定するだけじゃダメなの? iOSやAndroidネイティブだと端末の画素密度ごとに適正サイズの画像ファイルを設定すると思いますが、 FlutterではUIもコードで書いて作成していくので、アイコン画像をカスタムするときなども、 コード中に画像の表示サイズを数値で指定してあげないと、いい

    【Flutter】アイコンにオリジナル画像を設定する方法|TechRacho by BPS株式会社
    nabeatsu1
    nabeatsu1 2020/06/06
  • リモートワークをするためにやったこと|TechRacho by BPS株式会社

    緊急事態宣言が出てしばらく経ちますが、皆様いかがお過ごしでしょうか。 僕は会社で仕事するのが好きで自宅作業はあまり得意ではないのですが、そうも言っていられないのでここしばらくはフルリモートです。少しでも仕事を進めるために、ここ最近で行った対策を記録していこうと思います。 ノートPCを買った まずやったことは、サブとして使っているノートPCの新調です。当初部分リモートしながらビデオ会議も増えていたため、ノートPCは重要です。1年ほどSpectre x360 13を使っていたのですが、これをXPS 13 (9300)に買い替えました。 CPUが8565Uから1065G7になってメモリもDDR4 2400MHzからLPDDR4X 3733MHzに上がったものの、4Core CPU / 16GB RAM / 1TB SSD / UHDディスプレイという構成は同じため、あまり代わり映えしません。ただ

    リモートワークをするためにやったこと|TechRacho by BPS株式会社
    nabeatsu1
    nabeatsu1 2020/04/30
  • ペアプロを極めて最強の開発チームをつくる(1/4)ペアの組み方(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: On Pair Programming 原文公開日: 2020/01/15 著者: Birgitta Böckeler -- ドイツのThoughtWorks社で開発とコンサルティングを担当しています。カスタムソフトウェアチームのテックリードとして日々を「コーディングの日」「コーチングの日」「コンサルティングの日」「仕事を楽しく続ける日」に分けています。 著者: Nina Siessegger -- ドイツのハンブルグ出身の開発者/テックリード/コンサルタント。元ThoughtWorks。コーディングの楽しさ以外に、特にソフトウェア開発の人間的な側面にも強い関心を抱き、高品質ソフトウェアは「コミュニケーション」「共同作業」「信頼関係」を重んじるチームによって成し遂げられると強く信じています。 サイト: martinfowler.c

    ペアプロを極めて最強の開発チームをつくる(1/4)ペアの組み方(翻訳)|TechRacho by BPS株式会社
    nabeatsu1
    nabeatsu1 2020/03/26
  • 2019年前半の「JavaScriptをちゃんとやるための地図」(追記あり)|TechRacho by BPS株式会社

    こんにちは、hachi8833です。BPS社内勉強会の発表を元に、社内JavaScript勢の皆さまのお力を得て記事を書きました。 目的 JavaScriptをたまにしか使わない私ですが、それもあってなおさら書くときに迷いに迷います。 ネットの情報多すぎ、動き激しすぎ、選り分けるにしても指針が欲しい 古いコードや毒入りコードを拾ってあたりや、泥舟に乗って沈没するのを少しでも避けたい 最初の一歩をどこから踏み出すかの手がかりが欲しい そういったわけで、2019年前半と区切って、一度JavaScript世界について門外漢ならではの「大きな絵」が欲しかったのでした。ここに書いたことの中には来年には古くなっているものあるかもしれません。 ただ、社内のJS勢の話を総合すると、JavaScript世界は数年前に比べるとかなり落ち着きつつあるとのことです。この機会にということで、主に自分のために現在の

    2019年前半の「JavaScriptをちゃんとやるための地図」(追記あり)|TechRacho by BPS株式会社
    nabeatsu1
    nabeatsu1 2019/06/29
  • Bash: .bashrcと.bash_profileの違いを今度こそ理解する|TechRacho by BPS株式会社

    こんにちは、hachi8833です。社内Slackで見かけたmorimorihogeさんの以下の書き込みで目から鱗が落ちました。 ~/.bashrcで何かを出力してしまうと、rsyncなどのsshパイプで問題が生じることがあるそうです。 参考: 知らないとrsyncでもハマるシェル初期化 - Qiita これをきっかけに、できるかぎり一次情報を元になるべく一般的になるようにまとめてみました。 シェルスクリプト(.bashrcや.bash_profileなども含む)はあまりに自由に書けてしまい、LinuxディストリビューションやmacOSによって作法がまちまちだったりするので、外してはいけないポイントがどこかを知りたかったのでした。 対象はbashとsh(Bourne Shell)に限定します。また、デスクトップGUIの設定ファイルについては最小限にとどめます。 bashのmanページ 元記

    Bash: .bashrcと.bash_profileの違いを今度こそ理解する|TechRacho by BPS株式会社
    nabeatsu1
    nabeatsu1 2019/06/07
  • 月刊Railsウォッチサマリー: 2018/10(社内勉強会)|TechRacho by BPS株式会社

    こんにちは、hachi8833です。BPS Webチームリーダーのmorimorihogeさんが、BPS社内勉強会向けの試みとして、先月(2018年10月)の週刊Railsウォッチの中から、主にWeb系エンジニアの初心者〜中級者層を対象に、業務開発とのつながりが深いトピックをスライドにまとめていただきました。記事はその発表とスライドを元に作成いたしました。 普段の週刊Railsウォッチが拡散気味かつボリュームが多いので、業務開発にすぐ役立てたい方はどうぞ🙇。 スライド発表&コメント: morimorihoge 書き起こし&構成: hachi8833 morimorihogeコメント) Railsウォッチを毎週やっている中では、時によっては半分以上がマニアックな話題に終始してしまうことがあり、普段のWeb開発に直接役立つ知識を追いかけている人にとってはノイズに思えてしまう部分も多いと思い

    月刊Railsウォッチサマリー: 2018/10(社内勉強会)|TechRacho by BPS株式会社
    nabeatsu1
    nabeatsu1 2018/11/15
  • Rails: スコープはスコープを返すべき(翻訳)

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: A scope should return a scope - Andy Croll 原文公開日: 2018/10/14 著者: Andy Croll RailsアプリをコーディングしていてRailsというレールに乗っている期間が長くなればなるほど、アプリを楽にメンテできるようになり、つらさが軽減されます。 レールに乗るよい方法の1つは、標準のRails APIのパターンに沿って進めることです。そうやって進めるときに自分を導いてくれるパターンの1つが、よく使われるクエリをスコープ化することです。 次のように書くのではなく スコープ内でオブジェクトを1つ返すメソッドを書く。 class Message < ActiveRecord scope :sent, -> { where.not(sent_at: nil) } scope :

    Rails: スコープはスコープを返すべき(翻訳)
    nabeatsu1
    nabeatsu1 2018/11/14
  • Railsは2018年も現役か?: 前編(翻訳)|TechRacho by BPS株式会社

    次記事: Railsは2018年も現役か?: 中編(翻訳) 概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Is Rails still relevant in 2018 ? 原文公開日: 2018/08/16 著者: equivalent 記事は3分割しました。画像は元記事からの引用です。 Railsは2018年も現役か?(翻訳) Rubyから別の何かに乗り換えることを検討中のWeb開発者から、数日前にこんなメールを受け取りました。 まったく新規から始めるとしたら、バックエンドにRubyかElixirかJSのどれを選ぶ? このメールで他に重要と思われる部分は、現在の彼はもっぱら自分のサイドプロジェクトに関心を寄せていることと、主な懸念点は開発速度と開発のしやすさであるということです。 メールに返信を書き始めたのですが随分と長くなってしまったので、この際記事にすることにしました

    Railsは2018年も現役か?: 前編(翻訳)|TechRacho by BPS株式会社
    nabeatsu1
    nabeatsu1 2018/09/14
  • Railsのフロントエンドのノウハウ#2: JavaScript編(翻訳)|TechRacho by BPS株式会社

    前記事: Railsフロントエンドのノウハウ#1: システムテスト編(翻訳) 概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Rails Frontend Testing with JavaScript Insights - via @codeship | via @codeship 原文公開日: 2018/05/08 著者: Daniel P. Clark -- RubyRustを愛してやまないフリーランス開発者です。 サイト: https://6ftdan.com/ 記事を2に分割しました。日語タイトルは内容に即したものにしています。 RailsにおけるJavaScriptについての洞察 Rails開発者の多くは、JavaScriptがうまく動作しない場合の振る舞いについてなかなか把握できないことがあります。しかもRailsの場合、JavaScriptのいくつかの振

    Railsのフロントエンドのノウハウ#2: JavaScript編(翻訳)|TechRacho by BPS株式会社
  • Rails: DHHのYouTube動画を辛口レビュー「On Writing Software Well #2」(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: On Writing Software Well #2: Using callbacks to manage auxiliary complexity: A review - Ryan Bigg 原文公開日: 2018/03/26 著者: Ryan Bigg -- Ryan Bigg氏はRailsのcontributorであると同時にCulture Amp社のメンバーであり、RubyやElixirでの開発を行っています。RailsガイドのドキュメントやMultitenancy with Rails など多くの執筆実績があります。 お題の動画です↓。 DHHの最近の動画シリーズについて思うところがあるんじゃないのかと何人かの方に尋ねられました。他にも、この動画に対する批判的な意見がないのが残念という声もありました。そこで、DHHの2

    Rails: DHHのYouTube動画を辛口レビュー「On Writing Software Well #2」(翻訳)|TechRacho by BPS株式会社
  • Rails tips: コントローラでrescueする方法(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Learn how to rescue from errors in a Ruby on Rails controller(リンク先は移動しました) 原文公開日: 2018/02/14 著者: Paweł Dąbrowsk(リンク先は移動しました) 2018/04/23: 初版公開 2022/01/27: 更新 Railsのコントローラでエラーをrescueしなければならないことがあります。クエリをかけたがデータベースにレコードがない場合にraiseされるActiveRecord::RecordNotFound例外をrescueする必要が生じることがほとんどでしょう。 サンプルのコントローラを作りましょう。 class UsersController < ApplicationController def show @user =

    Rails tips: コントローラでrescueする方法(翻訳)|TechRacho by BPS株式会社
  • Service Objectがアンチパターンである理由とよりよい代替手段(翻訳)|TechRacho by BPS株式会社

    近年、RailsアプリにService Objectを追加するメリットを説く記事が次から次へと量産されています。私は記事において、それがなぜ正しくないかを述べたいと思う次第であります。もっとよい方法はあるのです。 私はこれまで、Service Objectに関するネット上の議論にときおり参加しては、問題に対するまっとうな解決方法としてService Objectが正しくない理由について繰り返し見解を述べてきました。実際、私は多くの場合においてService Objectよりもっとよい解決方法があると考えるのみならず、Service Objectはオブジェクト指向設計原則への配慮が損なわれている兆候を示すアンチパターンとして取り扱っています。 このような深遠なポイントを細切れのツイートやコメント欄を追って理解するのは大変です。そこで私は、私の見解を正確に表すいくつかの現実的なコードを詳しく

    Service Objectがアンチパターンである理由とよりよい代替手段(翻訳)|TechRacho by BPS株式会社
  • 週刊Railsウォッチ(20180302)Ruby 2.6.0-preview1とWebpack 4.0リリース、爆速検索APIサービスAlgolia、Clowneでモデルをクローンほか|TechRacho by BPS株式会社

    2018.03.02 週刊Railsウォッチ(20180302)Ruby 2.6.0-preview1とWebpack 4.0リリース、爆速検索APIサービスAlgolia、Clowneでモデルをクローンほか こんにちは、hachi8833です。Ruby生誕25周年おめでとうございます! "Rubyはプログラミング言語の「塊魂」"は名言。 Link: ruby25/dave_thomas.en.md at master · ruby-no-kai/ruby25 https://t.co/tH54tCTytN — Yukihiro Matzmotto (@yukihiro_matz) February 26, 2018 3月最初のウォッチ、いってみましょう。最近社内での記事つっつき会が盛り上がっていて嬉しい限りです。 Rails: 今週の改修 Rails 5.2はまだ動いています。「2月中に

    週刊Railsウォッチ(20180302)Ruby 2.6.0-preview1とWebpack 4.0リリース、爆速検索APIサービスAlgolia、Clowneでモデルをクローンほか|TechRacho by BPS株式会社
    nabeatsu1
    nabeatsu1 2018/03/05
    “rails routes --expanded” 嬉しい
  • Rails: テスティングアンチパターン --前編(翻訳)|TechRacho by BPS株式会社

    次記事: Rails: テスティングアンチパターン --後編(翻訳) 概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: RubyOnRails testing antipatterns — part 1/2 原文公開日: 2018/01/03 著者: Błażej Kosmowski 訳文見出しには番号とアンカーを追加しました。 テストスイートを準備していると、つい誘惑に負けて近道を選んでしまい、テストの可読性や理解しやすさはもちろん、実装を先に進めるための柔軟性までがっくり下がってしまうことがあったりします。記事では、よくある手法の中から、テストスイートを健全に保つうえで避けるべきものをリストアップしてみたいと思います。文中の例の多くは、問題に焦点を当てるためにかなり簡素化してありますのでご了承ください。 アンチパターン01: privateメソッドをテストする priva

    Rails: テスティングアンチパターン --前編(翻訳)|TechRacho by BPS株式会社
  • 1