.logbook

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

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

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

Ubuntu14.04LTSにDockerをインストールする

すっかり話題となっているDockerをそろそろ使ってみようと思う。 我が家には複数のPCがあり、Virtual Box上でUbuntuを動かしていたり、GRUB2でWindowsと共存させていたりと環境がばらばらである。このためPC毎に開発環境を構築することに飽き飽きしていた。 …

Let's noteにインストールしたUbuntu14.04でホイールパッドによるスクロール

中古で購入したLet's note N10にUbuntuをインストールしたら、ホイールパッドによるスクロールができず、不自由していた。調べたところ簡単に有効化できたので、備忘録として記録しておく。 参考記事 以下の記事で動画付きで解説されている Let’s Noteホイー…

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

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

Atom安定版1.0はC言語のコーディングに使えるか?

つい先日、Atomの安定版1.0が公開された。 GitHub、Atomテキスト・エディタの安定版1.0をリリース―月間アクティブ・ユーザーは35万人 | TechCrunch Japanjp.techcrunch.com 筆者は普段C言語やRubyのソースをコーディングする際、Vimを使っている。これまでも…

Raspberry Piにて無線LAN接続が切れる件の対処

Raspberry Piに無線LANアダプタを差し込み、ワイヤレスの状態でいろいろ遊んでいるものの、半日も放置すると無線LAN接続が切れてしまうという問題があった。 ググってもなかなか解決できず、諦めかけていたが下記記事で紹介されているツールを使うことで、切…

Raspberry Piにて無線LANアダプタを使う場合にIPアドレスを固定化する

備忘録として記録する。 Raspberry Piに無線LANアダプタを設置し、無線接続している。デフォルトはDACPであるがこれではIPが動的に変化して不便である。 このため、IPアドレスを固定化することにした。 interfacesを編集する 以下のコマンドにてinterfacesを…

rspec3でハマった

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

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

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

mruby-mqttを使ってクリーン・セッション(Clean Session)を試す

以前の記事*1*2にてMQTTブローカ、クライアントを作成し、動作確認を実施した。本記事ではこれらを使用してMQTTのクリーン・セッションの動作を確認する過程を記録する。 クリーン・セッションとは MQTTにおけるクリーン・セッションの仕様はIBMのサイト内に…

MQTTのパケットをWiresharkでキャプチャする

MQTTのパケットをWiresharkでキャプチャする方法をまとめる。本記事の動作確認はWindows上で実施した。 問題点 Wireshark1.12.4はMQTTに対応しているように見える。*1しかし、実際にはMQTTのパケットをキャプチャしてもTCPのパケットであるかのように表示さ…

mruby-mqttを使ってMQTTクライアントを作成する

MQTTによる通信 MQTTクライアントを作成する前に、MQTTでは複数のクライアントがどのように通信を行うか理解する必要があります。 MQTTによる通信では「MQTTブローカ」と呼ばれるサーバが必要です。MQTTブローカが複数のクライアントと接続し、クライアント…

RaspberryPi上でMQTTサーバを起動する

MQTTとは 以下の記事がわかりやすい MQTTについてのまとめ — そこはかとなく書くよん。 MQTTの仕様に則り情報を送受信するためにはMQTTサーバ(Broker)が必要らしい。 丁度手元にRaspberryPiがあるので、この実機上にBrokerをインストールし起動させることに…

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 実はこのプラグイン、勢いで作ったこともあってテスト…

LinuxのVimでクリップボードへのコピーを実現する

Vim

UbuntuまたはXubuntuでインストールしたVimは"+レジスタを利用したクリップボードのコピーができなかった。次の記事を参考にすると、実現できた。 UbuntuにインストールしたVimでクリップボード共有する方法 | MBA-HACK Vimのバージョン情報を確認 Vimを起動…

mrubyにおけるmrbgemsの設定方法

mrubyは軽量に動作することを前提としたVMであるため、Rubyのように機能が豊富ではない。また、requireで動的にモジュールを読み込むこともできない。従って機能を追加するためには、追加機能のソースを入手し一緒にビルドしておく必要がある。 機能を追加す…

