Mac に gem install mysql するときは ARCHFLAGS の指定が必要。

前のエントリー で、MySQLのバージョンアップをしたんだけど、
それは、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のMySQLを5.5から5.6にアップデートしてたんだけど、なんやかやでMySQLが起動しなくなっちゃって、せっかくなので、もう1回5.5から入れ直したときのメモ。 MacPortsは使わずにインストールしてます。 データはバックアップしてくださいねー。 バージョンは
  • Mac OS X 10.7.5
  • MySQL 5.5.29 => MySQL 5.6.10
  • phpMyAdmin 3.5.6
ちなみに、Apacheとphpは最初から入ってたそのまま使ってます。

MySQLをアンインストール

  1. とりあえず、起動しなくなってゴミになっちゃった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のインストール

  1. MySQL :: Download MySQL Community Server から Mac OS X ver. 10.6 (x86, 64-bit), DMG Archiveをダウンロードします。
  2. ダウンロードしたDMGファイルをダブルクリックして開きます。
  3. "mysql-5.5.29-osx10.6-x86_64.pkg"をダブルクリックしてインストール。
  4. インストールが完了したら、"MySQLStartupItem.pkg"もダブルクリックしてインストール。
  5. 次に、"MySQL.prefPane"もダブルクリック。これでシステム環境設定に"MySQL"の項目が追加されます。
  6. 追加されたMySQLの設定画面を開いて"Start MySQL Server"を押すと起動します。
  7. 起動するとこんな感じです。
  8. mysqlへパスを通すため、ホームディレクトリの".bash_profile"を開きます。
    $ vi ~/.bash_profile
  9. mysqlへのパスを記述して保存します。
    export PATH=$PATH:/usr/local/mysql/bin
  10. 設定を反映させます。
    $ source ~/.bash_profile
  11. とりあえずrootのパスワードを変えておきます。
    $ mysqladmin -u root password 'pass'
  12. "my-small.cnf"をコピーして、設定ファイル"my.cnf"を作ります。
    $ sudo cp /usr/local/mysql/support-files/my-small.cnf /etc/my.cnf
  13. "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
    
  14. [システム環境設定] - [MySQL]を使ってMySQLを再起動します。 または、以下のコマンドで再起動します。
    $ sudo /usr/local/mysql/support-files/mysql.server restart
  15. ログインしてみます。
    $ mysql -u root -ppass
  16. ログインできたら status を確認してみます。
    mysql> staus
    このうち、
    UNIX socket: /tmp/mysql.sock
    はあとで使うのでメモります。

phpMyAdminのインストール

  1. [システム環境設定] - [共有]から、"Web共有"をチェックします。これでApacheが起動します。
  2. phpMyAdmin - DownloadからphpMyAdmin-3.5.6-all-languages.tar.gzをダウンロードします。
  3. ダウンロードして開いたフォルダを、/Library/WebServer/Documents/phpmyadmin/ に置きます。ディレクトリ名は適当にリネームします。
  4. 設定ファイル"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
  5. "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 サーバにログインできません」ってエラーが出ます。
  6. ブラウザでアクセスして root でログインします。
    http://localhost/phpmyadmin

MySQL5.6へバージョンアップ

  1. [システム環境設定] - [MySQL]でMySQLを一旦停止します。
  2. MySQL :: Download MySQL Community Server から Mac OS X ver. 10.7 (x86, 64-bit), DMG Archiveをダウンロードします。
  3. ダウンロードしたDMGファイルをダブルクリックして開きます。
  4. "mysql-5.6.10-osx10.7-x86_64.pkg"をダブルクリックしてインストール。
  5. インストールが完了したら、"MySQLStartupItem.pkg"もダブルクリックしてインストール。
  6. 次に、"MySQL.prefPane"もダブルクリック。これでバージョンアップはオッケーです。
  7. rootは5.5時代のパスワードでログインできなくなっているのでパスワードを設定します。
    $ mysqladmin -u root password 'pass'
  8. [システム環境設定] - [MySQL]を使ってMySQLを起動します。
  9. ブラウザでアクセスして root でログインします。
    http://localhost/phpmyadmin
これでMySQL5.6へのバージョンアップ作業はいったん終わりです。 つづきます。。。  

2013年02月07日 Posted by ozamasa at 23:27

ナガブロでソースコードをかっちょよく表示する方法

ナガブロがリニューアルされてました!
箇条書きはーとか、マークダウンはーとか、いろいろあるんですが。。。
それはそれとして、プログラムのソースコードを綺麗に公開したいときがあると思うので、それをナガブロでどうやるの?ってのを紹介します。
  1. Syntax Highlighter Scripts Generatorのページに行きます。
    Syntax Highlighter Scripts Generator
  2. 「Select Brushes」欄で使用するプログラミング言語を選択します。言語名が左、それに対応するチェックボックスが右なので、ちょっと注意です。
  3. 使いたい言語を選択したら「Generate」をクリックします。
  4. 出力されたスクリプトをクリップボードにコピーします。 (「Copy To Clipbord」ボタンは機能しないブラウザがあります。)
  5. ナガブロ管理画面の左側のメニューから、 「プログの設定」 - 「テンプレート」 - 「カスタマイズ」 に行きます。
  6. ここでHTMLのカスタマイズをします。トップページ、個別記事、アーカイブ、それぞれのテンプレートの </head> タグの直前にコピーしたスクリプトを貼り付けて、登録します。
  7. あとついでに、 「プログの設定」 - 「ブログ環境設定」 - 「表示内容の設定」 に行って、「記事の自動改行」 を 「自動で改行しない(<br>タグで改行)」にしておいた方がいいと思います。
    これをしないと、preタグの中にも <br> が付いちゃって、意図しない改行が増えちゃいます。

  8. で、記事を書くときは
    <pre class="brush: ruby">
    # 10の階乗を求める
    ans = 1
    for i in 1..10
      ans *= i
    end
     
    # 出力する
    print "10! = ", ans, "\n"
    </pre>
    のように、brush:のあとに言語名を指定してpreタグで括ります。

  9. そうすると、こんな感じで表示されます。
    # 10の階乗を求める
    ans = 1
    for i in 1..10
      ans *= i
    end
    
    # 出力する
    print "10! = ", ans, "\n"
    
  

