Ruby

いろいろ、カレンダーUIをつくってた

最近、カレンダーを作ってみる機会が多かったのでまとめる (見た目だけ) javascript と CSS でカレンダー (React + styled-components + CSS Grid) terrierscript さんの例に、祝日を足しました 元のソースは、こちら CSS Grid の存在をはじめて知る LINE Bo…

Go の Interface

ダックタイピング Go言語にはインタフェースがある。 明示的に実装しなくてもインタフェースが定義するメソッドをすべて実装していれば、そのインタフェースを実装していることになる(ダックタイピング)。 Go言語における埋め込みによるインタフェースの部…

Go を触ってみてる

なんとなく気になったのでやってみてる できたもの トランプのデッキ作って、シャッフルして、結果をファイルに保存するやつ github.com Go をはじめて触った 慣れている Ruby 版もかいた (OO とのアプローチの違い学ぶ) まだ慣れないけど、ちょっとずつや…

スクレイピングあるある

もんだい ↑のようなDOMから、開始時間, 終了時間を抜き出すとします。 しかしながら、ちゃんと対応していないと1つの行だけ失敗してしまうようなことが稀に よくあります。なにかわかりますか??(ぱっと見てわかったらあなたは超上級スクレイパーです。)…

∞ 〜 INFINITY 〜 ∞

無限大を表す Float::INFINITY 2.5.0 (main)> Float::INFINITY => Infinity 2.5.0 (main)> 1.0/0.0 => Infinity 2.5.0 (main)> Float::INFINITY == 1.0/0.0 => true たとえば、 1,000 円までが安い。以上が高いみたいなのを表現したいときいいのかな? 2.5.0…

特定のラベルのついたPRを拾ってくる

使い所 "レビュー中" のPRをリマインドする まとめて複数PRをリリースするときの、PR一覧を知りたい (ラベル運用必須だけど) などなど API v3 #! /usr/bin/env ruby require 'rake' require 'octokit' GITHUB_TOKEN = 'personal access token' REPO = 'owner…

上京して、使ってるいるアプリ(ガジェット)と簡易スクリプト達。

この記事はIwate Developers Advent Calendar 2014の7日目の記事です。 <a href="http://qiita.com/advent-calendar/2014/iwate-dev">Iwate Developers Advent Calendar 2014 - Qiita</a> はじめに 今年の春に岩手から上京しました。 まいどどうも、なかじまです。 今回は、上京して役に立ってる?アプリと、スクリプト達を…

名言を使いたい。

大好きなWebサービスの1つに http://meigen.o-bit.biz/ という名言を共有するサービスがあります。 このサイトには素晴らしい名言がたくさんあって いつもエネルギーをもらっています。 中身のコンテンツを使わしてもらいたいなーと思ったんだけど、 APIと…

Rubyで複数の配列を同時に処理する方法

