marin72_comのブックマーク (862)

  • Pryはもう古い、時代はIRB - k0kubun's blog

    僕はRubyで開発をする時は毎回Pryを使うくらいの熱狂的Pryユーザーだったのだが、PryはGemfileに書いてないと binding.pry できなくて不便。任意のgemをdefault gem化するgem default コマンドも作ったのだが、これをやるのすら面倒だと思っていた。 ある日、nobuさんがRubyに binding.irb という機能をいれた。Pryがdefault gemになるのを待つよりPryで僕が使う機能をIRBに全部移植してしまった方が早いのではないかと思い、4年前からPryの機能の移植活動を始め、今日僕がよく使う機能を全て移植し終えた。 その記念に、この記事ではIRBのPry互換の機能を紹介する。昔 今更聞けないpryの使い方と便利プラグイン集 という記事を書いたんだけど、この中で僕が毎日のように使うコマンドは全てIRBに移植したので、それを紹介する稿を

    Pryはもう古い、時代はIRB - k0kubun's blog
  • 事業上の決定に振り回されてると感じる問題をどうするか - Konifar's ZATSU

    所属している組織によるけれども、やることがコロコロ変更になったり、やること自体がなくなったりといった経験はわりとあるあるなのではないだろうか。事業上の決定に自分のタスクが振り回されてるなぁと感じたときに、お互いにどう振る舞うのが建設的なのか答えがない。 振り回されると感じるかどうか、その耐性は育ってきた環境によって変わる。たとえば、VCとのミーティングのあと毎回のように言うことが変わる経営陣の下で働いていれば、かなり耐性がつくだろう。それは必ずしもよいこととは限らないけれども。 市場環境や会社の状況が変わる中で、方針が変わることはある程度許容しなくてはならない。重要なのは、その際の説明と納得感である。どういう考えで急に方針転換したのか、ちゃんと説明されれば波風立たないことも多い。 一方で、皆が納得する説明をするにはコストがかかりがちである。組織がある程度大きければ情報の偏りも起きる。かなり

    事業上の決定に振り回されてると感じる問題をどうするか - Konifar's ZATSU
  • ルールは勝手に浸透しない - Konifar's ZATSU

    何かの反省を活かしてルールを決めることはよくあるが、ルールが勝手に浸透することはまずないと考えておいたほうがいい。まれにスッと馴染むこともあるが、浸透しないものだと考えておいた方が無駄にイライラしなくなるのでオススメ。 たとえば、ミーティングの前にアジェンダを作って目的とゴールを明確にしましょうと決めても、なかなか守られず効率の悪いミーティングが続くみたいな。浸透させるのに重要なのは、根底の課題の認識を揃えることと、口うるさく言い続けることの2点である。 そもそも課題だと感じていないと無用なルールとみなされて守られない。なんでルール決めてるのにちゃんとやらねえんだと思ったら、まず認識が合ってるのか確かめたほうがいい。その上で、口うるさく言い続ける役を作っておく必要もある。ルールが浸透するまでは、誰かがリードしなければならない。ちなみに自分はこの役割を伝道師またはオカンと呼んでいる。状況に応

    ルールは勝手に浸透しない - Konifar's ZATSU
  • インフラのコスト最適化の重要性と RI (リザーブドインスタンス) の維持管理におけるクックパッドでの取り組み - クックパッド開発者ブログ

    技術部 SRE グループの mozamimy です。 クックパッドでは、 SRE が中心となって、サービスを動かす基盤の大部分である AWS のコスト最適化を組織的に取り組んでいるため、今回はそれについてご紹介します。 前半では、そもそもの話として「なぜコスト最適化が重要なのか」「何が難しいのか」「何をすべきなのか」といったことを述べます。これは、当たり前すぎて逆に陽に語られることが少ない (とわたしは感じています) トピックで、一度しっかり言語化しておいてもいいかなと考えたからです。内容のほとんどはわたしの脳内ダンプで、クックパッドという会社のコンテキストや組織としてのステージが前提になっているため、大多数の組織について当てはまる内容とは限りません。 後半では、コスト最適化の一例として、リザーブドインスタンス (以下 RI と略記) を維持管理するためのフローと、それを支えるモニタリング

    インフラのコスト最適化の重要性と RI (リザーブドインスタンス) の維持管理におけるクックパッドでの取り組み - クックパッド開発者ブログ
  • 【徳島旅行オススメグルメ】生卵と豚バラの徳島ラーメン いのたに - みあきログ

    徳島に行ったらぜひべたいと思っていた徳島ラーメン。徳島ラーメンには「茶系」「黄系:鶏・野菜だし+薄口しょうゆ」「白系:いわゆる豚骨ラーメン」と3種類ありますが、県外で徳島ラーメンといえば茶系を指します。 茶系の徳島ラーメンは濃口醬油(もしくはたまり醤油)を使用した茶色いスープで、醤油系の味付けがされた豚バラ肉と生卵が乗っているのが有名ですね。徳島の醤油はやや甘いものも多く、ラーメンの味も少し甘いお店が多いです。 中華そば いのたに 徳島ラーメンで一番有名な『いのたに』に行ってきました。横浜ラーメン博物館にも出店していたことがあるそうです。 徳島ラーメンのもう一つの特徴がメニューにも表れています。それは、『ラーメンはおかず』文化です。普通はサイドメニューのライスが、まるでメインかのごとくメニューの一番右に書かれています。 券をお求めくださいと書かれていますが、こちらのお店(鳴門店)では

    【徳島旅行オススメグルメ】生卵と豚バラの徳島ラーメン いのたに - みあきログ
  • バリ島、なにもしない旅をする|uiu

    「ひとりでバリ島なんか行って何するの?」 友人が言う。なにもしないをするためにバリに行く。僕は言う。笑う。 ちょうど一年前にスタートアップに転職して以来、金と時間の余白を見つけては旅に出る生活をしている。 今年は、カンボジア、ニューヨーク、シドニー、ベルギー、ロンドン、パリに行った。 遺産も都会も疲れた。移動が多くて体力はすり減るし、情報量が多すぎて精神力も使い果たしてしまう。 カンボジアのアンコールワット遺跡は大量の石が殴りかかってくるみたいだし、ニューヨークは美術館が脳を一瞬でCPU使用率100%にする。 今回のテーマは「なにもしない」にすることにした。 観光する予定もなにも立てない。ガイドブックは触りもしない。 ガイドブックこそ消耗の根源だ。不必要な情報で埋め尽くされている。それが高い価格を正当化するために必要な紙の厚みを出す。 バリ島、チャングー場所はバリ島、チャングー。 ノマドリ

    バリ島、なにもしない旅をする|uiu
  • 株式会社デプロイゲートを退職します

    こんにちは!井上恭輔(@kyoro353)です。表題の通り、この2019年7月末を以って株式会社デプロイゲートを離れることになりました。 私の状況が少し特殊なのは、自分自身がDeployGateを開発し、立ち上げた創業メンバーの1人であるという事でしょうか。このエントリーは今までDeployGateの開発以来7年近くの長きに渡りお世話になったチームメンバーや、助けていただいた周りの多くの皆様へのご報告と、感謝をお伝えするためのものです。 いわゆる「退職エントリー」となりますので、興味のある方だけお付き合い頂ければ幸いです。(そして長いですw) デプロイゲート誕生前夜 せっかくの機会ですし、デプロイゲートの人間として今後話す機会も無いと思いますので、今日は少し昔話をさせて頂ければ幸いです。 この写真は今から約7年前の2012年9月10日、DeployGateのリリース日の「DeployGat

    株式会社デプロイゲートを退職します
    marin72_com
    marin72_com 2019/07/31
    おつかれさまでした!!
  • AWS re:Inforce 2019に参加してきました - クックパッド開発者ブログ

    技術セキュリティグループの三戸 (@mittyorz) です。こんにちは。 去る6/25,26日に開催されたAWS re:Inforce 2019に参加しましたので、簡単ではありますが紹介させていただきたいと思います。 今回が初開催なため規模感や雰囲気などは未知数の中、クックパッドからはセキュリティグループの三戸・水谷 (@m_mizutani)とVP of Technologyの星 (@kani_b) のあわせて3名で参加いたしました。 AWS re:Inforce とは AWS re:Inforceは、数あるAWSのカンファレンスの中でもセキュリティに特化したカンファレンスです。 セキュリティに関するイベントはre:Inventなどでもこれまであったわけですが、re:Inventが非常に巨大なイベントとなってしまったこと、クラウドベンダーとしてセキュリティにおいてどのような姿勢で望む

    AWS re:Inforce 2019に参加してきました - クックパッド開発者ブログ
  • 2018/2019 米国永住権を取得した - はまさき

    グリーンカードというやつがついに手元にやってきた。申請の意思決定を会社がしてくれてから2年強、なんとなく取得はするんだろうなとH-1Bビザで渡米した当初からは5年半(最初のH-1Bの有効期間の上限!)が経っていた。多いとは言えない日人の申請例を共有してくれていた先人に倣ってログを公開しておきたい。 特に繰り返し見た記事 How I Got My Green Card · Keiko in Somewhere グリーンカード - suztomoの日記 申請の概要 EB-2 PERM/LC有り H1-Bビザによる滞在からのステータス変更 配偶者有り、子どもなし 面接有り 取得までのできごと 時頃 できごと 2013/12 H-1Bを新規に取得 2015/04 転職(会社買収による転籍)のため H-1B Transfer 2016/08 転職(現職)のため H-1B Transfer 2017

    2018/2019 米国永住権を取得した - はまさき
  • 東京から1泊2日で行けるおすすめ温泉チャートを作りました - いつか住みたい三軒茶屋

    Twitterにも上げましたが、作ってみました。 ときどきこういうのを作っては温泉欲を満たしたり、みなさんの温泉欲を高めたりしています…。なんでもそうですけど、お金が落ちないと存続できないので、私がなにか書いたり発信したりすることで温泉お金が落ちるようになればめっちゃ幸せなので…。 〜〜〜 (追記) 海派?山派?がわかりにくくてすみません…!完全に寝ぼけてました。 海派→はい、山派→いいえです。 あと「箱根は電車でもバスでも行けるよ」と多くご指摘いただいておりますが、個人的には車で行ったほうがよいと思っているので右側に置きました。日帰り温泉や観光スポット回るとき、登山鉄道やバスだけだと結構たいへんなので…。箱根湯だけ楽しむ、なら電車でもよいですが、箱根湯駅から奥へ行くのであればけっこう手間だったりします。 草津・伊香保・四万も「車で行ったほうがよいのでは」とご意見いただいていますが、

    東京から1泊2日で行けるおすすめ温泉チャートを作りました - いつか住みたい三軒茶屋
  • 冪等なデータ処理ジョブを書く - クックパッド開発者ブログ

    こんにちは、マーケティングサポート事業部データインテリジェンスグループの井上寛之(@inohiro)です。普段はマーケティングに使われるプライベートDMP(データマネジメントプラットフォーム)の開発を行っています。稿では、その過程で得られた冪等なデータ処理ジョブの書き方に関する工夫を紹介したいと思います。今回は、RDBMS上で SQL によるデータ処理を前提に紹介しますが、この考え方は他の言語や環境におけるデータ処理についても応用できるはずです。 まずクックパッドのDMPと、冪等なジョブについて簡単に説明し、ジョブを冪等にするポイントを挙げます。また、SQL バッチジョブフレームワークである bricolage を使った、冪等なジョブの実装例を示します。 クックパッドのDMPと冪等なジョブ クックパッドのプライベートDMPは、データウェアハウス(社内の巨大な分析用データベースで、クックパ

    冪等なデータ処理ジョブを書く - クックパッド開発者ブログ
  • ソフトウェア設計の言語化スキルを磨くこと|qsona

    たとえば設計について議論するときや、コードレビューで指摘をするときに、「なぜその設計が良いと思うのか?」について言語化するのが上手だと、確実に良いことがあります。 言語化が上手にできるかが一つの壁なのではないか、と感じることもあります。後輩を育てたりチームをリードするような立場になると、特に必要性を感じるのではないかなと。 自分も、うまく言語化できたことですんなり議論を進められていると感じることは多いですし、逆に直感的な良さを言語化できなかったことで直感に反する方向に進んでしまい、結果よくなかったというような苦い経験もあります。 前提: ソフトウェア設計の良さは静的には決まらない良い設計・良いコードとは何なのか。という質問に一言で答えるなら、「保守性が高い」ことだと思います。つまり、今後の変更・拡張を、高速にバグが少なく行えるような状態が良い設計・良いコードです。(一般的にはこれで70%く

    ソフトウェア設計の言語化スキルを磨くこと|qsona
  • サービス開発でぶつかってきた壁と、そのとき助けてくれた本 - クックパッド開発者ブログ

    こんにちは、開発ディレクターの五味です。クックパッドレシピを投稿してくれるユーザーのための機能やサービスを開発する「投稿開発部」に在籍しております。 投稿開発部は、2018年1月に前身となる部からメンバーを一新して発足した部署です。自分たちで1から戦略を作るため、強い実感を持ってユーザーを理解することを信条に、資料を読んだり前任者に聞いたりするだけではなく、実際にユーザーとたくさん話し、たくさんレシピを投稿し、ユーザーのことをたくさん考えてきました。 この記事では、その中でぶつかった課題を解決するために取り入れた書籍や、それをうまく業務に取り入れるために行っている工夫を紹介します。 サービス開発にはさまざまな壁が現れる ユーザーと事業目標に真摯に向き合うほど、サービス開発にはたくさんの壁が現れます。私たちも例外ではなく、部の発足以降、以下のような壁に激突してきました。 「ユーザー課題の見

    サービス開発でぶつかってきた壁と、そのとき助けてくれた本 - クックパッド開発者ブログ
  • SpotifyがミスによりKubernetesの本番クラスタを二度も削除。しかし顧客へのサービスにほとんど影響しなかったのはなぜか?

    SpotifyがミスによりKubernetes番クラスタを二度も削除。しかし顧客へのサービスにほとんど影響しなかったのはなぜか? 今年、2019年5月20日から3日間にわたりスペイン バルセロナで開催されたKubeCon+CloudNativeCon Europe 2019の基調講演では、SpotifyがミスによってKubernetesのクラスタを消去してしまった経験を振り返るという非常に興味深いセッション「Keynote: How Spotify Accidentally Deleted All its Kube Clusters with No User Impact - David Xia」(基調講演:SpotifyはいかにしてKubernetesクラスタの全削除というミスにもかかわらず顧客への影響を引き起こさなかったのか?)が行われました。 障害が起こることをあらかじめ計画とし

    SpotifyがミスによりKubernetesの本番クラスタを二度も削除。しかし顧客へのサービスにほとんど影響しなかったのはなぜか?
  • Rails 6.0の複数DBでリードレプリカのテストするのたぶん大変 - かみぽわーる

    Rails 6.0の複数DBのレビューしてるときに気づいたことなんですけど、たぶんリードレプリカからデータを読むテストをするのたぶん大変だと思われます。 うちの業務のアプリでActive Recordが更新を検知できない方法でデータが更新されるとテストがコケるという問題が以前にあり、これと同じ構造の問題がマスターのコネクションで更新したときマスターのコネクションのクエリキャッシュはクリアされるけどリードレプリカのコネクションのクエリキャッシュは残ったままというのがあるよね、というのをテストコードで示そうと思ったときのことである。 github.com 通常RailsアプリでDBつかったテストをするとき、テストの中で変更されたデータを毎回初期状態に戻すのにフィクスチャーをロードし直すのは時間がかかって効率がわるいので、テストケースに入る前にトランザクションを開始しといてテストケース終わったら

    Rails 6.0の複数DBでリードレプリカのテストするのたぶん大変 - かみぽわーる
  • 神山町に「次世代高専」設立へ 2023年開校目標 - 日本経済新聞

    高速光ファイバー網の整備によって企業のサテライトオフィスが集まる徳島県神山町にIT(情報技術)、AI人工知能)、デザイン、アートなどを学ぶ次世代型の私立高等専門学校を設立するプロジェクトが21日、スタートした。専門技術の習得だけでなく、起業家精神を持った人材の育成を目指す。開校予定は2023年4月1日。全国の私立高専としては4校目となる見通しだ。同日開いた町議会全員協議会で設立プロジェクト

    神山町に「次世代高専」設立へ 2023年開校目標 - 日本経済新聞
  • モダンBFFを活用した既存APIサーバーの再構築 - クックパッド開発者ブログ

    技術部の青木峰郎です。 去年までは主にデータ分析システムの構築を担当していましたが、 最近はなぜかレシピサービスのサービス開発をやっています。 今日は、そのサービス開発をする過程で導入したBFF(Backends for Frontends)であるOrchaについて、 導入の動機と実装の詳細をお話しします。 Orcha導入にいたる経緯 まずはOrcha導入までの経緯、動機からお話ししましょう。 最初のきっかけは、わたしが去年から参加しているブックマークのようなサービスの開発プロジェクトでした。 このプロジェクトの実装のために新しいmicroserviceを追加することになったのですが、 そのときにいくつかの要望(制約)がありました。 1つめは、撤退するとなったときに、すぐに、きれいに撤退できること。 2つめが、スマホアプリからのAPI呼び出し回数はできるだけ増やしたくない、という要望です。

    モダンBFFを活用した既存APIサーバーの再構築 - クックパッド開発者ブログ
    marin72_com
    marin72_com 2019/06/22
    これは青木さんのいい話
  • レシピ検索を支えるレガシーでクリティカルな大規模バッチを刷新した話 - クックパッド開発者ブログ

    こんにちは、会員事業部の新井です。余暇を全て Auto Chess に喰われています。 過去このブログにはサービス開発に関する記事*1を投稿させていただいているのですが、今回はシステム改修についての記事になります。 クックパッドには検索バッチと呼ばれる大規模なバッチが存在するのですが、今回それを刷新することに成功しました。 そこでこの記事では旧システムに存在していた問題点、新システムの特徴や実際の開発について述べたいと思います。 背景 クックパッドレシピ検索では Apache Solr を検索サーバーとした全文検索を利用しています。古くは Tritonn を利用して MySQL に作られた専用 table を対象に全文検索を実行していたようですが、その頃から「検索バッチ」と呼ばれるバッチが存在していました。 このバッチは、簡単に言うと「検索インデックス」と呼ばれる検索用メタデータを生成す

    レシピ検索を支えるレガシーでクリティカルな大規模バッチを刷新した話 - クックパッド開発者ブログ
    marin72_com
    marin72_com 2019/06/22
    同期のいい話
  • 納得感のある決定事項の共有方法 - Konifar's ZATSU

    意思決定の場にいない人に対して決定事項を共有する際、いくつか気をつけておくといいなぁと考えていたことを雑にまとめておきたい。 決定する前から進捗をちょっとずつ共有しておく 決定前の話なので後の祭りかもしれないが、いきなり結果をドーンだと相手を戸惑わせることがあるので事前に議事録を共有したり中間で説明する機会を作ったりするとよい 背景と前提条件を伝える なぜやるのかわからないまま結果だけ共有すると納得してもらいにくい。決定する上での前提条件を知らないと余計な反発をうむこともあるので注意が必要。それまでずっと考えてきた当事者は気づきにくいが、びっくりするくらい前提知識が違うことがある。相手は何も知らないものとして、イチから説明した方がよい 決定までの経緯を伝える 結論より経緯の伝え方が重要。どのような議論があってそんな決定になったか、完結に伝えましょう 捨ててきた選択肢も伝える 結果に至るまで

    納得感のある決定事項の共有方法 - Konifar's ZATSU
  • Rails 6.0でDeprecatedになるActive Recordの振る舞い3つ - かみぽわーる

    Deprecatedにした経緯というか背景が伝わってるのかどうかアレだと思ったので、ここに日語にて書き記しておく。 Deprecate mismatched collation comparison for uniquness validator by kamipo · Pull Request #35350 · rails/rails · GitHub Active Recordのuniqueness validatorはデフォルトでcase sensitiveな比較をするんですが、これが、文字列のデフォルトのcollationがcase insensitiveなMySQLと相性が悪く、DB上のUNIQUE制約と一致しない振る舞いだったりINDEXが効率よく使えずDBが死ぬみたいな問題を引き起こしていました。 例: 当にあったRailsの怖い話 僕も主に仕事コードレビューで過去に何

    Rails 6.0でDeprecatedになるActive Recordの振る舞い3つ - かみぽわーる