.logbook

学んだことを書き綴る、言わば航海日誌です。

Ruby

RubyKaigi 2023 に現地参加してきました

2023年5月11日〜13日に長野県松本市で開催された RubyKaigi 2023 に参加しました。自分にとって RubyKaigi 2019 以来、4年ぶりのRubyKaigiの現地参加で、想像以上に楽しくそしてモチベーションを高められた3日間でした。

フィヨルドブートキャンプのメンターをはじめました

このブログではお久しぶりです。 4月下旬からフィヨルドブートキャンプのメンターをはじめました。 2週間ほど活動してみて、自分の中で「楽しい活動」になりつつあるので感想を書き綴ろうと思います。 フィヨルドブートキャンプとは いわゆるオンラインプロ…

Ruby on Railsを使ったOSSを読む(thredded)

Ruby on Railsを使ったOSSをコードリーディングする。 今回は、機能豊富かつシンプルなフォーラムシステムであるThreddedを題材とした。 github.com 全体のアーキテクチャ 清く正しいRailsアプリケーションといったイメージ。 モダンなJSフレームワークは使…

Fedoraをインストールして実施したこと

開発用PCのOSとして長らくUbuntuをメインで使用してきたが、より使いやすい環境を求めてFedoraへ切り替えることにした。 OSのインストールはそうそうない機会なので、行った環境構築の内容をメモする。 更新 まずはここから。Fedoraはapt-getではなくyumであ…

Ruby on Rails チュートリアル 第1章でハマったところ

railsコマンド実行時、「誤ったインタプリタです: そのようなファイルやディレクトリはありません」と表示される 一度apt-getによりrubyをインストールした後、アンインストールし、その後rbenvにてrubyをインストールしたため発生した模様。 再度gemのイン…

はじめてDockerfileを書いてみた(ruby開発環境構築)

前回の記事にてひとまずdockerをインストールし、Docker HubのDockerイメージを取得・起動することができた。 今回は自分自身でオリジナルのDockerイメージを作成することとした。ruby開発環境の構築を想定して、Dockerfileを作成してみた。 作業は以下の記…

Ruby on Rails上で動作するCMS LocomotiveCMSをインストールしてみた

Ruby on Railsの入門教材のサンプルとしてしばしばブログシステムが取り上げられているにも関わらず、WordPressばりの知名度を誇るCMSがRuby界隈には登場していない。が、唯一挙げるとするならばLocomotiveCMSというものがそれに相当するらしい。 Locomotive…

rspec3でハマった

昨年作成したソースを久々に修正し、rpsecによるテストを実行したところどういうわけか修正箇所とは無関係なエラーが多発した。 どうやら昨年時点ではrspec2.x.xを使用しており、rspecのバージョンが3.x.xに上がったことでテストコードが正しく動作しなくな…

デジカメ写真を日付別にフォルダ分けするRubyスクリプトを作成してみた

我が家ではデジカメやスマホで撮影した写真をNASに保存し、PCやスマホから閲覧可能にしている。フォルダは日付別に分けて整理しているが、数カ月分の写真をまとめて吸い出すことも多く、手動での整理に限界が来つつあった。 大抵のファイルシステムであれば…

bundle installにてrmagickのインストールに失敗

Redmine3.0.0をインストールしようと「bundle install」を実行すると失敗した。 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. /home/user/.rbenv/versions/2.1.1/bin/ruby extconf.rb checking for Ruby version >= 1.8.5... yes ch…

Redmineのプラグインをrspecでテストする

近づくRedmine3.0と、混沌としたソースコード 筆者は個人的に作成したRedmineのプラグインをgithubで公開している。Redmine上でニコニコカレンダーを実現するプラグインである。 yuuu/redmine_nikoca_re 実はこのプラグイン、勢いで作ったこともあってテスト…

ETロボコン関西連合BOTを作った話

これは、ETロボコン Advent Calendar 2014 - Adventarの 16日目のエントリーです。 昨日はAtsushi (@Atsushi4) | Twitterさんによるインターフェースクラスと抽象クラスのお話でした。いつもありがとうございます。 本日書く記事は実装の話でもモデルの話で…

メンバーのコメントへレスポンスを返せるRedmine 2.0対応のニコカレプラグインを作ってみた

