hypermkt blog

都内で働くWebアプリケーションエンジニア。主にサーバーサイド。最近はRuby/Railsでコードを書くのが楽しい。

PHPMD(PHP Mess Detector)を使ってバグ検出:未使用変数編

July 12, 2014

バグがない世界に行けるものなら行きたいけど、そんな世界は残念ながら存在しないです。 ただバグを少なくすることは可能で今日はつまらないバグを未然に防ぐことが出来るツール PHP Mess Detectorを見つけたので早速使ってみたのでまとめてみる。##PHP…

PHPMD(PHP Mess Detector)を使ってバグ検出2:変数命名編

July 12, 2014

前回の に続いて今回は変数命名について調べました。PHPMD実行時のオプションで namingを渡すことで下記をチェックしてくれます### 短すぎる変数名 メンバ変数 ローカル変数 引数 最小値 : 3文字 長過ぎる変数名 メンバ変数 ローカル変数 引数 最大値 : 2…

CocoaPodsのDKAudioPlayerのバグ修正がマージされた

July 07, 2014

動画の取り方が分からなかったので分かりにくかったらすいません。 iPhoneアプリ開発で音声ファイルを簡単に再生でき、画面にプレイヤー表示が出来る DKAudioPlayerというCocoaPodsライブラリがあります。 DKAudioPlayer…

Macbook Pro 13-inch, Early 2001のメモリーを8Gに増設した

June 21, 2014

結構前から不満に思いつつも面倒がって放置気味でしたが、さすがにそろそろ我慢の限界に達したのでメモリーを増設しました。##メモリーの選び方 メモリーの仕様から該当するメモリーの仕様を調べ、Amazonから下記を購入しました。 増設の仕方 こちらのページに記載されています。 http…

Swift文法まとめ 変数・配列・関数

June 10, 2014

SwiftのTipsはブログの記事にしても問題ないという確認が取れたので、自分の勉強用に理解したこと&進捗用にまとめよう。 変数/定数 varで変数 letで定数 var now_count = 50 let MAX_COUNT = 100 コロン区切りで型宣言も可能 var…

スクレイピングをmod_dosdetector-forkで防ぐ方法

May 06, 2014

とある日、サーバーがやけに重いなーと思ってログを見た所、頑張ってスクレイピングをしている人がいた。その日のログの件数だけで18万件・・・。111.86.200.225 - - [18/Apr/2014:13:38:24 +0900] “GET /review/69804…

サーバーの転送量の調べ方

February 26, 2014

ウェブサーバーの場合はApacheやNginxのログファイルにある転送量を合算すれば算出できるが、DBサーバーの場合はどうすればいいのか調べていた所、ifconfigコマンドでサーバーが起動してから転送量が分かるとの事。# ifconfig eth1 eth1 inet…

ntpd monlist脆弱性の対策法

February 15, 2014

JPCERTよりntpdの脆弱性の報告があった NTP Project が提供する ntpd の一部のバージョンには、NTP サーバの状態を確認する機能 (monlist) が実装されており、同機能は遠隔からサービス運用妨害 (DDoS…

mysqladmin flush-logsでlogrotateが出来ない!

February 02, 2014

mysql_logo なぜだ・・・なぜなんだー! 事の発端はある日のAM4:00に発生したmysqldのメモリー超過でした。4:00ちょうどから急激に実メモリー、スワップメモリーが上昇しはじめ、一時間後あたりでOOMキラーでプロセスがkillされていました。調査した結果、cron…

Webサーバー複数台化への道のり::設計編

January 25, 2014

small__3595638270 概要 とあるレビューサイトではアクセスのピーク時間帯になるとサイト動作が全体的に遅くなる現象が長く続いていました。取り急ぎの改善としてはSQL、I/O…

ドキュメント管理ソフトウェア Confluenceのすすめ

January 17, 2014

logoConfluencePNG 概要 アプリケーションやウェブサイトの開発の際に仕様、キャンペーンの企画などをGitHub/TracのissueやWikiなどで管理するケースが多いと思います。ですが、GitHub/TracのWiki…

サーバー時刻を自動的に補正する方法

January 12, 2014

サーバー時刻はあまり正確ではなく、少しずつずれていき、年間で約10分ずれます。時刻がずれるとアプリやAIの動作に影響があるので必ず正確な時刻に補正しましょう。 今回はntpd…

sshのポート番号を変更する方法

January 08, 2014

centos-transparent なぜ変更するのか sshの標準ポート番号の22番は一般的に知られた番号であり、そのままではSSHブルートフォースアタックの的となります。そのために、変更した方がより安全です。 変更方法 2222番に変更する手順をまとめます。 222…

複数サーバーでデータを同期する方法

January 06, 2014

newrsynclogo ウェブサーバーを複数台運用している場合、sitemap.xmlなどのデータを全ウェブサーバーで共有したい場合があります。 解決方法としては rsyncでファイルを定期的に転送 NFS とありますが、ちょっとしたファイル程度ならrsync…

Apache httpd.confのBufferLogsでハマった話

January 04, 2014

Apache-Logo この設定のおかげで三時間近く悩みました。access_logの書き込みの挙動がやけに不規則で再起動をすると一気に書き込まれたりとおかしな〜とず〜と悩んでました。 友達に聞いた結果このBufferLogsが原因だと分かりました。 BufferLogs…

knife-soloを使ってリモートサーバーに対してChefを適用する

January 02, 2014

Chef Logo 概要 Chef-soloはサーバーにログインして実行する必要がありますが、管理するサーバー台数が増えてくると各サーバーに都度ログインしてChef Soloを実行するのが面倒くさくなりました。そこで管理サーバーとして大本のサーバーから各サーバーに対してChef…

Macでvagrant upの際にエラーが発生した際の対処法

January 02, 2014

logo_wide-cab47086 過去に何十回とぐぐったのでそろそろ自分用のメモとしてまとめておく。 vagrant upをすると稀に下記のエラーが表示される $ vagrant up Bringing machine ‘manage’ up with ‘virtualbox…

CentOS5.8にyumでgitをインストールする

December 31, 2013

Git-Logo-1788C CentOS 5.8(Final)にyumでgitをインストールしようとするとNo package git available.と言われインストール出来ない。 [vagrant@vagrant-c5-x86_64 ~]$ sudo yum…