旧gaaamiiのブログ

間違ったことを書いている時があります。コメントやTwitter、ブコメなどでご指摘ください

Ruby

「平成Ruby会議 01」を見に行った

同僚の id:atomiyama さんがRustでgemを書く話をするそうで面白そうだったので行ってきました。 heiseirb.github.io 各セッションの感想など RubyでJVMを実装してみる speakerdeck.com なるほどわからない #heiseirubykaigiB— gaaamii (@gaaamii) 2019年12月…

RubyWorld Conference 2018 参加記(2日目)

shgam.hatenadiary.jp 1日目に続き、2日目も参加しました。 Chad Fowler氏の基調講演 Don't Stop Moving エンジニアのキャリアなどについての話でした。そういえばまだちゃんと情熱プログラマー(Chadさんの本)を読んだことなかったので読みたくなりました…

RubyWorld Conference 2018 参加記(1日目)

会社がスポンサーになったので、こちらに出席させていただいてます。 2018.rubyworld-conf.org 1日目のプログラムはまつもとゆきひろ氏の基調講演から始まり、Ruby Prizeの発表で終わりました。 Matz基調講演(The power of the community) Rubyの父、Matz…

wdim を対話型にした

ちょっと気持ちよくなった。単語増やしたい。 gyazo.com wdim | RubyGems.org | your community gem host

RubyのブロックとProcとlambdaとMethodについて

RubyのブロックとProcとlambdaとMethodについて書きたいけど自信がないです。容赦のないマサカリやツッコミをお願い致します。 ブロック ブロックははじめてRubyを触ったときから慣れ親しんでいるものです。 %w(:Yoshida, :Tanaka, :Suzuki).each do |name| …

Ruby技術者認定試験(Gold)落ちた

前からRuby触ってるし大丈夫だろうと思ってて、前日にちょろっとやって受かる予定だった。結果は56点だった。馬鹿だった。 ポイント 「Ruby技術者認定試験改訂のお知らせ」にある1.8->2.1の変更点 多言語化 リテラル キーワード引数 新しいラムダ式 Enumerab…

頭字語コマンドを展開するwdimというコマンドラインツールをgemとして公開しました

wdimという名前でgemを公開しました。ダブリューディムとかダブディムって読んでください。意味は What does it mean の略です。 wdim | RubyGems.org | your community gem host シェルでwdim ls と打つとlist segmentsが返ってきます。つまり、頭字語やら…

Ruby製のウェブサーバライブラリWebrickのソースコードを読む

そういや一年前、「ウェブサーバーのこと知りたい -> Rack読もう。」となって挫折した。少しずつ暖かくなって意識が高まってきたし、今やっている仕事がずいぶんと(すくなくともRailsアプリ書くのと比較すると)低レイヤーなところなので、良い感じの相乗効…

大江戸Ruby会議行ってきた

寝坊して体調も悪かったので午後から行ってきた。 東京駅の八重洲口からまっすぐ歩いてったら、途中で「Perlが〜Pythonが〜」という話をする人たちの集団がいたので付いていったら着きました。 いろいろ ライブコーディングのときとかに見えないので前に座っ…

【Ruby】接客と委譲

(さらに追記)不十分なところを指摘していただきました!ありがとうございます! nomnel.net (追記)オープンクラスの理解が間違っていたためタイトルを変更しました。今回あげている例はNoMethodErrorを起こさずに他のオブジェクトに処理を委譲する流れを…

railsコマンドを追う

Ruby on Railsというフレームワークを使うとrails new Hogeとかでアプリケーションのひな形ができちゃって、rails serverでサーバーが立ち上げられたりするわけですが、これは一体どうなってるんだというのを追っていけたらなと思います。誰にでもわかるよう…

【AOJ】花札シャッフル問題(Hanafuda Shuffle)

(ICPCというプログラミングコンテストではJavaかC++かCを使わないといけないので)サークルの方ではJavaでやっているんですが、普段はRubyで書いていきたいと思います。 パーフェクトRuby (PERFECT SERIES 6)作者:Rubyサポーターズ,すがわら まさのり,寺田 …

Rubyのirbでなんとなく「クラス」とか「メソッド」とかに触れる

追記:なんか後になって読み返してみたら、オブジェクト指向の説明として全く適切じゃないように思えてきました。ただ、プログラミング初めてみたけど何がなんだかよくわからんというレベルの人(この記事を書いた時の僕くらいの人)がRubyのクラスやらメソ…

Ruby on Railsでブログを作成するときに役立った情報まとめ

検索から来た人へ: ここに書かれている情報は古いので、最新の書籍やドキュメントを読むことを強くおすすめします。(最終更新日:2013/12/19)Ruby on RailsでちょっとしたCMSを作ろうとしていて、単純なブログ程度の機能はとりあえず作れました。ここらで使…

nokogiriを使ったスクレイピング入門

今回はnokogiriを使ったスクレイピングについて書きます。 スクレイピングとは ウェブスクレイピング(Web scraping)とは、ウェブサイトから情報を抽出するコンピュータソフトウェア技術のこと。 ウェブスクレイピング - Wikipediaより Webプログラミングや…

はじめてのRuby on Rails インストール(VagrantとCentOSとrbenvとRuby 2.0.0でRails 4.0の環境構築の手順)

