ruby

米がうまい

私は米が大好きです。特にツヤツヤ炊きたての米が大好きです。 ここ最近自炊していなかったのですが 魚沼産コシヒカリの新米を久しぶりに入手したので 土鍋で炊いてみたら予想通り美味かったのと 昨年、何かのニュース番組で米のランキングが紹介されており…

RE:「進捗・どう・です・か」

3連休終わって、明日もPHP書かないといけないと思うと、少し気が滅入ってきました。 「進捗・どう・です・か」をランダムに表示し「進捗どうですか」が完成したら煽ってくるプログラム | ぞうさんの何でもノート rubyで書いてみる 「進捗 どんな感じですか」…

「非Railsアプリケーションのマルチデータベース対応と高速化の取り組み」が面白かった

RubyWorld Conference 2015の動画を見ています。 18分ほどの短めのセッションでしたが、とても面白かったです。 MySQLにしか製品していなかった製品を大人の事情でPostgreSQLにも対応したというお話。 ORMとしてSequel を導入したがいろいろ問題があり、それ…

Ruby2.3.0 の新機能

Ruby 2.3.0 リリース まずはInstall $ brew update $ brew upgrade ruby-build $ RUBY_CONFIGURE_OPTS="--enable-shared --with-readline-dir=`brew --prefix readline` --with-openssl-dir=`brew --prefix openssl` --with-libyaml-dir=`brew --prefix liby…

git-stars というgemを作りました

rochefort/git-stars 経緯 普段からgithubでstarはよく付けるけど、見返すこともあまりなく もったいないと思っていました。 consoleアプリでなんか良いツールがないか探してみると JacksonGariety/galileo というのがあり 直近のstarsをカラフルに罫線付き…

mb_stringというgemを作りました

console applicationを作っていると、マルチバイトに対応した String#ljust, String#rjust, String#center が欲しくなるケースがちょいちょいあり、こないだ同じやつ書いたなぁということがあったので gem化しました。 rochefort/mb_string padding文字列も…

rubyのBundlerでgemの雛形作る際の注意事項

$ bundle gem mygem とすると、rubygemsの雛形が作れてとても捗るのですが 実行ファイルを配置する場所が、bin から exe に変更されていました。 spec.bindir = 'exe' spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } $ bundle --v…

upgrade ruby 2.2.3

webmockのvesionを上げたら、あんまり見たことないwaning(warning: private attribute?)が出るようになりました。 .rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/webmock-1.22.3/lib/webmock/request_body_diff.rb:20: warning: private attribute? .rb…

公開したGemを削除する方法

Cocoapods Core Teamからメールが来ていました。 pod search をGem化するから cocoapods-search のGem名を譲って欲しいとのこと。 名前譲ってくれ問題は、今後増えていくでしょうね。 Core Team からの依頼なので断れないし、むしろ公式のツールとして作成さ…

terminal-table-unicode という gemを作りました

consoleで表形式を表示するgemで tj/terminal-table というのがあり とても便利なのですが、マルチバイトに対応していなかったので、 rochefort/terminal-table-unicode という gemを作りました。 実装自体は、miaout17/hirb-unicode を参考にしています。 u…

Re: マルコフ連鎖で日本語をもっともらしく要約する

以前から気になっていたマルコフ連鎖をザリガニさんの記事を元に試してみました。 マルコフ連鎖で日本語をもっともらしく要約する - ザリガニが見ていた...。 マルコフ連鎖とは マルコフ連鎖を説明してみる。 | 分析のおはなし。 個人的にはこちらの図と確率…

Re: 1時間以内に解けなければプログラマ失格となってしまう5つの問題が話題に

1時間以内に解けなければプログラマ失格となってしまう5つの問題が話題に を解いてみた。 一応1時間以内にできたけど、あまり綺麗ではない。 問題1〜3は簡単なので省略。 問題4 正の整数のリストを与えられたとき、数を並び替えて可能な最大数を返す関数を記…

AWSのIPアドレスかどうかを調べるgemを作りました

またチンピラgemを作ってしまった。 rochefort/aws-ip Amazon Web Services ブログ: 【AWS発表】AWSのIPアドレスレンジをJSONで提供 というのが発表されたので、便利かもと思って勢いで作りました。実行ファイルもおまけ程度につけています。 ipaddress blue…

BIG DIGITS(CodeEval)

hatenaでは見にくいか。 CHALLENGE DESCRIPTION: In this challenge you're presented with a situation in which you need to output big symbols on devices which only support ASCII characters and single, fixed-width fonts. To do this you're going…

