bhags
Big Hairy Audacious Goals
-
mongoDB 2.4.4をCentOS 6.2にインストール
mongoDBを設置することとなったのでこれは作業メモ *最新安定板(現時点で2.4.4)がyumよりインストールできるようなのでyumよりインストール インストールがとても楽でした。
-
AWS Linux Boot EBSボリューム容量変更時resize2fsができない場合の解決策
*この方法を実施する際にはテスト環境でテストをした上で本番に適用する事を強くお勧めします。まあ、まともなエンジニアならいきなり本番はないと思いますが。 AWSのEBS Bootボリュームサイズを拡張する方法に関してネットでたくさんの情報が乗っているがresize2fsがそのままでは効かない場合がある。 ここは私が試して成功した方法を示す。 参考になったサイトはこちら ボリューム変更の一般的な手順は以下のようになる。 (以下の手順の詳細はネット上検索すると山ほどでる) 現在のBootボリュームのsnapshotをとる snapshotより新しいEBSボリューム(好きなサイズを指定)を生成 起動中のinstanceをstop instanceのBoot ボリュームをdetach(device 名前を控える-sdaのようなもの) 増量したdeviceをattach(device名前は上の手順で控えたもの) instanceを起動 sudo resize2fs /dev/拡張したいdevice名前 (各自設定のdevice名前) [ここからが本題] 上記の手順に従ってもThe filesystem is already xxx blocks long. Nothing to do!でる場合の解決策 これは増量されたサイズに対して実際に容量が割り当てられていないのが原因fdiskを利用し新しくdisk容量を割り当てる事で解決可能。ただいくつか注意点があるのでここにその手順を示す。 前置き 以下は上記の6.instance起動後からの手順。 基本suで作業.私の環境ではattachした時のdevice名sdaに対してlinuxの/dev上では xvda1,xvda2,xvda3があり [xvda1->/mnt/boot] [xvda2->/] [xvda3-> swap] 領域としてマウントされていた。ここのdevice名は各自環境のものにかえること. 下記手順どおりならデータが削除される事はなかったが領域の指定(シリンダ)を間違えるとデータがなくなる可能性があるので注意 手順は以上で終了
-
CentOS 6.2 (Final) MySQL 5.5 -> 5.6 移転
*この記事はここの記事を参考に実施した私の履歴です。 RPMファイルのダウンロード (現在の最新バージョンは5.6.12-1でした。) MySQL-client-5.6.12-1.linux_glibc2.5.x86_64.rpm MySQL-server-5.6.12-1.linux_glibc2.5.x86_64.rpm MySQL-shared-5.6.12-1.linux_glibc2.5.x86_64.rpm パッケージに関してはここ(MySQLのパッケージ種類)が参考になります。 Stop MySQL データディレクトリの保存 削除対称MySQLを以下のコマンドで確認 #phpMyAdminはfileをダウンロードし自力で設置
-
objective-c underscore 変数の継承をもっと柔軟に
ケース:親クラスと子クラスの間に同じ変数名で別のクラスを指定したいときunder score変数を利用 準備 変数となるクラス @interface SuperModel @interface SubModel : SuperModel 親クラス @interface SuperClass @property (nonatomic,retain) SuperModel* data; @implementation data = _data; 子クラス @interface SubClass : SuperClass { SubModel* _data; } @property (nonatomic,retain) id data; @implementation data = _data; これで子クラスの内部ではSubmodelとして_dataを扱えるようになる。
-
Why use underscore instance value on xcode
A lot of people use this for private variables, to differentiate between private variables and public variables within an object. It is a completely optional way of working. what you’re seeing is the use of underlines to distinguish between instance variables and properties. So a class declaration might be: @interface Foo { NSString* _label; ….…
-
mysqlエラー(99)
tcp_tw_recycle tcp_tw_recycleはTIME_WAIT状態にあるコネクションを高速にリサイクルできるようにするためのフラグ。CentOSではデフォルトでは無効になっていたので、有効に。 tcp_fin_timeout これはFIN_WAIT2の状態にあるコネクションの保有時間。デフォルトでは60秒 上記の ip_local_port_range もあわせて/etc/sysctl.confの末尾にこれらを追記 /etc/sysctl.conf net.ipv4.ip_local_port_range = 32768 65000 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 10 そしてsysctl -p で反映。 mysqlで(99)なエラーが出たよ、といって困っている人の掲示板でのやり取り(英語) http://lists.mysql.com/mysql/204830 mysqlで(99)ならここ見ろよ、なポインタ(英語) http://www.mysqlperformanceblog.com/2006/11/12/are-php-persistent-connections-evil/ TIME_WAITが長すぎて困ってるの、という人が教えてgoo http://oshiete1.goo.ne.jp/kotaeru.php3?q=2211552 そもそもnetstatとかTIME_WAITとかよくわからん、という人はこちら http://www.atmarkit.co.jp/fwin2k/win2ktips/234netstat/netstat.html FreeBSDの場合も含めて、さらっとスマートに説明してくれてるブログ http://www.sato-bb.net/archive/tech/tune/time_waitmsl/ TUXとかいうサーバの話だけど、途中で「TCPコネクションの飽和を防ぐ」話があった http://itpro.nikkeibp.co.jp/article/COLUMN/20051115/224580/ == 以下追記 == id:kdaibaさんからアドバイスもらったので追記しておきます。 net.ipv4.tcp_tw_recycleを有効にすると、条件によっては、TCPセッションが脹れなくなるトラブルが発生することもありうる、とのこと。 カーネル設定いじる前に以下のブログを読んで、よく理解しておいた方がよさそうです。 http://d.hatena.ne.jp/nice20/20070521#p1 http://d.hatena.ne.jp/nice20/20070517 http://ya.maya.st/d/200804c.html 台場先生、ありがとございました。
-
-
-
サーバの負荷をしろう!!
サーバ運用時に必要な負荷測定および対策を整理 サーバのボトルネックを調べる!! Original URL サーバのボトルネックはどうやって調べるか 1:CPU使用率 2:memory使用率 3:ディスクI/O 4:TCPコネクション数 1:CPU使用率 Command: top : CPU別のidleを確認 w : ロードアベレージを確認 (マルチコアの場合 la/コア数が la1以上の時の実際値) マルチコア時代のロードアベレージの見方 sar : CPU別のidleを確認 2:memory使用率 top : free : sar -r : ディスクI/O vmstat : bi/bobを確認 bi:Blocks received from a block device (blocks/s) bo:Blocks sent to a block device (block/s). bi/bo が0ならよい 4:TCPコネクション数 Command: netstat -an : 5:参考サイト…
-
iOSとunityを統合
Unityで生成されたiOSソースコードを自作アプリに統合する方法 1:必要なソースファイルの移行 Unityより生成されたソースファイルの中のClassesはLibrariesフォルダの中をすべてXcodeでimport このときmain.mmは除去(あとで参照する) Tagets -> appTaget -> Build Phasesで Add Build Phaseをクリック. Add Run Scriptクリック後Unityで生成されたXcodeのBuild Phasesにあるscriptsをこぴぺー Compile Sourcesで Unity Library fileがすべてリンクされたかを確認. ARCを使用している場合は下記を追加(.m .mmのファイルのCompiler FlagsにARCを利用しないflag) -fno-objc-arc 2:Unityのpchファイルとmain.mmファイルを自分のものと統合 UnityのiPhone_target_Prefix.pchを自分のアプリの.pchファイルと統合。自分で改良を行った場合には独自でマージすること unityのmain.mmソースをprojectのmain.mにコピー ただし以下のソースはそのまま活用 (もとのprojectのmain.mソース) @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } projectのmain.m をmain.mmに変更 projectのAppDelegateを修正しUnityのwindowを取得可能に AppDelegate.h @class AppController; @property (strong, nonatomic) UIWindow *window; @property (strong, nonatomic) UINavigationController…