並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 2855件

新着順 人気順

hatenablogの検索結果1 - 40 件 / 2855件

  • http://nyaaat.hatenablog.com/entry/2016/03/21/215419 この記事についてもいろいろいいたい..

    http://nyaaat.hatenablog.com/entry/2016/03/21/215419 この記事についてもいろいろいいたいところあるんだが、今の状態じゃ人の話を聞くどころじゃないだろうから記事消しとくわ。 いろんな人から文章下手やら理解力のない馬鹿やらと散々ツッコまれまくったんで、誰か文章上手い人が直して記事にしてくれていいよwww

      http://nyaaat.hatenablog.com/entry/2016/03/21/215419 この記事についてもいろいろいいたい..
    • はてなブログのデザインの裏側 - Uedayworks::HatenaBlog

      このエントリーはHatena::Staff Advent Calendar 2011のために書かれたものです はじめまして。最近は映画けいおんが生き甲斐のuedayです。 11月8日にクローズドベータリリースした「はてなブログ」のデザイン全般を担当しました。裏側というほどの話ができるか微妙ですが書いてみます。 開発チーム 開発チームは、エンジニアid:cho45/デザイナーid:ueday/ディレクションid:onishiです。デザインはクオリティチェックをid:tikedaに依頼して、適宜フィードバックを貰いながら進めていきました。このほかに制作スタッフが数名います。プロジェクトが立ち上がったのが8月1日だったので、開発期間は約3ヶ月です。アルファ版完成が異常に速く、開発2日目か3日目で記事投稿ができるようになり、5日目でアルファ版を社内リリース。choさんほんとすごいなって思いました

      • CPU とキャッシュのはなし - graphics.hatenablog.com

        別にグラフィックスに限ったことじゃないし、そもそも論文とか全然関係ないけど。GPU 周りでもたまに話題になるし、自分でもたまにわけわからんくなるから整理しとく。 メインメモリは遅い CPU からメインメモリにデータを読みに行く場合、これはとにかく遅い。例えばレジスタにあるデータを読みに行く場合と比べると、だいたい数倍から数100倍の遅さ。ヤバいからなんとかしよう。もっと早くアクセスできる場所にデータおいとこう。 キャッシュライン CPU がメインメモリからデータを読み出すとき、必ず小さなメモリチャンクをキャッシュ上にロードする。ロード単位はプロセッサによるけど、だいたい 8 ~ 512 バイト。このロード単位をキャッシュラインと呼ぶ。 アクセス対象のデータが既にキャッシュに載ってる場合は、メインメモリじゃなくてキャッシュを読みに行く。ない場合はメインメモリにアクセスするけど、そのデータはも

          CPU とキャッシュのはなし - graphics.hatenablog.com
        • SoftBank Mobileの携帯用GatewayをPCで通る方法のメモ - hideden.hatenablog.com

          2009-08-02 15:10:00 iPhone使わない方法を追記 iPhoneを色々いじってる過程でやってみたら出来たのでメモ。さほど悪い事は出来ないと思うけど、色々自己責任で。 iPhoneとSBMガラケーでは全く別のネットワークを使用しているため、通常iPhoneからは公式サイトやIPでアクセス制限をかけてる勝手サイトは見る事が出来ない。特に見る必要も無いのだが、実験としてやってみた。 iPhoneは通常 "smile.world" というAPNに接続している。一方、ガラケーはググって見たところ "mailwebservice.softbank.ne.jp" というAPNに接続しているらしい。っと言うことは、iPhoneの接続先をこれに変えてしまえばiPhoneもSBMガラケー側のネットワークに入れる・・・はず。 用意するモノ 香港版 or SIMUnlock済みの iPhone

            SoftBank Mobileの携帯用GatewayをPCで通る方法のメモ - hideden.hatenablog.com
          • ISUCON4 予選でアプリケーションを変更せずに予選通過ラインを突破するの術 - Hateburo: kazeburo hatenablog

            AMIが公開されたのでもう一度やってみた。 AMIについてはこちらのエントリに書かれています ISUCON4 予選問題の解説と講評 & AMIの公開 : ISUCON公式Blog まず ami-e3577fe2 を m3.xlargeで起動します。 CPUは model name : Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz でした。 とりあえず、MySQLのindexを追加する。init.shに追加 $ cat init.sh cat <<'EOF' | mysql -h ${myhost} -P ${myport} -u ${myuser} ${mydb} alter table login_log add index ip (ip), add index user_id (user_id); EOF ベンチマークツールのhttp keepal

              ISUCON4 予選でアプリケーションを変更せずに予選通過ラインを突破するの術 - Hateburo: kazeburo hatenablog
            • Re: 結局、Go言語をやめる理由はなかった件 - Hateburo: kazeburo hatenablog

              すみません、ISUCONのアレに火がついてしまったので..。 Advent Calendarとはとくに関係がありません。 qiita.com qiita.com こちらの記事をみて、気になってしまったので interpolateParams の追加とMySQLチューニングをしてベンチマークを回してみました。 ベンチマークの環境が公開されているのは素晴らしいですね。 github.com 8vCPU/16GB Memのc5a.2xlargeなEC2のインスタンスを起動して、以下の手順にしたがってdockerとdocker-composeをインストールしました。OSはUbuntu 20.04を使いました。 docs.docker.com docs.docker.com 上記のbenchmarkのrepositoryをgit cloneし、compose build && compose upし

                Re: 結局、Go言語をやめる理由はなかった件 - Hateburo: kazeburo hatenablog
              • 情報科の授業は教養に過ぎないという話 - 東京工業大学附属科学技術高校編 - yosida95's hatenablog

                この記事は yosida95.com に移動しました。 新しい URL は https://yosida95.com/2013/12/22/000222.html です。 お手数をお掛けしますが、ブックマークの付け替えをお願いします。

                • http://shibayu36.hatenablog.com/entry/2012/12/29/001418#mc?u=ainame

                  ふとemacsの設定どのくらいになっているのかなーと思って行数数えたら wc -l init.el inits/* | grep total 2303 totalと、とんでもないことになっていたので、これまでどんな設定してたか思い出すことも兼ねて、emacs設定大掃除をおこなってみました。そこで「これは捨てられないなー」と思った設定を淡々と書いていきます。 ちなみに実際の設定ファイルはhttps://github.com/shibayu36/emacs/tree/master/emacs.d を御覧ください。 init-loader.el emacsでinit-loaderを導入してみた - $shibayu36->blog; の記事でも書きましたが、init-loaderは便利です。最近の構成としてはinit.elにはinit-loaderの設定だけ書いて、inits以下に全部設定置いて

                    http://shibayu36.hatenablog.com/entry/2012/12/29/001418#mc?u=ainame
                  • 研修中に爆睡して学んだ 1on1 で「待つ」ことの大事さ(How I learned the importance of patience in one-on-one MTGs from sleeping) - masartz->log(type=>'hatenablog')

                    (English follows) 前置き この記事は Engineering Manager vol.2 Advent Calendar 2018 6日目の記事です。 メルカリで Engineering Manager をしている masartzです。 今日は、先日自身が体験したことから得た、1on1の学びについて書いてみようと思います。 1on1コーチングの研修 メルカリでは、急拡大する組織に対応するため、Managerなどの中間層の教育・育成も急務となっております。Managerとしては、HR部門のサポートもあり研修プログラム等も受講する機会が与えられます。 先日 「1on1コーチング」のための時間があり、外部のプロコーチの方を相手に「コーチングを受ける側」の立場から勉強しようという機会でした。 当日、会議室に着き、挨拶と自己紹介を済ませ、いよいよ本題です。 コーチ:「最近の課題はあ

                      研修中に爆睡して学んだ 1on1 で「待つ」ことの大事さ(How I learned the importance of patience in one-on-one MTGs from sleeping) - masartz->log(type=>'hatenablog')
                    • nginx+squidで画像キャッシュサーバーの作り方 - hideden.hatenablog.com

                      仕事で画像キャッシュサーバーを構築した時のメモ。大規模事例の設定例が検索してもあまり見つからなかったので同じような境遇の誰かの参考になれば。 ピーク時のトラフィックは数Gbps 画像総容量は数十TB バックエンドのstorageが複数種類 規模とアクセス量とアクセスされる画像の種類が多いので、squidでdisk cacheを使用するとCOSS等を使用してもdiskIOで詰まる為、全てon memory cache。cache容量を確保する為に必然的にcacheサーバーの台数も数十台。 1. squidをsibling構成で並列に並べる cache_peer 10.0.1.1 sibling 80 3130 no-query no-digest proxy-only cache_peer 10.0.1.2 sibling 80 3130 no-query no-digest proxy-o

                        nginx+squidで画像キャッシュサーバーの作り方 - hideden.hatenablog.com
                      • https://kusano-k.hatenablog.com/entry/2022/01/27/004517

                        追記: 無料にならなそう。後半を参照。 Amazon Simple Storage Service。 ファイル(オブジェクト)を保存したり、配信したりできるクラウドサービス。 料金は細かく設定されていて、リクエストや転送帯域に関しても課金される。 タイトルで「ストレージ料金」と言っているのは、それらを全部ひっくるめた料金ではなく、狭義の、オブジェクトを保存していることに対して毎月掛かる料金。 最も安いS3 Glacier Deep Archiveでも、0.002USD/GB/月(東京リージョン、2022年1月現在)掛かる。 一見とても安く思えるが、例えば100 TBを10年保存しようと思うと、24,576ドル、約300万円にもなってしまう。 オブジェクトを保存したり取り出したりするときに金が掛かるのは諦めるとして、この保存に掛かる料金を無料にしたい。 はい。 ファイルサイズが0バイトなので

                          https://kusano-k.hatenablog.com/entry/2022/01/27/004517
                        • 京アニの響けユーフォニアムが現実のカメラを使ったようなボケなどを利用した絵作りなんですが、他のアニメスタジオがやらないのは手間の問題ですか?響け!ユーフォニアムの被写界深度が浅すぎる。過去の京アニ作品との比較 http://nuryouguda.hatenablog.com/entry/2015/06/17/183426 、ダメ金ならぬダメレンズの収差で映し出す「響け!ユーフォニアム」と京アニの空間描写が尋常じゃない http://sazanami.net/20150705-sound-euphonium

                          かれこれ15年くらいネットワーク環境から遠ざかっていたので、Twitterなんて正しく夢の世界でがすよ(悪夢?)。「ネットは広大だわ」by草薙素子(攻殻機動隊1巻最後のセリフ)要注意:無断転載は一切お断りします。必ず許可を取って下さい。 こういう映像表現が可能になったのは、アニメーションの制作現場にコンピューターが導入されたここ10年くらいですけど、制作会社にコンピューターが導入されたのは1990年代の話です。では、何故、こういう映像表現が最近になって多用される様になったか?というと、アニメーション制作とひと言で言えないほど、各部署の作業内容の足並みを揃える事が困難を極める共通意識で成り立たっていたからです。コンピューターが導入される以前の制作工程は、各部署の責任職の人がそれぞれの作業内容について、キチンと責任を取る(取れる)事がそもそもの大前提で、つまり、監督の采配に合わせて各部署が作業

                            京アニの響けユーフォニアムが現実のカメラを使ったようなボケなどを利用した絵作りなんですが、他のアニメスタジオがやらないのは手間の問題ですか?響け!ユーフォニアムの被写界深度が浅すぎる。過去の京アニ作品との比較 http://nuryouguda.hatenablog.com/entry/2015/06/17/183426 、ダメ金ならぬダメレンズの収差で映し出す「響け!ユーフォニアム」と京アニの空間描写が尋常じゃない http://sazanami.net/20150705-sound-euphonium
                          • N秒間だけクエリ実行ログを取りたい - Hateburo: kazeburo hatenablog

                            pt-query-digestだったり調査のために、N秒間だけmysqlの全クエリのログを取得したいということはよくありますよね そんな時はこんなコマンドを使うと簡単に指定の秒数slowlogを切り替えて保存、取得後に元に戻してくれます。 $ slowlog.pl --duration 10 -- --default-extra-file=/hoge/my.cnf -uuser -- のあとはmysqlコマンドに渡すオプション ソース #!/usr/bin/perl use strict; use warnings; use IO::Handle; use Getopt::Long; use File::Spec; sub find_path { my $pg = shift; my $path; for ( split /:/, $ENV{PATH} ) { if ( -x "$_/$p

                              N秒間だけクエリ実行ログを取りたい - Hateburo: kazeburo hatenablog
                            • データベースのmasterとslaveの使い分けの話。2014年版 - Hateburo: kazeburo hatenablog

                              社内で少し話題になったので。 運用上の話はfujiwaraさんの MySQLをmaster:slave=1:1構成にして参照をslaveに向けるのがなぜ良くないか - 酒日記 はてな支店 MySQLで参照の負荷分散を行うslaveは3台から構成するのがよいのでは - 酒日記 はてな支店 をみてください。 最近、新しくサービスができたり、新規機能でデータベースを追加する際には必ず全ての参照をmasterに向けてもらっています。理由は上記のエントリを読んでください。このような構成が取れるのはもちろん性能的にそれで問題ないからです。 新しいハードウェアに、設定されたMySQL、問題のないように書かれたSQLであれば、数千QPSは余裕に、また少し頑張れば数万QPSを一台で賄えます。なので大体のサービスはmaster一台で十分です。 さらにこの考え方を進めて、Webアプリケーションの中で sub d

                                データベースのmasterとslaveの使い分けの話。2014年版 - Hateburo: kazeburo hatenablog
                              • 組織でのはてなブログ運営をGitHub上で行うためのテンプレートリポジトリ「HatenaBlog Workflows Boilerplate」を公開しました - はてなブログ開発ブログ

                                GitHub上ではてなブログ運営を可能にするテンプレートリポジトリ「HatenaBlog Workflows Boilerplate」をベータ版として公開しました。 このテンプレートをご利用いただくと、組織でのブログ運営に求められるワークフロー(下書きの作成、更新、内容のレビューや公開など)をGitHub上で行うことができます。組織利用向けに整備していますが、どなたでもご利用いただくことが可能です。 導入方法や詳しい利用方法については、上記のリポジトリのREADMEをご参照下さい。 特長など 下書きの作成時に、作成した下書きのみが含まれたプルリクエストを自動で作成します*1。コンフリクトを防ぎ、ワークフロー上の管理を容易にします GitHub Actions を利用して動作するためローカルでの環境構築が不要です。GitHub組み込みのVisual Studio Code (github.d

                                  組織でのはてなブログ運営をGitHub上で行うためのテンプレートリポジトリ「HatenaBlog Workflows Boilerplate」を公開しました - はてなブログ開発ブログ
                                • 私訳「暫定的 NumPy チュートリアル」 - naoya_t@hatenablog

                                  # 原文:http://www.scipy.org/Tentative_NumPy_Tutorial このチュートリアルを読む前に、Pythonについてちょっとは知っているべきだ。記憶をリフレッシュしたいと思うなら、Pythonチュートリアルを見てくるがいい。 このチュートリアルに出てくる例を試したいなら、あなたのPCに少なくとも Python NumPy はインストールされているべきで、他に入ってると便利なのは: ipython は拡張されたインタラクティブなPythonシェルで、NumPyの機能を探検するのにとても便利 matplotlib があると図表の描画が可能になる SciPy はNumPyの上で動く科学計算ルーチンを沢山用意してくれる 基礎 NumPy の主要なオブジェクトは、同じ型(普通は数)の要素のみから成り、正の整数のタプルで添字付けされた、均質なテーブル(というか多次元

                                    私訳「暫定的 NumPy チュートリアル」 - naoya_t@hatenablog
                                  • iPhone3GをJailBreakするときの注意点 - hideden.hatenablog.com

                                    iPhoneはデータ取得方法にプッシュを指定しておくと、wifiエリア内でwifi接続していても3G圏内であれば常時3G経由のglobalIPを保持している。この状態だと、画面ロック状態でも3G経由のglobalIPできちんとping等に応答する。*1 で、事実上プロバイダが1社で126.240.0.0/12が割り当てられる。このIPアドレス帯域のPort22が開いてるSSHサーバーは、ほぼ確実にJailBreakしたiPhoneであると推測でき、password変更してない場合は例のpasswordで入りたい放題という事になる。 しかもこれ、wifi経由と違って画面ロック状態(バックライト消灯・画面非表示)でも接続可能なのでうっかりSSHを立ち上げたまま放置すると・・・・・。*2 wifiエリア内でしかSSHなんて使わないからpassword変更しなくても大丈夫とか思ってると痛い目にあう

                                      iPhone3GをJailBreakするときの注意点 - hideden.hatenablog.com
                                    • MySQL Connector/J (JDBC ドライバ)の罠まとめ - ~saiya/hatenablog

                                      MySQL JDBC ドライバ(MySQL Connector/J)、Java で MySQL といえばまずコレだが、これまた地味に罠が多い(そして多くの人が踏んで苦しむ)のでまとめてみた。 (2015/03/19) こちら のコメント欄でご指摘ただいた wait_timeout の件について記事修正いたしました。 Summary 以下、いずれもプログラム設計時に理解しておかないと、開発中は大丈夫そうでも実用した途端に苦しまされれてしかも設計から治す羽目になる要注意な罠である: SELECT 結果は全部メモリに載ってしまう (デフォルト設定で) 大量 SELECT する場合は FetchSize, ResultSetType を要設定 利用時には制約があるので、設計段階から考慮しなければならない (後述) idle 時間の「合計で」コネクションが切られる 前回のクエリ処理から一定時間以上経

                                        MySQL Connector/J (JDBC ドライバ)の罠まとめ - ~saiya/hatenablog
                                      • mod_perlで親プロセスとのCopy on Writeな共有メモリを増やす方法。 - hideden.hatenablog.com

                                        大量にアクセスがあってMaxClientを大きく設定したい場合、Apacheの1プロセスあたりのメモリを少なくするのが重要。当然アプリ側で大きなライブラリを読み込まずに画像の変換はGearmandにタスクとして投げたりとかの工夫するのも有効だが、fork元になるApacheの親プロセスと子プロセス間でできる限りCopy on Writeな共有メモリを増やすのも有効。 その辺の詳しい仕組み等の話はnaoyaさんがd:id:naoya:20080212:1202830671でしてるのでそこを参考に。linuxカーネルまわりの仕組みって楽しいよね。会社の案件ではFreeBSDサーバーも結構あるんだけどFreeBSDではどうなるのかは知らない。 で、社内にXenなテストサーバーがあるのでまっさらな環境で色々実験してみた。・・・過程を全部書こうとしたら長くなったので省略。地味にpsしたり/proc/

                                          mod_perlで親プロセスとのCopy on Writeな共有メモリを増やす方法。 - hideden.hatenablog.com
                                        • jsdvi - JavaScriptでdviプレビューアを書いてみるというネタ(→ dvi.jsに改名しました) - naoya_t@hatenablog

                                          TeX & LaTeX Advent Calendar 2012に捧ぐ 最新情報をgithubのwikiにまとめました。→ https://github.com/naoyat/dvi.js/wiki 【注意】jsdvi から dvi.js に改名しました。githubリポジトリやデモのURLがこっそり変更されているのでご注意ください! デモ http://naoyat.github.io/dvi.js/ ※iPhoneのSafariで見る人は http://naoyat.github.io/dvi.js/iphone-safari.html でどうぞ。さもないとブラウザが落ちます。Chromeは http://naoyat.github.io/dvi.js/ で大丈夫でした。 Google Chrome前提。Firefoxだと縦書きができない。Safariは大丈夫っぽい。その他のブラウザは

                                            jsdvi - JavaScriptでdviプレビューアを書いてみるというネタ(→ dvi.jsに改名しました) - naoya_t@hatenablog
                                          • あなたがプレゼンに自信を持てない理由 - the.hatenablog.com

                                            こんにちは、 ファーイーストガジェットのpです。 今回はプレゼンについて・・ あなたはプレゼンテーションが得意なほうですか? プレゼンが苦手だという人は多いと思います。 もし、努力はしているが一向に良くならないとお悩みであれば、それにはちょっとした意識変革が必要だと私は考えます。 それは、 プレゼンテーションは「技術」ではないということです。 プレゼンの良し悪しを決めるのは プレゼンで緊張しないコツだとか、こうすれば失敗しないとか、あるいは見やすいパワポの作り方なんてハウツーをよく見かけますが、私はこうしたハウツーとは距離を置いています。 どれもそれなりの効果はあるとは思いますが、これらのハウツーは本質的ではなく、本当の意味でプレゼンテーションが上手くなることとは異なるからです。 多くの人は、伝える技術がないからプレゼンがうまくいかないと考えていると思います。 しかし、それは誤解です。 私

                                              あなたがプレゼンに自信を持てない理由 - the.hatenablog.com
                                            • はてなブログ記事のGitHub管理環境「push-to-hatenablog」のセットアップと使い方 - mlog

                                              しばらく、はてなブログから離れていましたが、絶賛、復帰検討中です! 復帰にあたり、GitHubではてなブログの記事を管理できないかと調べていた所、blogsyncというツールを使えばうまく行きそうだったので、試しに記事管理用の環境を作ってみました。 本記事では、作成した環境push-to-hatenablogのセットアップと使い方を解説したいと思います。 push-to-hatenablogの中身については、別記事で投稿予定です。 目次 目次 簡単な流れ 「blogsync」とは? 「push-to-hatenablog」について 必要な環境 セットアップ 記事管理用のGitHubリポジトリを追加 push-to-hatenablog をクローン blogsync.yamlの追加 Secretの追加 DOMAIN BSY 「push-to-hatenablog」の使い方 記事の取得 注意事

                                                はてなブログ記事のGitHub管理環境「push-to-hatenablog」のセットアップと使い方 - mlog
                                              • MacBook(Air)本体のディスプレイを90度(180度、270度)回転表示させる方法 - naoya_t@hatenablog

                                                【注意】MacBook Retinaでやると画面が暗転したまま帰ってこなくなるらしいです。 →マックで画面を回転して表示する方法。ただしMacBookのRetinaでは絶対禁止!!間違って設定した場合の復旧方法も - creativi.tea MacBook Airに外付けモニタを縦置きで繋いで回転表示させたりはするんだけど、 本体の表示も回転できるとは知らなかった。 http://osxdaily.com/2011/03/30/rotate-macbook-display-orientation/ システム環境設定を開く(既に開いてるなら一旦閉じてから) command+optionキーを押しながら「ディスプレイ」を開く 輝度だけでなく「回転」を { 標準, 90°, 180°, 270° } から選べるようになってるので選ぶ (これ出来るようになったのいつからなんだろう・・・) という

                                                  MacBook(Air)本体のディスプレイを90度(180度、270度)回転表示させる方法 - naoya_t@hatenablog
                                                • 機械学習システムの運用課題とコンテナオーケストレーションがもたらすもの - yubessy.hatenablog.com

                                                  最近仕事では機械学習を使ったアプリケーションをKubernetes上で運用することが多くなっています。 MLOpsのような言葉も次第に浸透してきたりと、システムとしての機械学習をどう運用していくかが活発に議論されるようになってきました。 運用に頭を悩まされてきた身としては心強い限りです。 この記事ではKubernetes(以下k8s)のようなコンテナオーケストレーション技術が、機械学習システム(以下MLシステム)の実行基盤としてなぜ適しているのかについて考えてみました。 注意点として、私はMLアルゴリズムの専門家ではなく、またLinuxやコンテナ技術の専門家でもありません。 あくまで仕事としてMLシステムを運用するためにk8sを利用している立場からの考察です。 TL; DR: MLシステムの運用には次のような課題が存在する 目的によって求められるワークロードの形態が異なる 一時的・断続的に

                                                    機械学習システムの運用課題とコンテナオーケストレーションがもたらすもの - yubessy.hatenablog.com
                                                  • GCP HTTP(S) load balancing 配下のnginxでクライアントIPを取得する方法 - Hateburo: kazeburo hatenablog

                                                    GCP HTTP(S) load balancing の X-Forwarded-For ヘッダは少し変わっているのでメモ。 X-Forwarded-For とクライアントIP ELBや他のproxyを使って、その配下のサーバにリクエスト元のIPアドレスを伝える際には、X-Forwarded-For ヘッダが使われます。 X-Forwarded-For: $remote_addr リクエストにすでにX-F-Fヘッダがあった場合は、後ろに追加します。 X-Forwarded-For: $http_x_forwarded_for, $remote_addr となります。 X-F-Fを受け取ったサーバでは、アクセス元のIPが信用できるIPアドレスまたはIP帯域の場合に、X-F-Fの最後のIPアドレスを、remote_addrとして利用します。 nginxでは ngx_http_realip_mo

                                                      GCP HTTP(S) load balancing 配下のnginxでクライアントIPを取得する方法 - Hateburo: kazeburo hatenablog
                                                    • Engineering Managerをやっていた間の振り返りとまとめ - masartz->log(type=>'hatenablog')

                                                      TL;DR; Engineering Managerを降りることになりましたので、振り返りとまとめです。 ※会社は辞めませんので、退職エントリではございません(別チームへの異動です) 時系列 2017/10頃: SREのチーム内において会社のReport Line上にはプロットされないリーダー的なポジションをやりはじめる この時はまだManagerではない。採用や評価に対するResponsibilityがないのがマネージャとリーダーの簡単な違い 2018/04: SREのEngineering Managerに登用される 当時 Microservices PlatformはReport Line上はまだSRE内に包含されていた気がする どこかのタイミングで Report Lineとしても独立して、2チームを兼任する形で引き続き担当していた 2018/10: 2チーム兼任からMicroser

                                                        Engineering Managerをやっていた間の振り返りとまとめ - masartz->log(type=>'hatenablog')
                                                      • 最近のPlack/Starletのパフォーマンス改善まとめ。最大2倍の性能向上 - Hateburo: kazeburo hatenablog

                                                        最近のPlackとStarletにはパフォーマンス改善のため次のような変更が加えられています。 Plackに対する変更 (カッコ内はバージョン) Plack::Request::query_parameters の最適化 (1.0018) Plack::Middleware::AccessLog に Apache::LogFormat::Compilerの導入 (1.0023) Starletに対する変更 local $SIG{..} を無くし、rt_sig* system call が呼ばれる回数を削減 (0.17_01) headerとbodyを結合して一度に出力する閾値を1024から8192に変更 (0.18) ベンチマーク これらの変更の効果を確認するために、次のベンチマークを実行してみます まずアプリケーションはこんな感じ use Plack::Builder; use Plac

                                                          最近のPlack/Starletのパフォーマンス改善まとめ。最大2倍の性能向上 - Hateburo: kazeburo hatenablog
                                                        • isuconお遊びチーム(事前社内β組)の設定あれこれ - hideden.hatenablog.com

                                                          ISUCONに行ってきました。社内での事前βテストに参加して問題を知っていたので出場はせず。社内β参加を持ちかけられたときは、正直「めんどくせーなw」が素直な感想だったんですが、実際にやってみるとスコアがリアルタイムにわかる&ちょっとずつ自分のスコアが上がっていくってのは楽しくて、わりと本気でチューニングしてしまいました。 さて、本戦でも14時頃からお遊び用としてサーバー一式が解放されたので、大人げも無くそこで112500req/minをたたき出して参加者のやる気を削いだ(・・と懇親会で言われました。色々すいません!)構成について。 reverse proxy nginx(1.0.5) ngx_http_memcached + ngx_http_ssi_filter + ngx_http_scgi + ngx_http_upstream_keepalive(3rd party plugin

                                                            isuconお遊びチーム(事前社内β組)の設定あれこれ - hideden.hatenablog.com
                                                          • theme.hatenablog.com

                                                            theme.hatenablog.com は終了しました はてなブログ テーマストアがオープンしたため、このサイト「はてなブログの非公式ブログテーマ(デザインテンプレート)置き場」は2013年3月で終了しました。 テーマストアには、ここで配布していたテーマの改良版や、そのほか多くのテーマが投稿されています。今後はそちらをご利用ください。 今までこのサイトをご利用いただいていた方はありがとうございました。 はてなブログ テーマストアへ FAQ Q: ここで配布していたテーマはもう使えなくなりますか?A: いいえ。テーマのCSS自体は削除していないので、id:uedayの作ったテーマは今後もしばらく使い続けることができます。そのほかのテーマは各テーマ作者にお問い合わせください。Q: ここで配布していたテーマのソースコードはどこで入手できますか?A: uedayの作ったテーマはGitHubで配布

                                                              theme.hatenablog.com
                                                            • ex-mixi Advent Calendar 2017/12/01 - masartz->log(type=>'hatenablog')

                                                              なかなか珍しい ex-mixi(会社のOB/OG)によるAdvent Calendarの一発目をかます masartz です。 ミクシィは 2ホップ前の会社、現所属はメルカリになります。 どういうスタンスで書けば良いのかわかりませんが、各方面を考えてミクシィ時代から今に至るまで継続してることを述べていきたいと思います。 大規模であるが故の技術的な対策 mixiもメルカリも大規模と言って良いレベルのサービスで、そのための負荷対策はどのエンジニアにも求められるものです。 特にクラウドなインフラ環境が今ほど整っておらず、スケーリングに緻密な設計が求められたミクシィ時代に学んだ分散手法は今も活かされています。 ミクシィエンジニアなら、下記は L1分散作業 と表現すれば、その一言で伝わることでしょう。 tech.mercari.com こういった手法はサービス初期に用いられることは少ないでしょうし、

                                                                ex-mixi Advent Calendar 2017/12/01 - masartz->log(type=>'hatenablog')
                                                              • Starman と Starlet のベンチマークと Accept Serialization - Hateburo: kazeburo hatenablog

                                                                StarmanとStarletの違いはいくつかありますが、Starletにいくつか手を加えたあと、速度はどうなっているのか比較してみた。 なお、以下の記事はHello Worldのベンチマークなので、実際のアプリケーションのパフォーマンスにはあまり影響がないと思われます。 各ソフトウェアのバージョンは以下。 Plack-1.0023 Starman-0.3008 Starlet-0.18 Starletのベンチマークとほぼ同じアプリケーションを書いてサーバを起動した use Plack::Builder; use Plack::Request; my $length = 12; my $body = 'x'x$length; builder { enable 'AccessLog', logger => sub { }; sub { my $env = shift; my $req = P

                                                                  Starman と Starlet のベンチマークと Accept Serialization - Hateburo: kazeburo hatenablog
                                                                • はてなブックマーク 驚愕の事実 - 186 @ hatenablog

                                                                  えーとお気に入りを使っている人がはてなダイアリーユーザーの中で337人しかいないという事実。 で、誰が誰をお気に入りに登録しているかをダイアリーユーザーに関して調べてみた→186.bz - count おまけ(txtファイル) grepすると自分が誰のお気に入りに入っているか分かる。 例えば、俺ならb:id:maikuhama, b:id:kasai, b:id:koseki, b:id:laiso, b:id:nobody, b:id:roku666, b:id:adramine, b:id:tetotan, b:id:crowdeer, b:id:kawabe, b:id:facet, b:id:FeZn, b:id:pirokuの13名(敬称略)。

                                                                    はてなブックマーク 驚愕の事実 - 186 @ hatenablog
                                                                  • tiarraをやめてzncにしてみた - hideden.hatenablog.com

                                                                    Limechatのサーバー設定をいじってる時に、ふとSSL Optionが気になった。tiarra+stoneでやってみるかーと思ってyum search stoneしたところ、見つからない。ソースから入れるかなと思い、openssl-develを入れようとyum search sslしたところ、最下行に znc.x86_64 : Advanced IRC bouncerとかいうのを発見。これらしい。 SSL Support Encryption for both the listen port and connecting to IRC servers. If your system has OpenSSL, ZNC automatically supports SSL connections.公式に、↑と書いてあった。せっかくなのでこっちを入れてみることにする。 Installはyum

                                                                      tiarraをやめてzncにしてみた - hideden.hatenablog.com
                                                                    • 秒間数千件以上のアクセスログでも高速に集計し、可視化できる mackerel-plugin-axslog の紹介 - Hateburo: kazeburo hatenablog

                                                                      Mackerelアンバサダーになりました Mackerelアンバサダーになったので、グッズ頂いた。ありがとうございます pic.twitter.com/UzCmANa84O— Masahiro 💺 (@kazeburo) March 23, 2019 ということで、新しいmackerel-pluginの紹介です。 mackerel-plugin-axslog とは Mackerelの公式プラグインに mackerel-plugin-accesslog というとても便利なプラグインがあります。公式のブログに詳しく解説があります。 mackerel.io これを使うと、アクセスログのファイルサイズを記録しながら差分を読み、ステータスコードごとのアクセス数や割合、レイテンシなどを集計、可視化できます。 mackerel-plugin-accesslog、サーバの可視化のため、とても便利そうでと

                                                                        秒間数千件以上のアクセスログでも高速に集計し、可視化できる mackerel-plugin-axslog の紹介 - Hateburo: kazeburo hatenablog
                                                                      • エンジニアとしての機械学習との付き合いかた - yubessy.hatenablog.com

                                                                        社内のLT大会にて表記のタイトルで発表しました。 資料は以下に公開しています。 speakerdeck.com 最近仕事ではもっぱら機械学習システムの開発を行っていますが、モデルは作れても継続的な運用や実環境での安定稼働にはまだまだ苦労することが多く、いろいろと模索しているところです。 そんな中で今なんとなく考えていることをまとめてみた、という程度の内容ですので、わかったように書きつつわかっていないこともあります(ご容赦ください)。 スライドでも紹介している以下の2つの資料は、運用まで面倒をみる機械学習エンジニアとして非常に参考になる内容で、おすすめです。 Machine Learning: The High Interest Credit Card of Technical Debt Rules of Machine Learning: Best Practices for ML Eng

                                                                          エンジニアとしての機械学習との付き合いかた - yubessy.hatenablog.com
                                                                        • sleepy コマンド - Hateburo: kazeburo hatenablog

                                                                          さくらのアドベントカレンダー2022 13日目の記事です。 qiita.com サーバ運用を行なっていると、非同期で行われるサーバの設定反映や起動を待ったり、メンテナンス後に監視を再開する前にすこし待つなんてこともあるかと思います。 そんな時に、人力で3分待ったらコマンドを打つ、Webコンソールを操作するなんてやっていると人間「必ず」忘れます。監視のメンテナンスモードの解除などを忘れてしまうとそれこそ事故につながります。チェックリストを利用した対策もありますが、技術的に解決するのが望ましい姿です。 そこで、よくやってきたのがsleepコマンドと組み合わせて sleep 180 && mkr update --st working とする方法。(サンプルとしてMackerelでサーバのステータスを変更しています) このように実行しておけば、自動で3分後にmkrコマンドが実行され、サーバの監視

                                                                            sleepy コマンド - Hateburo: kazeburo hatenablog
                                                                          • libeatmydataを使ってpostfixを劇速にする [用法用量要確認] - Hateburo: kazeburo hatenablog

                                                                            libeatmydataというLD_PRELOADを使って、起動したプロセスのfsyncを無効化するライブラリがあったので試してみています。 libeatmydata - disable fsync and SAVE! fsyncがないと何が嬉しいかというとクラウドのようなIOまわりの環境が弱いところで、安全性は若干犠牲になりますが、パフォーマンスを稼ぐことができるようになります。 まず perlでfsyncを発行してどうなるかstraceをつかって確認してみます。 libeatmydataなし $ strace perl -MIO::Handle -e 'open(my $fh,">:unix","test.txt"); print $fh "test"; IO::Handle::sync($fh);' open("test.txt", O_WRONLY|O_CREAT|O_TRUNC,

                                                                              libeatmydataを使ってpostfixを劇速にする [用法用量要確認] - Hateburo: kazeburo hatenablog
                                                                            • はてなブログのブログメンバーをTerraformで管理できるTerraform Provider for HatenaBlog Membersを公開しました - はてなブログ開発ブログ

                                                                              ブログメンバーの管理を構成管理ツールTerraformで行えるTerraform provider、Terraform Provider for HatenaBlog Membersを公開しました。 hatena/hatenablog-members | Terraform Registry Terraform Provider for HatenaBlog Membersを用いると、はてなブログのブログメンバーをコードで管理できます。 本機能は、ユーザーからのフィードバックを参考に、特に技術ブログの運営におけるブログメンバーの効率的な管理を支援するために開発いたしました。 ご意見いただきありがとうございました。ぜひご利用ください。 設定例 下記の例では id:hatenablog-tf-test の持つブログのブログメンバーを管理しています。詳しくはドキュメントをご覧ください。 prov

                                                                                はてなブログのブログメンバーをTerraformで管理できるTerraform Provider for HatenaBlog Membersを公開しました - はてなブログ開発ブログ
                                                                              • さくらインターネットの新PaaSの「Hacobune」で phpMyAdmin と WordPress を動かす - Hateburo: kazeburo hatenablog

                                                                                昨日オープンベータが開始されたさくらインターネットの新しいPaaS、DockerイメージやGitHubとの連携することで、インフラにとらわれることなく、アプリケーションのデプロイができるようになっています。データベースや永続ボリュームがすでにサポートされ、今後、WebサービスやSaaSの基盤として、またチームでの開発に適した機能が拡充されていく予定です。 www.sakura.ad.jp さっそく試していただき、記事を書いていただいています。ありがとうございます。 qiita.com qiita.com この記事ではサンプルのアプリケーションとして、MySQLアドオンを使い phpMyAdminとWordPress を立ち上げてみます。 プロジェクトの作成 さくらのクラウドのホームからHacobuneのコンソールへ移動し、新しいプロジェクトを作ります。 ここでは名前は hacopress

                                                                                  さくらインターネットの新PaaSの「Hacobune」で phpMyAdmin と WordPress を動かす - Hateburo: kazeburo hatenablog
                                                                                • 電子書籍版5/30、紙版6/4「達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践」が発売されます! - Hateburo: kazeburo hatenablog

                                                                                  共著で執筆しました「達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践」が発売されます。紙版は6/4日発売、電子書籍版は本日5/30から発売されております。通称 #ISUCON本 です。 ISUCONを例にするWebアプリケーションの主にサーバサイドのチューニングを広く扱うユニークな書籍となっております。ISUCONに参加する方はもちろん、業務でWebアプリケーションの開発運用にあたるエンジニアまで役に立ちそうな内容が盛りだくさんになります。 見本誌が届きましたが、分厚い、そして盛りだくさんな内容となっています。 技術評論社のページ gihyo.jp Amazon 達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践 作者:藤原 俊一郎,馬場 俊彰,中西 建登,長野 雅広,金子 達哉,草野 翔技術評論社Amazon ISUCON本

                                                                                    電子書籍版5/30、紙版6/4「達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践」が発売されます! - Hateburo: kazeburo hatenablog