タグ

ブックマーク / hiroki.jp (23)

  • 見落としがちなLinuxのWEBチューニング | Act as Professional

    WEBコンテンツ配信にLinuxを使うのは一般的になりましたが、CentOSやUbuntuをはじめ、大抵のディストリビューションが低スペックなマシンでも動くような初期設定になっています。 トラフィックの上限でもない CPUリソースの枯渇でもない HDDのIOが遅い問題でもない コンテンツが重くなる(接続できない) というケースで、見落としがちなLinuxのネットワーク周りのチューニングについてです。 iptables関連 iptablesを使用している場合、下記のパラメータを注意して下さい。 /proc/sys/net/ipv4/ip_conntrack_max ip_conntrackに記録できる最大値です。65536あたりが初期設定になっているかと思います。これだとパケットの取りこぼしがすぐに起きてしまいます。1コネクションあたり約350バイト消費するので、実装されているメモリに応じて

    見落としがちなLinuxのWEBチューニング | Act as Professional
  • プロとしての行為 Act as Proffesional

    Gitのブランチをどのタイミングで切って、マージしていくかなども非常に大切ですが、ブランチやマージをするよりも頻繁におこなうコミットについて、あらためて基に立ち返ってみましょう。 一つ一つのコミットを綺麗に積み重ねていくことは、ブランチを切るタイミングやマージ、歴史の改編などを容易にすることができます。コミットが綺麗に積み重ねられていないとマージや歴史改変で苦労するでしょう。 Gitのベストプラクティス(原文)に乗っかるためにもgit commitする前に以下のようなことをチェックしましょう。 Gitの操作に慣れている人はPushやMergeをする前に今回紹介するようなことを元にしてコミットの歴史を綺麗に整えましょう。 1コミットに1つの対応1コミットにはあれこれ詰め込めすぎるべきではありません。例えば以下のような2つのことがあったとします。 Aの機能を追加Bの機能のバグを修正2つの対応

    プロとしての行為 Act as Proffesional
  • Sublime Text 2が使いたくなるEmacs勉強会が開催されました | Act as Professional

    Emacsのなごみ系の話チャラいEmacs使いとして一部で有名な大竹さん。Emacs実践入門の著者です。 チャラいと噂なのに当日はフォーマルなスーツ姿で登場するという…。まさかの展開!! Emacsの歴史と著書の裏話について、語ってくれました。増刷して第2刷目突入のようです。 Emacs のバッファの内部実装について Emacs のバッファの内部実装について(PDF)アリエル・ネットワークの井上さんです。 Software Designで「Emacs のトラノマキ」の連載をしていた会社のCTOです。 C言語の知識がなくても理解できる様にEmacsのバッファの実装について話してくれました。 Sublime Text 2 ペーパーボーイのantipopさん Emacs勉強会なのにSublime Text 2、Emacs勉強会なのにSublime Text 2、大事なところなので…。 最初から最

    Sublime Text 2が使いたくなるEmacs勉強会が開催されました | Act as Professional
  • 意外と知られていない無料VPS(centos,debian)を入手しよう! | Act as Professional

    あなた専用のVPSサーバが無料で手に入ります。もう独り占め。 勉強するだけだったら十分に使いようがあると思われます。 スペック OpenVZ HDD 10GB RAM 128MB 転送量制限なし OS CentOS/Debianちょっと大きなアプリケーションを動かすのは、やめておいた方がよいスペックです。 入手方法イギリスの会社であるHOST1FREEが提供しています。申し込み画面までの行き方をナビゲートします。 サイトにアクセス HOST1FREEのサイトにアクセスしてください。FreeVPSの「Order Now!」をクリックしましょう。 とりあえず、Likeしておいてあげよう 最新情報を手に入れるためにもLikeしておこう。そのままファンページに飛んでください。 ファンページのURLをクリックして申し込み画面へ ファンページの画像矢印で示しているリンクが申し込み画面へのリンクです。

    意外と知られていない無料VPS(centos,debian)を入手しよう! | Act as Professional
  • プログラマがGitHubとどう関わっているのか垣間見て感じたこと | Act as Professional

    関係各所の協力により実現した1日にとても感謝している@HIROCASTERでございませう。 スタッフとして協力してくれる仲間がいたり、突発LTやってくれたりなど、Agile渋谷のおなじみのの雰囲気がアウェイの銀座も垣間見れたのもよかったです。 1日暇になったからLTやりにきてくれる仲間がいたり、おもしろかった。 Book1st銀座コア店では、Web+DB PRESSを1冊ずつ持った人が7人以上並ぶという光景があったとか。 「The GitHub」イベント詳細発表!話題のあの人が登壇 #Agile渋谷 こちらのイベントのまとめです。 感想 個人的な感想としては、やはり感じていたとおり、GitHubを使いまくってる人とほとんど使っていない人にグッサリわかれてしまっているのかなと。 仕事じゃ使えないけど、プライベートだと使いまくってるなんて、ケースはあまり聞かない。 そして、GitHubを使って

    プログラマがGitHubとどう関わっているのか垣間見て感じたこと | Act as Professional
  • 大規模Webアプリのノウハウが濃縮「Mobageを支える技術」 | Act as Professional

    Mobageのソーシャルアプリを開発していた過去のある@HIROCASTERでございませう。 「35億PV/dayの巨大システムをはいかに開発・運用されているか?」なんていわれたら、Webサービスを開発しているプログラマであれば、読まないわけにはいきません。 明日、店頭に並ぶそうです。 Part1 ソーシャルゲーム開発技術 ソーシャルゲームとは何なのかといった概論から始まり、日独自のガラケーの話やガラケー向けのサイトをつくるのに絶対つまずくであろうポイントやテクニックについてかいてます。もちろん、ゲームでよくある動的Flashをつくる方法などにも触れています。 ガラケーのゲーム開発に携わったことがない人には役立つかな。と思いますが、もうこの辺の話はいいでしょ。というのが正直な僕の個人的な感想。これからガラケーのゲームつくるって人は…。 そして、スマホの話になり、DeNAのngCoreの話

    大規模Webアプリのノウハウが濃縮「Mobageを支える技術」 | Act as Professional
    kiyoshi1211
    kiyoshi1211 2012/06/12
    "P.S GREEを支える技術はまだですか?"
  • 達人プログラマーに学ぶ どこでも自動化 | Act as Professional

    達人プログラマーはどうするのか? p.240 第8章 達人のプロジェクトより 我々よりもコンピュータの方がうまくやってのけるような繰り返しや俗っぽいことは、すべてコンピュータに任せてしまいましょう。我々にはもっと重要で難しい仕事が待ち構えているのですから。 HIROCASTERの経験から cobblerをつかって、OSのインストールは自動化 puppetやChefをつかって、OSの設定やアプリケーションの導入と設定を自動化 capistranoをつかって、デプロイ作業を自動化 Nagiosなどの監視システムやCactiなどのモニタリングシステムへの追加も自動化 こんなことはさっさとやってしまおう。物理サーバが到着したら数分で番環境へ投入できるように。 Amazon EC2を使えば、物理サーバが到着するのも待たなくてすむ。 達人プログラマーから想像できる開発中の自動化は… シェルを書いてし

    達人プログラマーに学ぶ どこでも自動化 | Act as Professional
  • 池澤あやかさんにPull Requestしてみた | Act as Professional

    < div class=”section”> CCレモンが売っていないので、まだ飲んでいない@HIROCASTERでございませう。 Ruby界隈で話題の池澤あやかさんが公開しているgithubが非常に興味深い状態(インデントがすごいことになってた)だったのでPull Requestしてみました。 @HIROCASTER pullリクエストきたー!初めてのpull体験です! — 池澤あやか / いけあや (@ikeay) March 29, 2012 あやかさんのはじめては俺がもらった!(ぇ RT @ike728: @HIROCASTER pullリクエストきたー!初めてのpull体験です! — Hiroki OHTSUKA (@HIROCASTER) March 29, 2012 Rubyどうこうってより、C++やるってのにビックリしたけどね。 一緒にペアプロしませんか?C++教えてくださ

    池澤あやかさんにPull Requestしてみた | Act as Professional
  • 3分でわかるGoogle Analyticsでクリックの回数を取得する方法 | Act as Professional

    今回は右端に表示されているFollow meと書かれているTwitterバッジのクリック回数を取得してみました。 このTwitterバッジは登場した当初はどこのブログでもよく見かけましたが、私自身このバッジを押すことがなかったので、実際どれくらいの人がクリックしてくれものなのか疑問でした。 実際にバッジを貼り付けてみて、効果を測定してみないとわかりません。 そこで、アクセス解析でおなじみのGoogle Analyticsのイベントトラッキング機能を利用します。(*1) 非同期スニペットの設置 WordPressであれば、利用しているテーマのheader.phpファイルのheadタグ内に以下を貼り付けてください。 <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXX

    3分でわかるGoogle Analyticsでクリックの回数を取得する方法 | Act as Professional
  • さようなら、daemontools。こんにちわ、forever。 | Act as Professional

    サーバー側でJavaScriptを動かすnode.jsは、予期せぬexceptionが発生すると、簡単に停止してしまう。まぁ、これはJavaScriptだから仕方のないことなのだが、ライブラリなども発展途上のnode.jsを番環境で使う人にとっては痛いところである。 そこで、Linuxなどで昔ながらの djb tools の一つであるdaemontoolsを使う人などがいるのだろうが、せっかくなのでnodeで稼働するforeverをつかってみる。 個人的にはdaemontoolsよりも状態把握がしやすいので、foreverをしばらく使おうと考えている。 そもそも何するものなの? JavaScriptをはじめとしたスクリプト言語全般にいえることですが、サーバサイドで常駐稼働させると、何かの拍子に停止して落ちてしまうことがしばしばあります。 そんなとき、落ちてしまったときに自動的に立ち上げ直

    さようなら、daemontools。こんにちわ、forever。 | Act as Professional
  • MySQL PARTITION BY RANGを利用して負荷をかけずに1億レコードを削除する | Act as Professional

    MySQL 5.1.50 on MacBook の環境です。 CREATE TABLE `log` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `data` varchar(255) NOT NULL, `created_at` datetime NOT NULL, `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY ( `id`) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8; 毎日何百万件というレコードが記録される。こんなlogテーブルがあるとします。 普通にDELETE文を発行して削除すると mysql&gt; DELETE

    MySQL PARTITION BY RANGを利用して負荷をかけずに1億レコードを削除する | Act as Professional
  • node.js から memcached を利用する + おまけ情報 | Act as Professional

    http://nodefest.jp/2011/に参加した日にこのBlogで利用していたAPIが終了するという終了勧告を受けました。まさにnode.js熱が最高の時にこんなことを知ったらnode.jsで書き上げるしか手はありません。 幸いなことに、http://nodefest.jp/2011/参加者にはファーストサーバからβ提供していただけたhttps://node-ninja.com/を利用して、同様のAPIを半日もかからずに書き上げられました。 今回はキャッシュとしてよく利用するmemcachedをnode.jsから利用するサンプルスクリプトを紹介します。 インストール node.jsでmemcachedを利用するライブラリの開発はgithubを利用しておこなわれています。 https://github.com/elbart/node-memcache 導入は難しいことを考えることな

    node.js から memcached を利用する + おまけ情報 | Act as Professional
  • HTML5キャッシュマニフェストを利用する | Act as Professional

    HTML5を解釈してくれる最近のブラウザでは、キャッシュマニフェストという機構を利用してオフラインWEBアプリケーションなどが存在しています。この機能を利用して、通常のWEBコンテンツでも画像、CSSJavaScriptなど、ブラウザ側でキャッシュさせて、来オンラインで取得すべきデータのみにアクセスさせ、高速にコンテンツを表示させましょう。 マニフェストファイルを認識させる設定 キャッシュさせる内容を記述したファイルをマニフェストファイルと呼びます。このマニフェストファイルをサーバから提供し、クライアントのブラウザで正常に解釈ができるように設定を追加する必要があります。ApacheをはじめとしたHTTPサーバの設定ファイルに下記の様に設定するか、.htaccessなどのファイルに追加してください。 AddType text/cache-manifest .manifest マニフェスト

    HTML5キャッシュマニフェストを利用する | Act as Professional
  • いまどきのRubyとRailsの学び方 | Act as Professional

    code school という学習サイトがあります。現在は、Ruby on Railsに特化したコンテンツがありますが、確認する限りでは、jQueryやHTML5 & CSS3のコンテンツが近いうちに公開される予定です。 なにが、いまどきなのか? Ruby on Railsrails3に対応してる)が無料で学習できる Rails for Zombies をやってもらえば、すぐにわかるのですが、rails環境を一切つくることなく、Webブラウザだけで完結しているコンテンツなんです。 つまり、ブラウザにコードを打ち込んでいくと、動作する結果を返してくれるのです。環境作りに苦労することなく、学習に専念できるのです。 初心者向けのコンテンツだからこそ、こういった配慮は大事だなぁと考える。 Rails for Zombies は5章構成になっていて、1章ずつ動画で丁寧に説明されている。英語が聞き取

    いまどきのRubyとRailsの学び方 | Act as Professional
  • 5分でわかる Python を知らない人が Python の便利さを学べる記事をかいたよ | Act as Professional

    昨日はJavaScript版が出たので、あまり書いたことのない Python を勉強がてら書いてみました。 Python を知らない人に Python の話をして欲しいと言われてないけど、ブログを書きました。(*1) 難しい話は抜きにしたいんだけど、抜きにしちゃうとまったく訳わかんないから簡単に説明する。 今回は Python の psp ってのを使って元ネタ同様のことを実現する。 mod_pythonCGI が動くサーバなんて自分でつくらないとないだろうけど、その辺はどうにかしてもらう。 そんなこんなで、どうにかしてもらったら、 <%= と %> で囲めば動きます。 import ではじまるコードの部分とか事前に処理するところは <% と %> で囲んでください。 どうにかしてもらったサーバで example.html というファイルの拡張子を example.psp すれば良いだ

    5分でわかる Python を知らない人が Python の便利さを学べる記事をかいたよ | Act as Professional
  • プロとしての行為 Act as Proffesional

    288ページという少ないページ数の中に、ほとんどの見開きの中に図をいれて、アジャイル開発のすべてがザックリ凝縮された書籍です。思わず「こういうのが欲しかったんだ!」と声に出してしまう内容に仕上がっています。この業界の新人に必ず読ませたいバイブルです。 今の仕事プロジェクトに問題がある。順調でない。解決策の糸口が欲しい。 アジャイル開発に興味がある。はじめてみたい。どういったものか知りたい。 もっと価値のあるソフトウェアを顧客に提供したい。 ソフトウェア開発に携わるすべての人(プログラマ以外にも)にオススメします。東京に住んでいる人はよかったら読書会に参加してください。 良いコードを書く技術 -読みやすく保守しやすいプログラミング作法 (WEB+DB PRESS plus) 今年、プログラミングを格的にはじめた人や、会社に入って多人数での開発をはじめてやる人に読んでもらいたい書籍。自分一

    プロとしての行為 Act as Proffesional
    kiyoshi1211
    kiyoshi1211 2011/08/02
    アジャイルサムライが読みたい
  • コードやテストを保存したら自動でPHPUnitを実行しGrowlへ通知する環境 | Act as Professional

    TDDやってますか?テストを書いて、実行。コードを書いて、テストを実行。PHPUnitコマンドを1日に何度も叩いているPHPerに朗報です。コードとテストを修正して保存をすると、それを検知して、自動的にPHPUnitを走らせて、結果をGrowlで通知する環境をつくりました。これで、TDD Boot Camp in Tokyo #tddbcもテンポ良くすすめられますね。 gem watchr インストール PHPerには申し訳ないのですが、Rubyのgemを使います。 gem install watchr growlnotify インストール Growlへの通知をするgrowlnotifyをインストールします。 Growlをダウンロードして、Extraディレクトリに含まれている、growlnotifyをインストールしてください。 環境をcloneする hirocaster/phpunit-s

    コードやテストを保存したら自動でPHPUnitを実行しGrowlへ通知する環境 | Act as Professional
  • IT系勉強会に参加する人が実践すべき10のこと | Act as Professional

    イベントの定義を事前に理解する 大きく分けて、イベントには2つのタイプがあると感じています。この2つのタイプを理解して、十分な準備をしてイベントにのぞみましょう。 講師から講義を受けて、知識を “教えてもらう” スタイル 特定のテーマに沿って、ディスカッションや手を動かして “学びあう” スタイル 告知ページやメーリングリスト、Twitterなどで雰囲気はつかめます。過去の開催情報も公開している勉強会も多いので、それを確認するのが一番確実でしょう。 教えもらうスタイル 「○○入門」といった感じの勉強会が多いタイプです。何も知らないところから、色々と手ほどきを受けて、使い始めてみるきっかけをつかむタイプの勉強会です。ですが、限られた時間で、限られたことをするので、体系的に知識を得られるケースはまれです。 よって、講義を受けたからといって満足してしまってはいけません。実際に自分で手を動かして、

    IT系勉強会に参加する人が実践すべき10のこと | Act as Professional
  • PHPを使っているすべての人が知るべき無料のPaaSサービス | Act as Professional

    先日発売されたsymfonyの執筆に携わらせて頂いたので、今回はPHPのPaaSホスティングサービスである cloudControl で、無料で symfony1.4 を稼働させます。きっと、cakePHPやCodeigniterも稼働させることができるのではないでしょうか。 cloudControlって? 1時間あたり1BoxというcloudControlで定義している独自の単位は無料で使えます。簡単に言うと、少ないアクセスのサイトだったら無料で使えます。それ以上のアクセスを提供するためにはunlockの手続き(有料)が別途必要です。 また、無料で提供しているアドオンが利用できます。その中にはMySQLがあるので、PHPMySQLで稼働するフレームワークは大抵稼働するのではないでしょうか。 cloudControl で symfony1.4 を稼働させるところまで、解説することにしま

    PHPを使っているすべての人が知るべき無料のPaaSサービス | Act as Professional
  • プロとしての行為 Act as Proffesional

    1.一般的なコーディング規約に目を通し、エレガントなコードを知る エレガントなコードを書くためには、エレガントなコードを知らなければならい。その土台を築いているコーディング規約について、オープンソースではどのようなものが使われているのか理解しておこう。入社する予定の会社が採用している言語については必ず目を通しておこう。 PHP PEAR 標準コーディング規約 symfony CodingStandards Perl perlstyle Ruby クックパッド株式会社のRubyコーディング規準 Matzスタイル NaClで採用している規約 Python PEP 8 そして、あなたの身近にあるオープンソースのコードを実際に読んでみよう。この時点でコードの仕組みや設計が理解できなくても良い。コードがエレガントかどうか?を感じ取って欲しい。こう書いた方が、良いのではないか?など、考えてみよう。

    プロとしての行為 Act as Proffesional