<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Ruby on dyama&#39;s page</title>
		<link>https://dyama.org/tag/ruby/</link>
		<description>Recent content in Ruby on dyama&#39;s page</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Wed, 10 Mar 2021 23:44:00 +0900</lastBuildDate>
		
			<atom:link href="https://dyama.org/tag/ruby/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Rails on Lightsail 環境構築メモ</title>
				<link>https://dyama.org/2021/03/6729/</link>
				<pubDate>Wed, 10 Mar 2021 23:44:00 +0900</pubDate>
				<guid>https://dyama.org/2021/03/6729/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://dyama.org/wp-content/uploads/2021/04/eyecatch_rails.jpg&#34; alt=&#34;&#34; class=&#34;img-center&#34; loading=&#34;lazy&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Amazon Lightsail で Rails on Ruby の環境を構築するための自分用メモです。&lt;/p&gt;&#xA;&lt;h2 id=&#34;環境&#34;&gt;環境&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Amazon Lightsail (AWS)&lt;/li&gt;&#xA;&lt;li&gt;Debian GNU/LInux 10.8 x86_64&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;手順&#34;&gt;手順&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# OS に必要なライブラリを入れる。&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt upgrade&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install autoconf bison build-essential libssl-dev \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  libffi-dev libgdbm-dev libsqlite3-dev git sqlite3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# 2021-05-18 追記: https://hackmd.io/@mametter/mimemagic-info-ja&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install shared-mime-info&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# ここからユーザーセッション&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# rbenv の導入&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/rbenv/rbenv.git ~/.rbenv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo &amp;#39;export PATH=&amp;#34;$HOME/.rbenv/bin:$PATH&amp;#34;&amp;#39; &amp;gt;&amp;gt; ~/.bashrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo &amp;#39;eval &amp;#34;$(rbenv init -)&amp;#34;&amp;#39; &amp;gt;&amp;gt; ~/.bashrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;source ~/.bashrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# ruby-build の導入&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/rbenv/ruby-build.git \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ~/.rbenv/plugins/ruby-build&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# rbenv に Ruby 2.6 の導入&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rbenv install 2.6.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rbenv global 2.6.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# which ruby&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# ruby -v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Ruby 2.6 配下の gem を設定&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo &amp;#34;gem: --no-document&amp;#34; &amp;gt; ~/.gemrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gem install bundler&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gem env home&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# gem search &amp;#39;^rails$&amp;#39; --all&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gem install rails -v 5.2.4.5&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gem install sqlite3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rbenv rehash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Rails アプリの作成、実行&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rails -v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rails new testapp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd testapp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo &amp;#34;gem &amp;#39;mini_racer&amp;#39;&amp;#34; &amp;gt;&amp;gt; Gemfile &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bundle install&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rails s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;telnet&lt;/code&gt; するなり、トンネルを掘るなりして、3000 番にアクセスして確認。&lt;/p&gt;</description>
			</item>
			<item>
				<title>変数値を範囲内に丸める</title>
				<link>https://dyama.org/2019/10/5799/</link>
				<pubDate>Thu, 17 Oct 2019 23:28:44 +0900</pubDate>
				<guid>https://dyama.org/2019/10/5799/</guid>
				<description>&lt;p&gt;整数値を持つ変数 x を min 〜 max で定義される範囲内に丸めたいというお話。&lt;/p&gt;&#xA;&lt;p&gt;素直な書くと次のようになると思います。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;## snip, ただし mim &amp;lt;= max の時。&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;if x &amp;lt; min&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  x = min&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;elsif x &amp;gt; max&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  x = max&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;end &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;でも、何だかつまらないので、次のようにしてみました。&lt;/p&gt;</description>
			</item>
			<item>
				<title>3/26メモ</title>
				<link>https://dyama.org/2017/03/3026/</link>
				<pubDate>Mon, 27 Mar 2017 01:10:14 +0900</pubDate>
				<guid>https://dyama.org/2017/03/3026/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://dyama.org/wp-content/uploads/2017/03/heroku-logo.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2 id=&#34;heroku&#34;&gt;heroku&lt;/h2&gt;&#xA;&lt;p&gt;わかりやすい。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://dotinstall.com/lessons/basic_heroku&#34;&gt;Heroku入門 (全12回) – プログラミングならドットインストール&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;heroku 上で Rails アプリが動くところまでざっと見てみました。てか、heroku の前にまともに Rails の勉強しなきゃ。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ruby と OpenCV でカメラを使う</title>
				<link>https://dyama.org/2017/01/2959/</link>
				<pubDate>Sat, 21 Jan 2017 23:59:57 +0900</pubDate>
				<guid>https://dyama.org/2017/01/2959/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://dyama.org/2017/01/2949/&#34;&gt;前回&lt;/a&gt;に引き続き、ruby-opencv でカメラデバイスをソースにしてリアルタイム検知をやってみたいと思います。&lt;/p&gt;&#xA;&lt;h1 id=&#34;使っているカメラ&#34;&gt;使っているカメラ&lt;/h1&gt;&#xA;&lt;p&gt;Microsoft 社製の USB 接続 HD ウェブカムです。エンドユーザ向けにしてはちょっと高めですが画質も良いです。LMDE2 では UVC で使えています。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ruby と OpenCV でチェッカーボード検知</title>
				<link>https://dyama.org/2017/01/2949/</link>
				<pubDate>Fri, 20 Jan 2017 23:59:52 +0900</pubDate>
				<guid>https://dyama.org/2017/01/2949/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://dyama.org/2017/01/2938/&#34;&gt;前日&lt;/a&gt;に引き続き、ruby-opencv でチェッカーボードを認識させてみたいと思います。チェッカーボードとは市松模様のパターンのことで、これを認識することにより映像中の3次元座標系(の行列)を確定させることができ、映像の上に3Dモデルをマッピングする第一歩となります。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ruby と OpenCV で顔認識</title>
				<link>https://dyama.org/2017/01/2938/</link>
				<pubDate>Thu, 19 Jan 2017 23:59:55 +0900</pubDate>
				<guid>https://dyama.org/2017/01/2938/</guid>
				<description>&lt;p&gt;去年の秋に組んだ新しいメインマシンは、MSI のB150M MORTAR ARCTIC (MS-7A45) という新しいマザボで、LMDE2 x64 を乗せて使おうとすると USB デバイスまわりが突然使用不能になったりして厄介でした。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Raspberry Pi 3 で mruby を動かす</title>
				<link>https://dyama.org/2016/07/2874/</link>
				<pubDate>Fri, 29 Jul 2016 09:25:31 +0900</pubDate>
				<guid>https://dyama.org/2016/07/2874/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://dyama.org/wp-content/uploads/2016/08/DSC_0193.jpg&#34; alt=&#34;&#34; class=&#34;img-center&#34; loading=&#34;lazy&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;DSC_0193&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;raspberry-pi-3-が届きました&#34;&gt;Raspberry Pi 3 が届きました！&lt;/h2&gt;&#xA;&lt;p&gt;発売より半年ほど出遅れましたが、ようやく &lt;a href=&#34;http://amzn.to/2aVITvi&#34;&gt;Raspberry Pi 3 Model B&lt;/a&gt; を購入したので、組み込み向け軽量 Ruby である &lt;a href=&#34;https://mruby.org/&#34;&gt;mruby&lt;/a&gt; を動かしていきたいと思います。&lt;/p&gt;&#xA;&lt;p&gt;RPi3 は 1.2GHz クアッドコア 64bit ARM と 1GB の RAM を搭載したコンピュータです。私が4年ほど前まで使っていたネットブック LaVie Light PC-BL300 が &lt;a href=&#34;http://ark.intel.com/ja/products/41411/Intel-Atom-Processor-N280-512K-Cache-1_66-GHz-667-MHz-FSB&#34;&gt;Intel Atom N280&lt;/a&gt; (1コア、1.66GHz) の 1GB RAM 構成でしたので、単純比較はできないものの35ドルで購入できるのはスゴいですね。&lt;/p&gt;</description>
			</item>
			<item>
				<title>マルコフ連鎖を使って文章の自動生成を行う</title>
				<link>https://dyama.org/2016/07/2868/</link>
				<pubDate>Wed, 27 Jul 2016 22:10:02 +0900</pubDate>
				<guid>https://dyama.org/2016/07/2868/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://dyama.org/wp-content/uploads/2016/07/cosmo.jpg&#34; alt=&#34;cosmo&#34; class=&#34;img-center&#34; loading=&#34;lazy&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;割と古典ですが、&lt;a href=&#34;https://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%82%B3%E3%83%95%E9%80%A3%E9%8E%96&#34;&gt;マルコフ連鎖&lt;/a&gt;の考え方を用いて、自動生成するスクリプトを書いてみました。入力した文章の単語同士の結合情報を重みづけをして「それっぽい文章」を生成してくれるやつです。以前からよく人工無能などでの実装で使われていますね。&lt;/p&gt;&#xA;&lt;p&gt;ソースとなる文章をわかち書きに分割する処理に形態素解析コマンドの Chasen を使用しています。スクリプト本体は、文字分割の N-gram ではなく、単語分割したものを入力しますので、わかち書きが出せれば MeCab でも kakashi でも似たような感じでいけると思います。&lt;/p&gt;</description>
			</item>
			<item>
				<title>括弧を省略したLispコードのプロセッサーを書いてみました。</title>
				<link>https://dyama.org/2016/06/2839/</link>
				<pubDate>Wed, 15 Jun 2016 20:00:37 +0900</pubDate>
				<guid>https://dyama.org/2016/06/2839/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://dyama.org/wp-content/uploads/2016/04/ruby.jpg&#34; alt=&#34;&#34; class=&#34;img-center&#34; loading=&#34;lazy&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;h1 id=&#34;supoo旧実装&#34;&gt;supoo(旧実装)&lt;/h1&gt;&#xA;&lt;p&gt;これまで業務でも趣味でも Lisp をガリガリ書くということはなく、せいぜい Emacs の設定ファイルを書くことにしか使ったことがありませんでした。 構文は非常にシンプルで、「これなら字句解析も構文解析も自分で書けそうだ。C と Lisp の勉強がてらやってみよう！」と思い立って書いたのが「&lt;a href=&#34;https://github.com/dyama/supoo/tree/master/src.old&#34;&gt;supoo&lt;/a&gt;」です。&lt;/p&gt;</description>
			</item>
			<item>
				<title>アスペクト比と面積から縦横の大きさを求めるRubyスクリプト</title>
				<link>https://dyama.org/2016/05/2786/</link>
				<pubDate>Thu, 26 May 2016 21:50:50 +0900</pubDate>
				<guid>https://dyama.org/2016/05/2786/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://dyama.org/wp-content/uploads/2016/05/Imagemagick-logo.png&#34;&gt;&lt;img src=&#34;https://dyama.org/wp-content/uploads/2016/05/Imagemagick-logo.png&#34; alt=&#34;Imagemagick-logo&#34; class=&#34;img-center&#34; loading=&#34;lazy&#34;&gt;&#xA;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.imagemagick.org/script/index.php&#34;&gt;ImageMagick&lt;/a&gt; の montage コマンドを使うと複数の画像をタイル状に並べて、1枚のサムネイル集合写真のような画像を作成することができます。スマートフォンの「カメラロール」のようなものです。&lt;/p&gt;</description>
			</item>
			<item>
				<title>最古の Ruby 実装をちょっとだけ覗いてみました</title>
				<link>https://dyama.org/2016/04/2580/</link>
				<pubDate>Mon, 04 Apr 2016 22:46:24 +0900</pubDate>
				<guid>https://dyama.org/2016/04/2580/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://dyama.org/wp-content/uploads/2016/04/ruby.jpg&#34; alt=&#34;&#34; class=&#34;img-center&#34; loading=&#34;lazy&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;職場で定期的にやることになった Ruby 勉強会の資料作りをしていて、ブロック構文を投げてメソッド側から述語を呼ぶコールバック機能はいつから設計されているのかな、と気になって調べていました。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Raspberry Pi と Ruby で「Lチカ」をやってみました</title>
				<link>https://dyama.org/2016/04/2570/</link>
				<pubDate>Sun, 03 Apr 2016 23:25:32 +0900</pubDate>
				<guid>https://dyama.org/2016/04/2570/</guid>
				<description>&lt;p&gt;ラズパイを何年も前に購入して Raspbian を入れて ssh できて、X も動いてふぅ…と、ひと落ちつきした後、全然触っていませんでした。&lt;/p&gt;&#xA;&lt;p&gt;せっかくラズパイを持っているんだからと思い立ち、ヤフオクで売っているキットを購入。子供の頃からやってみたかった電子工作に初挑戦です。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ruby (とHSP)によるライフゲーム</title>
				<link>https://dyama.org/2016/03/2565/</link>
				<pubDate>Tue, 01 Mar 2016 23:03:15 +0900</pubDate>
				<guid>https://dyama.org/2016/03/2565/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://dyama.org/wp-content/uploads/2016/03/lifegame.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;高校生の頃買った、奥村晴彦先生の「C言語による最新アルゴリズム辞典」で知ったライフゲーム。当時は C を覚えたばかりで、グラフィカルなソフトなんてほぼほぼ書けませんでした。 最新アルゴリズム辞典ではグラフィックを使わず端末上の文字で各セルを表現するものでしたが、どうせなら綺麗な見た目でやってみたいと思ってなつかしの HSP でちまちま書いてみていました。 そのキャプチャ動画を↓に載せています。&lt;/p&gt;</description>
			</item>
			<item>
				<title>mruby で有理数を扱う mruby-rational を書きました</title>
				<link>https://dyama.org/2015/12/2512/</link>
				<pubDate>Fri, 18 Dec 2015 23:03:48 +0900</pubDate>
				<guid>https://dyama.org/2015/12/2512/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://dyama.org/wp-content/uploads/mruby-logo.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;本家 CRuby の Rational クラスは、バージョン 1.9 から require せずに使えるようになっていますが、mruby では本体に組み込まれておらず、該当するような mrbgem も見つからなかったので書いてみました。&lt;/p&gt;</description>
			</item>
			<item>
				<title>mruby から Lua を呼び出すための mruby-lua を書きました</title>
				<link>https://dyama.org/2015/12/2501/</link>
				<pubDate>Tue, 08 Dec 2015 23:29:12 +0900</pubDate>
				<guid>https://dyama.org/2015/12/2501/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://dyama.org/wp-content/uploads/mruby-logo.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;mruby は、&lt;a href=&#34;http://www.amazon.co.jp/gp/product/B00HZGBN58/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=247&amp;amp;creative=7399&amp;amp;creativeASIN=B00HZGBN58&amp;amp;linkCode=as2&amp;amp;tag=dyama0c-22&#34;&gt;こちら&lt;/a&gt;でも述べられているように組み込み言語として広く使われている Lua を強く意識した実装になっています。&lt;/p&gt;&#xA;&lt;p&gt;mruby も Lua もそれぞれ、他システムに組み込むのが簡単ということだけあって、多からず相互利用の試みは mruby が登場した当初からあるようです。&lt;/p&gt;</description>
			</item>
			<item>
				<title>mruby-regexp-pcre の String#gsub について</title>
				<link>https://dyama.org/2015/12/2506/</link>
				<pubDate>Fri, 04 Dec 2015 22:00:04 +0900</pubDate>
				<guid>https://dyama.org/2015/12/2506/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://dyama.org/wp-content/uploads/mruby-logo.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;IIJ さんが開発している mruby 向けの正規表現ライブラリ &lt;a href=&#34;https://github.com/iij/mruby-regexp-pcre&#34;&gt;iij/mruby-regexp-pcre&lt;/a&gt; を使ってたら、本家 CRuby と違う挙動の部分を見つけました。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# 文字列の先頭に空白が含まれている場合、それを取り除く。&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;#34;foo&amp;#34;.gsub /^\s*/, &amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;上の &lt;code&gt;&amp;quot;foo&amp;quot;&lt;/code&gt; の場合では、先頭に空白は含まれていないので、そのままの文字列 &lt;code&gt;&amp;quot;foo&amp;quot;&lt;/code&gt; が返ってくるはずです。 iij/mruby-regexp-pcre を使うと、これが空の文字列 &lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt; として返ってきてました。 CRuby1.9.3 でチェックしてみたところ、&lt;code&gt;&amp;quot;foo&amp;quot;&lt;/code&gt; が返ってきています。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ruby 版 Brainfuck インタプリタを書いてみました。</title>
				<link>https://dyama.org/2015/07/2417/</link>
				<pubDate>Sat, 18 Jul 2015 13:59:01 +0900</pubDate>
				<guid>https://dyama.org/2015/07/2417/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://dyama.org/wp-content/uploads/2015/07/brain.png&#34; alt=&#34;brain&#34; class=&#34;img-center&#34; loading=&#34;lazy&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;以前、&lt;a href=&#34;https://dyama.org/2012/03/62/&#34;&gt;C 言語で Brainfuck インタプリタを書きました&lt;/a&gt;が、今度は Ruby で同じものを書いてみました。&lt;/p&gt;&#xA;&lt;p&gt;クラス Machine を簡単なバーチャルマシンに見立てて、メモリの保持と演算を行なわせています。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;brainfuck.rb&lt;/strong&gt; (&lt;a href=&#34;https://gist.github.com/dyama/670ba6cd3b9e4401412c&#34;&gt;Gist&lt;/a&gt;)&lt;/p&gt;</description>
			</item>
			<item>
				<title>最小二乗法を用いた直線式の算出</title>
				<link>https://dyama.org/2015/07/2371/</link>
				<pubDate>Mon, 13 Jul 2015 23:26:29 +0900</pubDate>
				<guid>https://dyama.org/2015/07/2371/</guid>
				<description>&lt;p&gt;二次元空間上に分布する2つ以上の座標集合を直線で近似する際、最小二乗法という手法を使います。&lt;/p&gt;&#xA;&lt;h2 id=&#34;定義&#34;&gt;定義&lt;/h2&gt;&#xA;&lt;p&gt;直線の式を一次関数&lt;/p&gt;&#xA;&lt;div class=&#34;math display&#34; data-tex=&#34;f(x)=ax+b\,&#34;&gt;&lt;/div&gt;&#xA;&lt;p&gt;とおくと、直線の傾き &lt;code&gt;a&lt;/code&gt; と切片 &lt;code&gt;b&lt;/code&gt; は次の式で求めることができます。&lt;/p&gt;</description>
			</item>
			<item>
				<title>ImageMagickを使ったハミング距離による画像の同一性チェック</title>
				<link>https://dyama.org/2015/03/2169/</link>
				<pubDate>Fri, 06 Mar 2015 23:04:18 +0900</pubDate>
				<guid>https://dyama.org/2015/03/2169/</guid>
				<description>&lt;p&gt;画像認識に用いられるライブラリといえば &lt;a href=&#34;http://opencv.org/&#34;&gt;OpenCV&lt;/a&gt; が一般的ですが、毎回 face detect のデモを動かしてみて安心してしまい、結果的にいつも本腰を入れて使ってみることがありませんでした。(やりたいなぁとは思いつつ、特に目的がない…)&lt;/p&gt;</description>
			</item>
			<item>
				<title>sinatra, mongoidで簡易ユーザセッション管理</title>
				<link>https://dyama.org/2015/03/2154/</link>
				<pubDate>Mon, 02 Mar 2015 00:00:53 +0900</pubDate>
				<guid>https://dyama.org/2015/03/2154/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://dyama.org/wp-content/uploads/2015/03/DSC01813.jpg&#34; alt=&#34;DSC01813&#34; class=&#34;img-center&#34; loading=&#34;lazy&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;先日の呑み会で Web フレームワークの話が出て、「サーバ挙動からまとめて書けたら便利だよね」という話の流れから久々に sinatra で遊んでみました。&lt;/p&gt;&#xA;&lt;p&gt;下記、参考にしたページです。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://qiita.com/kaz3439/items/d908fb6ec7fb4aa15fe3&#34;&gt;チュートリアル – sinatraへ簡易アカウント管理機能を追加する – Qiita&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://qiita.com/k2works/items/7652066a7951a89c7cac&#34;&gt;sinatra入門 – Qiita&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://qiita.com/hiroki_y/items/06f5780543bec988d8b7&#34;&gt;【Ruby】Sinatraで、速攻でWebサイトを公開するための環境構築 – Qiita&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://qiita.com/kaz3439/items/606c1d58afcfb06f14c4&#34;&gt;sinatraで一からwebアプリケーションを構築する – Qiita&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://kanetann.hatenablog.com/entry/2014/03/12/145837&#34;&gt;capistrano-unicornでハマった話 – kanetann’s blog&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://babiy3104.hateblo.jp/entry/2013/11/15/133423&#34;&gt;DB – MongoDB(3) mongoid – そういうことだったんですね&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://qiita.com/k-ta-yamada/items/72956c13049d583150e9&#34;&gt;Sinatraでmongoidを使う（herokuでの公開も） – Qiita&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://fukuyama.co/haml2&#34;&gt;マークアッパー的 Haml入門21の手引き – Web学び&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://qiita.com/weed/items/7c83a795e37bdf52cfef&#34;&gt;Ruby – Sinatraの使い方あれこれ – Qiita&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;sinatra は簡単に目的の Web アプリケーションが書けるというのが最大のメリットですが、かならずしも「初心者にも簡単」というわけではありません。 それぞれ、何のために何をやっているのかを十分に理解しておかないと変なところで詰まづくと思われます。&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