DELTA TIME(CodeEval)

CHALLENGE DESCRIPTION: You are given the pairs of time values. The values are in the HH:MM:SS format with leading zeros. Your task is to find out the time difference between the pairs. INPUT SAMPLE: 14:01:57 12:47:11 13:09:42 22:16:15 08:0…

Roller Coaster(CodeEval)

CHALLENGE DESCRIPTION: You are given a text. Your job is to write a program to set the case of text characters based on the following: First letter of the line should be upper case. Next letter should be lower case. Next letter should be u…

Nice angles(CodeEval)

CHALLENGE DESCRIPTION: Write a program that outputs the value of angle, reducing its fractional part to minutes and seconds. INPUT SAMPLE: Write a program that outputs the value of angle, reducing its fractional part to minutes and seconds…

READ MORE(CodeEval)

すごい久しぶりにcodeeval。 CHALLENGE DESCRIPTION: You are given a text. Write a program which outputs its lines according to the following rules: 1. If line length is ≤ 55 characters, print it without any changes. 2. If the line length is …

gsubよりtr の方が早い

railsのcommitに use tr instead of gsub when possible · 56d26d1 · rails/rails というのがありました。 そういえば私もtrあんまり使わずにgsubで書いている気がします。 どんぐらい早いかbenchmarkをとってみると require 'benchmark/ips' str = 'aaaaa_a…

git-trendを修正しました(v1.0.3)

rochefort/git-trend デフォルトでdescriptionを表示させるように修正しています。 別にたいした修正ではないのですが、ふとforkをみると 前からforkされているのは知っていたのですが、なんかしこしこコミットされているようでした。 sheharyarn/github-tre…

RACING CHARS(CodeEval)

CHALLENGE DESCRIPTION: In this challenge you will be given a file where each line is a section of a race track with obstructions, gates and checkpoints. The goal is to find a way of passing this track, using the following rules: Each secti…

rbenv-default-gems が便利

ginza.rb に参加したときに、ちょろっと紹介されていた rbenv-default-gems が便利でよいです。 setup自体は話聞いたときに即installしていたのですが、恩恵を今ruby2.1.3 install入れながら受けています。 機能としては、新しくrubyをinstallする際にお決ま…

Rubyによるクローラー開発技法 読了

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例作者: るびきち,佐々木拓郎出版社/メーカー: SBクリエイティブ発売日: 2014/08/25メディア: 大型本この商品を含むブログ (1件) を見る を読みました。 発売時はえらいニッチな本が出るもんだ…

vimでrubocopするにはsyntasticが便利

普段、大体atom使っていますが、たまにvimが恋しくなります。最近rubocopを使っていて 、vimでも使いたくなったので調べてみました。 結論から syntastic を使うのがよいです パッケージ管理でinstall。 私はvimのパッケージ管理にvundleを使っているので以…

RubyでiCalの作成とGoogleCalendarでの公開

試合日程 - 長友 佑都 - 海外サッカー - サッカー - SANSPO.COM を見ていてgoogle calendarに突っ込めたら便利だなと思ったのでRubyで作ってみました。 リーグ戦しか無いので、データソースとしては今一ですが、カッとなって作ってしまいました。 多分データ…

THE MAJOR ELEMENT(CodeEval)

CHALLENGE DESCRIPTION: The major element in a sequence with the length of L is the element which appears in a sequence more than L/2 times. The challenge is to find that element in a sequence. INPUT SAMPLE: Your program should accept as it…

SPLIT THE NUMBER(CodeEval)

CHALLENGE DESCRIPTION: You are given a number N and a pattern. The pattern consists of lowercase latin letters and one operation "+" or "-". The challenge is to split the number and evaluate it according to this pattern e.g. 1232 ab+cd -> …

COMPRESSED SEQUENCE(CodeEval)

美しくない。 CHALLENGE DESCRIPTION: Assume that someone dictates you a sequence of numbers and you need to write it down. For brevity, he dictates it as follows: first says the number of consecutive identical numbers and then says the numb…

ROAD TRIP(CodeEval)

CHALLENGE DESCRIPTION: You've decided to make a road trip across the country in a straight line. You have chosen the direction you'd like to travel and made a list of cities in that direction that have gas stations to stop at and fill up y…

HIDDEN DIGITS(CodeEval)

CHALLENGE DESCRIPTION: In this challenge you're given a random string containing hidden and visible digits. The digits are hidden behind lower case latin letters as follows: 0 is behind 'a', 1 is behind ' b ' etc., 9 is behind 'j'. Any oth…