2013年10月4日金曜日

Bloggerでソースコードを綺麗に表示する方法

これからブログにコードを書く機会が増えると思うので、コードを綺麗に表示したいと思います。

ブログでシンタックスハイライトするためのcssやjsを生成してくれるSyntaxHighlighterというサービスがあるので、そちらを利用します。


導入

1.テーマと言語を選択

 まず下記ページでテーマ(背景色や文字色)とハイライトしたい言語を選びます。
 Generateボタンをクリックするとlinkタグとscriptタグが生成されます。

 Syntax Highlighter Scripts Generator
 http://www.way2blogging.org/widget-generators/syntax-highlighter-scripts-generator

 テーマは下記ページで確認できる
 http://alexgorbatchev.com/SyntaxHighlighter/manual/themes/

2.生成されたタグをBloggerに設定

 Bloggerの管理画面の左メニューから[テンプレート]-[HTMLの編集]を選択し、閉じheadタグの直前に1で生成したlinkタグとscriptタグをコピペします。
 テンプレートを保存したら準備は完了です。

使い方

表示方法には2種類あります。

・preタグを使う
・scriptタグを使う
preタグを使う
・『<』や『"』などの文字ではエスケープしなくてはならない
・javascriptが読み込まれなくてもテキストで表示してくれる
<pre class="brush: 言語;">
//ソースコードを記述
</pre>
scriptタグを使う
・特殊文字のエスケープは不要
・javascriptが読み込まれないと何も表示されない


ここではエスケープ不要のscriptで例を記載していきます。
preでも書き方は同じです。


2013年9月29日日曜日

Ubuntu13にrbenvをインストールしてみた

Ubuntu13にrbenvをインストールする手順メモです。

▽インストール手順

1. 必要なパッケージを事前にインストールする
1
$ sudo apt-get install build-essential bison libreadline6-dev curl git-core zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev autoconf libncurses5-dev

2. rbenv, ruby-buildをインストール
1
$ sudo apt-get install rbenv ruby-build

3. rbenvのパスを追加
1
2
3
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ echo 'export PATH="$HOME/.rbenv/shims:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile

▽rbenvの使い方

・インストールできるrubyバージョン一覧の表示
1
$ rbenv install --list

・インストールされているバージョン一覧の表示
1
$ rbenv versions

・rubyのインストール
1
2
$ rbenv install 2.0.0-dev
$ rbenv rehash

・標準バージョンの設定
1
2
$ rbenv shell  2.0.0-dev # 現在実行しているシェル環境上の設定
$ rbenv global 2.0.0-dev # システム全体の設定

・不要なバージョンを削除する
1
2
$ rbenv uninstall -f 2.0.0-dev
$ rbenv rehash


2013年9月9日月曜日

MySQL5.1を5.5にアップグレードしたら動かなくなった。

タイトルの通りですが、MySQL5.1を5.5にアップグレードしたらRedmineが止まってしまったので、復旧メモです。

▽ ログを確認
# /var/log/mysqld.log
130907 11:43:43 [ERROR] /usr/libexec/mysqld: unknown variable 'default-character-set=utf8'
→ どうやらMySQL5.5でdefault-character-set変数は廃止されたらしい。

▽ my.cnfを修正
# /etc/my.cnf
[mysqld]
- default-character-set=utf8  # 削除(頭のマイナスはいらないよ)
+ character-set-server=utf8  # 追加(頭のプラスはいらないよ)
(注) mysqldだけ変更する。clientとか設定している人はそのままdefault-character-setでよい。

$ service mysqld start
→ 失敗

