imageMagick centos インストール
格ゲーマのふ〜どさんです。
evo優勝は記憶に新しく、ガンストなど格ゲに限らずにマルチで活躍してます。
スパ4のメインキャラはフェイロンで、反応速度がすごく、人間性能で勝負してくスタイルです。
今回は、imageMagickのインストールです。
centos5とcentos6について記載します。
centos5はかなり苦労しました。。
はじめに、centos6です
yum install libjpeg-devel libpng-devel yum install ImageMagick
次に、centos5です
yum install libjpeg-devel libpng-devel #このあたりもインストールします(自分の場合、fontが反映されませんでした。。) yum install freetype-devel giflib-devel perl-devel djvulibre-devel libwmf-devel jasper-devel libtool-ltdl-devel libxml2-devel librsvg2-devel OpenEXR-devel wget http://www.imagemagick.org/download/ImageMagick.tar.gz tar zxvf ImageMagick.tar.gz cd ImageMagick-6.8.9-2 ./configure make make install rm /usr/bin/convert ln -s /usr/local/bin/convert /usr/bin/convert
logrotateやってみました
岸明日香さんです。ゴットタンという大人向けバラエティ番組で、
飲みっぷり選手権的なのをやっていて、それで、知りました。
関西弁いいすね
さて、今回はlogのrotateについて記載します。
ポイントは、rotateするタイミングで、プロセスを奪わないこと、できるだけ、タイムラグなく
参照元のログファイルを圧縮できるか、この2点です。
そしてこの2点は以下のコマンドが最適に思えたのでそれで実装してます。
cp /dev/null 参照元ログファイル名
mvせずに、コピーし、元ファイルを空っぽにしてあげるってのが上の原理です。
このコマンドでは瞬時に空にできるらしくログのロストなく、実装可能です(多分)
参考までに作成したサンプルを記載しておきます。
実行自体はjenkinsの定期実行で行っています。
やっていること
- バックアップをとる rotate.sh
- バックアップファイルを圧縮する compress.sh
- バックアップファイルの古いものを削除する rmlog.sh
rotate.sh
#!/bin/bash FROM_DIR="/var/log/" TO_DIR="/var/log/hoge_bak/" # 日付の取得 DATE=$(date +%Y-%m-%d) #バックアップ保存先の存在確認 if [ ! -d ${TO_DIR} ] then mkdir ${TO_DIR} fi LOG_REG=`find "/var/log/" -name "hoge*.log" -maxdepth 1 2>/dev/null` for f in $LOG_REG do EXC_F_DIR=${f##*/} FILE_NAME=${EXC_F_DIR%.*} echo ${FILE_NAME} #日ごとにbackupファイルを作成、存在していた場合、ナンバリングする cp --backup=numbered ${f} ${TO_DIR}${FILE_NAME}${DATE}.log; cp /dev/null ${f} done
compress.sh
#!/bin/bash TO_DIR="/var/log/hoge_bak/" #バックアップ保存先の存在確認 if [ ! -d ${TO_DIR} ] then mkdir ${TO_DIR} fi #一日以上前のbackupログを圧縮する find "${TO_DIR}" -maxdepth 1 -mtime +0 -iregex ".*\.log$\|.*\.log.+~$" | xargs gzip 2>/dev/null
rmlog.sh
#!/bin/bash TO_DIR="/var/log/hoge_bak/" #バックアップ保存先の存在確認 if [ -d ${TO_DIR} ] then #一年以上前の圧縮ファイルを削除する find "${TO_DIR}" -mtime +365 -iregex ".*\.gz$" -maxdepth 1 -exec rm -f {} \; > /dev/null 2>&1 fi
centos5 libstdc++.so.6.0.10 reference errors
倉持由香さんです。つい最近知りました。
格ゲーもやるらしく、この前ウル4のお披露目会で大胆なコスとかしていて(アレコス?)
最近の注目株です。まー尻がすごいっすね
私の場合、yum updateをした瞬間に「libstdc++.so.6.0.10」が参照できないと;´Д⊂)
そこで試行錯誤の上実施したコマンドを記載します。
「libstdc++.so.6」のシンボリックの実体を「libstdc++.so.6.0.10」とします。
libstdc++.so.6.0.10自体がすでにない場合は、どっかからもってくる必要があります。
cd /usr/lib64/ mv libstdc++.so.6 libstdc++.so.6.bak ln -s libstdc++.so.6.0.10 libstdc++.so.6
angularjs 事始め
格ゲーマーのボンちゃんです。
サガット使いで国内でも最近のトパンガリーグで優勝しました。
のりに乗ってます。
見かけとは異なり、非常に緻密に心理分析などをしつつするプレイヤです。
麻雀もうまいですしね。
本題に入ります。
angularjsです。
実際に使ってみました。かなり使いやすいです。
利点としては、今までのウェブでの通常のhttp通信だと、name,value のsubmitで
postするのが主流でしたが、angularjsでは、jsonでのやりとりがベースとなります。
そして、まるでリクエストをそのまま展開するように、画面上のexpressionにbindできます。
今後、自分の課題として、
- テンプレートによる、パーツの切り分け
- $scopeの受け渡しの標準化
- controlerやそれらに定義されているfunctionのスコープ
この辺まで使いこなせれば、いっぱしの、アンギュラ使いになれるのでないでしょうか
最近の興味(技術)
2013年もあとわずか
今年はいろいろありましたが、なんだかんだで楽しく過ごせました。
そして、今回の画像はうりょさんです。
さくら、ヴァイパーがスパ4のメイン使用キャラです。
大会では上位にいつもいる強プレイヤーです。
一点読みが鋭く、爆発力が魅力です。
左側です
さて、本題です。
最近の興味がある技術で、unityとapache sparkの2つがあります。
unityは昔出たてのことに本だけ買うという最悪のパターンで終えてしまったので、
今回はある程度のレベルまでやって行きたいです。
unityの本を買って、一つサンプルを作ってみました。
結構簡単に作れて驚きました。
まだ、本のままただ綴っているだけなので、まず、unityの脳になれるようにしないといけないという印象です。
git cherry-pickの使いどころ
一旦格ゲーマから息抜きで
たまたまnescafeの宣伝?で見かけた山本舞香さんです。実は今日知りましたが、、
今後活躍しそうですね
使いどころ
例えば、「hoge」branchではなく「piyo」ブランチで作業しなければならなかったときに、普通なら、stashして移す方法や、バッチでファイル移動するとかの方法を連想しますが、cherry-pickを使うと「piyo」に「hoge」の変更を取り込むことができます。
//作業環境をpiyoにする git checkout piyo //hogeから取得したい最新のコミットからチェリーピックする。 git cherry-pick -n <コミット(sha-1)>
チェリーピックコマンドに-nをつけるとコミットされないのでコミットログも奇麗にできます。
ただし、sourcetree上でcherry-pickを行うこともできるのですが、これはコミットもされてしまうので、コマンドでやったほうが安全かもですね。
ssl環境で、web-socket 通信
ときどさんです。
マーダフェイスです。
兵長です。
東大ゲーマとして、数々の大会で華々しい成績を残しています。
ゲームが本当に好きなんだなーと、話とか聞いているとそう思わせます。
例えば、clientから、ハンドシェイクする場合、こんな感じでよびますが、
var socket = io.connect("//"+location.hostname+"/xx/xx")
httpsで通信するとこんなエラーがでます。
Unexpected response code: 502
それを回避する方法として
サーバサイドで、
こんな風に書きます。
io = socketio.listen(app) io.set("log level",1) io.set("transports", ["xhr-polling"]) ←ここ
これによりssl通信時にもエラーが起こらないようになります。