Mac に gem install mysql するときは ARCHFLAGS の指定が必要。
それは、Ruby1.8.7 + Rails2.3.4 + MySQL5.6って、ちょっと古い環境を作りたかったからで。
MySQLをバージョンアップすると、gem mysqlが
Incorrect MySQL client library version! This gem was compiled for 5.5.29 but the client library is 5.6.10.というエラーを出すので、gem をインストールしなおす必要があります。
Macにgem mysqlをインストールするときのコマンドは以下です。
$ sudo ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
2013年02月08日 Posted by ozamasa at 13:11
MacのMySQLを5.5から5.6にバージョンアップしたときのメモ。
- Mac OS X 10.7.5
- MySQL 5.5.29 => MySQL 5.6.10
- phpMyAdmin 3.5.6
MySQLをアンインストール
- とりあえず、起動しなくなってゴミになっちゃったMySQL(たぶん5.6)をアンインストールします。
$ pkgutil --pkgs | grep -i mysql
とすると、com.mysql.mysql com.mysql.mysqlstartapp
ってのが出てくるので、$ sudo pkgutil --unlink com.mysql.mysql $ sudo pkgutil --forget com.mysql.mysql
とするとアンインストールできます。
MySQLのインストール
- MySQL :: Download MySQL Community Server から Mac OS X ver. 10.6 (x86, 64-bit), DMG Archiveをダウンロードします。
- ダウンロードしたDMGファイルをダブルクリックして開きます。
- "mysql-5.5.29-osx10.6-x86_64.pkg"をダブルクリックしてインストール。
- インストールが完了したら、"MySQLStartupItem.pkg"もダブルクリックしてインストール。
- 次に、"MySQL.prefPane"もダブルクリック。これでシステム環境設定に"MySQL"の項目が追加されます。
- 追加されたMySQLの設定画面を開いて"Start MySQL Server"を押すと起動します。
- 起動するとこんな感じです。
- mysqlへパスを通すため、ホームディレクトリの".bash_profile"を開きます。
$ vi ~/.bash_profile
- mysqlへのパスを記述して保存します。
export PATH=$PATH:/usr/local/mysql/bin
- 設定を反映させます。
$ source ~/.bash_profile
- とりあえずrootのパスワードを変えておきます。
$ mysqladmin -u root password 'pass'
- "my-small.cnf"をコピーして、設定ファイル"my.cnf"を作ります。
$ sudo cp /usr/local/mysql/support-files/my-small.cnf /etc/my.cnf
- "my.cnf"を開いて、
$ sudo vi /etc/my.cnf
各セクションに文字コードに関する以下の設定を追記します。[client] default-character-set=utf8 [mysqld] skip-character-set-client-handshake character-set-server = utf8 collation-server = utf8_general_ci [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8
- [システム環境設定] - [MySQL]を使ってMySQLを再起動します。
または、以下のコマンドで再起動します。
$ sudo /usr/local/mysql/support-files/mysql.server restart
- ログインしてみます。
$ mysql -u root -ppass
- ログインできたら status を確認してみます。
mysql> staus
このうち、UNIX socket: /tmp/mysql.sock
はあとで使うのでメモります。
phpMyAdminのインストール
- [システム環境設定] - [共有]から、"Web共有"をチェックします。これでApacheが起動します。
- phpMyAdmin - DownloadからphpMyAdmin-3.5.6-all-languages.tar.gzをダウンロードします。
- ダウンロードして開いたフォルダを、/Library/WebServer/Documents/phpmyadmin/ に置きます。ディレクトリ名は適当にリネームします。
- 設定ファイル"config.inc.php"を作ります。
$ cd /Library/WebServer/Documents/phpmyadmin/ $ cp config.sample.inc.php config.inc.php $ sudo chmod 660 config.inc.php $ cd ../ $ sudo chown -R www:www phpmyadmin
- "php.ini"を作ります。
$ sudo cp /etc/php.ini.default /etc/php.ini $ sudo chmod 644 /etc/php.ini $ sudo vi /etc/php.ini
"php.ini"の中のソケットの設定を上でMySQLのstatus見たときに表示されたパスに変更します。mysql.default_socket = /tmp/mysqld.sock mysqli.default_socket = /tmp/mysqld.sock
このソケットの位置が一致しないと、ログインしようとしたときに「#2002 MySQL サーバにログインできません」ってエラーが出ます。 - ブラウザでアクセスして root でログインします。
http://localhost/phpmyadmin
MySQL5.6へバージョンアップ
- [システム環境設定] - [MySQL]でMySQLを一旦停止します。
- MySQL :: Download MySQL Community Server から Mac OS X ver. 10.7 (x86, 64-bit), DMG Archiveをダウンロードします。
- ダウンロードしたDMGファイルをダブルクリックして開きます。
- "mysql-5.6.10-osx10.7-x86_64.pkg"をダブルクリックしてインストール。
- インストールが完了したら、"MySQLStartupItem.pkg"もダブルクリックしてインストール。
- 次に、"MySQL.prefPane"もダブルクリック。これでバージョンアップはオッケーです。
- rootは5.5時代のパスワードでログインできなくなっているのでパスワードを設定します。
$ mysqladmin -u root password 'pass'
- [システム環境設定] - [MySQL]を使ってMySQLを起動します。
- ブラウザでアクセスして root でログインします。
http://localhost/phpmyadmin
2013年02月07日 Posted by ozamasa at 23:27
ナガブロでソースコードをかっちょよく表示する方法
箇条書きはーとか、マークダウンはーとか、いろいろあるんですが。。。
それはそれとして、プログラムのソースコードを綺麗に公開したいときがあると思うので、それをナガブロでどうやるの?ってのを紹介します。
- Syntax Highlighter Scripts Generatorのページに行きます。
Syntax Highlighter Scripts Generator - 「Select Brushes」欄で使用するプログラミング言語を選択します。言語名が左、それに対応するチェックボックスが右なので、ちょっと注意です。
- 使いたい言語を選択したら「Generate」をクリックします。
- 出力されたスクリプトをクリップボードにコピーします。 (「Copy To Clipbord」ボタンは機能しないブラウザがあります。)
- ナガブロ管理画面の左側のメニューから、 「プログの設定」 - 「テンプレート」 - 「カスタマイズ」 に行きます。
- ここでHTMLのカスタマイズをします。トップページ、個別記事、アーカイブ、それぞれのテンプレートの </head> タグの直前にコピーしたスクリプトを貼り付けて、登録します。
- あとついでに、 「プログの設定」 - 「ブログ環境設定」 - 「表示内容の設定」 に行って、「記事の自動改行」 を 「自動で改行しない(<br>タグで改行)」にしておいた方がいいと思います。
これをしないと、preタグの中にも <br> が付いちゃって、意図しない改行が増えちゃいます。 - で、記事を書くときは
<pre class="brush: ruby">
のように、brush:のあとに言語名を指定してpreタグで括ります。
# 10の階乗を求める
ans = 1
for i in 1..10
ans *= i
end
# 出力する
print "10! = ", ans, "\n"
</pre> - そうすると、こんな感じで表示されます。
# 10の階乗を求める ans = 1 for i in 1..10 ans *= i end # 出力する print "10! = ", ans, "\n"
塩尻で初めてのコーダー道場を開催しました!
1月19日(土)に小学生のためのプログラミング教室「コーダー道場」を開催しました。
参加していただいたみなさん、ありがとうございました!
開催させてもらったのはこの建物。まだ雪が残る塩尻インキュベーションプラザ。
きっかけ
そもそもコーダー道場を知ったのは、OSC 2012 Tokyo/Fall で、CoderDojo東京を開催されている石原さんにお会いしてお話を伺ったことでした。
その頃、僕は塩尻で中高生にRubyを教えるっていう意識高いお仕事もしてて、小学生にも教えられるだろーと簡単に考えていたわけです。
OSCで話を聞いてからFacebookでCoderDojoのグループに入ったりして、なんとか開催へのモチベーションを維持しながらも具体的な行動を起こさず、1ヶ月が経過。
そんなころ、#MA8 信州Caravan & Meetup に参加して、Tシャツもらって、気をよくして、カッとなって、CoderDojo塩尻の開催を決断、ようやく動き出します。
当日の様子
参加してくれたのは3人の小学生と保育園児1人(身内)でした。
人数も少ないし、たぶん進捗もまちまちになるだろうし、そもそもセミナー形式は難しいだろうなと思ってたので、机に丸く座って自由にスクラッチで遊んでもらおうか、と考えてました。
とりあえずスクラッチをインストールして、
・ネコを動かす
・クリックしたら「ニャ~」と鳴かせる
・操作に慣れたら、スクラッチ界隈でおなじみの「モグラ叩き」ならぬ「ネコ叩き」ゲームを作る
って乱暴な指示のもと、戯れてもらいます。
もくもく会の様相を呈してきたところ、響き渡る「ニャ~」という鳴き声。そこに轟く「イッヒッヒッ」という謎の声。
なんとなくネコ叩きが出来てきたころ、あっという間の1時間が終了します。
今回のまとめ
今回は初回なので、スクラッチを触ってもらうことがただ一つの目的だったのに、自力でプログラムを作って動かしてしまったのは、ちょっと想定外。ここまで小学生が出来るとは思わなかった。
次回以降どうしよう...という感じ。
実はまだ、僕はこのコーダー道場の方向性が明確に持ててなくって、小学生にプログラミングを教えるという行為自体の是非も含め悩んでいるところではあります。
どこまで教えるのか、何をもって教えたとするのか、簡単に考えてたけど、けっこう責任が重い気がしてる。プログラミングを嫌いにならないで欲しいってことが最大の願いではあるんだけど。
それでも、継続することはなにより大事なことだと思っているので、ゆるい感じで続けていくつもり。
そこに行けばなんか面白いことができるかもって場所を作れればいいなーと思ってます。
1月19日は「CoderDojo塩尻」です!
明日1月19日(土)、長野県塩尻市で初めて開催する「CoderDojo」(コーダー道場)で、メンターをします!
CoderDojo(コーダー道場)とは
アイルランドではじまった子供向けの、定期的なプログラミング教室です。
下北沢オープンソースカフェで開催されている CoderDojo東京 がけっこう盛んなんですが、最近では全国各地で開催されています。お近く探してみてください。
ちなみに、「CoderDojoがGitHubと提携して子どもたちのプログラミング独学を支援」 によると、ギッハブさんも支援しているらしい。やりますね。
明日はScratch(スクラッチ)をやります!
スクラッチ はMITメディアラボが開発した、簡単にプログラミング体験ができるソフトです。
Scratchは、対話的な物語やアニメーション、ゲーム、音楽、アートなどをあなた自身が簡単に作ることのできるプログラミング言語です。そしてそれらの作品はWebで共有できます。
子供たちがScratchの作品を作って共有する時、あるいは創造的に考え、体系的に推論し、協力して作業することを学ぶ間に、彼らは重要な数学とコンピュータのアイデアを学びます。
スクラッチからはじめて、HTML、ゆくゆくはRubyを教えることができればいいなぁと思ってます。
ちなみに、明日の参加者は3人!初回にしては集まってよかった。
よろしくお願いします!