わーくあうと!

日々の作業でためになったことをアウトプットすることで自分の成長につながればなと。

LINE@が個人でも使えるようになったようなので登録してみた

とりあえず貼れるもの貼る。

ID:@WRD7604M

QR:
↓クリックで拡大

スマホからアクセス
'stats.label.addfriend' (MISSING TRANSLATION)


登録はLINE@アプリをAppStoreからダウンロードして、あとはLINEに登録している人ならLINEログイン→年齢認証してすぐできる感じ。
SIMフリー版の端末使ってると年齢認証ができないとかなんとかゆう噂は聞いたけど詳しくは知らない。


何かに使えるのかなー
ブログの更新を通知したり、暇なときにメッセージ送ってみたりするとか?

んー

とりあえず誰か友達登録してもらえると嬉しいです。


生存報告

かれこれ半年くらいブログ書いてなかったので更新だけしようかなと。


といっても書くこともないんだけど。


最近はがっつり仕事してない。
なので大きく物事が動いてもいないし、だからってそれが退屈なわけでもないんだけど。


たぶんどこかのタイミングで耐えられなくなって色々するはずなので、それまでの充電期間ってことで。

Titanium.UI.WebViewのUserAgentを変える

WebViewとメニューのタブだけの側ネイティブなアプリをTitaniumで作ろうとしてしててハマったのでメモ

UserAgentが変更できない

今作ってるサービス、アプリ版も作ろう!と昨日急に思い立って側ネイティブなアプリをサクっと作ってました。
で、アプリからのアクセス時はヘッダーとかフッターを表示させたく無いのでユーザーエージェントみて判定しようかなーと思ってたのですがドキュメント見た感じ Titanium.UI.WebView はUserAgent指定ができなさそうだった。。


http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.WebView

setUserAgent() があるにはあるんだけどAndroidにしか対応してないみたい(SDK3.2現在)


で、どーしよーと悩んでいたらまさにそのiOS対応のモジュールを書いてくれていた方が!
http://d.hatena.ne.jp/harukazepc/20120223/1329966158


解決!ではなかった..

ありがとうございますと独り言いいながらモジュール入れてみたら「SDK3.2には対応してないよ」と言われた。。
まじか・・・

解決!

もう諦めて別な方法でやろうかと(URLに適当なGETパラメータ付けるとか、アプリアクセスは違うドメインにするかとか)悩んでたんですが、
「普通にSDK3.2でビルドしなおせばいけんじゃね?」って思って、新しいMobileModuleプロジェクト作ってTiWebviewUserAgentからClassesの中身を頂いてきてビルドしなおしたらいけました。


おしまい

IE8でbootstrapのcol-md-とかが効かない件

結構はまったので備忘録残しておく。


Mac上でbootstrap使ってサイト制作してて、ひと通り完成したからIE8で表示チェックしたら

  • col-sm-
  • col-md-
  • col-lg-

のクラスがうまく効いていないようだった。
ちなみに『col-xs-』だけは効いてるようだった。


下記のドキュメント確認しながらrespond.jsとか読ませてIE8対応ソースにしてるはずなのになんでーと行き詰まった..
http://getbootstrap.com/getting-started/#template


で、色々試してやっと解決。


bootstrap.min.cssをCDN使って読ませてるのがいけなかった。
きっとrespond.jsの中でcss取りにいったけどクロスドメイン制約に引っ掛かってうんたらかんたらしてたんだろう。


bootstrap.min.cssをダウンロードしてきて自鯖に置いて読ませたらIE8でもちゃんと動きました。

CentOSのメモリチューニング

最近開発用のVPS鯖がメモリ使い過ぎで激重になっていたのでチューニングしました。
その際の手順を残しておきます。

何が問題かを見極める

どのプロセスがどのくらいメモリを使っているのか確認します

ps alx --sort -rss

これでメモリ使用量の多い順にプロセスが表示されます。
RSSが使用メモリです(単位はKB)

それぞれの問題に対応

自分の場合は下記の2種類のプロセスを調整できそうだったので対応しました。

  • pm2プロセス
  • mysqldプロセス

それぞれの対応も詳しく書きます。

pm2プロセスの問題

pm2とはnode.jsをデーモン化するためのサービスなのですが、node.jsで何か作ってた覚えはあるけど今運用してない気がしたので下記のコマンドで何を動かしているか確認しました。

find / -name app.js

そしたら過去にWebSocketを使ったチャットサーバーを立ち上げて遊んでた残骸だとわかり、もう必要ないのでpm2を止めました。

pm2 stop all

これでpm2問題は解決。

mysqldプロセスの問題

ご存知MySQLですが、これがメモリ2GBのVPS鯖に対して約1.5GB使ってました。
「そういえばチューニングせずにデフォルト値のまま使ってたなー」と思いチューニングすることに。

これは書いてたら長くなったので別のエントリーとして書きました。
5分で出来るMySQLのお手軽チューニング - わーくあうと!


チューニングしてみて

これら2つの問題に対応してメモリリークも無くなりサクサクになりました。

めでたしめでたし