<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>電気羊の執務室</title><link>https://blog.satrex.jp/</link><description>Recent content on 電気羊の執務室</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Sat, 15 Mar 2014 10:33:00 +0900</lastBuildDate><atom:link href="https://blog.satrex.jp/index.xml" rel="self" type="application/rss+xml"/><item><title>active_scaffoldが調子いい</title><link>https://blog.satrex.jp/blog/2014/03/15/active_scaffold%E3%81%8C%E8%AA%BF%E5%AD%90%E3%81%84%E3%81%84/</link><pubDate>Sat, 15 Mar 2014 10:33:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2014/03/15/active_scaffold%E3%81%8C%E8%AA%BF%E5%AD%90%E3%81%84%E3%81%84/</guid><description>&lt;h3 id="activescaffoldとは"&gt;ActiveScaffoldとは&lt;/h3&gt;
&lt;p&gt;Railsアプリでは、CRUD操作（登録・修正・表示・削除）を
一気に作ってくれる、Scaffoldという機能があります。
が、あまり実用的ではない、という定評で、
便利な機能にもかかわらず、それほど使われていません。&lt;/p&gt;
&lt;p&gt;そこでActiveScaffoldです。
ActiveScaffoldでは、ごく少ない操作で、
かなりそれっぽい画面を自動生成してしまいます。&lt;/p&gt;
&lt;h3 id="使い方"&gt;使い方&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;gemで導入&lt;/li&gt;
&lt;li&gt;javascriptテンプレートにrequireを書く&lt;/li&gt;
&lt;li&gt;stylesheetテンプレートにrequireを書く&lt;/li&gt;
&lt;li&gt;生成したいエンティティを記述する&lt;/li&gt;
&lt;li&gt;routesファイルにひとこと書く&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="1gemで導入"&gt;1.gemで導入&lt;/h4&gt;
&lt;p&gt;Gemfileに、以下の通り記述します。
&lt;code&gt;gem install active_scaffold&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;関係ないですが、僕は最近、もっぱらskip_bundleオプション付きでプロジェクトを作り、
後からプロジェクト内のvendor/bundle配下にgemをインストールするのが、
全体の環境を壊さなくていいなぁとお気に入りです。&lt;/p&gt;
&lt;h4 id="2-javascriptテンプレートにrequireを書く"&gt;2. javascriptテンプレートにrequireを書く&lt;/h4&gt;
&lt;p&gt;&lt;img alt="ファイルイメージ" loading="lazy" src="https://www.evernote.com/shard/s75/sh/1de3951c-0238-4ec6-95a0-06065d091c4b/fc3a7db781b87e66da4db12924eea67a/deep/0/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2014-03-15-13.31.28.png"&gt;&lt;/p&gt;
&lt;p&gt;app/assets/javascripts/application.js を開きます。
ファイルの末尾に、requireを記述したブロックがあるので、
以下の通り追記します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;//= require active_scaffold &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;コメントアウトした感じの見た目で構いません。
&lt;img alt="追加したイメージ" loading="lazy" src="https://www.evernote.com/shard/s75/sh/76734574-ca91-4172-a070-0b1ee230f80f/83ae886c65eec413d1ad1cf73e124516/deep/0/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2014-03-15-14.03.06.png"&gt;&lt;/p&gt;
&lt;h4 id="3-stylesheetテンプレートにrequireを書く"&gt;3. stylesheetテンプレートにrequireを書く&lt;/h4&gt;
&lt;p&gt;&lt;img alt="stylesheetテンプレートはこれ" loading="lazy" src="https://www.evernote.com/shard/s75/sh/46af7df5-867a-488d-b83e-77f8b458d6c9/be9a33261184f6fb0dfb4c305ecf01bc/deep/0/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2014-03-15-14.03.27.png"&gt;&lt;/p&gt;
&lt;p&gt;app/assets/stylesheets/application.css を開きます。
ファイルの末尾に、requireを記述したブロックがあるので、
以下の通り追記します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;*= require active_scaffold&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;これも、コメントアウトした感じの見た目で構いません。&lt;/p&gt;
&lt;p&gt;&lt;img alt="追加したイメージ" loading="lazy" src="https://www.evernote.com/shard/s75/sh/a31327e5-085a-4b7a-bb07-cee7235106f4/6177a9aa3b2ef11108b1ffee2e6f2446/deep/0/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2014-03-15-14.03.43.png"&gt;&lt;/p&gt;
&lt;h4 id="4生成したいエンティティを記述する"&gt;4.生成したいエンティティを記述する&lt;/h4&gt;
&lt;p&gt;エンティティを、ActiveScaffoldを使って、
モデルとコントローラとビューを一気に生成します。
例えば、以下のように記述します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;rails g active_scaffold work_kind name:string&lt;/code&gt;&lt;/p&gt;
&lt;h4 id="5routesファイルにひとこと書く"&gt;5.routesファイルにひとこと書く&lt;/h4&gt;
&lt;p&gt;最後に、config/routesファイルに、以下のように書きます。
&lt;code&gt;resources :work_kinds do as_routes end&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;これで、Railsアプリ上では、このように表示されるはずです。&lt;/p&gt;
&lt;p&gt;&lt;img alt="画面表示" loading="lazy" src="https://www.evernote.com/shard/s75/sh/0db69a4f-26fc-4aa2-9769-53192d74c4f3/755e53bf58e241a358feaf8d737dc9c1/deep/0/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2014-03-15-16.17.59.png"&gt;&lt;/p&gt;
&lt;h4 id="間違えるとどうなるか"&gt;間違えるとどうなるか？&lt;/h4&gt;
&lt;p&gt;ちなみに、requireの記述を間違えると、
それぞれ特有の動作をします。&lt;/p&gt;
&lt;p&gt;stylesheetの記述をミスると、白い背景に文字だけの、
シンプルな画面になります。&lt;/p&gt;
&lt;p&gt;&lt;img alt="stylesheetの記述をミスった感じ" loading="lazy" src="https://www.evernote.com/shard/s75/sh/9a5860ae-9940-4e47-94d5-b8b70520399d/6d6d562e7cfcc5027ee5e3c6094380e5/deep/0/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2014-03-15-16.44.05.png"&gt;&lt;/p&gt;
&lt;p&gt;javascriptの記述をミスると、リンクをクリックしても動作しなくなります。
ajaxの非同期処理が帰ってこれなくなるのでしょうか。
『新しいウィンドウで開く』などすると、別窓では表示されるようです。&lt;/p&gt;</description></item><item><title>TimeMachineのバックアップが遅い時は、Spotlightを確認せよ</title><link>https://blog.satrex.jp/blog/2013/07/14/timemachine%E3%81%AE%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%81%8C%E9%81%85%E3%81%84%E6%99%82%E3%81%AFspotlight%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%9B%E3%82%88/</link><pubDate>Sun, 14 Jul 2013 07:39:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2013/07/14/timemachine%E3%81%AE%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%81%8C%E9%81%85%E3%81%84%E6%99%82%E3%81%AFspotlight%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%9B%E3%82%88/</guid><description>&lt;p&gt;今回は、タイトルで内容を言い尽くした感があります。&lt;/p&gt;
&lt;h3 id="今回起こったこと"&gt;今回起こったこと&lt;/h3&gt;
&lt;p&gt;約２週間前から、TimeMachineのバックアップが成功しなくなりました。&lt;/p&gt;
&lt;p&gt;夜寝ようとすると、『バックアップ230MB/6GB』とか表示されてるわけです。
で、InsomniaTを仕掛けてスリープしないようにし、翌朝バックアップが終わったか確認すると・・・
『バックアップ2.4GB/6GB』
とか出ているわけです。&lt;/p&gt;
&lt;p&gt;丸一日かかる計算です。
もう仕事に持っていくし、終わんねーじゃん。
こんな事が数日続いたでしょうか・・・&lt;/p&gt;
&lt;h3 id="spotlightの異変"&gt;Spotlightの異変&lt;/h3&gt;
&lt;p&gt;仕事中に、ふと気がついた事がありました。
Spotlightで検索できない。&lt;/p&gt;
&lt;p&gt;ぐぐる。
&lt;a href="http://osxdaily.com/2011/12/10/disable-or-enable-spotlight-in-mac-os-x-lion/"&gt;OSX Daily&lt;/a&gt;
&lt;a href="https://discussionsjapan.apple.com/thread/10119501?start=0&amp;amp;tstart=0"&gt;appleのフォーラム&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;今回は、下のコマンドで解決できました。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="timemachineも解決したよ"&gt;TimeMachineも解決したよ&lt;/h3&gt;
&lt;p&gt;Spotlightが解決したら、TimeMachineのバックアップもうまくいきました。
たまった差分バックアップが9時間で終わった感じですが。&lt;/p&gt;
&lt;p&gt;めでたし。&lt;/p&gt;</description></item><item><title>lazy_high_chartsを使ってみた</title><link>https://blog.satrex.jp/blog/2013/03/22/lazy_high_charts%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F/</link><pubDate>Fri, 22 Mar 2013 07:28:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2013/03/22/lazy_high_charts%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F/</guid><description>&lt;h3 id="lazy-high-chartsを使ってみた"&gt;Lazy high chartsを使ってみた&lt;/h3&gt;
&lt;p&gt;railsでグラフを表示させたくて、
Lazy high chartsを使ってみました。
やった事を書いておきます。&lt;/p&gt;
&lt;h3 id="なんでlazy-high-chartsなの"&gt;なんでLazy high chartsなの？&lt;/h3&gt;
&lt;p&gt;Lazy high chartsを選んだ理由は、以下の通りです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;『Web グラフ』で検索したら、high chartsの評判がよかった
→&lt;a href="http://d.hatena.ne.jp/end0tknr/20111218/1324206587"&gt;webアプリ(perlやjavascript)でグラフ表示なら、Highcharts で決まりかも&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;『ruby high charts』で検索したら、Lazy high chartsの記事を見つけた
→&lt;a href="http://tnakamura.hatenablog.com/entry/20120528/rails_lazy_high_chart"&gt;Rails で Lazy high charts を使ってチャートを実装してみた&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;というわけで、Lazy high chartsを使ってみます。&lt;/p&gt;
&lt;h3 id="まずはインストール"&gt;まずはインストール&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://tnakamura.hatenablog.com/entry/20120528/rails_lazy_high_chart"&gt;上記のサイト&lt;/a&gt;を参考に、Lazy high chartsのインストールを行います。&lt;/p&gt;
&lt;p&gt;まず、Gemfile に
&lt;code&gt;gem 'lazy_high_charts'&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;を追加しました。
そして、
&lt;code&gt;bundle&lt;/code&gt; を実行します。インストールが始まりました。
ここまでは問題ありません。&lt;/p&gt;
&lt;p&gt;そして、&lt;/p&gt;
&lt;p&gt;bundle exec rails g lazy_high_charts:install&lt;/p&gt;
&lt;p&gt;を実行すると、highchart.js がダウンロードされて、assets/javascripts に配置される・・・
はずでしたが、何やらエラーが表示されました。&lt;/p&gt;
&lt;h3 id="インストールエラー"&gt;インストールエラー&lt;/h3&gt;
&lt;p&gt;エラーメッセージは、次のようなものでした。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;% /projects/rails/lazy_chart% bundle exec rails g lazy_high_charts:install [WARNING] Could not load generator &amp;quot;generators/lazy_high_charts/install/install_generator&amp;quot;. Error: uninitialized constant LazyHighCharts::Rails::Generators. /.rvm/gems/ruby-1.9.3-p0/gems/lazy_high_charts-1.4.0/lib/generators/lazy_high_charts/install/install_generator.rb:4:in `&amp;lt;module:LazyHighCharts&amp;gt;' /.rvm/gems/ruby-1.9.3-p0/gems/lazy_high_charts-1.4.0/lib/generators/lazy_high_charts/install/install_generator.rb:3:in `&amp;lt;top (required)&amp;gt;' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:300:in `block (2 levels) in lookup' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:296:in `each' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:296:in `block in lookup' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:295:in `each' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:295:in `lookup' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:152:in `find_by_namespace' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:169:in `invoke' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/commands/generate.rb:12:in `&amp;lt;top (required)&amp;gt;' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/commands.rb:29:in `&amp;lt;top (required)&amp;gt;' script/rails:6:in `require' script/rails:6:in `&amp;lt;main&amp;gt;' Could not find generator lazy_high_charts:install.&lt;/code&gt;&lt;/p&gt;</description></item><item><title>SketchUpのWebDialogの使い方</title><link>https://blog.satrex.jp/blog/2012/12/24/sketchup%E3%81%AEwebdialog%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/</link><pubDate>Mon, 24 Dec 2012 08:11:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/12/24/sketchup%E3%81%AEwebdialog%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/</guid><description>&lt;p&gt;Trimble SketchUpには、rubyで自動化できる機能があります。
今日は、rubyで画面を作る、WebDialogというコンポーネントについて
お話ししたいと思います。&lt;/p&gt;
&lt;p&gt;SketchUpには、WebDialogというコンポーネントがあります。
これを使うとrubyスクリプトから、フォームを作成でき,
ユーザーと対話的にスクリプトを実行できるわけです。&lt;/p&gt;
&lt;h2 id="webdialogの特長"&gt;WebDialogの特長&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;htmlとCSSで、フォームを作成できる&lt;/li&gt;
&lt;li&gt;rubyスクリプトから、htmlの要素にアクセスできる&lt;/li&gt;
&lt;li&gt;html内のjavascript関数から、rubyスクリプトを実行できる&lt;/li&gt;
&lt;li&gt;rubyスクリプトから、html内のjavascript関数を実行できる&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="webdialogはhtmlcssjavascript"&gt;WebDialogは、HTML+CSS+javascript&lt;/h2&gt;
&lt;p&gt;WebDialogコンポーネントは、フォームのレイアウトをHTMLで指定します。
また、入力部品の動作はjavascriptで指定します。&lt;/p&gt;
&lt;p&gt;基本的な使い方は、公式ヘルプに載っています。
&lt;a href="http://www.sketchup.com/intl/en/developer/docs/ourdoc/webdialog#add_action_callback"&gt;http://www.sketchup.com/intl/en/developer/docs/ourdoc/webdialog#add_action_callback&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="rubyスクリプトの実行方法"&gt;rubyスクリプトの実行方法&lt;/h2&gt;
&lt;p&gt;あらかじめ、ダイアログに、コールバックメソッドを指定しておく必要があります。
指定されたコールバックメソッドには、仮想urlが割り当てられており、
&amp;ldquo;skp:&amp;rdquo; + コールバックメソッド名のアドレスに遷移しようとすると、
コールバックメソッドが実行されます。&lt;/p&gt;
&lt;p&gt;仮想urlへ遷移するには、以下のいずれかの方法で指定します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;リンクのurlとして指定&lt;/li&gt;
&lt;li&gt;javascript関数内に、window.location=&amp;ldquo;skp:&amp;rdquo; + 関数名を指定し、ボタンに割り当て&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="macの場合はrubyコードが非同期実行"&gt;macの場合はrubyコードが非同期実行&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://www.martinrinehart.com/models/rubies/ruby2javascript_javascript2ruby.html"&gt;Martin Rinehart&lt;/a&gt;によると、
windows ではjavascriptから呼び出されたrubyスクリプトは同期実行され、
戻り値をjavasxriptで受け取る事ができるそうです。
しかし、macではrubyスクリプトは必ず非同期実行のため、
rubyの戻り値をjavascriptで利用することはできないようです。&lt;/p&gt;
&lt;p&gt;注意してください。&lt;/p&gt;
&lt;h2 id="サンプルコード"&gt;サンプルコード&lt;/h2&gt;
&lt;p&gt;ほぼ最小構成のWebDialogのサンプルです。
ここでは、ボタンのクリックイベントにjavascriptのスクリプトを設定し、
リンクのurlにrubyのコールバックイベントの仮想urlを指定しています。&lt;/p&gt;
&lt;p&gt;{% gist 4367009 %}&lt;/p&gt;
&lt;h2 id="サンプルコードの使い方"&gt;サンプルコードの使い方&lt;/h2&gt;
&lt;p&gt;サンプルコードを実行すると、このような画面が表示されます。&lt;/p&gt;
&lt;p&gt;&lt;img alt="WebDialogのサンプル" loading="lazy" src="https://www.evernote.com/shard/s75/sh/8f8b089a-0f79-4f18-8faf-fd3e39492230/8371ace36c63afd6fded1e6baa80773b/deep/0/WebDialog001.jpg"&gt;&lt;/p&gt;
&lt;p&gt;ボタンを押すと、javascriptで作成されたメッセージが表示されます。&lt;/p&gt;
&lt;p&gt;&lt;img alt="ボタンを押すと、javascriptのアラートが表示される" loading="lazy" src="https://www.evernote.com/shard/s75/sh/801ac46e-8054-4e33-bb96-95187e0cab7c/531face5d8e312d13f234eba2baccd62/deep/0/WebDialog002.jpg"&gt;&lt;/p&gt;
&lt;p&gt;リンクをクリックすると、rubyで作成されたメッセージが表示されます。
コード内では、リンクのurlとして、&amp;ldquo;skp:&amp;ldquo;に続いてrubyのコールバックメソッド名が
指定されているのがわかります。&lt;/p&gt;
&lt;p&gt;&lt;img alt="リンクをクリックすると、rubyのメッセージが表示される" loading="lazy" src="https://www.evernote.com/shard/s75/sh/57a25f6d-39ec-4f93-9780-962e52a0318e/174dbd1151fadda7723fe1b7426c30f5/deep/0/WebDialog003.jpg"&gt;&lt;/p&gt;
&lt;h2 id="参考資料"&gt;参考資料&lt;/h2&gt;
&lt;p&gt;SketchUp Ruby Interface to JavaScript
&lt;a href="http://www.martinrinehart.com/models/rubies/ruby2javascript_javascript2ruby.html"&gt;http://www.martinrinehart.com/models/rubies/ruby2javascript_javascript2ruby.html&lt;/a&gt;&lt;/p&gt;</description></item><item><title>bitnamiの仮想マシンを使うためのステップ</title><link>https://blog.satrex.jp/blog/2012/07/04/bitnami%E3%81%AE%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3%E3%82%92%E4%BD%BF%E3%81%86%E3%81%9F%E3%82%81%E3%81%AE%E3%82%B9%E3%83%86%E3%83%83%E3%83%97/</link><pubDate>Wed, 04 Jul 2012 07:35:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/07/04/bitnami%E3%81%AE%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3%E3%82%92%E4%BD%BF%E3%81%86%E3%81%9F%E3%82%81%E3%81%AE%E3%82%B9%E3%83%86%E3%83%83%E3%83%97/</guid><description>&lt;p&gt;WordPressを使ったWebサイト作りをしようとしています。
ローカルの仮想サーバーでサイトのソースをGitに上げ、
公開用のサーバーでGitからPullすることで、デプロイする構成です。&lt;/p&gt;
&lt;p&gt;そこで、ローカルの仮想サーバーには、
WordPressとMySQLとPHPのスタックである、
bitnamiを使ってみます。&lt;/p&gt;
&lt;h2 id="bitnami仮想マシンのダウンロード"&gt;bitnami仮想マシンのダウンロード&lt;/h2&gt;
&lt;p&gt;bitnamiを使うためには、２つの方法があります。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;既存の仮想マシンに、bitnamiをインストールする&lt;/li&gt;
&lt;li&gt;bitnamiインストール済の仮想マシンを、新規にダウンロードする&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;今回は、2.を解説します。
公式サイトから、bitnamiがインストールされた仮想マシンをダウンロードします。&lt;/p&gt;
&lt;h2 id="sshの導入"&gt;sshの導入&lt;/h2&gt;
&lt;p&gt;コマンドラインから操作するため、仮想マシンでsshを有効にします。
公開鍵の受け渡しが、最も苦労した部分です。&lt;/p&gt;
&lt;h3 id="公開鍵の渡し方"&gt;公開鍵の渡し方&lt;/h3&gt;
&lt;p&gt;仮想サーバーの公開鍵を、開発用マシンに渡すための方法は、
次のような選択肢があります。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;仮想マシンがSmabaサーバーとなり、ホストOSのがクライアントとなってファイルを受け渡す&lt;/li&gt;
&lt;li&gt;逆に、ホストOSの共有フォルダに、仮想マシンからアクセスしてファイルを受け渡す&lt;/li&gt;
&lt;li&gt;GitHubなど、外部ストレージを経由してファイルを受け渡す&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;ここでは、2.を解説します。&lt;/p&gt;
&lt;h3 id="vmware-toolsの導入"&gt;VMware-Toolsの導入&lt;/h3&gt;
&lt;p&gt;ホストOSの共有フォルダにゲストOSからアクセスするには、
VMware-Toolsをインストールします。&lt;/p&gt;
&lt;p&gt;別の記事にまとめていますので、参照してください。
&lt;a href="http://blog.satrex.jp/blog2012/07/02/vmware-tools-installed"&gt;vmware-tools-install&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="ssh鍵の生成"&gt;ssh鍵の生成&lt;/h3&gt;
&lt;p&gt;ホストOSで、以下のコマンドを入力します。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo ssh-keygen
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;画面に従ってパスワードを入力すると、公開鍵と秘密鍵が生成されます。
id_rsa.pubファイルが公開鍵、id_rsaファイルが秘密鍵です。&lt;/p&gt;
&lt;h3 id="公開鍵を共有フォルダに置く"&gt;公開鍵を、共有フォルダに置く&lt;/h3&gt;
&lt;p&gt;これから、いまホストOSで作った公開鍵をサーバーに渡します。&lt;/p&gt;
&lt;p&gt;まず、id_rsa.pubファイルを、ホストOSの共有フォルダにコピーします。
オイラの環境では、Macの~/shareフォルダです。&lt;/p&gt;
&lt;p&gt;マウスでポイっと入れればOKです。&lt;/p&gt;
&lt;h3 id="ゲストubuntuにホストosの公開鍵をインストール"&gt;ゲストubuntuに、ホストOSの公開鍵をインストール&lt;/h3&gt;
&lt;p&gt;共有フォルダに入れた公開鍵を、ゲストOSから見てみます。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ ls /mnt/hgfs/share
&amp;gt; id_rsa.pub
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ホストOSの公開鍵が見えています。
これを、ゲストOSにインストールします。&lt;/p&gt;
&lt;p&gt;でも、いったいどこにインストールするのでしょうか？&lt;/p&gt;
&lt;p&gt;サーバーには『この鍵をくれたマシンのアクセスには応じるよ』というファイルがあります。
authorized-keysというファイルです。
今回受け取った公開鍵を、authorized_keysファイルに追記します。&lt;/p&gt;
&lt;p&gt;このファイルには、複数の鍵を書き込むことができます。
上書きすると、今までアクセスできたマシンがアクセスできなくなる、
という現象が起こりますよ。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cat /mnt/hgfs/share/id_rsa.pub &amp;gt;&amp;gt; /home/bitnami/.ssh/authorized_keys
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;&amp;gt;&amp;gt;に注目。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;これで、ゲストOSに、ホストOSの公開鍵がコピーされました。&lt;/p&gt;
&lt;h2 id="sshの設定"&gt;sshの設定&lt;/h2&gt;
&lt;p&gt;ゲストOSで、以下のコマンドを実行します。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ sudo vi /etc/ssh/sshd_config
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;以下の行を探して、下のように変更します。&lt;/p&gt;</description></item><item><title>ゲストubuntuに、VMware-Toolsをインストールする</title><link>https://blog.satrex.jp/blog/2012/07/02/%E3%82%B2%E3%82%B9%E3%83%88ubuntu%E3%81%ABvmware-tools%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B/</link><pubDate>Mon, 02 Jul 2012 19:42:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/07/02/%E3%82%B2%E3%82%B9%E3%83%88ubuntu%E3%81%ABvmware-tools%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B/</guid><description>&lt;p&gt;ゲストOSの仮想サーバーへ、ホストOSからssh接続するために、
公開鍵を渡します。
今回は、ホストの共有フォルダ経由でファイルを渡します。&lt;/p&gt;
&lt;p&gt;ホストOSの共有フォルダを使うには、VMware-Toolsが必要です。
VMwareToolsをインストールする方法を解説します。&lt;/p&gt;
&lt;h2 id="vmware-toolsの導入"&gt;VMWare Toolsの導入&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;VMware-Toolsの仮想CDを挿入&lt;/li&gt;
&lt;li&gt;カーネルの番号を確認する&lt;/li&gt;
&lt;li&gt;カーネルヘッダーをインストールする&lt;/li&gt;
&lt;li&gt;VMware-Toolsをインストールする&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="vmwaretoolsの仮想cdを挿入"&gt;VMwareToolsの仮想CDを挿入&lt;/h3&gt;
&lt;p&gt;VMwareFusionのメニューから、『仮想マシン-&amp;gt;VMWareToolsのインストール』を選択します。
その後、以下のように仮想CDをマウントします。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ sudo mkdir -p /mnt/cdrom
$ sudo mount /dev/cdrom /mnt/cdrom
&amp;gt; mount: block device /dev/sr0 is write-protected, mounting read-only
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ここでインストールを行うと、失敗します。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;tar xzvf /mnt/cdrom/VMwareTools-8.8.4-730257.tar.gz
cd ./vmware-tools-distrib/
sudo ./vmware-install.pl
...
Searching for a valid kernel header path...
The path &amp;quot;&amp;quot; is not valid.
Would you like to change it? [yes]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;カーネルヘッダーがないとだめだそうです。&lt;/p&gt;
&lt;h3 id="カーネルのバージョンを確認する"&gt;カーネルのバージョンを確認する&lt;/h3&gt;
&lt;p&gt;メニューから、『仮想マシン-&amp;gt;設定-&amp;gt;ネットワークアダプタ』を選択し、
ネットワークにブリッジ接続を指定します。&lt;/p&gt;
&lt;p&gt;カーネルのバージョンを確認し、適切なヘッダーを取得します。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;uname -a
`linux 3.2.0-24-virtual #39-ubuntu SMP Mon May 21 18:44:18 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux`
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;このカーネルバージョンは、3.2.0-24-virtual だということがわかりました。&lt;/p&gt;</description></item><item><title>ConverterでXPマシンを仮想化するために必要な4つのこと</title><link>https://blog.satrex.jp/blog/2012/06/25/converter%E3%81%A7xp%E3%83%9E%E3%82%B7%E3%83%B3%E3%82%92%E4%BB%AE%E6%83%B3%E5%8C%96%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA4%E3%81%A4%E3%81%AE%E3%81%93%E3%81%A8/</link><pubDate>Mon, 25 Jun 2012 22:47:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/06/25/converter%E3%81%A7xp%E3%83%9E%E3%82%B7%E3%83%B3%E3%82%92%E4%BB%AE%E6%83%B3%E5%8C%96%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA4%E3%81%A4%E3%81%AE%E3%81%93%E3%81%A8/</guid><description>&lt;p&gt;これをお読みの皆さんは、仮想マシンを使っておいででしょうか？
Windows XPのマシンを、macのVMWareで使うために仮想化しました。
そこでハマったポイントを、後に続く方のためにまとめておきます。&lt;/p&gt;
&lt;h2 id="環境"&gt;環境&lt;/h2&gt;
&lt;p&gt;ホストOS：mac OSX (Lion) 10.7.4
実行環境：VMWare Fusion 4.1.3
仮想化するマシンのOS：Windows XP Pro
仮想化するアプリ： VMWWare Converter 5.0.0&lt;/p&gt;
&lt;h2 id="ポイント"&gt;ポイント&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;VMWare Converterをダウンロードして使う
　（VMWare Fusion付属のMigrationAgentは使わない）&lt;/li&gt;
&lt;li&gt;WindowsXPのCD-ROMから、sysprepファイルをコピーする&lt;/li&gt;
&lt;li&gt;仮想化するマシンは、十分に容量を減らしておく&lt;/li&gt;
&lt;li&gt;仮想化するマシンのVolume Shadow Copyサービスを有効にする&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="1vmware-converterをダウンロードして使う"&gt;1.VMWare Converterをダウンロードして使う&lt;/h3&gt;
&lt;p&gt;明らかに、速さも信頼性も、Converterのほうが上です。
物理マシンを吸い出す目的のためには、ぜひConverterを使うべきです。&lt;/p&gt;
&lt;p&gt;以下のURLからダウンロードして、XPマシンにインストールしてください。
構成について尋ねられます。
『ローカル』と『クライアントサーバー』の二択から、『ローカル』を選びます。&lt;/p&gt;
&lt;h3 id="2windowsxpのcd-romからsysprepファイルをコピーする"&gt;2.WindowsXPのCD-ROMから、sysprepファイルをコピーする&lt;/h3&gt;
&lt;p&gt;公式ヘルプなどでsysprepと呼ばれるものは、以下の圧縮フォルダのファイル一式です。
(OSのディスク)￥￥SUPPORT￥TOOLS￥&lt;/p&gt;
&lt;p&gt;&lt;img alt="sysprepツール" loading="lazy" src="https://img.skitch.com/20120625-b7a5a973xx41ic6qje142y627i.gif"&gt;&lt;/p&gt;
&lt;p&gt;これを、以下のパスに保存します。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;C:\Documents and Settings\All Users\Application Data\VMware\VMware vCenter Converter Standalone\sysprep\xp
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;保存するパスは、VMWareConverterを実行すると教えてくれます。
全ファイルまとめて保存して構いません。&lt;/p&gt;
&lt;h3 id="3仮想化するマシンは十分に容量を減らしておく"&gt;3.仮想化するマシンは、十分に容量を減らしておく&lt;/h3&gt;
&lt;p&gt;具体的には、次のような事をします。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ディスクのクリーンアップ&lt;/li&gt;
&lt;li&gt;アプリケーションの削除&lt;/li&gt;
&lt;li&gt;データを外部に移動&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これが足りていないと、次のエラーが発生するようです。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Failed to create VSS snapshot of source volume. Error code: 2147754783(0x8004231F).
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id="4仮想化するマシンのvolume-shadow-copyサービスを有効にする"&gt;4.仮想化するマシンのVolume Shadow Copyサービスを有効にする&lt;/h3&gt;
&lt;p&gt;コントロールパネルから、『管理ツール-&amp;gt;サービス』を選択し、
サービス一覧を表示します。
一覧からVolume Shadow Copy Serviceを捜し、
『スタートアップの種類』を『自動』に設定します。&lt;/p&gt;</description></item><item><title>さくらのレンタルサーバーにgitをインストールした</title><link>https://blog.satrex.jp/blog/2012/06/20/%E3%81%95%E3%81%8F%E3%82%89%E3%81%AE%E3%83%AC%E3%83%B3%E3%82%BF%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%ABgit%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%9F/</link><pubDate>Wed, 20 Jun 2012 19:29:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/06/20/%E3%81%95%E3%81%8F%E3%82%89%E3%81%AE%E3%83%AC%E3%83%B3%E3%82%BF%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%ABgit%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%9F/</guid><description>&lt;p&gt;&lt;a href="http://blog.satrex.jp/blog/2012/06/20/sakura_start/"&gt;前回の記事&lt;/a&gt;では、さくらのレンタルサーバーにGitを入れようとして失敗しました。
今回は、その解決法を書きます。&lt;/p&gt;
&lt;h2 id="解決法"&gt;解決法&lt;/h2&gt;
&lt;p&gt;パッケージ管理システム経由では入らないようなので、ソースをコンパイルして直接インストールしてしまう事にしました。&lt;/p&gt;
&lt;p&gt;gitのtarballからコンパイルしてインストールします。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;mkdir gitinstall
cd gitinstall
wget https://github.com/git/git/tarball/v1.7.11-rc3 --no-check-certificate
tar xjvf git-1.7.3.5.tar.bz2
.cd git-1.7.3.5
./configure -prefix=$HOME/local
gmake
vi Makefile
# prefix = $(HOME)/local を記述
gmake install
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;これで、&lt;del&gt;/local/binにgitがインストールされます。
Makefileを変更しないと、&lt;/del&gt;/binに入ってしまい、具合が悪いようです。&lt;/p&gt;
&lt;h4 id="20120622追記"&gt;2012/06/22追記：&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;~/binに入ってしまうと、組み込みのコマンドと混ざるので、
環境が汚くなってしまうからかな・・・と思いました。&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="パスを通す"&gt;パスを通す&lt;/h2&gt;
&lt;p&gt;最後に、パスを通します。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;vi ~/.cshrc
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;set path=( で始まる行を見つけ、括弧の中に、以下を追加します。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/$HOME/local/bin
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;直前の文字と、スペースを挟んで区切るのを忘れないでください。
これで、gitにパスが通り、which gitが成功するはずです。
光へ続く道が開かれました。&lt;/p&gt;
&lt;h3 id="参考文献"&gt;参考文献&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://noumenon-th.net/text-hymn/2011/01/git.php"&gt;さくらのレンタルサーバーにGitをインストールする方法&lt;/a&gt;&lt;/p&gt;</description></item><item><title>さくらのレンタルサーバーを借りた</title><link>https://blog.satrex.jp/blog/2012/06/20/%E3%81%95%E3%81%8F%E3%82%89%E3%81%AE%E3%83%AC%E3%83%B3%E3%82%BF%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%82%92%E5%80%9F%E3%82%8A%E3%81%9F/</link><pubDate>Wed, 20 Jun 2012 05:09:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/06/20/%E3%81%95%E3%81%8F%E3%82%89%E3%81%AE%E3%83%AC%E3%83%B3%E3%82%BF%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%82%92%E5%80%9F%E3%82%8A%E3%81%9F/</guid><description>&lt;p&gt;Webサイトを作るため、サーバーを借りてみたくなったsatrexです。&lt;/p&gt;
&lt;h2 id="さくらのレンタルサーバー対vps"&gt;さくらのレンタルサーバー対VPS&lt;/h2&gt;
&lt;p&gt;さて、さくらのレンタルサーバーとさくらのVPSで迷いました。
メリット・デメリットを比較すると、おおむね以下のようになりました。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="レンタルサーバー"&gt;レンタルサーバー&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;メリット：
&lt;ul&gt;
&lt;li&gt;セキュリティがしっかりしている&lt;/li&gt;
&lt;li&gt;設定がめんどくさくない&lt;/li&gt;
&lt;li&gt;ちょっと安い&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;デメリット：
&lt;ul&gt;
&lt;li&gt;自由度が低い&lt;/li&gt;
&lt;li&gt;OSを選べない&lt;/li&gt;
&lt;li&gt;ディスク容量が少ない（10G）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="vps"&gt;VPS&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;メリット：
&lt;ul&gt;
&lt;li&gt;自由度が高い&lt;/li&gt;
&lt;li&gt;OSを選べる&lt;/li&gt;
&lt;li&gt;ディスク容量が多い（100G〜）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;デメリット：
&lt;ul&gt;
&lt;li&gt;セキュリティは自分で設定(やや不安)&lt;/li&gt;
&lt;li&gt;いろいろと設定しないと&lt;/li&gt;
&lt;li&gt;ちょっと高い&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;コストはたいした問題ではありません。
月500円が1000円でも似たようなもんです。&lt;/p&gt;
&lt;h3 id="まずはレンタルサーバー"&gt;まずはレンタルサーバー&lt;/h3&gt;
&lt;p&gt;迷ったらとりあえずミニマルな選択肢を試します。
レンタルサーバーを仮登録してみました。&lt;/p&gt;
&lt;p&gt;そこで感じたことをレポします。&lt;/p&gt;
&lt;h3 id="sshログイン"&gt;sshログイン&lt;/h3&gt;
&lt;p&gt;サーバー屋さんが数多くある中で、
さくらのレンタルサーバーを選んだのは、
sshログインできるからです。
WordPressとか、GUIだけでメンテするのはしんどそうです。&lt;/p&gt;
&lt;h2 id="さっそくログインしてみた"&gt;さっそくログインしてみた&lt;/h2&gt;
&lt;p&gt;サーバーのパスワードが書かれたメールが
見当たらず、サポートにメールを送った朝7時でした。&lt;/p&gt;
&lt;p&gt;昼の13時ごろにはメールの再送を受けられ、
無事にログインはできました。&lt;/p&gt;
&lt;p&gt;しかし、新たな問題の幕開けに、そのころのオイラは気づいていなかったのです。&lt;/p&gt;
&lt;h2 id="gitが入らない"&gt;Gitが入らない&lt;/h2&gt;
&lt;p&gt;次に欲しいのはGitです。
これがあれば、ローカルの仮想マシンと同期できます。
仮想マシンでコンテンツを作り、
Pushしておき、レンタルサーバーからPullすれば、
電車の中でもWebが作れるというものです。&lt;/p&gt;
&lt;p&gt;さっそく、gitをインストールする手段を講じました。&lt;/p&gt;
&lt;h3 id="portsの憂鬱"&gt;Portsの憂鬱&lt;/h3&gt;
&lt;p&gt;FreeBSDのパッケージ管理は、Portsで行うようです。
さっそくtarボールをダウンロードしました。
解凍しますが・・・&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;%tar -x ports.tar
tar: Error opening archive: Failed to open '/dev/sa0'
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;当然ですがroot権限がないため、
Portsが入れられません。&lt;/p&gt;
&lt;h3 id="pkgの挫折"&gt;pkgの挫折&lt;/h3&gt;
&lt;p&gt;Portsがダメならpkgです。
pkgは、WordPressをインストールするために、すでにインストールされているようです。&lt;/p&gt;
&lt;p&gt;さっそくこれを使ってみますが・・・
パッケージのインストールを認めてくれません。&lt;/p&gt;
&lt;p&gt;&lt;span style='text-decoration:line-through'&gt;とりあえずの結論です。
&lt;strong&gt;Git使いは、ちょっといいプランを借りないとだめ&lt;/strong&gt;
お試し期間中なのでキャンセルし、プランを見直そうと思います。 &lt;/span&gt;&lt;/p&gt;</description></item><item><title>VimSketchUpをリリースしました</title><link>https://blog.satrex.jp/blog/2012/06/04/vimsketchup%E3%82%92%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F/</link><pubDate>Mon, 04 Jun 2012 00:38:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/06/04/vimsketchup%E3%82%92%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F/</guid><description>&lt;p&gt;VimでSketchUpのRubyスクリプトを書きたい方に朗報です。
VimでSketchUpRubyを実行できるプラグインをリリースしました。&lt;/p&gt;
&lt;h2 id="動作のイメージ"&gt;動作のイメージ&lt;/h2&gt;
&lt;p&gt;例えば、スクリプトで三角形を描いてみます。
初めに、SketchUpを起動します。
これが初期画面。ちなみに、女の子の名前はサンちゃんです。&lt;/p&gt;
&lt;p&gt;&lt;img alt="SketchUpの初期画面" loading="lazy" src="https://img.skitch.com/20120603-bi3hcwd594ubauj132rkhkwk92.gif"&gt;&lt;/p&gt;
&lt;p&gt;何もないところに、Rubyスクリプトで三角形を描きます。
まず、VimでSketchUp用のスクリプトを書きます。&lt;/p&gt;
&lt;p&gt;&lt;img alt="VimでRubyスクリプトを書いたところ" loading="lazy" src="https://img.skitch.com/20120603-e29j4n2sq9hk15mmfrqj461sib.gif"&gt;&lt;/p&gt;
&lt;p&gt;そして、”￥sur”とキーボードで入力すると、
SketchUpの画面に変化が起きます。&lt;/p&gt;
&lt;p&gt;&lt;img alt="三角形が出たところ" loading="lazy" src="https://img.skitch.com/20120603-jmbeicj5qw2xp1rmujb42cqub.gif"&gt;&lt;/p&gt;
&lt;p&gt;三角形が描けました。&lt;/p&gt;
&lt;h2 id="githubに登録しました"&gt;GitHubに登録しました&lt;/h2&gt;
&lt;p&gt;このスクリプトを、GitHubに登録しました。
リポジトリは&lt;a href="https://github.com/satrex/VimSketchUpRuby"&gt;ここです&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id="これから"&gt;これから&lt;/h2&gt;
&lt;p&gt;インストールの仕方、初期設定など、
使い方に関する記事を書きます。&lt;/p&gt;
&lt;p&gt;VimでSketchUpRubyが書けるようになったからには、
補完の支援を受けたり、SketchUpAPIのヘルプをローカルで
見たりできるようになりたいです。&lt;/p&gt;
&lt;p&gt;Rubyの補完は弱いので限界はあるのですが、
現在はdictファイルを使って、補完に挑戦しています。&lt;/p&gt;
&lt;h2 id="感想"&gt;感想&lt;/h2&gt;
&lt;p&gt;前々から作りたいと言っていたプラグインです。
やっと完成を見ることができました。
長かったです。&lt;/p&gt;
&lt;p&gt;相変わらず、VimScriptもSketchUpAPIも手探りですが、
困るのに慣れてきました。&lt;/p&gt;</description></item><item><title>MacでSketchUpのRubyスクリプトを自動実行</title><link>https://blog.satrex.jp/blog/2012/05/29/mac%E3%81%A7sketchup%E3%81%AEruby%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E8%87%AA%E5%8B%95%E5%AE%9F%E8%A1%8C/</link><pubDate>Tue, 29 May 2012 21:39:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/05/29/mac%E3%81%A7sketchup%E3%81%AEruby%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E8%87%AA%E5%8B%95%E5%AE%9F%E8%A1%8C/</guid><description>&lt;p&gt;以前に書いていた、GoogleSketchUpのコードをVimから書けるプラグインを書いています。&lt;/p&gt;
&lt;p&gt;Windowsでは、Bridgeという神アプリで、Eclipse上から
SketchUpを操作する事ができますが、macには対応しません。&lt;/p&gt;
&lt;h2 id="applescriptでなんとかしてみた"&gt;AppleScriptでなんとかしてみた&lt;/h2&gt;
&lt;p&gt;そこで、macで実行中のSketchUpでRubyコードを実行できる
AppleScriptを書きました。&lt;/p&gt;
&lt;p&gt;これをVimから実行することで、Vimで書いているRubyスクリプトを、
SketchUp上で実行する事ができるはずです。&lt;/p&gt;
&lt;p&gt;Bridgeと比べると格段にしょぼい作りですが、
今までの面倒に比べれば天と地の差です。&lt;/p&gt;
&lt;h2 id="現状"&gt;現状&lt;/h2&gt;
&lt;p&gt;とりあえず、SketchUpが最前面に出て、Rubyコンソールが開き、
クリップボードの文字列をペーストするだけです。&lt;/p&gt;
&lt;p&gt;Vim側はまだありません。&lt;/p&gt;
&lt;h2 id="次のアクション"&gt;次のアクション&lt;/h2&gt;
&lt;p&gt;Vim側で、バッファの全文字列を取得する処理＋
このAppleScriptを呼び出す処理を書けば、
うまくいくかも知れません。&lt;/p&gt;
&lt;p&gt;SketchUpスクリプトファイルのフォルダは込み入ったパスにあるので、
新規作成機能も欲しいです。&lt;/p&gt;
&lt;p&gt;glidenoteさんのOctoEditorをForkして作ってみようかな・・・
と考えています。&lt;/p&gt;
&lt;h2 id="ソース"&gt;ソース&lt;/h2&gt;
&lt;script src="https://gist.github.com/2829474.js"&gt; &lt;/script&gt;</description></item><item><title>Three.jsを試してみた</title><link>https://blog.satrex.jp/blog/2012/05/22/three.js%E3%82%92%E8%A9%A6%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/</link><pubDate>Tue, 22 May 2012 19:50:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/05/22/three.js%E3%82%92%E8%A9%A6%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/</guid><description>&lt;p&gt;&lt;a href="http://kray.jp/blog/three-js/"&gt;krayさんのサイト&lt;/a&gt;を丸写しで、Three.jsを試してみました。
うまくいったので、お礼かたがた書いてみます。&lt;/p&gt;
&lt;h3 id="うまくいったこと"&gt;うまくいったこと&lt;/h3&gt;
&lt;p&gt;いくつか、これは助かったなぁと思う事を書いてみます。&lt;/p&gt;
&lt;h4 id="threejsの扱い"&gt;Three.jsの扱い&lt;/h4&gt;
&lt;p&gt;まず&lt;a href="https://github.com/mrdoob/three.js/"&gt;ソース&lt;/a&gt;をCloneして、さてどう使うんだろうと考えちゃいました。
そうだ&lt;a href="https://github.com/mrdoob/three.js/#readme"&gt;ReadMe&lt;/a&gt;を見よう、という事で見てみると、minimize版をHTMLヘッダーで参照すればいいとのこと。&lt;/p&gt;
&lt;p&gt;![３Dの立方体がぐりぐり動く][sampleImage]&lt;/p&gt;
&lt;p&gt;なるほど。
チュートリアルやwikiも充実してるようなので、しばらく入り浸ってみたいです。&lt;/p&gt;
&lt;h3 id="firefoxのいいところ"&gt;FireFoxのいいところ&lt;/h3&gt;
&lt;p&gt;とくに他のブラウザと比較しての話ではないです。
cmd-uでソースの表示。そこからリンクを辿ってスクリプトなど見れるので、追いかけやすいなぁと。
強いて言えば、ソースにシンタックスハイライトしてくれれば最高です。&lt;/p&gt;
&lt;p&gt;あと、３DでDOMツリーが見れるのが面白いです。&lt;/p&gt;
&lt;h2 id="うまくいかなかったこと"&gt;うまくいかなかったこと&lt;/h2&gt;
&lt;p&gt;逆に、これはまだよくわかってないぞ、という部分について。&lt;/p&gt;
&lt;h3 id="javascriptの補完"&gt;javascriptの補完&lt;/h3&gt;
&lt;p&gt;neocomplcacheがないVimは使いません。というくらい、オイラは補完が好きです。
補完がないとコードが書きたくないです。
で、javascriptのシンタックスや、Three.js内のメソッド名など、持ってきてほしいものがいくつかありました。&lt;/p&gt;
&lt;p&gt;あとでneocomplcacheのヘルプをよく読んでみます。&lt;/p&gt;
&lt;h3 id="sketchupとthreejsの連携"&gt;SketchUpとThree.jsの連携&lt;/h3&gt;
&lt;p&gt;SketchUpでモデリングして、Webサイトに載せてぐりぐり動かす、とかできると最高です。&lt;/p&gt;
&lt;p&gt;SketchUpはWindows版だとBridgeというライブラリでEclipseからスクリプトが実行できるのですが、いかんせんmacではBridgeが通用せず。
まだレベルが足りなくて、Bridgeを移植しようにも、どう手をつけていいのかわかりません。&lt;/p&gt;
&lt;p&gt;VimからSketchUpのRubyコンソールのウィンドウハンドルを取って、文字を入力してExecuteScriptコマンドを流せばいいはずです。&lt;/p&gt;
&lt;p&gt;でもどうすればそれができるか分かりません。
ざんねん。
いつかは！&lt;/p&gt;
&lt;p&gt;(2012/12/24 追記)
できました。
次の記事を参照してください。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.satrex.jp/blog/2012/06/04/vimsketchup/"&gt;http://blog.satrex.jp/blog/2012/06/04/vimsketchup/&lt;/a&gt;&lt;/p&gt;</description></item><item><title>はてブが表示されないなぁ</title><link>https://blog.satrex.jp/blog/2012/05/11/%E3%81%AF%E3%81%A6%E3%83%96%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%E3%81%AA%E3%81%81/</link><pubDate>Fri, 11 May 2012 07:09:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/05/11/%E3%81%AF%E3%81%A6%E3%83%96%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%E3%81%AA%E3%81%81/</guid><description>&lt;p&gt;&lt;a href="tokkonopapa.github.com/blog/2011/12/31/hatena-bookmark-on-octopress/"&gt;T.I.D&lt;/a&gt;さんの記事を見ながら、
このブログにはてブボタンを設置しようとしています。&lt;/p&gt;
&lt;p&gt;ブックマークされる事は書けないかも知れませんが、何事も勉強です。&lt;/p&gt;
&lt;h2 id="どううまく行かないか"&gt;どううまく行かないか&lt;/h2&gt;
&lt;p&gt;はてブボタンの領域は確保してありそうなのですが、表示がうまくいっていないようです。&lt;/p&gt;
&lt;p&gt;&lt;img alt="はてブボタンがある？？" loading="lazy" src="https://img.skitch.com/20120511-mibj9s3y2ijm21iasjsjcs8i5k.gif"&gt;&lt;/p&gt;
&lt;h2 id="やったこと"&gt;やったこと&lt;/h2&gt;
&lt;p&gt;記事をもとに、あれこれとテンプレートを変更しました。
本当は一部始終を書かないといけないのですが、面倒で書けません。&lt;/p&gt;
&lt;p&gt;&lt;img alt="Sharing.htmlの中身" loading="lazy" src="https://img.skitch.com/20120512-x7w4ykj5if64f8sd1w1yx9pswg.gif"&gt;&lt;/p&gt;
&lt;p&gt;後でじっくりやります。
いまは嫁にホットケーキを焼いてあげないと・・・&lt;/p&gt;
&lt;h2 id="参考資料"&gt;参考資料&lt;/h2&gt;
&lt;p&gt;&lt;a href="tokkonopapa.github.com/blog/2011/12/31/hatena-bookmark-on-octopress/"&gt;Octopressにはてブボタンを設置する - T.I.D.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>bitbucketへ引っ越してみた</title><link>https://blog.satrex.jp/blog/2012/05/08/bitbucket%E3%81%B8%E5%BC%95%E3%81%A3%E8%B6%8A%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/</link><pubDate>Tue, 08 May 2012 20:59:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/05/08/bitbucket%E3%81%B8%E5%BC%95%E3%81%A3%E8%B6%8A%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/</guid><description>&lt;p&gt;ブログのリポジトリを、githubからbitbucketへ移してみました。
だんだんGitの使い方に習熟してきたので、楽になってきました。&lt;/p&gt;
&lt;h2 id="下書きモード"&gt;下書きモード&lt;/h2&gt;
&lt;p&gt;octopressの取り扱いに慣れるため、published=falseの下書きモードを使ってみています。
記事のヘッダーのpublished:をfalseに設定することで、その記事は下書きとなります。
ローカルでプレビューすることができるのはpublish:trueの時と同じですが、リポジトリにpushしても非公開になっているところが違います。&lt;/p&gt;
&lt;h2 id="使い道について考えてみた"&gt;使い道について考えてみた&lt;/h2&gt;
&lt;p&gt;ローカルのプレビューができれば、下書きモードのpushはあまり恩恵がないような気がしますが・・・
どんな時に便利なんでしょうか。&lt;/p&gt;
&lt;p&gt;タイマーで予約投稿ができれば便利な気がします。&lt;/p&gt;
&lt;h2 id="その後"&gt;その後&lt;/h2&gt;
&lt;p&gt;結局、bitbucketは記事のソースだけを管理することにし、
記事はgithub pagesを使う事にしました。&lt;/p&gt;
&lt;p&gt;理由は、bitbucketは&lt;strong&gt;CNAMEが有料オプション&lt;/strong&gt;だからです。
画像はSkitchに置くことにし、Skitchから効率よくMarkdownに書けるように
工夫します。&lt;/p&gt;</description></item><item><title>これからやりたいこと</title><link>https://blog.satrex.jp/blog/2012/05/06/%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89%E3%82%84%E3%82%8A%E3%81%9F%E3%81%84%E3%81%93%E3%81%A8/</link><pubDate>Sun, 06 May 2012 06:41:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/05/06/%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89%E3%82%84%E3%82%8A%E3%81%9F%E3%81%84%E3%81%93%E3%81%A8/</guid><description>&lt;p&gt;ブログのデザインが終わったので、これからやりたいことを整理します。
まず、&lt;a href="https://blog.satrex.jp/blog/2012/04/27/task_remain/"&gt;前回のTODOリスト&lt;/a&gt;を確認します。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;ブログのデザインを変更する&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;トップページの画像を作る → 完了&lt;/li&gt;
&lt;li&gt;スタイル（sass）を設定する → 完了&lt;/li&gt;
&lt;li&gt;はてブとか入れる → 未完&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Skitchの画像管理を楽にする&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Skitchで編集した画像が、Octopress配下にコピーされる仕組みを構築する → やめた&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;LokkaでCSSとjavascriptの勉強をする → 未着手&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;よくColissとかに載ってるサンプルを、実際に書いてみたい&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="ふりかえり"&gt;ふりかえり&lt;/h2&gt;
&lt;h3 id="ブログのデザイン"&gt;ブログのデザイン&lt;/h3&gt;
&lt;p&gt;整理してみたら、ブログのデザインは終わってなかった事が分かりました。
僕は阿呆ですね。&lt;/p&gt;
&lt;p&gt;はてブボタンやら、ブックマーク数が表示される仕組みを入れるつもりでした。&lt;/p&gt;
&lt;h3 id="skitchの画像管理について"&gt;Skitchの画像管理について&lt;/h3&gt;
&lt;p&gt;まず、Octopressフォルダ内で画像を管理するのを一旦やめ、Skitchのサイトにアップロードしてます。
GitHubの無料アカウント容量が300MBしかないので、画像の管理に向きません。&lt;/p&gt;
&lt;p&gt;GitHubからBitBucketにリポジトリを変える事を検討します。
最終的には、最速でブログが書ける環境になれればいいです。&lt;/p&gt;
&lt;h2 id="いま考えていること"&gt;いま考えていること&lt;/h2&gt;
&lt;h3 id="画像管理の方法"&gt;画像管理の方法&lt;/h3&gt;
&lt;p&gt;Octopressフォルダ内のsource/images配下で画像が管理できれば、次のような事ができるのかも知れません。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;新しい記事を生成する時、当日のimagesフォルダの中身を、記事の末尾に自動記述する。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これを実現するのには、OctoEditorをカスタマイズする必要がありそうです。&lt;/p&gt;
&lt;p&gt;Skitchから画像を保存する手順を高速化する必要があります。画像をローカルで管理する場合、検討したいのは、次のような作戦です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Skitchから最速でエクスポートできるよう、当日の画像フォルダは自動的に作る。&lt;/li&gt;
&lt;li&gt;前日までの画像フォルダで、空のものは自動的に削除する。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;画像をローカルで管理するには、無料で容量無制限のBitBucketが必須です。
いまは二の足を踏んでますが、BitBucketをちょっと使ってみます。&lt;/p&gt;
&lt;h3 id="gistを使ってみる"&gt;Gistを使ってみる&lt;/h3&gt;
&lt;p&gt;よく見かける、行番号の入ったかっこいいコード、あれはGistで実現するのだという事は、知識として知っています。&lt;/p&gt;
&lt;p&gt;これからは、自分もGistを使ってコードをかっこよく載せたいものです。&lt;/p&gt;
&lt;h2 id="新しいtodo"&gt;新しいTODO&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;ブログのデザインを変更する&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;はてブとか入れる&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Skitchの画像管理を楽にする&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;BitBucketを使ってみる&lt;/li&gt;
&lt;li&gt;当日の画像フォルダ自動生成&lt;/li&gt;
&lt;li&gt;当日の画像を記事に自動挿入&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;LokkaでCSSとjavascriptの勉強をする → 当面保留&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;よくColissとかに載ってるサンプルを、実際に書いてみたい&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>デザイン変えてみた</title><link>https://blog.satrex.jp/blog/2012/05/05/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E5%A4%89%E3%81%88%E3%81%A6%E3%81%BF%E3%81%9F/</link><pubDate>Sat, 05 May 2012 22:14:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/05/05/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E5%A4%89%E3%81%88%E3%81%A6%E3%81%BF%E3%81%9F/</guid><description>&lt;p&gt;連休のまとまった時間を利用して、Octopressの勉強がてら、スタイルの設定をがっつりやってみました。
デフォルトのClassicテーマから、&lt;a href="http://blog.glidenote.com/"&gt;GlideNote&lt;/a&gt;風のデザインへ。&lt;/p&gt;
&lt;p&gt;たぶん、細かい書式を使うとレイアウトが崩れると思うので、これから少しずつブラッシュアップしていければよいでしょう。&lt;/p&gt;
&lt;h2 id="感謝を込めて"&gt;感謝を込めて&lt;/h2&gt;
&lt;p&gt;かなりの部分を参考にさせて頂いた&lt;a href="http://twitter.com/glidenote"&gt;GlideNoteさん&lt;/a&gt;に、感謝の意を表します。好き過ぎてパクっちゃいました★&lt;/p&gt;
&lt;p&gt;そもそもOctopress、zshなど、GlideNoteさんの記事を読んでは、もろもろパクり倒してます。
本当にありがとうございます。&lt;/p&gt;</description></item><item><title>vimの設定見直し中</title><link>https://blog.satrex.jp/blog/2012/05/01/vim%E3%81%AE%E8%A8%AD%E5%AE%9A%E8%A6%8B%E7%9B%B4%E3%81%97%E4%B8%AD/</link><pubDate>Tue, 01 May 2012 22:43:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/05/01/vim%E3%81%AE%E8%A8%AD%E5%AE%9A%E8%A6%8B%E7%9B%B4%E3%81%97%E4%B8%AD/</guid><description>&lt;p&gt;vimの設定を見直しています。
最近zshを使うようになって、gvimのコマンドラインに不便を感じるので、
コマンドラインから起動するモードでも便利にやれたらいいなぁと思っています。&lt;/p&gt;
&lt;p&gt;今の設定で行くと、いろいろと超えないといけない壁がある感じです。&lt;/p&gt;
&lt;h3 id="neocomplcacheが使えない"&gt;NeoComplCacheが使えない&lt;/h3&gt;
&lt;p&gt;最大の問題は、NeoComplCacheがコマンドラインからは使えないこと。
rbファイルやHTMLファイルを編集しようとすると、
ファイルを開いた時か保存した時のどちらかに、猛烈な勢いでエラーを吐きまくります（詳細は画像参照）。&lt;/p&gt;
&lt;p&gt;もう一点重大な問題として、日本語入力などの設定が、コマンドラインからのVimでは不便すぎます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;IMEが全ての入力に優先している。
Vimのモード切替などは、日本語入力中でも、半角で受け付けてくれないと不便です。&lt;/li&gt;
&lt;li&gt;Insertモードにすると、カーソルキーでカーソルが移動できない（A〜Dの入力で代替される）。
set nocompatibleと, imap ^[OA &lt;Up&gt;を試した結果、改善されないので諦めました。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;基本はGvimを立ち上げるが吉、で当面やってみようかと思います。
むしろGvimのコマンドラインがzshになってくれたら文句ないんですが、
Vimのコマンドでlessを使うたびに、『ターミナルの全機能が使えるなんて思うなよ』と言われてしまうので、
半ば諦めています。おわり。&lt;/p&gt;
&lt;h3 id="エラーメッセージの画像"&gt;エラーメッセージの画像&lt;/h3&gt;
&lt;div class="thumbnail"&gt;&lt;a href="https://skitch.com/sat-rex/8aqq2/tmux-114x44"&gt;&lt;img style="max-width:638px" src="https://img.skitch.com/20120502-ep9y7r2mj68ey3rcgdmy2u86kj.medium.jpg" alt="tmux-114×44" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="thumbnail"&gt;&lt;a href="https://skitch.com/sat-rex/8axfu/tmux-114x44-1-3"&gt;&lt;img style="max-width:638px" src="https://img.skitch.com/20120502-cb8ih2ksrnnfxk7bkgsujpk1ud.medium.jpg" alt="tmux-114×44-1-3" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="thumbnail"&gt;&lt;a href="https://skitch.com/sat-rex/8axrb/tmux-114x44-3"&gt;&lt;img style="max-width:638px" src="https://img.skitch.com/20120502-tt6iku576gwk3sx96yeh32jspx.medium.jpg" alt="tmux-114×44-3" /&gt;&lt;/a&gt;&lt;/div&gt;</description></item><item><title>これからやりたいこと</title><link>https://blog.satrex.jp/blog/2012/04/27/%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89%E3%82%84%E3%82%8A%E3%81%9F%E3%81%84%E3%81%93%E3%81%A8/</link><pubDate>Fri, 27 Apr 2012 07:51:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/04/27/%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89%E3%82%84%E3%82%8A%E3%81%9F%E3%81%84%E3%81%93%E3%81%A8/</guid><description>&lt;p&gt;ひととおりブログの形はできたので、
これからやりたいことをまとめて、優先順位を付けてみたいと思います。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;ブログのデザインを変更する&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;トップページの画像を作る&lt;/li&gt;
&lt;li&gt;スタイル（sass）を設定する&lt;/li&gt;
&lt;li&gt;はてブとか入れる&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Skitchの画像管理を楽にする&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Skitchで編集した画像が、Octopress配下にコピーされる仕組みを構築する&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;LokkaでCSSとjavascriptの勉強をする&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;よくColissとかに載ってるサンプルを、実際に書いてみたい&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Octopressへの投稿じたい、まだまだ練習です。&lt;/p&gt;</description></item><item><title>Octopressのインストール（後編）</title><link>https://blog.satrex.jp/blog/2012/04/23/octopress%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E5%BE%8C%E7%B7%A8/</link><pubDate>Mon, 23 Apr 2012 23:05:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/04/23/octopress%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E5%BE%8C%E7%B7%A8/</guid><description>&lt;p&gt;&lt;a href="http://satrex.github.com/blog/2012/04/23/installed-octopress-001/"&gt;前編&lt;/a&gt;の続きです。&lt;/p&gt;
&lt;h2 id="octopressのインストール"&gt;Octopressのインストール&lt;/h2&gt;
&lt;p&gt;いよいよOctopressをインストールしていきます。
公式サイトやGlideNoteさんの記事、またjedipunkzさんの記事が参考になります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.glidenote.com/blog/2011/11/07/install-octopress-on-github/"&gt;GithubとOctopressでモダンな技術系ブログを作ってみる - GlideNote&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://jedipunkz.github.com/blog/2012/03/20/github-dot-com-de-octopress-gou-zhu/"&gt;github.com で Octopress 構築 - jedipunkz&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Octocatに似たデザインのmac" loading="lazy" src="https://www.evernote.com/shard/s75/sh/1c5fcc0f-7c94-45ba-9f7d-c9c6909bdfb6/a28bb5b09a4b9d7cc11c78e691395ddd/res/0e3d3046-3527-4e16-bc47-53ff68a3a9df/mac_ball-20120423-205850.jpg.jpg"&gt;&lt;/p&gt;
&lt;h2 id="githubpageの取得"&gt;GithubPageの取得&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/new"&gt;Githubの新規プロジェクト画面&lt;/a&gt;から、好きな名前でブログ用のリポジトリを作っておきます。&lt;/p&gt;
&lt;p&gt;&lt;img alt="Githubから、ブログ用のリポジトリを作る" loading="lazy" src="https://img.skitch.com/20120424-nt9u7frxprtchkn31au43ewe4w.jpg"&gt;&lt;/p&gt;
&lt;h2 id="octopressのインストールのイメージ"&gt;Octopressのインストールのイメージ&lt;/h2&gt;
&lt;p&gt;Octopressのインストールがどんな感じかというと、
AppStoreでアプリを買うのとは、だいぶ趣きが違います。&lt;/p&gt;
&lt;p&gt;すごく基本的なところから解説してみます。
Octopressは、『アプリケーション』フォルダに入るプログラムではありません。
ひとつのフォルダを作ってそこにインストールし、そのフォルダをブログの基地として使うイメージです。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1フォルダに、ツールと記事が同居します" loading="lazy" src="http://farm8.staticflickr.com/7274/7109487325_fc55531d8a.jpg"&gt;&lt;/p&gt;
&lt;h2 id="octopressのインストール-1"&gt;Octopressのインストール&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;mkdir ユーザー名.github.com
cd ユーザー名.github.com
git clone git://github.com/imathis/octopress.git octopress
cd octopress
gem install bundler
bundle install
rake install # classic テーマのインストール
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;こんな感じで入れて下さい。
上の例だと、~/ユーザー名.github.com/octopress
のようになります。&lt;/p&gt;
&lt;p&gt;別にアカウントごとにフォルダに分ける必要がなければ、
~/octopress/ のように構成しても問題ないです。
その場合は、上のコマンドの最初２つを飛ばします。&lt;/p&gt;
&lt;h2 id="octopressの構成"&gt;Octopressの構成&lt;/h2&gt;
&lt;p&gt;インストールしたOctopressのフォルダ構成と、動作のイメージを紹介します。&lt;/p&gt;
&lt;p&gt;&lt;img alt="_config.yamlは設定ファイル、sourceに記事やスタイルを記述、publicにhtmlとCSSが生成される" loading="lazy" src="https://www.evernote.com/shard/s75/sh/7d825d5b-1923-40c5-8d00-4237ff243e17/6bffbb3957614d2fa4438e7e0ccfa423/res/21ae89ae-4b24-4cf5-a03d-2fbc58a53742/octopress-20120423-154359.jpg.jpg"&gt;&lt;/p&gt;
&lt;p&gt;上の図で示すとおり、Octopressのフォルダ構成は、Octopressフォルダの中にいろいろある感じです。
コマンドラインで作業する時には、基本的にカレントディレクトリは『Octopress』フォルダです。&lt;/p&gt;
&lt;p&gt;参考資料；
&lt;a href="http://burnsoft.github.com/blog/blog/2011/09/23/octopress-install-with-screencast/"&gt; Octopressをインストールする動画 ： burnsoft &lt;/a&gt;
英語ですが、作業の流れがわかりやすいです。&lt;/p&gt;
&lt;h2 id="octopressの初期設定"&gt;Octopressの初期設定&lt;/h2&gt;
&lt;p&gt;Octopressの初期設定を行います。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;rake setup_github_pages
Enter the read/write url for your repository:
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;上で作成したGithub PagesのリポジトリURLを指定します。
オイラの場合だとこうです。&lt;/p&gt;</description></item><item><title>Octopressのインストール（前編）</title><link>https://blog.satrex.jp/blog/2012/04/23/octopress%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E5%89%8D%E7%B7%A8/</link><pubDate>Mon, 23 Apr 2012 12:47:00 +0900</pubDate><guid>https://blog.satrex.jp/blog/2012/04/23/octopress%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E5%89%8D%E7%B7%A8/</guid><description>&lt;p&gt;OctopressとGitでブログを作ろう、と思い立ってから１週間。
試行錯誤の末に、ようやくブログが上げられたので、ハマったポイントを紹介してみたいと思います。&lt;/p&gt;
&lt;p&gt;インストール環境は、mac OSX Lion + zsh。Xcodeは入ってるところからスタートしました。
記事内で、ちらっとUbuntuでのインストールにも触れます。関係ない人はスルーで。&lt;/p&gt;
&lt;p&gt;&lt;img alt="Octocatに似たデザインのmac" loading="lazy" src="https://www.evernote.com/shard/s75/sh/1c5fcc0f-7c94-45ba-9f7d-c9c6909bdfb6/a28bb5b09a4b9d7cc11c78e691395ddd/res/0e3d3046-3527-4e16-bc47-53ff68a3a9df/mac_ball-20120423-205850.jpg.jpg"&gt;&lt;/p&gt;
&lt;h2 id="octopress導入まで"&gt;Octopress導入まで&lt;/h2&gt;
&lt;p&gt;あまり何もないところから、Octopressを導入するところまでの
手順を、ここにまとめてみます。
大まかに、Octopressインストールまでには、以下のものが必要です。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ruby 1.9.2以上（1.9.2そのものがおすすめ）&lt;/li&gt;
&lt;li&gt;Git&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;オイラのMacに入っていたRubyは1.8.7だったので、
Ruby-1.9.2を別途入れる必要がありました。
コマンドラインで&lt;code&gt;ruby --version&lt;/code&gt;と入力して、&amp;ldquo;1.9.2&amp;quot;と表示されなかった方は、RVMを入れる必要があります。&lt;/p&gt;
&lt;h2 id="rubyのインストール準備"&gt;Rubyのインストール準備&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://octopress.org/docs/setup/"&gt;Octopress公式サイト&lt;/a&gt;では、RVMかrbenvで、Rubyをバージョン管理することを勧めています。
ここでは、RVMを使って進めます。&lt;/p&gt;
&lt;p&gt;突然ですが、質問です。
あなたのOSはMacですか？
Yesの方は、RVMのインストールに進んで下さい。
Noの方。Linuxをお使いで、Curlが入っていない方は、Curlをインストールしないといけません。&lt;/p&gt;
&lt;h3 id="curlのインストール"&gt;Curlのインストール&lt;/h3&gt;
&lt;p&gt;Ubuntuの場合は、以下のコマンドでcURLをインストールします。
&lt;code&gt;sudo apt-get install libcurl-dev&lt;/code&gt;
以上。&lt;/p&gt;
&lt;h3 id="rvm_install"&gt;RVMのインストール&lt;/h3&gt;
次に、どなたさまもこのコマンドを、ターミナルで実行します。ディレクトリは、初期状態で構いません。
`bash -s stable &lt; &lt;(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)`
&lt;p&gt;ここから、シェルに何を使っているかで、二手に分かれます。
何のことかわからない方は、最初の道を選んでください。あなたはbash組です。&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id="1-bashを使っている方何のことの方"&gt;1. bashを使っている方、何のこと？の方&lt;/h4&gt;
&lt;p&gt;以下のコードを、ターミナルで実行します。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;echo '[[ -s &amp;quot;$HOME/.rvm/scripts/rvm&amp;quot; ]] &amp;amp;&amp;amp; . &amp;quot;$HOME/.rvm/scripts/rvm&amp;quot; # Load RVM function' &amp;gt;&amp;gt; ~/.bash_profile
source ~/.bash_profile
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id="2-zshを使っている方"&gt;2. zshを使っている方&lt;/h4&gt;
&lt;p&gt;オイラも、今回を機にzshデビューしました。このコードをどうぞ。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;echo '[[ -s $HOME/.rvm/scripts/rvm ]] &amp;amp;&amp;amp; source $HOME/.rvm/scripts/rvm' &amp;gt;&amp;gt; ~/.zshrc
source ~/.zshrc`
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;p&gt;これで、Rubyを入れる準備ができました。まだ先は長いです。
でもげっそりしないで下さいね。
ひとつひとつは大した事じゃないです。うまくいけば・・・&lt;/p&gt;</description></item></channel></rss>