タグ

cubicdaiyaのブックマーク (3,040)

  • ImageFluxを利用した画像配信の最適化〜動的リサイズとWebP変換〜 | メルカリエンジニアリング

    SREチームの@cubicdaiyaです。今回はメルカリにおける画像配信とImageFluxを利用した画像の動的なリサイズとWebP変換の導入によってアプリのデータ通信量を大幅に削減した事例について紹介します。 ImageFluxはクラウド画像変換サービスです。URLに画像変換用のパラメータを組み込むことで画像データの拡大・縮小やオーバレイ、フォーマット変換等が実現できます。 メルカリにおける画像データ メルカリのアプリ上で発生するデータ通信の大部分はタイムラインや検索結果に表示される画像データが占めています。種類はいろいろありますが例えば、 商品画像 プロフィール画像 バナー画像 といったものが挙げられます。特に商品画像はデータ量がとにかく多く、毎日百万個単位で増加するほか、タイムラインや検索結果をはじめ、多くの機能で活用されています。 ImageFluxを利用した画像変換でデータの通信

    ImageFluxを利用した画像配信の最適化〜動的リサイズとWebP変換〜 | メルカリエンジニアリング
  • fluent-logger-golang の実戦的な使いかたまとめ - 酒日記 はてな支店

    OSS紹介アドベントカレンダー の14日目の記事です。 Fluentd の 公式 GoLogger である fluent-logger-golang はこのように使うのがよさそう、という使い方をまとめてみました。 元々社内で書いておいたドキュメントを編集したものです。 github.com 前提のユースケース Webアプリケーション(APIサーバ) を Go で書いていて、そこから何らかのログを Fluentd に送信したい。 config のお勧めオプション Timeout : Connect に対するタイムアウト。デフォルト3秒なのでそのままでよさそう WriteTimeout : 書き込みのタイムアウト。デフォルトだとずっと待ってしまうので 3 秒とか? BufferLimit : デフォルト 8MB これを超えると捨てられてしまう。送る流量によって調整が必要 MaxRetry

    fluent-logger-golang の実戦的な使いかたまとめ - 酒日記 はてな支店
  • [Cloud OnAir ] #06 メルカリ & ソウゾウの世界展開と Google Cloud

  • たのしいリアルISUCON | メルカリエンジニアリング

    Mercari Advent Calendar 2017 の15日目は id:koemu こと斎藤が担当します。 こんにちは。私は、サーバサイドのソフトウェアエンジニアとして、過去はメルカリ 米国版の開発、現在は日版の開発に携わっています。 サーバサイドのソフトウェアエンジニアにとって、サービスの成長に伴うサーバの負荷との戦いは切っても切れない存在であると、私は考えています。初めから想定できる問題もあれば、サービスが成長して初めて明るみになる問題もあります。成長痛と言ってもいいかもしれません。 今日は、私が当社で働いていて携わった、サーバサイドのプログラムのパフォーマンスに関わる事象について、「Slave DBへの要求を memcached に向けていく」「PHP からサブシステムを呼び出そうとするときの工夫」そして「array_merge()の失敗談」の3点をピックアップして紹介します

    たのしいリアルISUCON | メルカリエンジニアリング
  • 国内Cloud spanner初事例!「迎車料金無し!新感覚タクシーアプリ「フルクル」」

    2018/09/25に北九州で開催された「Code for Kitakyushu例会」の発表資料です。Azure Logic Apps、QnA Maker、LINE Messaging APIを利用してノンコーディングでLINE BOTを作成する方法を紹介しています。

    国内Cloud spanner初事例!「迎車料金無し!新感覚タクシーアプリ「フルクル」」
  • Goを遅くしないための地味な話 – haraheniku – Medium

    この記事はGunosy Advent Calendar 2017の13日目の記事です。 広告技術部の@harahenikuです。 主な業務はGoによる広告配信APIの開発です。たまにPythonとかDjangoとかもやってます。 Goは速いですが遅いコードをかけば当然遅くなってしまいます。 この記事ではGoのプログラムを遅くしないために、実際に行ったチューニングを幾つか紹介したいと思います。 スライスの処理長さを指定するスライスの初期化は次のようなコードはappendでallocが発生します。 feature := []VectorEntry{} for i, v := range vec { e := VectorEntry{ ID: i+stride, Value: v, } feature = append(feature, e) }appendでallocされないように、makeで

  • エンジニアのベンチャー企業の選び方/働き方/やめ方 - mizchi's blog

    この記事は退職者アドベントカレンダーの12日目です。 adventar.org 経歴としては、新卒で設立してすぐのゲーム会社 => 小規模教育系ベンチャー => Incements(Qiita) => フリーランス。 今年で29歳、20代で3回退職しました。20代のうちは冒険してベンチャー企業で働いてみよう、と思ってたのですが、結局29を目前にフリーランスになってしまいました。 ベンチャーで働くこと ベンチャーで働くのはリスクを取るということ。一番言いたいのは、ストックオプションもたずにベンチャーやるな、ストックオプションも確実に換金できるわけじゃない、ということ。上場するときに行使するか、バイアウト時に買い取ってもらわないといけません。 また、ストックオプションの期待だけ給与は下がるので、他の会社で同じことをやるのに比べて、 -100~-150万ぐらいの相場です。少数精鋭志向で最初からじ

    エンジニアのベンチャー企業の選び方/働き方/やめ方 - mizchi's blog
  • メルカリのデータ分析基盤の紹介〜BigQuery周辺の話〜 | メルカリエンジニアリング

    Mercari Advent Calendar 2017 の9日目はメルカリ SRE(Site Reliability Engineering) チームの @syu_cream がお送りします。 メルカリでは様々なデータを BigQuery に格納して、データ利用を可能にしています。 BigQuery に格納しているデータの具体例としては、 Web サーバや API サーバのアクセスログやアプリケーションのログ、 以前当ブログで紹介した Pascal のイベントログ などが挙げられます。 メルカリのデータ分析基盤に関する情報はこれまでに以下のようなブログやスライドで紹介しております。 Pascal〜Puree + ngx_lua + Fluentd + BigQueryでつくるメルカリのログ分析基盤〜 fluent-agent-hydraで省エネログ転送 メルカリのデータ分析基盤 / me

    メルカリのデータ分析基盤の紹介〜BigQuery周辺の話〜 | メルカリエンジニアリング
  • Microservices Monitoring at mercari

    A talk about how is mercari adopting microservices and trying to monitor it. Monitoring Seminar in mercari https://mackerelio.connpass.com/event/71256/

    Microservices Monitoring at mercari
  • ヤフーの分散オブジェクトストレージ Dragon について

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、データ&サイエンスソリューション統括部所属の後藤泰陽(@ono_matope)です。少し時間があいてしまいましたが、9月19日にお茶の水女子大学で開催された WebDB Forum 2017 において、分散オブジェクトストレージ “Dragon” について講演しました。良い機会なので、エントリでもDragonについてご紹介させていただきたいと思います。 発表資料 WebDB Forumでの発表資料については以下をご覧ください(講演時の内容と一部異なります)。 日語版 Dragonとは? Dragonは、ヤフー・ジャパンで開発された分散オブジェクトストレージシステムです。Amazon S3互換のWeb APIを実装

    ヤフーの分散オブジェクトストレージ Dragon について
  • PHPカンファレンス2017のスポンサーブースに出展しました | メルカリエンジニアリング

    こんにちは!メルカリでサーバーサイドエンジニアをしている @bravewood と申します。 メルカリでは2017年10月7日に行われた PHPカンファレンスにおいて、ゴールドスポンサーをさせていただきました。当日はスポンサーブースに出展を行い、そこで、缶バッジやシールなどのノベルティーをお配りするとともに、訪問された方々といろいろお話をさせていただきました。記事では、その際にお伺いした質問と回答をまとめさせていただきました。 組織・開発に関すること メンター・メンティーの割り当てはどうなっていますか? 新卒など技術的なキャッチアップが必要な人には、技術力の高い人を割り当てたりとかするのですか? 現状は明確にメンターは固定されておらず、入社される方に対してタスクやチームがまず決まり、その後チーム内で空いている人や教えるのが上手そうな人がメンターに任命され、通常1ヶ月間つきます。 さらに、

    PHPカンファレンス2017のスポンサーブースに出展しました | メルカリエンジニアリング
  • Microservices at Mercari

    1) Mercari has transitioned some services to microservices architecture running on Kubernetes in the US region to improve development velocity. 2) Key challenges in operating microservices include deployment automation using Spinnaker, and observability of distributed systems through request tracing, logging, and metrics. 3) The architecture is still evolving with discussions on service mesh and c

    Microservices at Mercari
  • 午前10時前の就業開始は拷問に等しく、従業員を病気にする(英研究) : カラパイア

    英オックスフォード大学の研究者によれば、午前10時前の就業を強制することは拷問に等しく、従業員の体調不良や疲労、あるいはストレスの原因になるそうだ。 55歳以下の成人の概日リズムは、一般的な9〜17時という就業時間とはまるで一致していない。このために、従業員のパフォーマンス、気分、精神衛生に対する「深刻な脅威」となる。 ポール・ケリー博士は、人間の自然な体内時計に合わせて、職場や学校などの開始時間を抜的に変化させる必要があると主張している。

    午前10時前の就業開始は拷問に等しく、従業員を病気にする(英研究) : カラパイア
  • データ民主化の負の側面 - wyukawa's diary

    データの活用が当然のことのようになってエンジニア以外でもSQL書いてデータ抽出するのが一般的になってきました。さらにデータサイエンティストの登場により高度な分析もされるようになってきて、顕在化してきたのがHadoopクラスタの無法地帯化とエンジニアの疲弊なんじゃないかと最近思っております。なおHadoopに限らずElasticsearchでも言えたりします。 これって要はユーザと管理者のバランスの問題で、Hadoopエンジニアを採用するのが難しいというのが背景にあります。 SQL書ける人はそれなりにいるけど、インフラ側の人材不足ですね。この状態でデータの民主化が進むとどうなるかというと、 クエリの数が増える -> なかにも重いクエリも結構ある -> 管理者がそれをチェックするのに疲れて放置するようになる -> クラスタの負荷が増えて障害も出るようになる -> クエリ実行にも時間かかるように

    データ民主化の負の側面 - wyukawa's diary
  • Go にジェネリクスがなくても構わない人たちに対する批判について - methaneのブログ

    なんども繰り返される話でうんざりなんだけど、繰り返されるたびに反論するのもアレなので、URL貼れるように記事にしておく。 Goが頑なにジェネリクスいらないというだけ他の言語勢から失笑買ってるというのは自覚して— {{alert()}} (@mizchi) 2017年9月19日 頑なに要らないと言ってる人が具体的にどの発言のことを差してるのか分からないけど、コア開発者たちはツールチェインやランタイムの進化を優先していただけで頑なに拒否してたりはしません。今はツールチェインやランタイムが大分進化したから、Goの適用範囲を広げるためにジェネリクスを含めて機能追加も検討し始めようかっていうフェーズです。 あとどの言語にもちょっと公平的な見方ができなくなった痛いファンはいるもので、そういった人たちをいちいちあげつらってこういう言い方で失笑するのは、別に止めはしないけど自分の格を下げるだけだと思う。

    Go にジェネリクスがなくても構わない人たちに対する批判について - methaneのブログ
  • Go vs Rust? Choose Go. | Matthias Endler

    I wrote this article a long time ago. In the meantime, my opinion on some aspects has changed. In order to give a more balanced perspective on the pros and cons, I suggest to read this comparison on Go vs Rust instead, which I wrote in collaboration with Shuttle 🚀 Rust vs Go: A Hands-On Comparison Source: Gopher designed with Gopherize.me. Gears designed by Freepik "Rust or Go, which one should I

    Go vs Rust? Choose Go. | Matthias Endler
  • 人はなぜミドルウェアを作ってしまうのか? (15:50- @大会場) | エンジニアサポートCROSS2017

    世の中には様々なミドルウェアが存在します。 代表的には誰もが使用するWeb/DB/キャッシュサーバなどですが、他にもサーバ環境設定、アプリケーションデプロイ、データの収集や変換など、様々なものが使われています。 多くのケースでは、世間でよく使用される既存のものを、ある程度の設定だけを行ってそのまま使用する、ということがほとんどではないでしょうか。 しかし実際には、種々の事情や要求により、独自のミドルウェアを作ってしまい自ら運用する、というケースがあります。日国内の事業者においても行われることがあります。 継続的に開発できるのか? 当にそんな必要があるのか? 性能はきちんと出るのか? 開発者以外に運用できるのか? このセッションではこういった種々の問題について、経緯や技術的詳細をまじえ、各種ミドルウェアの開発者たちが赤裸々に語り合います。 当日の進行により内容が一部変更となる場合がありま

    人はなぜミドルウェアを作ってしまうのか? (15:50- @大会場) | エンジニアサポートCROSS2017
    cubicdaiya
    cubicdaiya 2017/08/21
    話します
  • WWDC17で新しく発表された画像フォーマットHEIFを使ってみた - Qiita

    HEIFとは HEIFとはHigh Efficiency Image File Formatの略でMPEGよって開発された画像フォーマットの標準規格です。ちなみにヒーフと呼ぶ場合が多いようです。iOS11から公式にサポートされ、JPEG以上の圧縮率、深度情報、透過処理、タイル化、アニメーションなどJPEGにはなかった機能や改善点がある新しい画像フォーマットです。JPEGなどとの詳しい差分はwikiに載っています。 H.265/HEVCとは まずHEIFを語る上で避けて通れない事として、H.265/HEVC(High Efficiency Video Coding)があります。ISO/IECのMPEGとITU-TのVCEGによる研究開発チームJCT-VC によって提案され、ITU-Tは2013年に承認されました。 HEIFはHEVCのコーデックが選択可能(というかこれ以外ありえない?)でHE

    WWDC17で新しく発表された画像フォーマットHEIFを使ってみた - Qiita
  • gRPC and REST with gRPC in practice

    go-sqlite3を使ってCloud Spannerエミュレーターを作ってみた / Cloud Spanner emulator with go-sqlite3

    gRPC and REST with gRPC in practice
  • Go言語感想文 - なるせにっき

    序 最近、敵情視察を兼ねた仕事ととしてGoでアプリケーションを書いていた。このアプリケーションがどんなものかはそのうちid:tagomorisさんがどこかで話すと思うけれど、このコンポーネントがOSS化される予定はいまのところないので、そこで得た知見をここにまとめておくことにする。 GoroutineとChannel さて、GoといえばGoroutineとChannelですね。 Goroutineはようするにスレッドなんですが、文法と実装の支援でより気軽に使えるのが他の言語との違いでしょうか。なので、Goroutineをどれだけほいほい使うべきかというコスト感覚を身につけることがとても大事な気がします。Rubyなどとは気持ちを切り替えていく必要があるでしょう。ぼくはまだ切り替えきれていません。 もう一つがChannelですね。これは端的にはメッセージキューです。 Goは前述の通り同時に動く

    Go言語感想文 - なるせにっき