2013年02月01日 Posted by ozamasa at 18:12ブログ

塩尻で初めてのコーダー道場を開催しました!

1月19日(土)に小学生のためのプログラミング教室「コーダー道場」を開催しました。

参加していただいたみなさん、ありがとうございました!

開催させてもらったのはこの建物。まだ雪が残る塩尻インキュベーションプラザ。

きっかけ

そもそもコーダー道場を知ったのは、OSC 2012 Tokyo/Fall で、CoderDojo東京を開催されている石原さんにお会いしてお話を伺ったことでした。

その頃、僕は塩尻で中高生にRubyを教えるっていう意識高いお仕事もしてて、小学生にも教えられるだろーと簡単に考えていたわけです。

OSCで話を聞いてからFacebookでCoderDojoのグループに入ったりして、なんとか開催へのモチベーションを維持しながらも具体的な行動を起こさず、1ヶ月が経過。

そんなころ、#MA8 信州Caravan & Meetup に参加して、Tシャツもらって、気をよくして、カッとなって、CoderDojo塩尻の開催を決断、ようやく動き出します。

当日の様子

参加してくれたのは3人の小学生と保育園児1人(身内)でした。

人数も少ないし、たぶん進捗もまちまちになるだろうし、そもそもセミナー形式は難しいだろうなと思ってたので、机に丸く座って自由にスクラッチで遊んでもらおうか、と考えてました。

とりあえずスクラッチをインストールして、

 ・ネコを動かす

 ・クリックしたら「ニャ~」と鳴かせる

 ・操作に慣れたら、スクラッチ界隈でおなじみの「モグラ叩き」ならぬ「ネコ叩き」ゲームを作る

って乱暴な指示のもと、戯れてもらいます。

もくもく会の様相を呈してきたところ、響き渡る「ニャ~」という鳴き声。そこに轟く「イッヒッヒッ」という謎の声。

なんとなくネコ叩きが出来てきたころ、あっという間の1時間が終了します。

 

今回のまとめ

今回は初回なので、スクラッチを触ってもらうことがただ一つの目的だったのに、自力でプログラムを作って動かしてしまったのは、ちょっと想定外。ここまで小学生が出来るとは思わなかった。

次回以降どうしよう...という感じ。

実はまだ、僕はこのコーダー道場の方向性が明確に持ててなくって、小学生にプログラミングを教えるという行為自体の是非も含め悩んでいるところではあります。

どこまで教えるのか、何をもって教えたとするのか、簡単に考えてたけど、けっこう責任が重い気がしてる。プログラミングを嫌いにならないで欲しいってことが最大の願いではあるんだけど。

それでも、継続することはなにより大事なことだと思っているので、ゆるい感じで続けていくつもり。

そこに行けばなんか面白いことができるかもって場所を作れればいいなーと思ってます。

  

2013年01月21日 Posted by ozamasa at 12:20CoderDojo

1月19日は「CoderDojo塩尻」です!

明日1月19日(土)、長野県塩尻市で初めて開催する「CoderDojo」(コーダー道場)で、メンターをします!

CoderDojo(コーダー道場)とは

image

アイルランドではじまった子供向けの、定期的なプログラミング教室です。

下北沢オープンソースカフェで開催されている CoderDojo東京 がけっこう盛んなんですが、最近では全国各地で開催されています。お近く探してみてください。

ちなみに、「CoderDojoがGitHubと提携して子どもたちのプログラミング独学を支援」 によると、ギッハブさんも支援しているらしい。やりますね。

明日はScratch(スクラッチ)をやります!

スクラッチ はMITメディアラボが開発した、簡単にプログラミング体験ができるソフトです。

Scratchは、対話的な物語やアニメーション、ゲーム、音楽、アートなどをあなた自身が簡単に作ることのできるプログラミング言語です。そしてそれらの作品はWebで共有できます。

子供たちがScratchの作品を作って共有する時、あるいは創造的に考え、体系的に推論し、協力して作業することを学ぶ間に、彼らは重要な数学とコンピュータのアイデアを学びます。

スクラッチからはじめて、HTML、ゆくゆくはRubyを教えることができればいいなぁと思ってます。

ちなみに、明日の参加者は3人!初回にしては集まってよかった。

よろしくお願いします!

CoderDojo塩尻

  

2013年01月18日 Posted by ozamasa at 11:21CoderDojo