yuuu/redmine_nikoca_re · GitHub Redmine 2.0対応のニコカレプラグインを作ってみた。 ニコカレとは Redmineでよく使うプラグインの一つにニコカレプラグインがある。 ニコカレとはアジャイルなプラクティスの一つである。*1 使い方は非常に簡単で、プロジ…

Redmineプラグイン開発でモデルへカラムを追加する方法

Redmineプラグインはrailsで動作しているが、MVCを生成するrailsジェネレータはplugin用のものを使用するようだ。このため、新規作成・削除といった基本的な操作はできるものの、変則的な操作は対応していなさそう。 代表例として一度作成したテーブルへカラ…

Redmine上で動作するニコカレプラグインを作る(1) 準備編

Redmineを使ってタスクや工数を記録・管理するのが当たり前となっている昨今、プラグインを作成することにした。 しかし、作成方法をググってみたところRedmineのプラグインに関しては情報が少ないように思えた。このため、数少ないサイトの情報やRedmine自…

cannot load such file -- bundler/setup (LoadError)を解消

rbenvでインストールしたrubyではなく、システムにインストールしたruby上のgemを使ってbundlerをインストールしていたことが原因だった。 下記コマンドを実行することでrbenvのruby上のgemを使ってbundlerをインストールすることで解消できた。 $ rbenv exe…

RedmineのプラグインをUbuntu(Xubuntu)上で開発する~ハマったことと解決法~

プラグイン開発ガイド - r-labs 上記をベースに開発を進める中で、発生した問題と解決方法をまとめる。 pluginをmigrateするとエラーが発生(1) 下記のようなエラーが発生した。 $ rake -v rake aborted! Gem::LoadError: You have already activated rake 10…

RedmineのプラグインをUbuntu(Xubuntu)上で開発するための環境構築

はじめに 作りたいものがあって、Redmineプラグイン開発をやってみたいと思う。 家ではXubuntuを使っているので、Xubuntu上にRedmine&プラグイン開発環境をインストールする。 インストール手順は下記を参照。 Redmineのインストール — Redmine Guide 日本…

Rubyコードを書くためのVimプラグイン整備

Rubyのコードを書くために必要なプラグインをインストールした。 基本的にNeoBundeleを使ってインストールする。 NeoBundleなど、Ruby以外でも共通的に使用できる環境は下記にて構築。 普段使いエディタをVimにする - .logbook C言語のソースコードを解析す…

rbenvにて構築したRuby環境へRspecをインストール

rbenvへ構築したRuby環境(1.9.3-p484)へRSpecをインストールした。 $ gem install rspec $ spec -v zsh: command not found: spec なぜかコマンドが認識されない。 RSpec 2.0.0よりコマンド名が変更となっている。 調べてみると、参考にしていた文献が古く、…

NETGEAR ReadyNAS Duo v2でRubyを動かす

Rubyで作ったプログラムを動作させる環境がなく困っていたので、自宅で使っているNAS上で動かせないか調査してみた。使用しているNASは「NETGEAR ReadyNAS Duo v2」である。 SSHログイン 「NETGEAR ReadyNAS Duo v2」はDebianが動いているNASらしく、アドイ…

RubyでTwitter botを作る準備

RubyでTwitter botを作りたくなったので、作り方を調べてみた。 アカウントの準備 下記のSTEP1~3を参考とした。 RubyでTwitterBotを作ってみた(5 STEP) - himajin315の記録 まずTwitterへアクセスし、bot用のアカウントを取得する。既にアカウントを持っ…

Rubyでブラウザを操作する!Watirを使ったブラウザ操作の自動化

仕事や普段の作業で、ブラウザを操作する作業がめんどくさいと感じていた。 ブラウザ経由での勤怠情報入力 特定のサイトにアクセスしてのファイルアップロード これを自動化することができないか?と調査していたところ、Rubyでプログラムを記述してブラウザ…

Ubuntu13.10にrbenv+ruby-buildをインストール

はじめに 最近Rubyの勉強を始めたいと思い、環境構築を試みた。 Windows上でも開発環境の構築が可能ではあるが、Linux環境の方が容易かつ文字コードでハマらずに済みそうだったので、Ubuntu13.10上に環境を構築する。 また、最近はRubyのバージョンを管理&…