タグ

selfに関するharukasanのブックマーク (60)

  • 書籍「nginx実践入門」のサンプルコードを公開しています - BLOG::はるかさん

    サポートページなどには掲載して頂いているのですが、nginx実践入門のサンプルコードをGithubで公開しています。 github.com 書は紙面の都合上、サンプルコードの説明よりも文章やディレクティブの挙動に重きをおいて説明しているところが多々あり、そのためリストも内容が大きく省略されていたりします。公開しているサンプルコードでは文中の不足を補うため、基的にはそのまま動作するコードにすることを心がけて作成しています。実際にコードをそのまま確認したい方はサンプルコードを利用して頂くと手間が省けるかもしれません。 また、書の設定ファイルが動作するnginxをビルドするためのスクリプトも付属しています。DebianとUbuntuのみの対応となりますが(Travis CIでCIをまわしている関係でデフォルトはUbuntuです)、ビルドする際の参考になるはずです。 nginx_Pract

    書籍「nginx実践入門」のサンプルコードを公開しています - BLOG::はるかさん
  • ディスクのベンチマークを見やすいかんじにしたい - Qiita

    output version : 3 fio version : fio-2.1.11 jobname : job1 groupid : 0 error : 0 read total IO (KB) : 0 read bandwidth (KB/s) : 0 read IOPS : 0 read runtime (ms) : 0 read submission latency (min) : 0 read submission latency (max) : 0 read submission latency (mean) : 0.000000 read submission latency (stddev) : 0.000000 read completion latency (min) : 0 read completion latency (max) : 0 read complet

    ディスクのベンチマークを見やすいかんじにしたい - Qiita
    harukasan
    harukasan 2015/12/17
    書いた
  • GoのSliceは実際どうなっているのか - BLOG::はるかさん

    この記事はGo Advent Calendarのエントリではありません。 Go言語を勉強する人であれば、誰でもがsliceの扱いに躓くであろう。sliceの扱いがちょっとよくわからなかったので、まだよくわかってないけど、ひとまずメモ。 Goのアセンブラに関するドキュメント A Quick Guide to Go's Assembler - The Go Programming Language A Manual for the Plan 9 assembler sliceをアセンブリから扱うには 結論から書くと、今のところの理解では、sliceを関数に渡すとき、フレームにはslice構造体のアドレス、len、cap、そして戻り値のアドレスが積まれている。つまり、次の様なコードを書けば、sliceのアドレスがSI、lenがAX、capがBXに入り、要素の最初の値を返す関数になる。 // fu

    GoのSliceは実際どうなっているのか - BLOG::はるかさん
    harukasan
    harukasan 2015/12/04
    アドベントカレンダーではありませんが、書きました
  • なぜクラウドを使わないのか(あるいは、なぜクラウドを使うのか) - pixiv inside [archive]

    こんにちは、はるかさんです。 今日からはじまるピクシブ株式会社Advent Calendar 2015、1日目を担当することになりました。 先日娘に物のアドベントカレンダーを買ってあげた訳ですが、意外と高いので来年は使い回せるように丁寧に使わせようと思っています。 さて、ピクシブ株式会社では現在10を越えるサービスが運用されており、それらを支える様々な社内ツールが存在します。 アドベントカレンダー初日の今日はこれらのシステムがどういったところで動いているか、簡単に紹介しようと思います。 クラウドサービスの利用 面接の際によく聞かれる質問の1つが「ピクシブはなぜクラウドを使ってないんですか?」という質問です。 今年だけでも10回くらいは回答しましたが、結論から言えばピクシブでは所謂クラウドサービスをいくつも利用しています。 いくつかの例を見てみましょう。 Google Analyticsと

    なぜクラウドを使わないのか(あるいは、なぜクラウドを使うのか) - pixiv inside [archive]
    harukasan
    harukasan 2015/12/01
    書きました
  • pixivにおけるコンテンツ配信 / JPNAP users meeting 2015-02

    JPNAPユーザー会 / 2015-02-12

    pixivにおけるコンテンツ配信 / JPNAP users meeting 2015-02
    harukasan
    harukasan 2015/10/14
    #devsumi で引用されていたようなので公開しました。
  • 購読しているセキュリティ関連メーリングリスト情報 - Qiita

    もはや恒例になっているような気もしますが、BIND9の脆弱性情報が出ましたね。各ディストリビューションではすでに修正済みパッケージが提供されていると思いますが、どうやって知るの?って聞かれたので、購読しているメーリングリストをまとめておくことにしました。RSSフィードでも良いんだけど、RSSフィード読み飛ばしがちなのでメーリングリストの方がおすすめです。 JPCERT/CCメーリングリスト https://www.jpcert.or.jp/announce.html (RSSフィードも提供) 毎週1回セキュリティ関連のトピックをまとめておくってくれる。 緊急性が高い場合は都度注意喚起が行われる。 貴重な日語情報でしかも読みやすくまとまってて便利。 Ruby on Rails: Security Ruby on Railsセキュリティ情報が流れてくる。 Railsを使っているなら入ってお

    購読しているセキュリティ関連メーリングリスト情報 - Qiita
    harukasan
    harukasan 2015/09/04
    書きました
  • Gulpでplayのアセットファイルを生成できるプラグインをつくった - BLOG::はるかさん

    最近仕事でplay frameworkを使っているのだけど、playにはアセットファイルをコンパイルしてくれるsbt-webというのがある。これは便利っぽいのだけど、いままでnpmの世界で育った人間にはちょっと困った。だいたい、gulp-なんとかってプラグインではなくsbt-なんとかってプラグインを探したり、試したり、つくったりしないといけないのはつらい。 playはpublicディレクトリの下にアセットファイルをおけば良いのだが、gzipしたファイルとかmd5ファイルとかを用意しておけば、それを良い感じに使ってくれる。このあたりは下の記事が詳しい。 d.hatena.ne.jp gulpでのやり方も書いてあったんだけど、面倒なのでプラグインにしておいた。 www.npmjs.com Gulpfile.jsにはこんなかんじでかけばよい。 var gulp = require('gulp')

    Gulpでplayのアセットファイルを生成できるプラグインをつくった - BLOG::はるかさん
    harukasan
    harukasan 2015/09/01
    つくりました
  • os.Exit()はDefer functionの実行を待たない - Qiita

    testingパッケージを利用してテストを記述している場合、初期化や終了後の後処理を記述するにはTestMain関数を利用する。 package test import ( "log" "os" "testing" ) func TestMain(m *testing.M) { setup() code := m.Run() teardown() os.Exit(code) } func setup() { // 何らかの初期化処理... log.Println("setupped here.") } func teardown() { // 何らかの終了処理... log.Println("cleaned up here.") } func TestCase(t *testing.T) { t.Errorf("the test always fails") }

    os.Exit()はDefer functionの実行を待たない - Qiita
    harukasan
    harukasan 2015/06/13
    書いた
  • Norikra meetup #2で発表してきました #norikra - BLOG::はるかさん

    Norikra meetup #2でNorikraをログ解析に使うというごくごく一般的な内容の発表をしてきました。主催の@tagomorisさん、会場を提供頂いた:DeNAさん、皆様ありがとうございました。1年前に導入を検討し始めて、別に特段変わったこともしてないし、すごくヘビーに使っている訳でもないので、ゆるくまとめようとおもったらかなり時間余ってしまいました…… speakerdeck.com 最初MongoDBのcapped collectionに入れていたのが、Elasticsearch/Kibanaが流行してElasticsearchが全文検索以外に使われ出したり、ログ解析のトレンドはすごい勢いで変わってきているように感じます。Stream processingを行う方法にはFluentdのプラグインを用いる方法がありましたが、使っているfluent.confの中にfluent-

    Norikra meetup #2で発表してきました #norikra - BLOG::はるかさん
    harukasan
    harukasan 2015/06/04
    書きました
  • beer@harukasan#2

    毎回テーマを決めて、将来のことを考えながらビールを飲みます。誰も来なかったら1人で考えながら飲んでいます。 開催趣旨は次のページに記載されます。 http://harukasan.jp/beers/ 今回のテーマ SaaSとかの活用について考えたいと思っています。 開催スキーム およそ2週間前までに開催日時を決定します。開催日時は自分が勝手に決めます(今回おそくなってます、すいません)。 開催日1週間前に受付を締め切ります。それからお店を探します。 飲みます。お金は割り勘です。ただし、お酒を飲む人と飲まない人では金額に差をつけます。 注意事項 開催趣旨をご覧の上ご参加ください。 お酒が飲めなくても参加できます。 ドタキャンはやめてください。

    beer@harukasan#2
    harukasan
    harukasan 2015/04/21
    第2回の募集を開始しました
  • CoreOS Meetup Tokyo #1 で発表してきました #coreosjp - BLOG::はるかさん

    昨日2015/04/09開催されたCoreOS Meetup Tokyo #1で登壇させて頂きました。ホストして頂いたみなさん、会場を提供頂いたフリークアウトさん、ありがとうございました。rktの話題もキャッチアップできたし、CoreOSのリリースの仕組みにも触れられて良かったです。CRIUすごくおもしろいし未来かんじました。 speakerdeck.com pixivでCoreOSを運用してみて、こういうこと考えないといけないよね、って思ったことを雑多に羅列しておきました。CoreOSでクラスタを用意するのは良いんですが、デプロイの仕組みだったり、オーケストレーションの仕組みだったり、ロギングの仕組みだったり必要で、結局PaaSにあるような機能は必要になるよね、っていうのが結論で、そうなったときに、当に毎回全部用意する必要があるのかどうか、ちゃんと考えないといけないのでは、と最近考えて

    CoreOS Meetup Tokyo #1 で発表してきました #coreosjp - BLOG::はるかさん
    harukasan
    harukasan 2015/04/10
    所感です
  • Butter 0.2.0をリリースしました。 - BLOG::はるかさん

    年度初めいかがお過ごしでしょうか。入社式やら新歓やら進級やらご多忙のなかお過ごしのことかと思います。さて、Idobata™の大規模アップデートに伴い、対応したButter v0.2.0をリリースしました。今回のアップデートに伴い古いバージョンのButterはうまく動作しなくなっていますのでご注意ください。 2015-04-02追記: 既にButter v0.2.1がリリースされています Download: Butter 0.2.1 事前に@ursmさんにリリース後対応を一部やって頂いていましたので比較的簡単に対応することができました。ご協力ありがとうございました。ついでにRubyMotionのバージョンを上げたり、Xcodeのバージョンが上がったりしていますので安定性も向上しているような気がしています。 Butterを知らない方に説明しておくと、Idobata™のMac OS X用クライア

    Butter 0.2.0をリリースしました。 - BLOG::はるかさん
    harukasan
    harukasan 2015/04/01
    リリースしました
  • RSS対応NICの各キューをCPUコアに割り当てる

    gistfile1.txt �] � V # /etc/network/interface # post-upに指定しておく iface eth0 inet static address 192.2.0.10 netmask 255.255.255.0 network 192.2.0.0 broadcast 192.2.0.255 gateway 192.2.0.1 post-up /var/scripts/set_irq_affinity.sh > /dev/null set_smp_affinity.sh Т � V �� � V #!/bin/bash # # = RSS対応NICの各キューをCPUコアに割り当てるスクリプト # # Author::harukasan <harukasan@pixiv.com> # # == Ref # http://d.hatena.ne.jp/s

    RSS対応NICの各キューをCPUコアに割り当てる
    harukasan
    harukasan 2015/03/31
    貼っておいた
  • Supervisorにおける死活監視通知とEvent Listenerプロセスを再起動したい - Qiita

    Supervisorという便利プロセス管理ツールがある。プロセス監視以外に、STDOUTとSTDERRをログにつないでくれたり、複数プロセス起動してくれたりして便利だ。Supervisor 3.0からEvent Listenerという機能が追加されて、これを使うとSupervisor上で発生したイベントにフックしていろんな処理ができるようになった。 EventListener EventListenerはSupervisorが管理する他のプロセスと同様に、Supervisorの子プロセスとして起動され、標準入力/出力を経由してSupervisorと通信する。Supervisorからはイベントとその情報が渡されてくるので、それを元にメールを送信したり、外部の通知用HTTP APIを叩いたりできる。図にするとこんな感じ。 取得できるイベントには次の種類がある。 Supervisor側はプログラ

    Supervisorにおける死活監視通知とEvent Listenerプロセスを再起動したい - Qiita
    harukasan
    harukasan 2015/03/31
    書いた
  • 平成に追いつきました。 - BLOG::はるかさん

    ということで27歳になりました。3月26日生まれの皆様、お誕生日おめでとうございます。まもなくアラサーと呼ばれる年代にさしかかってる気がしますが、やってることはそんなに変わらないですね。去年も3月末締め切りに追われていた気がしますが、今年も追われています。10年後も同じこと言ってそうです。 今年はbeer@harukasanというイベントをはじめました。先週第1回を開催しましたが、いろんな話が聞けて非常に濃い時間を過ごせてとても良かったです。セゾンビールおいしかったです。小さいイベントですが、今年の目標として毎月続けていきますので、よろしくお願いします。来週には来月のイベントを立てる予定です。 なお、ウィッシュリストはこちらになります。 ウィッシュリスト

    平成に追いつきました。 - BLOG::はるかさん
    harukasan
    harukasan 2015/03/26
    書きました
  • この記事はお金借りるなら、お金借りる審査通らない理由、お教えします。

    必見!お金借りるならのお金借りる審査通らない理由ってどう? 育ち盛りとはいえ、生活がこっそりべ物をべるのが悩みです。 お金借りる審査通らない理由とかパンのような炭水化物ならまだしも、リバースモーゲージローンにある別のものはスルーして、カードローン会社をあるだけべるんです。方法の中心がなくなりますから、カードローン会社は来なら行かなかった買い物に行くことになるのです。 商品スペックがアップしていますし、お金借りるならを保存できないのは当に嫌なものです。 お金借りる審査通らない理由を叱っても効果がなく、生活にストレスが溜まっています。旦那に合わせて引っ越したのを後悔しています。 お金借りる審査通らない理由だったら、仕事もプライベートも充実していて、お金借りる審査通らない理由が楽しくて仕方ありませんでした。 お金借りるならですら友達の話すネタになりましたし、振込が面白くなってきたところ

    harukasan
    harukasan 2015/03/05
    やります!!
  • 画像変換Nightを開催しました #imgconv - BLOG::はるかさん

    もう2週間も前になってしまいましたが、画像変換Nightというイベントを開催しました。共同主催の @cubicdaiya さん、 @yoya さん、発表者の皆様、会場を提供していただいたGREE株式会社の皆様、そして参加していただいた皆様、誠にありがとうございました。 発表資料一覧 今回の発表資料はすべてconnpassのイベントページにまとめています。 また当日のTwitterまとめがあります。 画像変換Nightまとめ - Togetterまとめ ImageMagickの話が多いのかなーと思ってたら、多種多様な内容で、Webサービスの運用からテクニカルな話まで相当濃くてめっちゃよかったです。次があったら画像フォーマットのもう少しテクニカルな話ができればな、と思います。 サムネイルマスタとgo-thumber 今回ハナの発表だったため、まず一般的なWebサービスの画像投稿処理についてまと

    画像変換Nightを開催しました #imgconv - BLOG::はるかさん
    harukasan
    harukasan 2015/03/05
    書きました
  • go-libwebpとgo-libjpegをつくった - BLOG::はるかさん

    libwebpとlibjpegのGo bindingであるgo-libwebpとgo-libjpegをつくった。 それぞれWebPとJPEGファイルのデコード/エンコードに対応している。どちらもimage.Imageを扱うことが出来てimage/jpegやimage/pngと同じ感覚で使えるインターフェースにしている。たとえばgo-libjpegのサンプルコードは次のような感じ。 package main import ( "bufio" "image/png" "log" "os" "github.com/pixiv/go-libjpeg/jpeg" ) func main() { // Decoding JPEG into image.Image io, _ := os.Open("in.jpg") img, err := jpeg.Decode(io, &jpeg.DecoderOp

    go-libwebpとgo-libjpegをつくった - BLOG::はるかさん
    harukasan
    harukasan 2015/01/13
    書きました
  • pixivのサムネイル事情 - pixiv inside [archive]

    この記事はピクシブ株式会社Advent Calendar 12/10の記事です。 こんにちは、インフラチームの@harukasanです。 さて、今日はpixivで使用しているサムネイル変換サーバについて紹介しようと思います。 pixivにはたくさんのサムネイルがある pixivにはうんざりするほどたくさんの種類のサムネイルがあります。 これは対応しているプラットフォームが多く、また画面毎にもサイズが異なるからです。 PC版であるwww.pixiv.netだけでも10種類以上のサムネイルが使用されています。 また、サムネイルにはアスペクト比を固定したものと、スクエアにクロップした2種類があります。 (Ugoira Tech Talks: Ugoku Backendより) 従来の方法ではこれらのサムネイルをアップロード時に生成していたため、サムネイル生成を非同期化するなどして対応していました。

    pixivのサムネイル事情 - pixiv inside [archive]
    harukasan
    harukasan 2014/12/10
    本当に速いpixivのサムネイル変換です
  • Rack::ClientSpecというgemを作り始めた - BLOG::はるかさん

    社内勉強会で話したらなんか資料をできるだけ公開する流れらしく、Cache-Controlのクライアント仕様をテストするためという、かなり内輪ネタなのに公開する準備をはじめた。まだ全然ちゃんと動かないけど、ひとまずv0.0.1ということで公開した。いろいろと機能足りてなくてまともに動かない。そもそもCache-Controlのテストができない。 rack-client_spec | RubyGems.org ISUCONに出てから、世の中のブラウザ開発者の人当にすごいな、っていう気持ちを新たにしたし、クライアント書く機会も増えそうだから、サーバ側からクライアントをテストするend-to-end testがあっても良いんじゃないの、って思ってさくっと実装した。コンセプトオンリーだから真に受けてはいけない。 HTTP/2の勉強してて結構おもしろいのだけど、その前にHTTP/1.1がわからなくて

    Rack::ClientSpecというgemを作り始めた - BLOG::はるかさん
    harukasan
    harukasan 2014/11/17
    書きました