流れ VagrantにCentOS入れる Vagrantは仮想環境にOSをぶっこんだりぶっこわしたりっていうのを簡単にできるツールです。 CentOSにrvm入れる Ruby2.0.0入れる Rails4.0.0を入れる VagrantにCentOS入れる 参考 » Vagrant入門 (全13回) - プログラミングならド…

【初心者向け】RubyとSinatra、アンテナサイトの作り方

(2014/12/29)チュートリアル動画を録画しました。こちらもどうぞ。 RubyとSinatraでアンテナサイトを作るチュートリアル - YouTube RubyとSinatraでアンテナサイト(WebサイトからRSS取得して表示するサイト)を作るチュートリアル的な記事を書いてみるこ…

【Sinatra】動的に追加した文字列からHTMLタグをエスケープする方法

またしても3つのはてブ、Sinatraについてです。先ほどサイトを確認したところ、なんだか気持ち悪いことになっていました。レイアウトが崩れ、DOM上には切れ目のよくわからないimgタグが...。原因はとっても簡単で、フィードの取得元のdescriptionにHTMLタグ…

RubyとSinatraではじめの一歩ということで「3つのはてブ」を作った&公開しています

Webサービス作るの難しすぎるよう...という弱音記事の投稿から早くも3週間ほどが経過しました。相変わらずスローペースなんですが、ちまちまとRubyとSinatraをいじりつつ、昨日にはこんなものを公開しました。3つのはてブ (現在は公開していません。) コ…

SinatraでTwitterログイン機能を実装する

Sinatraアプリを作る時にTwitterでログインする方法が書かれている記事はわりとすぐ見つかった。 sinatraでtwitterにsign inする Sinatra Recipes - Middleware - Twitter Authentication With Omniauth そのまんま写経して、ログインはできた!けどこのTwit…

【ドットインストール】”#11 掲示板アプリを作ってみよう”でわかってなかったところとActiveRecordのありがたみ

以前、2日前にドットインストールの「Sinatra入門」完了したけど今main.rb見直したらもう意味分からなかったと書きました。あれからちょっと勉強しなおして、もっかい動画観てます。Sinatra入門の"#11 掲示板アプリを作ってみよう"で、前回見たときはimport…

【Ruby】コードからコメント文だけを抜き出してみる

なんとかWebアプリを作るため、ペアプログラミング的な感じでRubyを教わっています。作りながら学ぶRuby入門 第2版を進めながら、参考書のサンプルコードのコメント文は実装の手順みたいになっているので、コメント文だけを残して自分で書く。わからなければ…

Bundlerってなに?

よく使いそうなのでメモ。Rubyの便利なライブラリパッケージであるgemですが、それを扱うのにほぼ必須っぽいのがBundlerだそうです。こちらの記事が参考になりました。 橋本商会 » Ruby書くならBundler使え 開発環境とデプロイ環境で完全に同じバージョンのg…

【Ruby】文字列を文字に分解して配列につっこむにはsplitメソッドを使うらしい

前期の授業で、「文字列探索のアルゴリズムがどうのこうの」っていうのをやりました。 Rubyで文字列探索アルゴリズムの実装(をやりたい) 授業としてはレポート課題を来週までに出せば良いだけで、コード書けとかいう課題はありません。が、せっかくプログラ…

【Ruby】セッターとゲッターを自前で書かなくてもアクセサーメソッドで属性にアクセスできる

隣のテーブルの女子大生の会話(イケメンの見定め方について)を聞きながら作りながら学ぶRuby入門 第2版を進めています。クラスを作って、インスタンスを作る。 そんで、 インスタンス.年齢 みたいな感じでインスタンスの持ってる属性(今回だとnameとage)…

「作りながら学ぶRuby入門 第2版」を買ってしまった

お金が無いのでできるだけ図書館で借りようとしてるんだけど、久しぶりに技術書を衝動買いしてしまった。作りながら学ぶRuby入門 第2版作者:久保秋 真ソフトバンククリエイティブAmazonこの本ではRailsもSinatraも使わずにちゃんとゼロからWebアプリのコード…

Rubyでクラスの継承(inheritance)

基本からちまちまとやっていこう。 Codecademyのレッスン中ではRubyのクラス継承がこんなコードで説明されている。 class ApplicationError def display_error puts "Error! Error!" end end class SuperBadError < ApplicationError end err = SuperBadErro…

2日前にドットインストールの「Sinatra入門」完了したけど今main.rb見直したらもう意味分からなかった

頭悪すぎる死にたい。 # gemを読み込む # gem == ライブラリって認識で良いのかな? # requireとincludeの違いがなんかわからん require 'sinatra' require 'sinatra/reloader' require 'active_record' # ActiveRecordとDBを接続 # ::ってなんなの? Active…

Rubyで"invalid multibyte char (US-ASCII)"とか出てきた

これまたメモ。Ruby1.9のエンコーディングはデフォルトがASCIIなので、UTF-8にしとかないとエラーが出るみたいです。これをスクリプトの最初の行に記述しましょう。 # encoding: utf-8 ちなみに、Ruby2.0以降はデフォルトがUTF-8になったのでこの、マジック…

RubyのARGV配列が上手くいかないのは勘違いだった

Rubyでは、コマンドラインからデータを受け取る方法としてARGVという配列を使うようです。ちょっとバカっぽい勘違いをしたのでメモ。参考書通りにこういうの書いて、 (print_argv.rb) print "first: ", ARGV[0], "\n" print "second: ", ARGV[1], "\n" print…