タグ

ブックマーク / sugamasao.hatenablog.com (22)

  • とちぎRuby会議08「Rubyを説明するのは難しい(仮)」という内容で登壇してきました - すがブロ

    はじめてのとちぎRubyコミュニティ とちぎのRubyコミュニティ、もちろん前から知っている存在だったのですが、なんというか非常に練度の高い場所というイメージがあって、ちょっと怖いけど*1いつか行ってみたいな〜と思っていた存在でした*2。 Tochigi RubyKaigi 08 今回、主催しているtoRubyのよねざわさんから「参加しませんかー」とお誘いいただき、これは良い機会だと思ってホイホイ参加することにしました。 発表もどうですか?と誘っていただいたものの、前述の通り練度高い場というイメージがあって「よく考えたら自分には無理では、、」と及び腰になっていたのですが、色々と励ましてもらったおかげで登壇する運びとなりました*3。 なんだかすごいところに来てしまったぞ pic.twitter.com/1sse6ZummO— パーフェクトだったりかんたんだったりする (@sugamasao)

    とちぎRuby会議08「Rubyを説明するのは難しい(仮)」という内容で登壇してきました - すがブロ
    suginoy
    suginoy 2019/07/01
    自分には無理だと思うので、新刊が出るたび驚愕してる。
  • Rails 6のコマンド周りで変わる細かい点(rc1調べ) - すがブロ

    ブログを書くリハビリ Rails 6.0で変わるであろうと思われる点のメモ rails6rc1を舐めるようにみていた結果、bin/setupとbin/updateが統合されたことを知る— ルビー・カンタン・太郎 (@sugamasao) April 25, 2019 これのもうちょっと正確な説明ですが、bin/rails update とbin/rails setup の話の前に bin/rails db:prepare の説明が必要なんです。 rails db:prepare タスクの追加 PRはこちら https://github.com/rails/rails/pull/35768 タスク名より実装を見たほうがわかりやすいですが、DBが作成されていれば migrate を、そうでなければ setup を実行するタスクです。migrateとsetupの使い分けをしなくて良い便利タスクで

    Rails 6のコマンド周りで変わる細かい点(rc1調べ) - すがブロ
  • Rubyのnilクラスを調べたい - すがブロ

    nilクラスが実際にどうなってるのか調べたい Rubyの実装がどうなっているか、一年に365回くらいは調べたくなると思うのですが、今日はnilクラスについて調べました。 Rubyの組み込みクラスは(多分)リポジトリ直下にそれぞれ、それっぽい名前.cとして存在しているのですが、nilについてはどうやらそうではない模様。 GitHub - ruby/ruby: The Ruby Programming Language 仕方がないので頑張って探してみましょう。 おもむろに git grep nil rubyのリポジトリをgit cloneしてきて*1、おもむろに git grep nil。当たり前だけど普通にnilばっか出てきてダメですね;; よく考えればnilはクラスではないのでクラス名で検索しないとダメだろう。というわけでNilClassを調べます。念のため書いておきますが、nilのクラス

    Rubyのnilクラスを調べたい - すがブロ
    suginoy
    suginoy 2018/02/11
  • わかばちゃんと学ぶ Git使い方入門を読んだ - すがブロ

    読みました わかばちゃんと学ぶ Git使い方入門 作者: 湊川あい,DQNEO出版社/メーカー: シーアンドアール研究所発売日: 2017/04/21メディア: Kindle版この商品を含むブログを見る 目次 CHAPTER 1 Gitって何? CHAPTER 2 個人でGitを使ってみよう CHAPTER 3 複数人でGitを使ってみよう CHAPTER 4 実用Git 〜 こんなときはどうすればいい? CHAPTER 5 Gitで広がる世界 読むモチベーション 普段から仕事などでgitは使っているので、今さらgitとは?のような話を学ぼうと思ったわけではなくて、書の目次のCHAPTER 4「実用Git 〜 こんなときはどうすればいい?」が目当てでした。 というのも、基的には必要に迫られて色々なコマンドを覚えてきたので体系的な(というか詳しい人の)「こういう時はこうする」という方法が

    わかばちゃんと学ぶ Git使い方入門を読んだ - すがブロ
    suginoy
    suginoy 2017/10/14
  • RFC2231を読む - すがブロ

    人生に三度来るという RFC 読みたい期の第一期 何をとち狂ったのか、仕事の息抜きに RFC を読んでいます。これは人生に三度来るという RFC 読みたい期に突入したと言って良いでしょう。 で、何の RFC を読んでいるかというと、メールの添付ファイル名についてのフォーマット rfc2231(jp) ここら辺を見ているのだけど、もう少し素人にも優しいページ Japanese Filename ココを見て解読中。 余談 Thunderbird 1.5 がでたばかりの頃は、この RFC2231 に準拠したファイル名を解釈できるメーラーは多くなかったそうで、「XXさんのメールについてる添付ファイルが読めません><」みたいな事があったそうな。 で、その時のファイル名ってのが RFC2322 に準拠した変換をしている・・・はずだけど、微妙に間違っていたらしい。 以下を見ると、一目瞭然で、ファイル名を

    RFC2231を読む - すがブロ
    suginoy
    suginoy 2016/06/20
  • ISUCON5の予選で爆散してきた - すがブロ

    昨年に引き続きISUCONに参加しました 今年は id:koemu さんと id:ariarijp さんのチームでした。YAPCのタイミングだったかな?で id:koemu さんからISUCON一緒に出ましょう!と声をかけられたので、ホイホイとチームを結成しました。その後、YAPCの帰りに一緒に飲んでいた縁で知り合った ariarijp さんが一緒にチームを組んでくれることになってチームが結成された。 当日まで あまり素振りとかできなかったのが悔やまれますが、まずは昨年参加した知見から、事前に作業方針のメモを共有しておいた。 例えば ssh の公開鍵を予めあつめておくとか、最初に手を付ける箇所の分類、チャットツールの準備などなど。 これは結果論だけど、チャットツールにSlackを選択していたのは、当日ISUCONの公式チャットツールidobataに障害が発生していて正常にアクセスできなかっ

    ISUCON5の予選で爆散してきた - すがブロ
  • Python がイマイチ人気にならないたった一つの理由 - すがブロ

    ついに気がついた RubyPerl に比べてイマイチ日では爆発しきれていない感のある Python だけど、その理由がわかった。 入門書が良くない Python の有名な書籍といえば「みんなのPython」があるのだけど、これがとてもマズい。 みんなのPython 作者: 柴田淳出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/08/22メディア: 単行購入: 11人 クリック: 624回この商品を含むブログ (180件) を見る 略すと「みんPy」。みんぱいである。「みんPy」を日常で使う事を想定してみよう。 「最初(に読むPython)はみんPyだよねー」 これはもう「最初はみんなおっぱいだいすきからスタートする」という性癖の変遷の発言にか聞こえません。それはとても卑猥ですから、こんな卑猥な書籍を売っている言語も卑猥であるというイメージがついてしまいますね。

    Python がイマイチ人気にならないたった一つの理由 - すがブロ
    suginoy
    suginoy 2015/07/21
    ハゲでもわかるメール基礎講座 http://www.nicovideo.jp/watch/sm3424865 からやってきました。
  • bundle gem foo -bの挙動がかわった(exeディレクトリになった) - すがブロ

    bundle gemでgemライブラリのひな形が作成できる その中で、-b オプションを付けると実行ファイル用のbinディレクトリが作成される。しかし、Bundler 1.8系からは bin ディレクトリは binstub用(で良いのかな)のsetupやconsoleスクリプト等(-bを付けなくても生成される)が配置され、gemライブラリの実行ファイル用として exe ディレクトリが用意されるようになる。 1.7.9 と 1.8.3での確認 1.7.9 で bundle gem プロジェクト名 -b -t した結果 ➜ /tmp tree baz baz ├── Gemfile ├── LICENSE.txt ├── README.md ├── Rakefile ├── baz.gemspec ├── bin │   └── baz ├── lib │   ├── baz │   │  

    bundle gem foo -bの挙動がかわった(exeディレクトリになった) - すがブロ
    suginoy
    suginoy 2015/02/28
  • Rails 4.1のenumの挙動 - すがブロ

    みんな大好きenum型 DBのカラムでステータスとか使うとき、ぼくは数値派なんですけど、enumで掛けたら楽で良いですよねみたいのあります。ありますよね。 で、Rails 4.1ではそういうのが導入されたっぽいので試してみました。 rails 4.1をインストールしてプロジェクト作ったりする $ gem install rails --pre --no-ri --no-rdoc $ rails new sample $ cd sample $ ./bin/rails g scaffold product name:string status:integer $ ./bin/rake db:migrate rails cでフツーに登録してみる(ここは何の変哲も無い)。 irb(main):005:0> Product.create!(name: "hoge", status: 99) (0.

    Rails 4.1のenumの挙動 - すがブロ
  • Rails 4.1のenumの挙動(2) - すがブロ

    Rails 4.1 rc2での動作です。 前回の続きです。 前回、キーの項目と数値を定義したのだけど、実はキーの項目だけ指定しても数値として保存されるようだ(キーだけだと文字列で保存されるのかと思っていた……)。 class Product < ActiveRecord::Base enum status: %w(normal sale empty) end こんな感じで定義してから ./bin/rails cして確認する。 まずはどのようにデータが保存されるか。 Loading development environment (Rails 4.1.0.rc2) irb(main):001:0> Product.create(status: 1) (0.2ms) begin transaction SQL (0.9ms) INSERT INTO "products" ("created_a

    Rails 4.1のenumの挙動(2) - すがブロ
  • 毎年忘年会に参加し続けた結果www - すがブロ

    執筆する機会を得ることができまして、「Webアプリエンジニア養成読」というが近日発売する運びとなりました(ごめんね、ごめんね、タイトルは釣りです……)。 Webアプリエンジニア養成読[しくみ、開発、環境構築・運用…全体像を最新知識で最初から! ] (Software Design plus) 作者: 和田裕介,石田絢一(uzulla),すがわらまさのり,斎藤祐一郎出版社/メーカー: 技術評論社発売日: 2014/03/11メディア: 大型この商品を含むブログを見る 著者紹介の文章、テンションおかしくて胸が熱くなります。 このってどんななの 今までWebアプリを書いたことがない人向けです。例えば、学校でプログラミング言語自体はならったけどWebアプリ作ったことないわーみたいな人とか。 正直な所、このをもってプログラミング言語が理解できるような深い内容ではないです。まずは写経して

    毎年忘年会に参加し続けた結果www - すがブロ
    suginoy
    suginoy 2014/02/22
  • RbConfigというのがあってビルド時の情報とかが取れる - すがブロ

    Rubyのインストール時の情報を保持しているみたい RbConfig::CONFIGという定数のHashに様々な情報が入っている。 sugamasao@GRAM% ruby -v ruby 1.9.3p5 (2011-11-30 revision 33907) [x86_64-darwin10.8.0] sugamasao@GRAM% ruby -rpp -e"pp RbConfig::CONFIG" {"DESTDIR"=>"", "MAJOR"=>"1", "MINOR"=>"9", "TEENY"=>"1", "PATCHLEVEL"=>"5", "INSTALL"=>"/usr/bin/install -c", "EXEEXT"=>"", "prefix"=>"/Users/sugamasao/.rvm/rubies/ruby-1.9.3-head", "ruby_install_

    RbConfigというのがあってビルド時の情報とかが取れる - すがブロ
    suginoy
    suginoy 2013/12/26
  • JSONをcoolに表示するap_commandっていうgemを作った - すがブロ

    awesome_print をご存知だろうか JSONとかを標準出力にcoolに表示してくれるライブラリだ。 michaeldv/awesome_print · GitHub irbとかpryとかrailsとかで使えるようになっている。 これはこれで便利なんだけど そもそもJSONの中身を見たいときって外部サービスとの連携だったりするんですよね。で、そういうのって一旦ファイルに落としたのを確認したかったりするのですね*1。 そういうのを見る時、awesome_printで見ると配列として扱われているかとか、Rubyの世界でどのようなオブジェクトになってるかも確認できて良いんだけども、いかんせんirbで開いてファイルをopenして……ってのも面倒なので、コマンドで実行できるようにしました。実際は単なるラッパーですね。 ap_command インストール % gem install ap_co

    JSONをcoolに表示するap_commandっていうgemを作った - すがブロ
  • パーフェクトRubyという本を(共著で)書きました - すがブロ

    8/10 パーフェクトRubyが発売になりましたね パーフェクトPythonやパーフェクトPHPで有名なパーフェクトシリーズのRuby版であるパーフェクトRubyが発売されました。 @hibariya @takkanm @ryopeko @joker1007 @udzura たちとチームを組んで書きました。面白そうだなと思ったら買ってみてください :) パーフェクトRuby (PERFECT SERIES 6) 作者: Rubyサポーターズ,すがわらまさのり,寺田玄太郎,三村益隆,近藤宇智朗,橋立友宏,関口亮一出版社/メーカー: 技術評論社発売日: 2013/08/10メディア: 大型この商品を含むブログ (1件) を見る 目次 目次はこんな感じです。Rubyの基的な部分からBundlerやGemのつくり方(C拡張も説明あるよ!!)まで網羅されている書籍はなかなか無いのではないかな〜と

    パーフェクトRubyという本を(共著で)書きました - すがブロ
    suginoy
    suginoy 2013/08/12
    なんですがさんだけひらがななん?→回答 https://twitter.com/sugamasao/status/366594557116301314
  • ■とかが入ったテキストを編集するとおかしくなる問題 - すがブロ

    vimで■や…が入ったテキストファイルを編集していたり、treeコマンドの出力を編集しようとすると、なんか表示がぶっ壊れて一行表示がずれたりして当に困っていた。 vimの設定でこんな設定をいれて、これで治るのではないかと思っていたけれどそれでも変化無し。 if exists('&ambiwidth') set ambiwidth=double endif んで、どうしたもんかなぁ、不便だなぁと思っていたらiTermにそのものズバリなオプションがあった。 Preferencesにある「Double-Width Characters」にチェックを入れたら普通に扱えるようになった。ライフチェンジング!!

    ■とかが入ったテキストを編集するとおかしくなる問題 - すがブロ
    suginoy
    suginoy 2012/12/01
    もしかして僕のvimもライフチェインジング
  • 名前付きキャプチャが便利 - すがブロ

    Rubyの正規表現で$1とか$2とかしなくても良くなる Ruby1.9系?(1.9.2からかな)では正規表現が左辺にある場合、名前付きキャプチャが使えるようになってたらしいですよ。 従来はこんな感じで番号を主体にしていましたよね。 /programing (.+)\z/ =~ 'programing ruby' p $1 # => "ruby" p Regexp.last_match # => #<MatchData "programing ruby" 1:"ruby"> p Regexp.last_match[1] # => "ruby" それに対して、グループの中で?<名前>とすると、こうなる /programing (?<name>.+)\z/ =~ 'programing ruby' p $1 # => "ruby" p Regexp.last_match # => #<Match

    名前付きキャプチャが便利 - すがブロ
    suginoy
    suginoy 2012/10/20
  • Railsで定数を別ファイルで管理したい? よろしい、ならば Settingslogic だ。 - すがブロ

    ソースの中で定数として扱うのではなく、設定ファイル的に扱いたい Rubyはそれなりに長い間使っていますが、Railsはメジャーバージョン毎にちょっと触るくらいで、まったくベストプラクティスとか知らないんですね。 で、いまは作る際のお手として 日Ruby会議 2010, 8月27日〜29日 のソースである ruby-no-kai/rubykaigi · GitHub を見てパクれそうなのはパクるというスタンスでやってます。 で、題の設定ファイルの扱いについて 上記 rubykaigi の Gemfile を見ると 'configatron' っていうのがある。 なので、これが cool な設定ファイルを扱うライブラリなのかしら、と思ってたのですが、ちょうど id:ursm さんから @sugamasao 最近は Settingslogic を使っています 2010-09-02 21:3

    suginoy
    suginoy 2012/07/31
    modelに置くのがなんか微妙だ
  • letとlet!の違いがわからない - すがブロ

    違いというか使い分け方がわからない (追記アリ) letは使われたタイミングで処理される。let!は毎回処理をされる。 てっきり、letは一回初期化されたら使いまわされるんだと思っていたけど、呼び出されたときは毎回初期化するようだ。 describe 'let_test' do let(:sample_1){ puts "****let****"; 'sample1'} let!(:sample_2){ puts "****let!****"; 'sample2'} before do puts "before---" end after do puts "after----" end it { sample_1.should eq 'sample1'} it { sample_1.should eq 'sample1'} it { sample_2.should eq 'sample2'

    letとlet!の違いがわからない - すがブロ
  • Rails のモデル関係と to_json(to_xml) - すがブロ

    関係を持ったテーブルと出力方法について Rails初心者にありがちなメモをするよ。 ちなみに、環境は Ruby1.9.2 と Rails3 です。 テーブル間のリレーションについて ユーザ情報テーブルと、ユーザが持ってる所持品のテーブル的なものがあるとして。 面倒なのでスゲー適当だけど以下のような定義で作った。 rails g scaffold user name:string item_id:integer rails g scaffold item name:string item_id は items テーブルの id が入るってことね。 users name:string item_id:integer items name:string これで、ユーザはitem_idに items テーブルのidを一つもつ感じ。 model に関連をつける いわゆる has_many とか ha

    Rails のモデル関係と to_json(to_xml) - すがブロ
  • 久しぶりに Rails 触ったらエラーでコケた - まさにっき(コードで世界を変えたい人の記録)

    Rails でちょっとアプリ作ろうかなと思いたった で、だいぶ触ってなかったので最新バージョンにしてからやろうと思ったわけです。 rails 自身は sudo gem update rails でアップデートできた(ちなみに、2.3.5)。 まずプログジェクトを作る rails -d mysql sample で、作成されたら sample ディレクトリに移動してから script/server をやったところ・・・ % ./script/server /opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:827:in `report_activate_error': RubyGem version error: rack(1.0.0 not ~> 1.0.1) (Gem::LoadError) from /opt/local/lib/ruby/sit

    久しぶりに Rails 触ったらエラーでコケた - まさにっき(コードで世界を変えたい人の記録)