タグ

siroken3のブックマーク (499)

  • プログラマーの三大美徳 その2

    みなさんはプログラマーの三大美徳ってご存知ですか? プログラミング言語Perlの作者である Larry Wall が http://www.perl.com/pub/1998/08/show/onion.html で述べたのが最初とされています。 三大美徳として 怠惰(laziness) 短気(impatience) 傲慢(hubris) があげられています。 怠惰(laziness)については、以前にこちらの記事でお話しました。 tech.mercari.com 今回は 短気(impatience) についてです。 短気(impatience) 優秀なプログラマーが持っている怠惰という美徳は素晴らしいのですが、その反面というか怠惰さゆえに腰が重いときがあります。 そこで短気な面をうまく刺激することでプロジェクトを円滑に進めることが可能です。 メルカリでの例 みなさんもCIにてテストを動か

    プログラマーの三大美徳 その2
    siroken3
    siroken3 2017/03/30
  • oauth2_proxyとNginxのauth_requestを組み合わせると便利 - lamanotrama's diary

    oauth2_proxy、便利でググると導入手順も結構出てくるのだけど、今回紹介するのは(環境によっては)さらに便利に使えるナウい方法です。 なにをするのかというとREAMDEに書いてあります。 Configuring for use with the Nginx auth_request directive The Nginx auth_request directive allows Nginx to authenticate requests via the oauth2_proxy's /auth endpoint, which only returns a 202 Accepted response or a 401 Unauthorized response without proxying the request through. For example: サンプル設定もある

    oauth2_proxyとNginxのauth_requestを組み合わせると便利 - lamanotrama's diary
    siroken3
    siroken3 2017/02/07
  • GoReplayを導入して、Production環境へのリクエストを複製し、Staging環境に転送する仕組みを作った - Glide Note

    結構前に作っていたんですが、いろいろと忙しくてブログに書くタイミングを失していたので年末のタイミングで紹介。 TL;DR GoReplayを利用して、Production環境のリクエストを複製し、Stagins環境、開発環境に投げる仕組みを作った インフラ構成の大きな変更無しで、手軽にProduction環境の実リクエストを複製し、開発、動作検証ができるようになった 2016年の弊社サービスのDocker化や、インフラ構成の大幅な変更、ミドルウェアのアップデート、アプリの改修時のバグ事前検知と事故防止に大いに役に立った GoReplayの説明 GoReplay Goで書かれており、バイナリを設置し、オプションを指定し実行するだけで動作する アプリが稼働しているサーバで動く。(例えばNginx+Railsが稼働しているサーバで一緒にGoReplayを動かす感じ。) libpcap を利用して

    siroken3
    siroken3 2016/12/30
  • 『学習する組織の作り方』

    新潟でフラッグフットボール、アメリカンフットボールの普及を目指す新潟でフラッグフットボールとアメリカンフットボールの普及を目指しています。 フラッグフットボールの力でいじめや不登校の無い社会と豊かなスポーツ文化を。 スポーツとビジネス関係の話題を中心に更新したいと思います。 書はセンゲの唱える「学習する組織」を如何に作り上げるか、を論じたである。 学習する組織かどうかを判断するための質問 まず、自分が所属する組織が学習する組織になっているかどうか、リトマス試験紙となる質問を列挙している。 ・この組織では、学習上の課題が明確に定義されているだろうか。 ・この組織は、嫌な情報にも耳を傾けているだろうか。 ・この組織は、同じ失敗を繰り返すことを避けているだろうか。 ・この組織は、中心的な人物が離脱すると必要不可欠な知識を失ってしまうだろうか。 ・この組織は、自らの知識に基づいて行動しているか

    『学習する組織の作り方』
    siroken3
    siroken3 2016/12/29
    あとでよむ
  • Pythonを呼べるLispを作った話 - みどりねこ日記

    この記事はLisp Advent Calendar 2016 5日目の記事です。 Futhonとは Futhonとは、Pythonが呼べるLispである。 先日作ってみた。 読み方は「ふとん」である。 記事は、Futhonの内部実装がどうなっているかを簡単に説明する。 すごく小さな実装(ソースコードすべて含んで500行くらい)なので、この記事とコードを合わせて読めば誰でもちょっとしたおもちゃ言語が作れるようになるんじゃないかと思う。 作った動機 最近周りで機械学習がアツい。 Pythonはディープラーニング・機械学習ライブラリが充実していて、モデルを簡単に作ったり試したりすることができる素晴らしい環境になっている。 SciPy scikit-learn Caffe Chainer TensorFlow 一方で、Lispでニューラルネットを組もうと思ってもライブラリがなかったり、あってもド

    Pythonを呼べるLispを作った話 - みどりねこ日記
    siroken3
    siroken3 2016/12/17
    あとで読む
  • 犬と一緒に海外赴任する場合の注意事項と実例紹介|まちコラ#9 | mercan (メルカン)

    こんにちは。メルカリ総務のまちるだです。 今日はちょっとニッチな情報をお伝えしようと思います。 最近メルカリでは、USやUKへの赴任者が増加しています。赴任者のサポートも総務業務の一つとしてあるのですが、数か月前、とある赴任予定者からと下記のような相談を受けました。 赴任予定者「UK赴任に一緒に犬も連れて行きたいんだけど、どうしたらいいですか!?」 私「わーいいですねー。初めてのパターンなのでちょっと調べてみます!!」 と、余裕の回答をしていたのですが、実際手配の段階になるといろいろ大変!!(もちろん「一緒に行く赴任者が、いろいろと手続きしないといけない」という意味です) 国によってルールは様々なようですが、UKの場合、日からだと貨物扱いにせずに直接入国するには難しいみたいです。 私は犬を飼った経験はないのですが、周りの人達をみていても当に犬は家族同然ですよね。今回は、手配してみて学ん

    siroken3
    siroken3 2016/12/13
    ニッチかもだけど重要!
  • カーネギーメロンのDBに関する講義が面白いのでおすすめ - だいたいよくわからないブログ

    ここに書くことによって途中でやめられなくするメソッドです。 ハッカーニュースを眺めていたら以下のようなCS系講義動画のまとめリポジトリが流れていました。 GitHub - Developer-Y/cs-video-courses: List of Computer Science courses with video lectures. へーっと思いながら何個かポチってみたところ以下に出くわしました。 15721.courses.cs.cmu.edu 英語が(自分にとって)聞き取りやすく、動画の品質(画質やスライドがちゃんと見えるかどうかといった部分)も良いものでかつ興味のある内容で出来ればスライドもおしゃれで・・・となるとなかなか少ないですが、これはかなり見やすいです。 スライドも概念図が頻繁に登場したりして、これだけでも聞き取れなかった部分などをかなり補完できます。 スケジュールページ

    カーネギーメロンのDBに関する講義が面白いのでおすすめ - だいたいよくわからないブログ
    siroken3
    siroken3 2016/12/12
  • Site::Reliability::Engineering - YAPC::Hakkaido 2016 Sapporo

    Site::Reliability::Engineering - YAPC::Hakkaido 2016 Sapporo

    Site::Reliability::Engineering - YAPC::Hakkaido 2016 Sapporo
    siroken3
    siroken3 2016/12/12
    新ひみつ道具が紹介されてる!
  • 監視だけじゃない!デプロイにMackerelを使う話 | メルカリエンジニアリング

    SREチームの @siroken3 です。 以前、メルカリでリリース手段としてChatOpsを採用していることをブログで紹介しました。今回は内部で使っている技術の一部を紹介したいと思います。 tech.mercari.com tl;dr メルカリではデプロイにAnsible使ってる 毎日デプロイしつつサーバが増加/入れ替え激しいと心が削れる MackerelAPIとAnsibleを組み合わせたらハッピーになった Insideデプロイ メルカリではデプロイ用のサーバでSlack Botが働いており、デプロイの事前要件を満たしているか確認した後、大まかには以下の処理を実行しています。 GitHubからデプロイ対象ソースの取得 composer install / gulp などのビルド処理 対象サーバにrsyncでデプロイ これらの処理は構成管理ツールであるAnsibleを使用しています。

    監視だけじゃない!デプロイにMackerelを使う話 | メルカリエンジニアリング
    siroken3
    siroken3 2016/11/15
    メルカリ社内のBe Professional Dayで得られた成果です。そして今回も威を借りてしまいました。
  • Node.jsのマイクロサービスの構築を通してDockerを学ぶ – 前編 | POSTD

    あなたが真剣に Docker に取り組んで、その全てを学びたいと思っているのでしたら、もう探し回らなくても大丈夫です。 稿では、Dockerがどのように機能するのか、どんな部分が話題になっているのか、そしてマイクロサービスを構築する際の基的な開発作業にどのように役立つのかについて紹介したいと思います。 稿では例として、ローカルで実行するコードからマイクロサービスやデータベースを実行するコンテナまで、バックエンドにMySQLを用いたシンプルなNode.jsのサービスの例を使います。 Dockerとは何か Dockerとは要するに、(仮想マシン用のテンプレートに非常によく似ている) イメージ を作成して、 コンテナ でイメージのインスタンスを実行できるソフトウェアです。 Dockerには、 Docker Hub と呼ばれる大量のイメージのリポジトリがあり、これを利用して作業を始めたり、無

    Node.jsのマイクロサービスの構築を通してDockerを学ぶ – 前編 | POSTD
    siroken3
    siroken3 2016/07/01
  • プログラマーの三大美徳 | メルカリエンジニアリング

    みなさんはプログラマーの三大美徳ってご存知ですか? プログラミング言語Perlの作者である Larry Wall が↓で述べたのが最初とされています。 http://www.perl.com/pub/1998/08/show/onion.html 三大美徳として 怠惰(laziness) 短気(impatience) 傲慢(hubris) があげられています。 今回はそのうち怠惰(laziness)についてお話します。 怠惰(laziness) 怠惰といえば怠け者。怠け者といえば怠け者メガネ。怠け者メガネを使えば誰でも簡単に美徳を手にいれることができます。 この怠け者メガネを使うと視線は前方に向けたまま下方を見ることができます。 来は寝転がってテレビを見るために開発されたようです。 この怠け者メガネを使ったプログラム開発について説明します。 レベル0 怠け者メガネを装着せずに作業します。

    プログラマーの三大美徳 | メルカリエンジニアリング
    siroken3
    siroken3 2016/06/30
    使ってるみんな本気で絶賛!
  • WEB+DB PRESS Vol.93

    2016年6月24日紙版発売 2016年6月24日電子版発売 B5判/168ページ 定価1,628円(体1,480円+税10%) ISBN 978-4-7741-8242-1 ただいま弊社在庫はございません。 Amazon 楽天ブックス honto ヨドバシ.com Fujisan(定期購読のみ) 電子版 Gihyo Digital Publishing 書のサポートページサンプルファイルのダウンロードや正誤表など 特集1 [要求の変化に柔軟に対応する]実践見積り スケジュール,スコープ,スキル スケジュール,開発するプロダクトのスコープ,そして開発に参加するメンバーのスキルなど,開発に関わるさまざまなものをどのように見積もるかを解説した特集です。見積りに必要な各種データをどのように集めるのか,そしてどのように見積りに活かすのかも解説します。また,開発の途中で問題が変化するプロジェクト

    WEB+DB PRESS Vol.93
    siroken3
    siroken3 2016/06/23
  • WEB+DB PRESS Vol.93にてメルカリSREチームによる大規模インフラ運用の連載第2回が掲載されます | メルカリエンジニアリング

    SREチームの@siroken3です。以前ご案内したWEB+DB PRESSの連載第2回が2016年6月24日(金) 発売のVol.93 に掲載されます。 gihyo.jp 第2回目は @siroken3 が書かせていただきました。 今回の記事はデータベースのスケーリングと題して、Webサービスの拡大に伴ってデータが増え続ける中でも高いパフォーマンスを保ったまま安定して運用し、サービスの機能を改善し続けるための一般的な話題とメルカリでの具体例を解説することを念頭において執筆しました。 なぜスケーリングが必要なのか、その考え方についての解説から始まり、スケールアップとスケールアウトについてそれぞれメルカリでの具体的な事例を交えて留意点、スケーリングの判断材料となるモニタリングについて解説しています。少し毛色が変わったところとしてAmazon RDSをやめた時の具体的な手法についても書かせてい

    WEB+DB PRESS Vol.93にてメルカリSREチームによる大規模インフラ運用の連載第2回が掲載されます | メルカリエンジニアリング
    siroken3
    siroken3 2016/06/20
    2回目!
  • 自作Linuxコンテナの時代 - ゆううきブログ

    最近、Docker以外のコンテナ型仮想化技術の流れとして、自作コンテナエンジンの時代が来るのではないかと感じている。 自作コンテナエンジンとは、コンテナ型仮想化技術を構成する個々の要素技術を組み合わせ、自分の用途にあわせて最適化したコンテナエンジンのことだ。 他のOSのコンテナ仮想化技術について疎いため、以下ではLinuxに限定して話を進める。 概要 Dockerも含めて、Linuxコンテナはコンテナを構成する複数の要素技術の組み合わせである。自分のやりたいことに対して、Dockerをはじめ既存のコンテナエンジンが複雑すぎるケースがある。そこで、自分の用途にあわせてコンテナエンジンを自作することを考えてみる。libcontainerに代表されるように、Linuxコンテナエンジンを自作しやすい環境が整いつつある。今後は、巨大なコンテナエンジンに対して、UNIX哲学に基づいて制御可能な小さなコ

    自作Linuxコンテナの時代 - ゆううきブログ
    siroken3
    siroken3 2016/04/27
  • JSの配列で集合算を考えてみた - IIJIMASの日記

    どんなプログラミングでも基的な配列の操作において、集合算を実装したいということはあるかと思います。言語仕様やライブラリに実装されていればそれを使えばよいですが、そうでない場合に自分で実装せざるをえないなくなったり、興味や頭の体操で実装してみたくなることもあるかと思います。 新しいJavaScriptではSetオブジェクトが定義されているようですが、(→[Link]「ECMAScript Language Specification ECMA-262 6th Edition – DRAFT」)こちらにもとりあえず集合算は見当たりません。 前からある配列(Arrayオブジェクト)で集合算をするロジックを考えてみました。具体的には2つの配列から新しい結果の配列を返す関数を考えてみました。Arrayは重複を許しますので、重複を排除しつつ計算します。和集合は全ての要素だから簡単ですが、共通部分は割

    JSの配列で集合算を考えてみた - IIJIMASの日記
  • Rx Ja Night 2016 #1 に参加しました - EDIT MODE

    イベントページ: Rx Ja Night 2016 #1 会場: VOYAGE GROUP 最高のイベントでした。 RxJavaがメインではありましたが、他のReactiveXでも適用できる内容だったと思います。 主催の @fushiroyamaさん 、発表者のみなさま、会場を提供してくださったVOYAGE GROUPさま、ありがとうございました!! 15分セッション 1. 実際のアプリ開発で使った Rx を紹介 ( bl_lia さん) 2. ReactiveX のドキュメントにある図の見方の解説 ( yanzm さん) How to read "marble diagram" from Yuki Anzai 3. RxJava + Vert.x + jOOλ で Microservice 的な何かを作ってみた(業務的に)( chimerast さん) 4. Tapping Retry

    Rx Ja Night 2016 #1 に参加しました - EDIT MODE
    siroken3
    siroken3 2016/02/26
  • Androidについて語る! shinobu.apk #1 を開催しました! #shinobuapk | メルカリエンジニアリング

    Androidエンジニアの@operandoOSです。 最近、JSONArrayのremoveメソッドがAPI Level 19以上でしか使えない現実に落胆しております。 http://developer.android.com/intl/ja/reference/org/json/JSONArray.html#remove(int) 先日、メルカリオフィスにて shinobu.apk #1を開催しました! shinobu-apk.connpass.com そもそも shinobu.apkってなんぞ?? shinobu.apkは、Shinobu Okano(この記事書いてる人)と愉快な仲間たちが繰り広げるファンタジーな勉強会です。 shibuya.apkという、渋谷を中心に活動するAndroidアプリ開発者コミュニティの名前をtypoしたことによって生まれたものです。 真面目に言うと、有

    Androidについて語る! shinobu.apk #1 を開催しました! #shinobuapk | メルカリエンジニアリング
    siroken3
    siroken3 2016/02/12
  • Docker MachineでAmazon EC2をコントロールする | DevelopersIO

    はじめに 先日、Dockerから新機能のリリースがありました。 ORCHESTRATING DOCKER WITH MACHINE, SWARM AND COMPOSE 様々な環境にコマンド一発でDocker環境を構築するDocker Machine(ベータ版)、複数のDocker Engineを集約して一つのDocker Engineに見せるクラスタリングツールであるDocker Swarm、そして複数のDockerコンテナで構成されるアプリケーションをデプロイするオーケストレーションツールであるDocker Composeです。 この3つの機能をAWSに特化した形で有しているのがAmazon EC2 Container Service(ECS)ですが、いろいろな環境で使えるツールをDockerがオフィシャルに出してきたという意味で、インパクトのある発表でした。 さて、今回はDocker

    Docker MachineでAmazon EC2をコントロールする | DevelopersIO
    siroken3
    siroken3 2016/01/26
  • Mac OSXの設定をAnsibleで9割以上自動化する - will and way

    自分のMBPRetinaは3年前のモデルでアップデートする度に、スリープからの復帰画面がおかしくなったりしたのでOSのクリーンインストールも兼ねました。データはほとんどクラウド化されてるので残るは設定ファイルのみ。0から設定するのだるい。 今後、0スタートするときも苦労したくない!ポチポチクリックしたくない!ということで mawatari.jp この記事にインスパイアされて、自分もやったので、ハマりどころとかプラスで対応したところをメモ。 9割はこれで行ける、残り1割はアプリにログインした時にクラウド同期してくれる系(Chromeとか). githubにdotfilesやらshellにするよりも比較的容易にprogramaticallyにできたのでやってよかった。 github.com 対応したこと ansibleのインストール brewのインストール brewによるアプリのインストール

    Mac OSXの設定をAnsibleで9割以上自動化する - will and way
    siroken3
    siroken3 2016/01/17
  • Slackへの通知をAttachmentsでわかりやすく… | メルカリエンジニアリング

    Site Reliability Engineering Teamの@cubicdaiyaです。今回はSlackのライトなお話です。 SlackのAttachments SlackにはIncoming WebhooksやWeb APIでメッセージを投稿する際、ペイロードにAttachementsと呼ばれる情報を含めることでメッセージを装飾できる仕組みがあります。 これを利用すると例えばメッセージにタイトルを付けたり、 用途に応じてカラーリングするといったことができます。(画像はイメージです。実際のアラートメッセージとは異なります。) 上記の場合、障害が発生したら赤、復旧したら黄緑で色分けしています。このようにAttachementsを利用することでSlackへ投稿するメッセージを分かりやすく装飾することができます。 メルカリでのAttachementsの利用例 メルカリでのAttachme

    Slackへの通知をAttachmentsでわかりやすく… | メルカリエンジニアリング
    siroken3
    siroken3 2016/01/12