タグ

rubyに関するtdakakのブックマーク (38)

  • RubyKaigi Takeout 2021 参加レポート。あるいは hey は何故 Ruby エンジニアに対し会社をアピールしたいのか - STORES Product Blog

    こんにちは、hey 株式会社 CTO 室部所属の id:hogelog です。 先日 RubyKaigi Takeout 2021 (9/9 - 9/11) が開催されました。Ruby 言語の開発者や利用者が集まり一年の成果を発表し盛り上がる、Ruby エンジニアの祭典です。今年の RubyKaigi も盛りだくさんの内容でしたね。個人的にもとても楽しく、エンジニアとしても刺激を受けいろいろな技術に取り組んでいこうと思えるイベントでした。 rubykaigi.org さて今回のエントリではそんな RubyKaigi というイベントに hey のエンジニアがどのように参加し、受け止めていたか紹介したいと思います。 hey は RubyKaigi Takeout 2021 のプラチナスポンサーです。 いきなりアピールしてしまいますが 今年のheyはスポンサーを頑張ってます! - hey Pr

    RubyKaigi Takeout 2021 参加レポート。あるいは hey は何故 Ruby エンジニアに対し会社をアピールしたいのか - STORES Product Blog
    tdakak
    tdakak 2021/09/22
    みんなでわいわい感想戦する会も楽しかった〜!
  • GitHub ActionsでRuby on RailsのCI環境を構築する上でのポイント - STORES Product Blog

    STORES 予約 でwebアプリケーションエンジニアをやっております。ykpythemindです。 GitHub Actions、とても便利ですよね。STORES 予約チームでは徐々にCircleCI から GitHub Actionsへの移行を進めていますが、この度歴史あるRailsのリポジトリのCIを移行したので知見を公開します。 概要 RSpecを実行する CIの実行速度のチューニング(CircleCIと同等の速度にしたい) node_modulesなどのインストール結果をキャッシュする テストを並列実行する 大きな方針として、CircleCI等の他サービスからの乗り換えの場合、同等のCI速度/課金額でないと移行は現実的でないと思いますので、速度面のチューニングも意識しています。 ほぼそのままの設定を貼ります 一部プロジェクト固有のstep等があり注釈コメントをつけています。適宜調

    GitHub ActionsでRuby on RailsのCI環境を構築する上でのポイント - STORES Product Blog
    tdakak
    tdakak 2021/05/21
    GitHub ActionsでのCI環境構築の知見が詰まってる……!
  • Pryはもう古い、時代はIRB - k0kubun's blog

    僕はRubyで開発をする時は毎回Pryを使うくらいの熱狂的Pryユーザーだったのだが、PryはGemfileに書いてないと binding.pry できなくて不便。任意のgemをdefault gem化するgem default コマンドも作ったのだが、これをやるのすら面倒だと思っていた。 ある日、nobuさんがRubyに binding.irb という機能をいれた。Pryがdefault gemになるのを待つよりPryで僕が使う機能をIRBに全部移植してしまった方が早いのではないかと思い、4年前からPryの機能の移植活動を始め、今日僕がよく使う機能を全て移植し終えた。 その記念に、この記事ではIRBのPry互換の機能を紹介する。昔 今更聞けないpryの使い方と便利プラグイン集 という記事を書いたんだけど、この中で僕が毎日のように使うコマンドは全てIRBに移植したので、それを紹介する稿を

    Pryはもう古い、時代はIRB - k0kubun's blog
    tdakak
    tdakak 2021/04/03
    すごい、便利!
  • Rubyで構造体を扱う(ただし、Cの)。あとELFの話。 - ローファイ日記

    飛び入りです。Rubyアドベントカレンダーその2 17日目の記事です。昨日はなんとなく似たような(?)、 Rubyの8進数と2進数の構文エラー文の違い の話です。 qiita.com 今日はRubyで構造体、と言うか、バイナリパックされた構造体を扱う話の触りをします。class Structの話はしない。 さてみなさんは String#unpack/Array#pack を使ってますか? docs.ruby-lang.org すこく正直な話をすると、おそらく多くの方は使っていなくて、使っている方も大半はbase64文字列を生成する m フォーマットぐらいしか使っていないのではないかと推測しています。 ["Hello World"].pack('m') #=> "SGVsbG8gV29ybGQ=\n" ぼくも今まではそうだったのですが、最近は他のフォーマットも急に使うようになりました。という

    Rubyで構造体を扱う(ただし、Cの)。あとELFの話。 - ローファイ日記
    tdakak
    tdakak 2020/12/17
  • Rubyで標準エラー出力に対してwarning吐いてる犯人を探したい! - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    gemとかが標準エラー出力に対して「deprecatedなメソッド呼んでるよ〜」みたいなwarningを吐いてくれることがあると思うんですが、自分のプロダクトコード側でそのメソッドを呼んでいるわけではなくて依存してる別のgemの気がする、犯人は誰だ!みたいなときの話です。 だいたい./vendor/bundle以下を検索すればまあ犯人見つかるというのはあるんですが、メソッド名を動的に作ってるやつとかがいると引っかかってこなかったり、あとは同じ文字列がたまたま関係ないところで出現してるみたいなときもあるにはあり、「このwarningを出してるところのスタックトレースがほしいよお!」ってなることがある。そのようなときには、 class CustomStdErr < IO def write(*args) p caller STDERR.write(*args) end end $stderr

    Rubyで標準エラー出力に対してwarning吐いてる犯人を探したい! - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
  • ginza-ruby-kaigi-01

    https://ginzarb.github.io/kaigi01/

    ginza-ruby-kaigi-01
    tdakak
    tdakak 2019/12/27
    "異なる言語のフレームワークの設計思想やパラダイムに触れる" いい話
  • FukuokaRubyKaigiで登壇してきました!! - メドピア開発者ブログ

    FukuokaRubyKaigiで登壇してきました みなさまこんにちは、メドピアCTOの福村です。 FukuokaRubyKaigi、控えめに言って最高でした! (スケジュールがタイトでを楽しめませんでしたが次回リベンジ。) regional.rubykaigi.org キッカケ メドピアは長くPHPで開発してきたため、Rubyでも開発していると多くの人に知ってもらいたいということがキッカケで めんたいスポンサーというスポンサー枠で参加させていただきました。 運営スタッフの方々に感謝です。当に大変だったと思います。 発表内容 朝からほぼ全員?と思うくらい席いっぱいで熱量半端なかったです。 OSSへ恩返しというワードが終始出ていたのが印象的でした。今後も感謝の気持ちやお金、行動をわかりやすく実行していきたい。 島田さんの「A Ruby Programming Episode」がとてもすば

    FukuokaRubyKaigiで登壇してきました!! - メドピア開発者ブログ
  • RejectKaigi2017でファイルアップロードについて発表した - おもしろwebサービス開発日記

    先日行われたRejectKaigi 2017でファイルアップロードについて発表しました。資料はこちら。 内容的には、WEB+DB PRESS Vol.95で書いたファイルアップロード話を最新にしたものになります。Rails5.2で新しく追加されるActive Storageというファイルアップロード機能を紹介しつつ、ファイルアップロード全般の話題について触れています。 ファイルアップロードをただしく実装するにはそれにまつわる様々な要素についての知見が必要で、webエンジニア的には腕の見せ所ではないかと思います。Active Storageの登場でファイルアップロードについての知見が広まって、ただしく実装できる人が増えるといいなと思います(( ⁰⊖⁰)/) あわせて読みたい WEB+DB PRESS Vol.95posted with amazlet at 17.08.20小出 淳子 黒澤

    RejectKaigi2017でファイルアップロードについて発表した - おもしろwebサービス開発日記
  • 日報共有アプリケーションをOSSとして開発している話

    日報一覧画面最近、プライベートな時間をつかってRepostというオープンソースの日報共有アプリケーションを開発しています。 投稿した日報に対して、コメントや絵文字でリアクションすることでチームでのコミュニケーションを活性化させることを目的としています。日報版Slackのようなイメージです。 まだ開発着手から1ヶ月ということもあり、バージョン0.0.1でまともに稼働できる段階ではないですが、開発のモチベーションを高めるためにも記事を書いてみました。 技術スタック チャンネル作成画面RepostはフロントエンドにReduxを採用し、SPAとして構築しています。APIサーバとしてのバックエンドはRuby on Railsで開発しています。また、エディタ部分はDraft.jsを用いてMarkdownエディタを実装しているところです。 Draft.jsについては、過去にとあるプロダクトに採用した経験

    日報共有アプリケーションをOSSとして開発している話
  • ふつうのRailsアプリケーション開発

    2. 自己紹介 • 大仲 能史 a.k.a. @onk • 株式会社ドリコム • Railsエンジニア歴8年ぐらい – 1.2.6から触り始めた – 格的にproductionで使ってるのは3.0から 1

    ふつうのRailsアプリケーション開発
  • パーフェクトRuby第二版 こぼれ話 - joker1007’s diary

    書籍紹介は既にいくつか書かれているんで、私は自分の担当した箇所の話を書こうかと思います。 日(5/17)改訂2版 パーフェクトRubyが発売されます - すがブロ 改訂2版 パーフェクトRubyが出版されました - esm アジャイル事業部 開発者ブログ 改訂2版 パーフェクトRuby:書籍案内|技術評論社 私は、どっちかというと大きく書き直す所をメインで担当していました。主にテストコードの章です。後Refinementsについても少し書いてます。 テストコードの章では、書籍紹介にある様にtest-unitを採用しています。 fluentdプラグイン関連のテストコードはtest-unitで書かれていることが多いのですが、最近その辺りを結構触っているので、私が書きますよと手を挙げさせていただきました。 Refinementsについては、恐らく数少ないproduction環境でもRefine

    パーフェクトRuby第二版 こぼれ話 - joker1007’s diary
    tdakak
    tdakak 2017/05/18
  • 権限管理のgemで良いのはどれ? - おもしろwebサービス開発日記

    昨日は ginza.rb 31回目のミートアップでした。 Ginza.rb 第31回 ユーザの権限管理どうしてます? - Ginza.rb | Doorkeeper @kyuden_ さんに、現状の二大認可 gem である cancancan や pundit、それらの問題点を解決するために作った banken について発表してもらいました。 感想 個人的には pundit のリソースベースでの権限管理は悪くないと思っています。ただスライドで書かれているような、Admin::UsersControlller と UsersController で処理を分けたい時などのエッジケースで回避策を模索しなきゃいけないのはだるいですね。banken だと、コントローラベースなのでコード記述量は増えてしまうのですがその分ハマりどころが減るので、そのトレードオフを考慮しつつ案件によって使い分けるのがいい

    権限管理のgemで良いのはどれ? - おもしろwebサービス開発日記
  • メタプログラミングRuby 第2版

    書はRubyを使ったメタプログラミングについて解説する書籍です。メタプログラミングとは、プログラミングコードを記述するコードを記述することを意味します。前半では、メタプログラミングの背景にある基的な考えを紹介しながら、動的ディスパッチ、ゴーストメソッド、フラットスコープといったさまざまな「魔術」を紹介します。後半では、ケーススタディとしてRailsを使ったメタプログラミングの実例を紹介します。今回の改訂では、Ruby 2とRails 4に対応し、ほぼすべての内容を刷新。Rubyを使ったメタプログラミングの魔術をマスターし、自由自在にプログラミングをしたい開発者必携の一冊です。 『メタプログラミングRuby 第2版』目次 読者の声 序文 はじめに Ⅰ部 メタプログラミングRuby 1章 頭文字M 1.1 ゴーストタウンと市場 1.2 メタプログラマのボブの物語 1.2.1 ボブの最初の試

    メタプログラミングRuby 第2版
  • PumaとUnicornで最近自分が理解したこと

    Beginner's Guide to Partitioning vs. Sharding in Postgres | Claire Giordano | PGConf EU 2023

    PumaとUnicornで最近自分が理解したこと
  • 最近の Rack サーバ事情について - おもしろwebサービス開発日記

    先月、heroku推しサーバが unicorn から puma に変わったという発表がありました。unicorn だとスロークライアントの影響を受けやすいというのが理由なようです。 もう少し詳しく調べてみましょう。 そもそもスロークライアントってなに その名の通り遅い回線のクライアントです。3G環境のモバイル端末などが該当します。 「unicorn だとスロークライアントの影響を受けやすい」とは unicorn はプロセスモデルのサーバであり、blocking I/O モデルを採用しています。つまり、クライアントとの通信中プロセスが専有されるということです。 例えば unicorn がワーカプロセスを3つ立ち上げていて、そこへ通信完了に10分かかるようなスロークライアントが3つ接続されたら…、続くクライアントはスロークライアントの通信が完了するまで実行を待たなければならなくなります。プ

    最近の Rack サーバ事情について - おもしろwebサービス開発日記
    tdakak
    tdakak 2015/02/25
    めっちゃ読みやすくてわかりやすい
  • 日本OSS推進フォーラム主催の勉強会でPadrinoの紹介をしてきた - tyabe's diary

    http://connpass.com/event/10319/ 経緯 2014年7月頃に @miyohide さんから「Padrinoの話を初心者向けにして欲しい」という話をいただきました。 機会があれば自分なりの Padrino 話をしたいなーと考えていた所だったので、二つ返事で引き受けました。 主題 「PadrinoはSinatraベースである」という部分を中心にして話を組み立てていこうと考えました。 フレームワークの選択はプロジェクトの設計や開発スタイルに大きな影響を与えると思います。 Padrinoの設計思想や構造を大まかに知り、フレームワークを選択する際の判断材料にしていただけるような話をすることを目標にしました。 終わって 自分としては、意図した通りの話はできたかなーと感じています。 ただ、結構時間を余らせてしまったので、もう少し掘り下げた話(Rackのこととか)もできたら良

    日本OSS推進フォーラム主催の勉強会でPadrinoの紹介をしてきた - tyabe's diary
  • Ruby プロセスを追いかけるツール(プロファイラとか)10選 - sonots:blog

    Ruby プロセスを追いかけるツール(プロファイラとか)10選 - sonots:blog
  • Procを制する者がRubyを制す(嘘)

    RubyのProcの説明は巷に溢れているから今更感があるけどここ数回Procを使ったネタを書いていたらProcがかわいくなっちゃってもっとみんなにもProcのこと知ってもらいたいという欲求が生まれてきたからProcについての基的なことを僕なりのやり方でここに書くよ。長いよ。 Rubyの関数(メソッド) Rubyにおいて関数(メソッド)はファーストクラス(オブジェクト)ではありません。つまり文字列や数字や配列などの他のオブジェクトとは異なって、Rubyではそれを直接変数に代入したり、他の関数に渡したりすることはできません。 def square(n) n * n end sq = square # squareメソッドを変数sqに代入してみる # ~> -:1:in `square': wrong number of arguments (0 for 1) (ArgumentError)

    Procを制する者がRubyを制す(嘘)
  • それ NArray でできるよ

    カンファレンスから見る SRE トレンド 2024 / SRE Trends from Conferences in 2024 #SRE_Findy

    それ NArray でできるよ
    tdakak
    tdakak 2014/02/08
  • Ruby 2.0.0で学ぶ、14個のデザインパターンを作りました[GoF][Design Pattern] - 酒と泪とRubyとRailsと

    GoFのデザインパターンとは、「プログラミングのベストプラクティスを体系化したもの」です。このベスト・プラクティスをしっかりと理解して設計すれば、ソフトウェア設計の効率を高めることができます。またデザインパターンが「プログラミングの思想」の共有をよりスムーズにしてくれます。先人たちの試行錯誤の結果を効果的に利用して、プログラミングをもっと楽しんでしまいましょう! 🗻 デザインパターンのポイントGoFのデザインパターンには下のプリンシパルがあります。 変わるものを変わらないものから分離する インタフェースに対してプログラミングし、実装に対して行わない 継承より集約 委譲、委譲、委譲 必要になるまで作るな(You Ain’t Gonna Need It./YAGNI) 🤔 デザインパターン一覧 アブストラクトファクトリ ビルダ ファクトリメソッド シングルトンパターン アダプタ コンポジッ

    Ruby 2.0.0で学ぶ、14個のデザインパターンを作りました[GoF][Design Pattern] - 酒と泪とRubyとRailsと