あんまり機会は多くないけど、 今までこんな感じに書いてた。 ary1 = %w(hoge fuga foo baz) ary2 = %w(user_1 user_2 user_3 user_4 user_4) i = 0 loop do break if i == ary1.size p ary1[i] p ary2[i] i += 1 end 配列の配列を作成(Array#zip)してからea…

Ruby, Railsのドキュメント・コードをみる方法

Ruby のコードはCだからちょっと難しいけど、 Rails(ActiveSupport)とかのコードの実装(Ruby)をみると とても勉強になります。 んで、pry を使うとすごく簡単に確認できることを知りました。 (pry は irb の強化版みたいなものです) $ gem install pry こ…

Ruby で !! のつかいどころ

日記です / Ruby Patterns - ✘╹◡╹✘ http://t.co/tWyrSRcQ0B— 中村氏 (@r7kamura) 2014, 1月 22 Rubyのいいパターンについて言及されていました。 なるほどなーと思ったので、自分用にもメモっときます。 [1] pry(main)> !!"hoge" (pry):1: warning: string l…

Railsのcontent_forが便利

Railsでページ毎にmetaタグのキーワードなどを変更したい時にcontent_forメソッド使うとすごく便利で簡単です。(OGPのメタタグの設定とか) OGPのメタタグの設定を例にやってみます。 OGPとは facebookとかでよく使われてるアレですね。 コンテンツページ(ペ…

多重代入使って変数の交換

a = "a" b = "b" a, b = b, a a # => "b" b # => "a" これで、tmpとかの変数いらない。 ちな 数字だったら、こんなやり方もある a = a + b b = a - b a = a - b

RSpecのテストコード例

FizzBuzzの例 require 'rubygems' require 'rspec' # ファイルを読み込む(定数の初期化) require './fizzbuzz' describe FizzBuzz do # テストする対象を明示する subject { FizzBuzz.new } # context でテストケースの状況を指定する context "与えられた数…

T or F

まず、rubyだと 「偽」になるのは nil と false だけ。 (PHPとかJSだと "" , " ", 0 , "0", null とかどれが「偽」扱いになるのかすぐ忘れる。) 判定メソッドのメモ(抜粋コピペ)。 nil? nilとfalseを判別したい場合などに、==演算子を使わずに書ける。 emp…

合計を計算するときとか

sum = 0 (1..10).each {|n| sum += n} puts sum # => 55 よくこんな感じのコードを書いてます。inject()を用いてこのようにかけるみたいです。 puts (1..10).inject(0) {|sum, n| sum + n} # => 55 ループでの計算結果を入れる変数が、ブロックの中で済んで…

githubでPull Request送られてきたら。

1コ前のエントリ。 ソーシャルコーディングこれを読んでくれた方がいて、さっそくPull Request を送ってくれました。 ありがとうございますm(__)m github の Pull Request に初挑戦。@whitech0c0 はじめまして、ブログ拝見しました。ソーシャルコーディング…

ソーシャルコーディング

研究室のゼミで司会者を決めるときに時間がかかるので、ルーレットを作りました。名前の入った配列を与えると、点数付きのハッシュにして返して1番ポイントの低い人が表示されるというものです。Rubyでササッとつくったので、いろいろ問題があります。 (同…

Rails4やってみた。

Rails4.0がリリースされたので、いろいろやってみました。 もちろん、Ruby2.0も。 環境構築やらは Ruby2.0, Rails4.0 beta1のインストール を参考に。3系からの変更点、改良点 Finderメソッドの除去(all, whereを使いましょう) matchのルーティング設定が…

自宅にて合宿。

3連休の後半2日間に自宅にて後輩と合宿しました。それぞれの目標 後輩:twitter認証の掲示板 自分:twitter認証の簡易勤怠管理(デプロイまで)でもまぁいろいろハマりました。。まず、環境構築。。 今回は後輩と共にRails(MySQL)の環境構築からです。。 …

就活の時期だし...アルゴリズム復習してみようかな←

もしデザ @ 慶應SFC • 2011/7/8 • #moshideza • Part 1 1年前にこの動画を見てヤル気だしたの思い出してもっかい見てみた。 (ちなみにpart6まである)本場の人の話を聞くのはとてもおもしろい。 かつモチベーションがあがる!もっかい見てみて今の自分の状…

文字列の頻度分析する

単一換字暗号の課題がでたので とりあえず、アルファベット文字を頻度分析してみる。rubyで。 def char_frequency(str) table = Hash.new(0) str.scan(/./m){|ch| table[ch] += 1 } table.to_a.sort_by{|char, count| -count} end 文字列が小さい小さい場合…

テキスト型をTime型に変換して整形する

ruby , rails で DBとかAPIからjson形式などで取得したデータ(テキスト型)を 変換して日付データに整形する方法をメモっとく。まず 例: strftimeメソッドの使い方 <% @current = Time.now %> <%= @current.strftime('%Y年%m月%d日 %H:%M:%S') %> 出力結果 2…