タグ

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

  • git statusが43秒かかっていたのを1秒に高速化する大規模Gitリポジトリの操作を高速化するためのscalarを紹介 | Act as Professional

    Git 2.38がリリースされました。 このバージョンから大規模Gitリポジトリの操作を高速化するscalarが同梱されるようになりました。 今回はこのscalarによって、どれぐらいGitの操作が高速化されるのかを簡単に検証します。 結論から言うとgit statusが約43秒かかっていたのが約1秒で操作できるようになります。 Install Git 2.38Git 2.38からscalarが同梱されましたので、各自の環境にあわせてInstallなりVersionUpなりをしてください。 $ git --version git version 2.38.0 Before大規模Gitリポジトリとしてchromiumを利用しました。 普通にgit cloneしてきて、git statusを実施すると約37秒かかります。 ❯ time git status On branch main You

    git statusが43秒かかっていたのを1秒に高速化する大規模Gitリポジトリの操作を高速化するためのscalarを紹介 | Act as Professional
    ryshinoz
    ryshinoz 2022/10/08
  • dog pile effect という現象についてRailsで解消するにはrace_condition_ttlを利用する | Act as Professional

    これが dog pile という状態です。語源は犬が積み重なって寝ることを指しているようです。人間が積み重なっていることも指しているようで、野球の乱闘状態などもdog pileというようです。 dog pile effect とは?「dog pile」というのはここまででなんとなくわかりましたが、WEBアプリケーションの世界での「dog pile effect」とはどういったことなのでしょうか?これについて解説してみたいと思います。 「dog pile effect」はmemcachedやredisといったexpireを設定するキャッシュストアを利用しているWEBアプリケーションで発生します。 dog pile effect が発生する構成dog pile effect が発生する状況について、以下の様なシステムがあると想像してください。 WEBアプリケーションが1つのページをキャッシュを

    dog pile effect という現象についてRailsで解消するにはrace_condition_ttlを利用する | Act as Professional
    ryshinoz
    ryshinoz 2016/02/24
  • 閏秒を迎えるにあたってLinuxでは何を対策すべきか? | Act as Professional

    2016/12/27 更新Googleなどの大手IT企業がうるう秒対策済のNTPサーバが公開したため、これを利用する内容などを以下にまとめました。 元旦に実施される うるう秒の対策 まとめ2016/07/08 更新2017/1/1に閏秒の実施が決定されました。対応はこの記事のとおりで問題なさそうです。 2015/06/24 情報追加(2015/06/29 更新)下記の対応に関わるntpdの比較的新しいバージョンにSLEWモードで動作していても、うるう秒が挿入されるバグが発見されました。[redhat] これによりntp-4.2.8p3-RC1以降のバージョンでないとSLEWモードで動作していてもうるう秒が挿入されます。RedHatはntp-4.2.6p5-3.el6_6という対応済みのバージョンを提供しています。Ubuntuでは今日現在12.04LTS, 14.04LTSの2バージョンはパ

    閏秒を迎えるにあたってLinuxでは何を対策すべきか? | Act as Professional
    ryshinoz
    ryshinoz 2015/01/09
  • RubyMotionでクラッシュレポートサービスを利用する | Act as Professional

    クラッシュレポートサービスについて調べた@hirocasterでございませう。 iPhoneなどのiOSで開発をしたアプリケーションが何らかの理由で落ちてしまった場合、端末にログが保存されています。このログをクラッシュレポートと呼びます。 クラッシュレポートを開発者に届けることができれば、開発者はアプリケーションが落ちた原因の不具合を直すのにとても役立ちます。 このクラッシュレポートを端末から取得するためにはMacなどに端末を接続して、ログを取得する操作をしてもらわないとなりません。これを実際のアプリを利用しているユーザーにしてもらうのはとてもハードルが高い内容です。(実際の操作方法はiOS開発ガイドのデベロッパへのクラッシュレポートの送信をご覧ください) そこで、端末から自動的にクラッシュレポートを送信してくれるサービスが存在します。 Crashlytics Crittercism Bu

    RubyMotionでクラッシュレポートサービスを利用する | Act as Professional
    ryshinoz
    ryshinoz 2013/08/08
  • git 1.8.2 リリースノートを眺めて、新機能把握と設定を追加 | Act as Professional

    世の中はGoogleリーダーで盛り上がってる中、Livedoor Readerに移行した@HIROCASTERでございませう。 そんななか、ひっそりと git 1.8.2 がリリースされました。 リリースノートを眺めていたら知らない機能があったので書いておきます。 git check-ignore * “git check-ignore” command to help debugging .gitignore files has been added. 1.8.2からの新機能です。 .gitignore ファイルに記述されてい内容と実際のファイルが該当するかチェックできます。 例えば .gitignore ファイルに /tmpと書いたとします。 $ git check-ignore -v ./tmp .gitignore:1:/tmp ./tmpのように1行目の設定に該当して、exclu

    git 1.8.2 リリースノートを眺めて、新機能把握と設定を追加 | Act as Professional
    ryshinoz
    ryshinoz 2013/03/15
    ぎっと
  • 見落としがちなLinuxのWEBチューニング | Act as Professional

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

    見落としがちなLinuxのWEBチューニング | Act as Professional
    ryshinoz
    ryshinoz 2012/10/28
  • chef-solo はじめてのLinux環境構築の自動化入門 | Act as Professional

    環境構築を自動化すれば数分でサーバ構築して投入できますよ?@HIROCASTERでございませう。 vagrantで開発環境(仮想マシン)を自動構築しようの記事で、仮想マシンにchefやpuppetを自動的に実行させて開発環境を自動で構築する手順を紹介しました。 環境構築を自動化する内容をchefであれば、レシピと呼ばれるものを、puppetであればマニフェストと呼ばれるものを記述しなければなりません。 今回はパッケージ(NTP)を導入して、NTPの設定ファイルを自動的に配備して、サービスを立ち上げるという環境構築の自動化をchef-soloを使って、紹介したいと思います。基的に他のソフトになっても手順は同じです。参考にしてください。 chefとchef-soloの違いchefはクライアントとサーバの形を取っており、chefを実行するためにはサーバにレシピや付随する数多くのデータがなければ

    chef-solo はじめてのLinux環境構築の自動化入門 | Act as Professional
  • 「githug」でgitの基本操作を算数ドリルみたいに学ぼう! | Act as Professional

    GitHubのイベントである「The GitHub poweredby Agile渋谷 〜日のSOCIAL CODINGの今を見る〜」の懇親会を受付始めました@HIROCASTERでございませう。 イベント参加者以外でも参加可能のため、イベントは補欠だったけど、どういうふうにGitHubを使っているのか聞きたい人は、ご参加ください。(イベント参加者優先で、空気読んで登録してください) イベントではGitHubの話をするので、Gitが使えることが前提になっています。 そこで、Gitの基操作方法を学べる「githug」を紹介します。 githug Gazler/githug「githug」はgitの基操作を実践的に学ぶための良いソフトウェアです。 特に他のバージョン管理システムを使ったことのある人がgitの基操作だけを学ぶだけならちょうど良い。 インストールgemで公開されているのでイ

    「githug」でgitの基本操作を算数ドリルみたいに学ぼう! | Act as Professional
    ryshinoz
    ryshinoz 2012/06/20
  • 「愛せよ、さもなくば捨てよ。」ジンガジャパン株式会社を退職します。 | Act as Professional

    2012年2月をもって、ジンガジャパン株式会社(旧ウノウ株式会社)を退職します。 2009年の後半に到来した、mixiのソーシャルアプリを発端としたソーシャルアプリブームに乗って、2010年1月に入社しました。 2009年後半から交流させて頂き、当時のmixiアプリの携帯版オープンの際には、オープンから48時間しない間に80万人以上のユーザーが「まちつく!mixi版」を登録してくれた時の興奮は今でも忘れることができません。 僕が入社して、月に数億円売り上げるソーシャルゲームであり、毎日リリースできるようなアグレッシブな開発に直接、携われ、構築できた経験は貴重でした。また、シリコンバレーの企業から日の企業が買収されるという珍しい機会に携われたのも良い経験です。 http://jp.techcrunch.com/archives/20100804zynga-buys-tokyo-based-

    「愛せよ、さもなくば捨てよ。」ジンガジャパン株式会社を退職します。 | Act as Professional
    ryshinoz
    ryshinoz 2012/02/29
  • 本当のJavaScriptを知っているか!具体的にコードで学べる「テスト駆動 JavaScript」 | Act as Professional

    書は裏表紙に「中級技術者向け」と明記されている。JavaScriptの言語仕様に関して、入門したことない人や、関数型の言語に見地のない人は、パーフェクトJavaScriptやサイあたりで、JavaScriptの言語仕様を身につけてから、取り扱うことを推奨する。それぐらい価値のある内容に書は仕上がっている。 そして、 正統派なTDD(テスト駆動開発)について理解したい JavaScript自身の言語的な特徴を押さえておきたい テストできるJavaScriptのコードを多く閲覧したい 実際のプロダクトに活用できるアプローチを数多く知りたいと、考えているJavaScriptを日頃から書いている人、携わっている人に、必ず読んでもらいたい1冊である。 全体を通じて、テストできるコードの特徴は何か、単体テストとテスト駆動環境の利点を享受できる優れた単体テストはどのようなものかをサンプルとともに示

    本当のJavaScriptを知っているか!具体的にコードで学べる「テスト駆動 JavaScript」 | Act as Professional
    ryshinoz
    ryshinoz 2011/12/21
  • Act as Professional |

    プログラマは1日のほとんどを座った状態で生活している人がほとんどではないでしょうか? この「座りすぎ」の毎日は病気のリスクを高くすることが明かになっています。 座りすぎは病気のリスクを高める この「座りすぎ」の生活は2型糖尿病、心血管疾...

    Act as Professional |
    ryshinoz
    ryshinoz 2011/07/10
  • 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
    ryshinoz
    ryshinoz 2011/03/29
  • Hudsonでsymfony自動テスト環境をつくる | Act as Professional

    HudsonというJavaでつくられたCI(継続的インテグレーション)ツールを使って、symfonyの自動テストを継続的インテグレーションされる環境をつくる方法です。 継続的インテグレーションや自動テスト環境とは?XPやアジャイル開発手法でのプラクティスです。とても開発者を幸せにしてくれるものです。 プログラマーがユニットテストなどの自動テストを書く 実際の機能となるコードを書く 自分が変更した範囲のテストコードが通ることを確認する バージョン管理システムにコミットする HudsonなどのCIツールなどによって、すべての自動テストが走る。(結合テストとも呼ばれる) テスト結果にエラーがある場合、メールなどで通知されるこうすることによって、開発者は常にテストが通るソースコードを維持し続けることができます。 万が一、他の機能を壊すコードを書いてしまったりバグを埋め込んでしまえば、いつのコミット

    Hudsonでsymfony自動テスト環境をつくる | Act as Professional
  • 1