▽ もう一度ログを確認
# /var/log/mysqld.log
130907 12:04:22 [ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it

▽この時点で一応mysqlは起動する...はず
service mysqld start
→OK

▽もう一度コマンド実行
$ mysql_upgrade -uroot -p

▽mysqlにログインしてみる
$ mysql -u root -p
→ ログイン成功!

2013年9月6日金曜日

Rails4.0でcron(バッチ処理)を動かす設定

rails4.0でバッチ処理を作成する手順のメモ

railsでバッチ処理を行うにはrails runnerやrakeを作成する方法があるようだ。
今回はrails runnerで作成した。


1.config/application.rbを修正してlib/tasks配下をオートロードの対象とする

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# config/application.rb
module Project
  class Application < Rails::Application
    #
    ...
    #

    # lib配下をオートロードの対象とする
    config.autoload_paths += %W(#{config.root}/lib)
  end
end


2.実行ファイルをlib/tasks配下に作成
 hoge_task.rb を作成

1
2
3
4
5
class Tasks::HogeTask
  def self.execute
    puts "Hoge"
  end
end


3.作成したタスクを実行してみる

1
rails runner Tasks::HogeTask.execute


4.cronに登録する

 cronの登録にはwheneverという便利なgemがあるのでそれを使用する。


4-1.インストール
 wheneverをGemfileに記載してbundle install

1
2
# Gemfile
gem 'whenever', :require => false

1
bundle install


4-2.configファイルの作成

1
2
3
$ wheneverize .
上記でだめなら
$ bundle wheneverize exec .


4-3.cronで実行するコマンドを設定
 (2013/9/7追記)実行環境の設定を追記

1
2
3
4
5
6
# config/schedule.rb
set :output, 'log/cron.log'
set :environment, :development

every 20.minute do
  runner 'Tasks:HogeTask.execute'
end


4-4.設定内容の確認

1
bundle exec whenever


4-5.cronへ登録

1
bundle exec whenever --update-crontab

以上でcronの登録は完了。


○その他のコマンド
・cronから登録を削除する

1
bundle exec whenever --clear-crontab


・時間の指定方法

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 3時間ごと
every 3.hours do
  runner "Tasks::HogeTask.execute"
end

# 毎日 AM5:00
every 1.day, :at => '5:00 am' do
  runner "Tasks::HogeTask.execute"
end

# 日曜日のPM5:00
every :sunday, :at => '5pm' do
  runner "Tasks::HogeTask.execute"
end

# 一時間ごと
every :hour do
  runner "Tasks::HogeTask.execute"
end

# cron型の指定
every '0 0 1-5 * *' do
  runner "Tasks::HogeTask.execute"
end





2013年8月29日木曜日

SSHの接続先をあらかじめ設定しておく

sshで接続先を管理する際、あらかじめコンフィグに書いておくことができます。

1
2
3
4
5
# ~/.ssh/config
Host hoge            # 接続先名
  User mockn         # 接続ユーザ名
  Hostname localhost # 接続先ホスト名(IPアドレス)
  IdentityFile ''    # 鍵ファイル(ない場合は空文字)

上記設定をしておけば、下記コマンドでSSH接続することができます。

1
ssh hoge


この ~/.ssh/config の設定を用いることでsshの多段接続もできます。
そちらはまた別途機会があれば。

2013年8月17日土曜日

ERBでコメントを書く

ERBでコメントアウトする方法は、基本的にRubyと同じ記法です。
ただし、コメント中に<%  %>がある場合は要注意です。

1行コメント

1
<%# コメント %>

複数行コメント

・1行コメントと同じ記述
1
2
3
4
5
<%#
複数行も
コメントアウト
できる
%>

・ドキュメンテーションコメントを記述する際によく使う
1
2
3
4
5
<% =begin %>
こちらでも
複数行の
コメントアウトが可能
<% =end %>

・コメント中に<% %>がある場合はこの記述しかできない
1
2
3
4
5
<% if false %>
コメント中に
<%=  %>の記述があっても
コメントアウトできる
<% end %>

HTML部分のコメント

・HTML標準のコメントアウト
1
<!-- コメントアウト -->

2013年8月15日木曜日

Hello Blogger.

はじめまして、こんばんは。Mockn(もっくん)です。

私は仕事でプログラミングをしているわけですが、
日々学ぶことを忘れないように備忘録としてブログを始めていきたいと思います。

技術者として成長するためにアウトプットは大切だという話を耳にして早数年・・・。
やろうやろうと思ってやってこなかったブログをようやく重い腰をあげて開設しました。
三日坊主にならないように注意しつつ、更新しなきゃという強迫観念にも苛まれることなく、伸び伸びやっていきたいと思います。どうかよろしくお願いします。