2014年1月16日木曜日

Twitter4JでSSLを有効にする

twitterのAPIではSSLが必須になったので、twitter4jもSSL対応の設定をします。

ConfigurationBuilder conf = new ConfigurationBuilder().setUseSSL(true);
Twitter twitter = new TwitterFactory(conf.build()).getInstance();

のようにして対応します。
https://github.com/YoshiteruIwasaki/NegativePositieAnalyzerForJa/commit/f33a8f89033d8c2dd2c3e3bbfb6f421445cfffc2

設定ファイルから読み込みを行っている場合は、

twitter4j.properties


http.useSSL=true
を追加すればいけるかと思います。
http://twitter4j.org/ja/configuration.html


ちなみに動かなくなったのは、2014年1月15日4:15 AM以降でした。



2014年1月10日金曜日

さくらのVPSでPlay Frameworkを動かす:MySQL5.5の文字コードをよろしくする

UTF-8 エンコードされた絵文字を MySQL / JDBC で取り扱うには?


にあるように、ちょっとTwitterと連携する関係でutf8mb4を使いたくなりました。
以下の対応を行って様子を見てみます。

設定ファイルの変更


/etc/my.conf の以下を変更してMySQLを再起動します。

[mysqld]
#character-set-server = utf8
character-set-server = utf8mb4

既存テーブルの変更


とりあえず対応が必要なデータベースは1つでテーブルの数も5個位だったので、全部のテーブルに以下のSQLを実行

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4;

Play Frameworkの接続設定の変更


application.confを以下のように書き換え

db.default.url="jdbc:mysql://localhost:3306/dbname?useUnicode=yes&characterEncoding=utf8&connectionCollation=utf8mb4_general_ci"

2014年1月9日木曜日

さくらのVPSでPlay Frameworkを動かす:MySQLを5.1から5.5にアップデートする

utf8mb4_general_ciが使いたいので、
CentOSのMySQLを5.1から5.5にアップデートします。

方法はもちろんお手軽なyum updateで行います。

事前準備


バックアップをとっておきましょう
mysqldump  -u root -p --all-database > all.sql
設定ファイルも念のためバックアップをとっておきます。
cp /etc/my.cnf /etc/my.cnf.backup

remiリポジトリの追加

epelの追加
rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
remiの追加
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

アップデート

service mysqld stop
yum --enablerepo=remi update mysql mysql-server

設定ファイルの変更

/etc/my.conf
の以下の場所を書き換えます。

[mysqld]
#default-character-set = utf8
character-set-server = utf8

#key_buffer = 128M
key_buffer_size = 128M

#log-slow-queries = /var/log/mysql-slow.log
slow-query-log = ON
slow-query-log-file = /var/log/mysql-slow.log

MySQLを起動します

service mysqld start
アップデートバッチを実行します
mysql_upgrade -u root -p