タグ

ブックマーク / techlife.cookpad.com (15)

  • レガシーとなった TLS 1.0/1.1 廃止までの道のり - クックパッド開発者ブログ

    SRE 兼よろず屋の id:sora_h です。最近は社移転プロジェクトをやっています。趣味は Web *1 です。 さて、クックパッドでは 2020 年 12 月に TLS 1.0 および TLS 1.1 (以後 "Legacy TLS") を廃止しました。 Legacy TLS は RFC 7457 でまとめられているような既知の脆弱性の存在などから、Chrome, Firefox といった主要ブラウザを含め各所でのサポートが打ち切られつつあります。また、現在では IETF においても Legacy TLS は deprecated と RFC 8996 にて宣言されました。 クックパッドでもセキュリティ対策およびレガシーな技術と向き合う一環で廃止を進めました。我々は歴史の長いサービスも提供しているため、古い Android や Internet Explorer などからのアクセス

    レガシーとなった TLS 1.0/1.1 廃止までの道のり - クックパッド開発者ブログ
    dpprkng
    dpprkng 2021/08/19
  • 大きな Rails アプリケーションをなんとかしよう。まずは計測と可視化からはじめよう。 - クックパッド開発者ブログ

    こんにちは、技術部開発基盤グループの id:hogelog です。 RubyKaigi 2018 楽しかったですね。僕はおそらく RubyKaigi 2010 以来の久しぶりの参加でした。ああいう場の楽しさを思い出し、また今回はスポンサーブースから RubyKaigi に参加するという学生の頃は知らなかった楽しみも新たに知り、RubyKaigi を満喫させていただきました。 さて今回はそんな RubyKaigi で取り戻した Ruby に対する感情と関係あるようなないような、最近自分が取り組んでいるお台場プロジェクトプロジェクト内で実施している計測と可視化について紹介します。 お台場プロジェクトの発足 クックパッドの開発といえば数年前までは cookpad_all という一つのリポジトリの中に詰め込まれた巨大なモノリシック Rails アプリケーションを社内のエンジニアが寄ってたかって開

    大きな Rails アプリケーションをなんとかしよう。まずは計測と可視化からはじめよう。 - クックパッド開発者ブログ
    dpprkng
    dpprkng 2018/06/08
  • TLS証明書の発行・デプロイについて - クックパッド開発者ブログ

    こんにちは、インフラストラクチャー部セキュリティグループの三戸 (@mittyorz) です。 クックパッドでは全てのサービスをHTTPSにて提供しています。 今回はHTTPSの使用にあたって必要となるTLS証明書について、申請や発行、管理やサーバへのデプロイなどの運用について書きたいと思います。 TLS終端 クックパッドでは、サービスとユーザーとの通信経路は全てTLSにより暗号化されていますが、通信内容を暗号化するためのTLS終端処理はELBあるいはCloudFrontで行っています。 ELB、CloudFrontともにAWS Certificate Manager(ACM)を用いて証明書を管理*1することが出来ますが、社内向けで外部に公開していないサービスやステージング環境についてはELB背後のリバースプロキシで終端処理をしているものも多く、これらについては証明書ファイルを直接EC2イ

    TLS証明書の発行・デプロイについて - クックパッド開発者ブログ
    dpprkng
    dpprkng 2018/03/18
  • Web サービスの完全 HTTPS 化 - クックパッド開発者ブログ

    インフラストラクチャー部長の星 (@kani_b) です。 2017年1月5日をもって、クックパッド における全ページで HTTPS が使われるようになりました。 完全 HTTPS 化をするにあたり、その理由や具体的な進め方について紹介します。 以前 SRE Tech Talks #2 にて一部発表した内容も含みますので、ご興味のある方はあわせてスライドもご覧ください。 完全 HTTPS 化に踏み切った理由 以前のクックパッドは、ログインや登録情報の参照など、いわゆる個人情報や認証情報を扱う箇所のみに HTTPS が使われていました。 このように「必要な箇所にのみ HTTPS を使う」構成は、ある程度歴史のある Web サービスにおいてよく使われている構成です。 この状態から、完全 HTTPS 化に踏み切った理由を説明します。 サービスをよりセキュアにするため HTTPS の利用を考えるに

    Web サービスの完全 HTTPS 化 - クックパッド開発者ブログ
    dpprkng
    dpprkng 2017/04/20
  • Cookpad TechConf 2017 提供 Wi-Fi の裏側 - クックパッド開発者ブログ

    インフラ部 id:sora_h です。 先週開催された Cookpad TechConf 2017 如何でしたでしょうか。わたしは TechConf において Wi-Fi を担当していて、こちらも好評いただいたようでなによりでした。 というわけで、この記事では TechConf 2017 における Wi-Fi についての詳細を紹介します。 ネットワーク機器設定・サーバー mitamae レシピ等の公開 https://github.com/cookpad/techconf2017-network 今回の紹介する構成のうち、ネットワーク機器およびサーバ側の設定等、ほとんどを GitHub で公開しています。参考までにどうぞ。 TechConf 2017 NOC メンバー 実は外注などはしておらず、社内 IT と SRE グループのメンバーで構成されていました。 メイン (設計・運用・設営)

    Cookpad TechConf 2017 提供 Wi-Fi の裏側 - クックパッド開発者ブログ
    dpprkng
    dpprkng 2017/01/26
  • 日本語形態素解析の裏側を覗く!MeCab はどのように形態素解析しているか - クックパッド開発者ブログ

    こんにちは、買物情報事業部の荒引 (@a_bicky) です。 前回、「検索結果の疑問を解消するための検索の基礎」で単語単位でインデキシングする前提で説明しましたが、今回は文などを単語単位で分割するために使う技術である形態素解析について触れます。 形態素解析器には色々ありますが、中でもメジャーと思われる MeCab の仕組みについて説明します。 MeCab の解析精度を上げるために辞書に単語を追加したことのある方もいると思いますが、動作原理を理解することで単語を追加する際に適切な生起コストを設定できるようになったり、学習の際に適切なパラメータを設定できるようになったりするはずです。 なお、MeCab は汎用テキスト変換ツールとしても使用できます が、簡単のため MeCab + IPA 辞書のデフォルト設定前提で説明します。 アジェンダ 形態素解析とは MeCab における最適な解析結果の推

    日本語形態素解析の裏側を覗く!MeCab はどのように形態素解析しているか - クックパッド開発者ブログ
    dpprkng
    dpprkng 2016/05/12
  • 電子工作に必要な道具達 - クックパッド開発者ブログ

    最近電子工作を始めだしたクックパッドの舘野 ( id:secondlife, @hotchpotch )です。昨今 Arduino や Raspberry Pi を初めとしたボードの登場により、気軽に電子工作プログラミングができるようになり、プロトタイピングの敷居が非常に下がってきていますね。電子工作における “Hello World!” である LED を発光させる実装の “Lチカ” や、ブレッドボード上での簡単な電子機器やモジュールを組み合わせてプログラムから操作などを実際にしてみたことがある方も多いのでは無いでしょうか。 ただそこまでは非常に気軽にできるのですが、その先の電子工作へ進む時に溝があるのも確かです。ソフトウェアのみで完結する開発の場合、初心者でも解らないなら解らないなりに調べ、ソースコードをコピペして弄って理解してみたり、ライブラリを使っていくうちに徐々に進んでいくことが

    電子工作に必要な道具達 - クックパッド開発者ブログ
    dpprkng
    dpprkng 2015/10/28
  • 部署の課題を継続的に改善する取り組み - クックパッド開発者ブログ

    はじめに こんにちは、投稿推進部の勝間です。 約1年前、「サービス開発エンジニアからマネージャになった話」というエントリを投稿しましたが、現在も試行錯誤しながらマネジメントに取り組みつづけています。 「組織は生きもの」とも言いますが、私の部署もまた生きもののように、日々いろいろな課題が生まれ、それに取り組んでいます。今回は、そのような部署で私が感じた課題と、それに対する具体的な取り組みについて、いくつか事例とあわせてご紹介します。 1. 業務外の問題に目を向ける 私の部署では、毎日約5分間の朝会を開いています。 1人30秒くらいで、「今日取り掛かること」「参加するミーティング」「その他勤怠など含めて共有すべきこと」を共有します。 朝会を行うことでそれぞれの業務的な進捗を確認でき、また、内容について疑問に思ったこともすぐに確認、理解できる状態を作ることができていました。 一方で、業務と直接関

    部署の課題を継続的に改善する取り組み - クックパッド開発者ブログ
    dpprkng
    dpprkng 2015/10/23
  • iOS9 のリリースでクックパッドに起きたこと - クックパッド開発者ブログ

    こんにちは、技術部モバイル基盤グループの茂呂(@slightair)です。 モバイル基盤グループでは、クックパッドの iOS/Android アプリに関する様々な仕事をしています。 不具合を抑え、品質を保ちながら安定してリリースサイクルを回せる環境づくり アプリの開発者がサービス開発に専念できるように、コードリファクタリングやライブラリの整備 OSやライブラリ、開発ツールのバージョンアップに伴う調査・検証・対応 この記事にはiOS9がリリースされた結果、クックパッドのサービスに何が起き、どういう対応をしてきたかをまとめます。 Universal Links iOS9 で Universal Links という機能が入りました。これは、Safari で開いた Web ページ中のリンクに対応したアプリが端末にインストールされていれば、アプリでリンク先のコンテンツを表示できるというものです。 う

    iOS9 のリリースでクックパッドに起きたこと - クックパッド開発者ブログ
    dpprkng
    dpprkng 2015/10/21
  • nginx で omniauth を利用してアクセス制御を行う - クックパッド開発者ブログ

    インフラストラクチャー部 id:sora_h です。クックパッドでは、社内向けの Web アプリ (以降 “社内ツール”) を社外のネットワークから利用する際、アプリケーションレベルでのアクセス制御とは別に、リバースプロキシでもアクセス制御を実施しています。*1 これまで BASIC 認証あるいは VPN による社内ネットワークを経由した接続という形で許可していました。しかし、iOS の Safari などでは BASIC 認証時のパスワードを保存できない上、頻繁に入力を求められてしまいますし、VPN はリンクを開く前に接続をしておく必要があります。これにより、社内ツールを社外で開く時に手間がかかってしまう問題がありました。 これに対し、一部では typester/gate などを導入し Google Apps での認証を行なっていました。しかしいくつか問題があり、非アドホックな対応では

    nginx で omniauth を利用してアクセス制御を行う - クックパッド開発者ブログ
    dpprkng
    dpprkng 2015/10/16
  • 夏の技術職インターンシップ講義資料公開 - クックパッド開発者ブログ

    こんにちは!クックパッド編集室メディア開発グループ長の @yoshiori です。 このまえ夏の技術職インターンシップの前半の開発講義・課題部分が終わったのでさっそく公開しちゃいます! ちなみにこのインターンの対象者はプログラミングはわかるし自分で(授業とかではなく)コード書いている人なので超初心者向けでは無く、少なくともひとつ以上の言語でプログラミングが出来る人向けです。 一日目 TDD + git 編(@yoshiori) 講義初日なのでまずは簡単に肩慣らし & 開発の基礎の部分として TDD と git で始めました。 git については軽く説明し TDD は基のテストファーストで進めて行きました。 ちゃんと何かをするたびにテストを実行し、メッセージを見れば次にすることが分かるというのを体験してもらい、GREEN が良くて RED が悪いのではなく、GREEN を想定しているのに

    夏の技術職インターンシップ講義資料公開 - クックパッド開発者ブログ
    dpprkng
    dpprkng 2015/09/08
  • Dockerでffmpegもimagemagickも怖くないという話 - クックパッド開発者ブログ

    クックパッド 広告事業部の大野晋一です。責任範囲は広告事業の純広告およびネットワーク広告の商品開発担当で、事業部にはそれぞれの売上でコミットしています。 この記事では、動画変換の仕組みにおけるDockerの活用について紹介します。 クックパッドは8月8日、iOS/Androidのブラウザにおいて動画クリエイティブを掲出する広告商品を公開しました。広告商品としての詳細はプレスリリースやスライドを見ていただくのがわかりやすいのですが、稿に関係する特徴としてスマートフォンのブラウザで自動的に再生が開始されるというものがあります。 スマートフォンのブラウザにおいては、現在のところ、動画を自動再生させることは出来ません。これはAppleGoogleといったブラウザベンダが課している制約です。そこで、クックパッドでは、janiというライブラリを使い、特定の規則に基づいて作られた画像を、JavaSc

    Dockerでffmpegもimagemagickも怖くないという話 - クックパッド開発者ブログ
    dpprkng
    dpprkng 2014/12/15
  • WebPでモバイルアプリの通信量を劇的に削減する - クックパッド開発者ブログ

    モバイルファースト室の @slightair です。 クックパッドの iOS/Android アプリは、少し前のバージョンからWebP形式の画像をサーバから取得して表示するようにしています。 この記事では、なぜ画像形式をWebPに切り替えたのか、また切り替える上で注意した点などを説明します。 Cookpad アプリと画像 クックパッドのアプリはユーザさんに投稿していただいたレシピを表示するアプリケーションです。その性質上、レシピ画像や調理手順、検索画面のサムネイルなどたくさんの画像をサーバから取得して表示する必要があります。 画像の数が増えたりサイズが大きくなればなるほど通信量が増えます。最近はスマートフォンの画面サイズがどんどん大きくなっているので、それに合わせて取得する画像を大きくしていくとさらにファイルサイズが増え、通信量も増えていってしまいます。 サーバとやりとりするデータが多くな

    WebPでモバイルアプリの通信量を劇的に削減する - クックパッド開発者ブログ
    dpprkng
    dpprkng 2014/12/04
  • 既存のアプリのiPhone 6と6 Plus対応 - クックパッド開発者ブログ

    はじめまして、11月頭にクックパッドに入社したモバイルファースト室のヴァンサン(@vincentisambart)です。 既存のiOSアプリのiPhone 6と6 Plus対応について書きたいと思います。 既存のiOSアプリはiPhone 6対応済みだと明確にOSに示さないと、iPhone 6でも6 PlusでもiPhone 5の画面を拡大したものが表示されます。アプリから見える画面のサイズはiPhone 5と同じ320x568です。 iPhone 6対応がされていると示すには、方法が2つあります: 静的起動画面:iPhone 6とiPhone 6 Plusの画面サイズに合わせた静的な起動画面用の画像をアプリに入れます。 動的起動画面:起動画面をXIBファイルという形でアプリに入れます。 iOS 7以下は動的起動画面を対応していません。iOS 7以下対応のアプリが動的起動画面を使っても問題

    既存のアプリのiPhone 6と6 Plus対応 - クックパッド開発者ブログ
    dpprkng
    dpprkng 2014/12/03
  • 料理動画を支える技術 - クックパッド開発者ブログ

    インフラストラクチャー部 星野(@con_mame)です。 少し前から、一部レシピページに料理動画を掲載していました。当初はYoutubeを使用していましたが、日から自社配信に切り替わりました。現在はまだ掲載数は少ないですが、今後掲載数を増やしていきたいと考えております。 そこで、今回は、動画配信プラットフォームの裏側がどうなっているかという点を簡単にですがご紹介したいと思います。 構成図 構成図を見ていただくのが一番わかり易いと思うので、最初に掲載します。 見て分かる通り、今回は全てAWSのサービスを使用して構築しています。 今回使用したサービスは エンコード: Elastic Transcoder データストア: DynamoDB + DynamicDynamoDB ストレージ・配信: S3 + CloudFront エンコード通知など: SNS 今回、構築までの期間とエンコードや動

    料理動画を支える技術 - クックパッド開発者ブログ
    dpprkng
    dpprkng 2014/06/17
  • 1