Vimのレジスタをまとめる

Vim

本記事はVimのレジスタに関する情報を備忘録としてまとめたものである。 レジスタとは Vimにおけるレジスタとはヤンク、削除した文字列を記憶しておく引き出しのようなものである。 例えば、「ヤンクした文字列をaレジスタへ格納する」といった具合に、特定…

Windowsで使えるMarkdown エディタを探した

メジャーなものが現れないMarkdownエディタ 本ブログもそうだが、GithubのREADMEなどMarkdownで文章を書くことが増えている。Markdownで文章を書くときはエディタを使うのだが、Markdownに特化した「Markdownエディタ」を使うと便利だ。しかし、特にWindows…

清く正しい本棚を作ってみた まとめ

あるサイト&書籍に影響され、いわゆる「清く正しい本棚」を自宅でDIYした。製作の過程をいくつかの記事に分割して投稿したので、まとめる。 これらの記事が、本棚を作成する全ての人に役立つことを祈っている。 清く正しい本棚を作ってみた(1) 準備編 - .lo…

mrubyデバッガ(mrdb)の設定可能なブレイクポイント数を増やす

先日mrubyデバッガ(mrdb)に関する記事を書いたところ、そこそこ評判が良かったので、もう少し実用的な話題について書きます。 ETロボコン2015の準備。mrubyの開発環境を知る - .logbook mrubyデバッガ(mrdb)を使ってみる - .logbook 突然ですが、mrdbのブレ…

清く正しい本棚を作ってみた(4) 設置編

DIY

清く正しい本棚を作ってみた(3) 塗装編 - .logbookから随分時間が経ってしまったが、水研ぎ~裏板の取り付け、設置作業をまとめる。 水研ぎ 塗装が終わったら、水研ぎをして表面をなめらかにする。水研ぎにはホームセンターで購入した耐水ペーパー(2000番)を…

Windowsでgvimを使う(neobundleのインストール)

Vim

Windows上でgvimを使う手順を備忘録まとめる。Windowsに依存する箇所以外は、Linux, Macでも同様の手順で問題ないはず。(未確認) neobundleのインストール、カラースキーマの設定、vimrcの作成までを対象とする。 gvimのインストール ダウンロード Windows向…

2014年の振り返り

年末年始はバタバタしており、まとめる暇がなかったため、今更ながら2014年の振り返りをする。 やったこと 結構あるのでジャンル分けして挙げてみた。 mrubyに関すること Ruby東京プレゼンテーションに参戦した mrubyデバッガ(mrdb)開発に携わる Redmineのプ…

ETロボコンAdventCalendar2014を振り返る

12/1~25の期間中、ETロボコン Advent Calendar 2014 - Adventarを開催しました。 多くの方々が記事を執筆・公開してくださったおかげで、無事に1記事も欠かすことなく完走することができました。この場を借りて御礼申し上げます。 本記事ではAdvent Calenda…

mrubyデバッガ(mrdb)を使ってみる

mrubyデバッガ(mrdb)を使ってみる #etrobo

ETロボコン2015の準備。mrubyの開発環境を知る

これは、ETロボコン Advent Calendar 2014 - Adventarの 24日目のエントリーに備えた、補足記事です。 mrubyをよく知らない人向けに、mrubyのソフトウェア構成・開発環境についてまとめます。 mrubyのソフトウェア構成 mrubyの内部構造は、おおまかに以下の…

三色ボールペンで読むETロボコン競技規約

これは、ETロボコン Advent Calendar 2014 - Adventarの 17日目のエントリーです。 ETロボコンの競技規約を読むときに三色ボールペンを使うことのメリットをまとめます。 競技規約を正しく理解するために三色ボールペンを使う ETロボコンの競技規約は年々複…

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

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

ETロボコンで使うAPIをモック化してみた

これは、ETロボコン Advent Calendar 2014 - Adventarの 14日目のエントリーです。 本カレンダー初の2日連続投稿となってしまいました。 やはり、前回の記事の続編となります。 作ってみた 前回の記事で書いた通り、PCMockに付属するRubyスクリプトを使うとM…