タグ

rubyに関するstealthinuのブックマーク (126)

  • 転職した - tmtms のメモ

    これは「Rubyist近況[1] Advent Calendar 2021」の6日目の記事です。 adventar.org 自称 Rubyist なので近況を書きます。 2021年10月末で30年ほど勤めた富士通グループを退職しました。 11月からは SmartHR という会社で働いてます。 3年ほど Ruby仕事ではあんまり使ってなかったのですが、また Ruby仕事で使うようになりました。 会社から配布された PC は Core i7 メモリ32GB の MacBook Pro なんでかなり人権がある感じなんですが、人生Mac で1ヶ月位経ってもまだ慣れなくて、VM で Ubuntu Desktop 入れようか迷ってます。 近況は以上です。以下は富士通グループの入社〜退職までのメモ。長いので読まなくていいです。 1991〜 設立7年目の今はなき「富士通長野システムエンジニア

    転職した - tmtms のメモ
    stealthinu
    stealthinu 2021/12/06
    とみたさんの転職エントリがホッテントリしてる!とみたさんの細かな経歴初めて知った。FJCT辞めたの富士通本社に吸収合併されそうだからだったのね。時々でてくる「うへぇ…」の感覚、よくわかる。
  • Ruby Net::SMTP

    Ruby Net::SMTP これは 富士通クラウドテクノロジーズ Advent Calendar 2020 と FUJITSU Advent Calendar 2020 の 5日目の記事です。 会社のアドベントカレンダーですが、記事の内容は会社とは関係ありません。 nagano.rb #6 で発表したネタです。 SMTP SMTP は Simple Mail Transfer Protocol の略でメールを送信するためのプロトコルです。 RFC の変遷: RFC 821(1982年) RFC 2821(2001年) RFC 5321(2008年) メールメッセージの形式(Internet Message Format)の RFC もセットで発行されていて、SMTP の次の番号が割り当てられてます: RFC 822 RFC 2822 RFC 5322 ポート番号は 25番で smtp と

    Ruby Net::SMTP
    stealthinu
    stealthinu 2020/12/07
    RubyのNet:SMTPについてSSLまわりで少し残念だった部分をとみたさんが修正した話。微妙に残念な部分にかゆいところに手が届いている感。
  • Ruby、jQueryなどの廃れていくOSSを開発している人達はどういう気持ちで日々それらを開発しているんですか?

    回答 (7件中の1件目) ふむ。Rubyが廃れていくOSSという評価にはだいぶ不満がありますね。絶頂期と比べると人気が下がっていることは認めるとしても、それと「廃れていく」とはまったく異なることだと認識しています。 Rubyは安定的な人気を保っていますし、新参の(人気があると評価される)OSSよりもよほど大きなコミュニティと資産を保有しています。誰かが特定のOSSを「廃れていく」と評価するのは勝手ですが、現実に開発者の気持ちに影響を与えるかと言うと、不愉快であるという点を除くとほとんど影響ないでしょう。 しかし、(Rubyを名指しされたのでやや感情的な反応をしましたが)実際に廃れてい...

    Ruby、jQueryなどの廃れていくOSSを開発している人達はどういう気持ちで日々それらを開発しているんですか?
    stealthinu
    stealthinu 2020/11/20
    まさかのまつもとさんご本人登場でとてもよい回答だった。
  • パーフェクトRails著者が解説するdeviseの現代的なユーザー認証のモデル構成について - joker1007’s diary

    最近、パーフェクトRuby on Railsの増補改訂版をリリースさせていただいた身なので、久しぶりにRailsについて書いてみようと思う。 まあ、書籍の宣伝みたいなものです。 数日前に、noteというサービスでWebフロント側に投稿者のIPアドレスが露出するという漏洩事故が起きました。これがどれぐらい問題かは一旦置いておいて、何故こういうことになるのか、そしてRailsでよく使われるdeviseという認証機構作成ライブラリのより良い使い方について話をしていきます。 (noteRailsを使っているか、ここで話をするdeviseを採用しているかは定かではないので、ここから先の話はその事故とは直接関係ありません。Railsだったとしても恐らく使ってないか変な使い方してると思うんですが、理由は後述) 何故こんなことが起きるのか そもそも、フロント側に何故IPアドレスを送ってんだ、という話です

    パーフェクトRails著者が解説するdeviseの現代的なユーザー認証のモデル構成について - joker1007’s diary
    stealthinu
    stealthinu 2020/08/17
    ユーザ認証のテーブル自体を認証方式ごとに作ってUserテーブル直にそのサービスごとの情報を持つべきではないという設計方針。なるほど。
  • 環境変数を設定するだけでRuby on Railsサーバが10%高速化する(かもしれない)話 - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)

    この記事は Akatsuki Advent Calendar 2019 1日目の記事です。 はじめに アカツキでは Ruby on Rails を使ったゲームサーバを開発・運用しています。ゲームの体験を向上するために、レスポンスタイムは一つの重要な要素となるため、種々のパフォーマンスチューニングを行なっています。今回はその一例として、環境変数を1つ設定するだけで、あるAPIのレスポンスタイムが10%も改善した例をご紹介します。 TL;DR 多数の時刻を含むレコードを扱う Ruby on Rails サーバでは、 TZ 環境変数を設定することで、デフォルトタイムゾーン設定ファイル /etc/localtime へのアクセスが減り、高速化が図れるかもしれません。 効果は Time オブジェクト1個あたり数μsの短縮といったオーダーですが、チリも積もれば山となり、数千個のレコードを処理するAPI

    環境変数を設定するだけでRuby on Railsサーバが10%高速化する(かもしれない)話 - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)
    stealthinu
    stealthinu 2019/12/02
    まさか/etc/localtimeのアクセスだけでそんなにパフォーマンス低下が起こってたとは
  • Rubyの文字列連結に関して知っておくべきこと - Qiita

    Rubyだと文字列連結は足し算するだけでいいのでとってもお気楽。 でも、その裏の動きを意識しないと効率の悪いコードになってしまうかもしれない。 文字列連結の方法3つ String#+ 一番ポピュラーなやつ。

    Rubyの文字列連結に関して知っておくべきこと - Qiita
    stealthinu
    stealthinu 2019/11/08
    rubyで文字列連結するのに"+"と"<<"だと全然速度違うんか。だからこんな遅いのか。"<<"は破壊的だけどぜんぜん速いと。
  • Rubyのエンコーディング - tmtms のメモ

    Ruby 1.9 から文字列や正規表現オブジェクトはそれぞれエンコーディング(いわゆる文字コード)を保持するようになりました。 たとえば 0xB1 0xB2 という2バイトは EUC-JP エンコーディングでは「渦」、SHIFT_JIS エンコーディングでは「アイ」という文字になります。つまり同じバイト列でもエンコーディングが異なれば異なる文字として解釈されます。 1.8 では文字列はただのバイト列でした。なので、それがどのような文字を表しているのか、つまりエンコーディングが何なのかはプログラムが知っている必要がありました。 1.9 では文字列オブジェクト自身が自分が何のエンコーディングかを知っています。同じ 0xB1 0xB2 というバイト列でも、それが EUC-JP の「渦」なのか SHIFT_JIS の「アイ」なのかは、文字列自身が知っています。 スクリプトエンコーディング スクリプ

    Rubyのエンコーディング - tmtms のメモ
    stealthinu
    stealthinu 2019/09/25
    ありがたい… ちなみに2012年、もう7年も前のとみたさんのエントリーに救われてるという。
  • rubygems上にあるgemの全てのバージョンを調べた上で、versionを指定してinstallする - Qiita

    rubygems上にあるgemの全てのバージョンを調べた上で、versionを指定してinstallするRubyGem Summary rubygems上を検索 gem list #{gem} -ra or gem search #{gem} -a -r : --remote remoteのgemレポジトリを検索する -a : --all 全てのバージョンを列挙する version指定 gem install #{gem} --version "=3.0.0" #3.0.0(のみ)を指定 gem install #{gem} --version "~>3.0.0" #3.0.x のlatestを検索してinstall gem install #{gem} --version "~>3.0" #3.xのlatest Tips #{gem}には正規表現が使える。 ☓ gem search ra

    rubygems上にあるgemの全てのバージョンを調べた上で、versionを指定してinstallする - Qiita
    stealthinu
    stealthinu 2019/08/29
    インストール可能なgemのバージョンを調べる。部分一致してしまうのでそれだけで検索する場合は「^activerecord$」のように正規表現で指定。
  • コラム - Ruby & Rails | 第7回 RubyでのメールはMailライブラリにおまかせ!|CTC教育サービス 研修/トレーニング

    [IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes 第7回 RubyでのメールはMailライブラリにおまかせ! (松永紘) 2013年9月 Webアプリケーションの開発をしていると、メールの送受信を扱う機会があると思います。RailsにはActionMailerというライブラリがありますが、今回はその中でも使われているMailライブラリ(*1)をご紹介いたします。 尚、コラムは以下の環境で動作確認を行っています。 Ruby : 1.9.3 Mail : 2.5.4 まずはインストールを行いましょう(*2)。以下のコマンドを実行します。 > gem install mail 正常に終了すればインストールの完了です。Rubyスクリプト上で使用するには「require "mail"」でロードします。

    stealthinu
    stealthinu 2019/07/25
    いいまとめなんだけど例で「mail.add_file = "./picture.jpg"」のところ「=」不要。
  • 空白区切りの文字列を整数の配列に変換する - Qiita

    "1 1 2 3 5 8 13 21".split.map(&:to_i) # => [1, 1, 2, 3, 5, 8, 13, 21] # 多重代入との組み合せ w, h = "30 35".split.map(&:to_i) Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    空白区切りの文字列を整数の配列に変換する - Qiita
    stealthinu
    stealthinu 2019/06/21
    splitして配列入ってるのを一括でto_iする
  • 男女の参加バランスが良く、託児室があって、懇親会でぼっちにならないRuby勉強会を開催しました #tokyogirlsrb - give IT a try

    はじめに このブログでも何度か紹介してきた「女性も参加しやすい(でも女性限定ではない)Ruby勉強会」、TokyoGirls.rb Meetupの記念すべき第1回を2019年3月2日に開催しました。 TokyoGirls.rb Meetupを開催しようと思った目的や背景は以前書いたこちらのエントリにまとめてあります。 今回のエントリでは、「男女の参加比率」「無料託児室」「懇親会のぼっち対策」という3つのポイントに注目しながら、当日の様子や運営上の工夫を書いてみたいと思います。 【もくじ】 はじめに ポイントその1. 「男性ばかり」でも「女性ばかり」でもない男女比率になりました 参加者の感想(と僕自身の感想) 男性エンジニアにも何かしらの気づきを与えられる勉強会でした 「自分は男性だし、興味がないなあ」という方も ポイントその2. 無料の臨時託児室を提供しました なかなか大変だった臨時託児室

    男女の参加バランスが良く、託児室があって、懇親会でぼっちにならないRuby勉強会を開催しました #tokyogirlsrb - give IT a try
    stealthinu
    stealthinu 2019/03/08
    女性が参加しやすい勉強会というの以外にも懇親会ぼっち対策のところとか勉強会開催で参考になる話がたくさんあった。こんな勉強会を企画開催された方すごいわ。
  • 須藤功平さん「My way with Ruby」 〜RubyKaigi 2018 基調講演 2日目 | gihyo.jp

    2018年5月31日から6月2日までRubyKaigi 2018が仙台国際センターにて行われました。記事は2日目の基調講演の内容をレポートします。 須藤さんは「My way with Ruby」というタイトルで、自身とRubyの関わりについて発表しました。須藤さんは自身のRubyistとしての活動を「フリーソフトウェアを使ってRubyでできることを増やす」「⁠ライブラリのメンテナンスをする」という2つにまとめています。実際にメンテナンスしているライブラリの数は130個ほど。非常に数が多いのですが、それぞれ須藤さん自身が必要に駆られて作ったと言います。今回の発表ではそのソフトウェアの一部を、作成したきっかけとともに振り返っていきました。 記事ではその中でも特にRabbitとData Processingに関するものについて紹介します。 Rabbit Rabbitは世界で唯一の「Rubyi

    須藤功平さん「My way with Ruby」 〜RubyKaigi 2018 基調講演 2日目 | gihyo.jp
    stealthinu
    stealthinu 2018/06/25
    『自身のRubyistとしての活動を「フリーソフトウェアを使ってRubyでできることを増やす」「⁠ライブラリのメンテナンスをする」という2つにまとめ』すとうさんすごい。ぶれない。
  • PostfixDaemon - Ruby で Postfix のデーモンを書くライブラリ - tmtms のメモ

    この前、まつもとりーさんに自分でも忘れていたpostfix-mrubyというのを発掘されて、 Postfix-mruby最高!— 松 亮介 / まつもとりー (@matsumotory) 2018年2月22日 これによって、前に作ろうと思ってそのまま忘れてたものを思い出したので、作ってみました。 github.com こんなプログラムを /usr/lib/postfix/sbin に置いておいて、 require 'postfix_daemon' PostfixDaemon.start do |socket, addr| while s = socket.gets socket.puts s.update end end Postfix の master.cf にテキトーに書くと、ポートにアクセスがあると Postfix の master(8) に起動してもらえます。 まあ master

    PostfixDaemon - Ruby で Postfix のデーモンを書くライブラリ - tmtms のメモ
    stealthinu
    stealthinu 2018/03/06
    postfixのデーモンを簡単に作れるrubyのライブラリ。
  • 【翻訳】"Factory Girl"が"Factory Bot"に変わった理由(と移行手順) - Qiita

    2017年10月に、Rubyのライブラリ(gem)である"Factory Girl"が"Factory Bot"に変わりました。 名前が変わった理由が以下のページに記載されていたので、翻訳してみます。 プロジェクト名の歴史 このライブラリはもともと2008年に"Factory Girl"という名前でリリースされました。 この名前を選んだ理由は書籍「デザインパターン」に載っていたファクトリメソッドパターンとオブジェクトの母(Object Mother)パターンに従っていたことと、ローリング・ストーンズに同じ名前の曲があったためです。 "Factory Girl"という名前はこのライブラリの存在を知った一部の開発者を混乱させました。また、不快で問題があるように感じる人々もいました。そのため、2017年10月に私たちはこのライブラリの名前を"Factory Bot"に変更しました。 (翻訳ここま

    【翻訳】"Factory Girl"が"Factory Bot"に変わった理由(と移行手順) - Qiita
    stealthinu
    stealthinu 2017/12/28
    Rubyのライブラリの一つ、Factory GirlがFactory Botにかわったのはジェンダーについて議論が起きたため。元の名の由来はObject Motherとローリング・ストーンズの曲名から。悪意はないが、と。
  • Sisimai | バウンスメール解析ライブラリ | Sisimai: Mail Analyzing Interface

    Sisimai(シシマイ)とは? SisimaiはbounceHammerの後継となるバウンスメール(エラーメール)解析ライブラリ (PerlモジュールとRuby Gem)であり、RFC5322に準拠した バウンスメールを解析し、JSONなどの構造化されたデータとして出力します。 現在の安定版最新バージョンは 令和5年05月16日(火) にリリースされた Sisimai v4.25.16 です。 このバージョンではPerl版とRuby版でそれぞれ2件のバグを修正しています。 v4.25.16がSisimai 4系の最終リリースとなりそうですが、リリース日以降に深刻なバグが発見された場合は v4.25.17がリリースされます。そして次の夏までを目標にSisimai 5とGo言語バージョンのSisimai がsisimai/go-sisimaiで開発中です。 Sisimai v4.25.16に

    stealthinu
    stealthinu 2017/12/18
    猫物質さんとこのbounceHammer後継ライブラリSisimaiについて。SisimaiはPerl版だけじゃなくRuby版もあって色々強化されてる上依存モジュールも少ないと。
  • クラスはクラスクラスのインスタンスである - tmtms のメモ

    タイトルで出落ち感がありますが…。 naruby で時間があまった時のために用意してあったのですが、時間が余らなかったので発表しなかった小ネタです。ここで公開して供養します。 Rubyはほぼすべてがオブジェクトです。 クラスもオブジェクトです。オブジェクトということはクラスがあります。オブジェクトのクラスはオブジェクトの class メソッドで調べられます。 class Hoge end Hoge.class #=> Class Hoge クラスのクラスは Class であることがわかりました。 つまり「クラスはClassクラスのインスタンス」ということです。 クラスがClassクラスのインスタンスということは、Class.new すればクラスが作成されるわけです。 a = Class.new #=> #<Class:0x00560d27bf2108> Hoge = a #=> Hoge

    クラスはクラスクラスのインスタンスである - tmtms のメモ
    stealthinu
    stealthinu 2017/12/05
    一旦そのクラスをなきものにして再度作り直すとクラス名は同じなのに違うオブジェクトが作れてしまうと。
  • 第一回ながのRubyの会参加記録 - @kotyのブログ

    NSEG のコアメンバーである とみたさんが発起人となり、ながのRubyの会の第一回が開催されました。割と中信からの参加者がいらっしゃったので、第二回がもしあるなら松か塩尻あたりで開催するのも良いんではないでしょか。 naruby.connpass.com イベント公開後に発表者が少なめだったこともあり、とみたさんからどうよと言われたので、無理くりネタをひねり出して私も発表しました。 普段Djangoを使っている人間がruby on railsを勉強してみた話 from ko ty 多少の色の違いはあるものの、両者で実現できることに大差はありません。最終的には好き嫌いの正解になるように思います。 結論を見ると割とネタに走っていますが、Ruby歴3日だとこれくらいしかできませんでした。何とぞご容赦ください。。。Rubyは今後も深入りする予定は無いのですけども、微力ながら会を盛り立てられれ

    第一回ながのRubyの会参加記録 - @kotyのブログ
    stealthinu
    stealthinu 2017/12/05
    あ、来月「SQLアンチパターン」読書会スペシャルなんだ!
  • #nseg 第7回「オブジェクト指向設計実践ガイド」読書会に参加しました - メモ的な思考的な

    11/29にギークラボ長野で開催された、NSEGの「オブジェクト指向設計実践ガイド」読書会の第7回に参加しました。 ここ数回参加できていなかったので、今回参加できて良かったです。 nseg.connpass.com 今回は第7章を読みました。今回はモジュールの話でした。 第5,6章に関連するところもあり、その章について教えてもらいながら読み進めました。 今回Rubyに詳しい方がいらっしゃらなかったため、 method_missing extend 特異クラス については、また後日識者の方にお尋ねしたいと思いました。 なお、週末には「ながのRubyの会 #1」が開催されます。 naruby.connpass.com ところで、Rubyのモジュールで思い出したのは、PythonのMixinでした。 このページにもある通り、Djangoとかで見かけます。 Django Class-Based-V

    #nseg 第7回「オブジェクト指向設計実践ガイド」読書会に参加しました - メモ的な思考的な
    stealthinu
    stealthinu 2017/12/01
    @thinkAmi 確認いただいてありがとうございます!pythonでmixinした場合は先に呼ばれたやつが優先と。Rubyでmoduleをincludeするときってたぶん上書きだろうから感覚的にはpythonとrubyでは逆順と覚えればいいのかな?
  • 第6回「オブジェクト指向設計実践ガイド」読書会に参加しました - tmtms のメモ

    11/15 NSEGの「オブジェクト指向設計実践ガイド」読書会の第6回に参加しました。参加者3名でした。寂しい。 nseg.connpass.com 今回は第6章を読みました。 第6章は継承の話でした。 普段あんまり意識せずになんとなく実装していたのですが、明文化されるとなるほどなーと。 継承関係にあるクラス間であっても、オブジェクト間と同様に依存を少なくすべきという感じの話でした。 super を使うのではなく、親クラスからサブクラスのメソッドを呼ぶようにするというのは、たしかに良いかもしれないけど、post_initialize メソッドを作るってのはどうかなぁ。個人的には initialize メソッドについては super 使ってもいいと思いました。 あとは、Rubyではsuperとsuper()の括弧の有無で振る舞いが変わるというような話もしました。

    第6回「オブジェクト指向設計実践ガイド」読書会に参加しました - tmtms のメモ
    stealthinu
    stealthinu 2017/11/16
    super.merge({...})というコードがあって、superが返すハッシュにハッシュをmergeしてるのだけどruby目が育ってないので最初、superオブジェクトのmergeメソッド呼んでる?となりました。
  • ながのRubyの会

    Nagano.rb は長野県周辺のエンジニアが集まって Ruby に関する何かを行う地域コミュニティです。 開催場所は、長野県内のどこかです。 主に週末開催予定です。

    ながのRubyの会
    stealthinu
    stealthinu 2017/10/18
    とみたさんが発起人。なる会