タグ

ブックマーク / medium.com (20)

  • Effective Go(Part1)

  • 【1月23日追記】12月23日、24日に発生しました障害に関するご報告

    いつもSkebをご利用いただき、誠にありがとうございます。 12月23日12時よりskeb.jpにアクセスできない大規模な障害が発生しておりましたが、12月24日07時に復旧いたしました。 12月23日、および12月24日が納品期限のリクエストは納品期限を12月25日23時59分までに延長させていただきます。 みなさまには多大なご迷惑をお掛けしましたことをお詫び申し上げます。 障害につきまして詳細をご報告させていただきます。 概要日時: 12月23日12時22分〜12月24日7時00分 (JST) ダウンタイム: 18時間38分 内容: skeb.jpにアクセスできない不具合 原因: SkebはすべてのサーバとシステムをHerokuに設置していたが、障害発生時刻より同サービスのアカウントが理由の通知なく利用できなくなった。 解決: Herokuの一切の利用を中止し、すべてのサーバとシステ

    bayashi_net
    bayashi_net 2022/12/24
    "Twitter上で「Skeb」という単語をツイートや検索した方に対して、障害情報のツイートが表示されるようにプロモツイートを設定"
  • Airbnb’s Microservices Architecture Journey To Quality Engineering

    Airbnb’s Microservices Architecture Journey To Quality Engineering Achieving balance is an endless beginning. An equilibrium even harder to maintain when the business depends on software quality and speed to survive. Companies have the challenge of continuously delivering Quality at Speed software , constraining the software lifecycle with Quality Engineering.

    Airbnb’s Microservices Architecture Journey To Quality Engineering
  • Courseraのオンライン修士2年目が終わった

    以前にこちらのブログを書いて、その後も継続して読まれているようなので、近況をアップデートしておきます。 私は誰?高山です。2020年からNewsPicksでCTOをしています。上の記事を書いたときはピクシブでCTOをしていました。 2017年頃からぼんやりと大学院入学を考えはじめたのですが、そしたらたまたまイリノイ大学のことを知って書いたのが上の記事です。それから1年ほどかけて準備して出願して、ちょうど転職した月とまったく同じ2020年の2月に入学して社会人大学院生をしています。 コースについてまず、University of Illinoisと名の付く大学にはUrbana-Champaign (UIUC)とChicago (UIC)とSpringfield (UIS)の3つの大学があります。これらは別々の大学です。早稲田と慶應ぐらい別物だと思います。 Courseraで入学できるのはUI

    Courseraのオンライン修士2年目が終わった
  • NginxでのeBPFとSO_REUSEPORTを使ったQUICコネクション受信処理

    はじめに2021年7月12日にNgnixブログに掲載された記事 “Our Roadmap for QUIC and HTTP/3 Support in NGINX” では、QUICとHTTP/3機能を2021年末にはメインラインへマージする計画が言及されています。現在のHTTP3/QUIC対応Nginxは、専用の開発ブランチ (nginx-quic)で開発が進められていますが、常に最新のリリース (7月26日時点で1.21.1)を取り込んでおり、HTTP3/QUIC以外の最新機能も利用可能です。筆者も、昨年から開発ブランチの動作を試しており、HTTP3/QUICでの大きな負荷をかけても良好なパフォーマンスを示しています。 さて、Nginxブログで言及されたHTTP3/QUICに関する機能の一つとして、“eBPFを使ったマルチプロセスアーキテクチャ” という項目がありました。QUIC特有の仕

    NginxでのeBPFとSO_REUSEPORTを使ったQUICコネクション受信処理
  • 「Infrastructure as Codeに疲れたので、僕たちが本来やりたかったことを整理する」を1年掛けて整理した

    こんにちわ。rwle1212です。 記事は JAWS Days 2020 で話す予定でしたが、昨今の事情によりオンライン開催となったため、登壇予定の内容を記事にしたものになります。 登壇していれば諸般の事情により左手首を骨折したネタが使えたのですが、ブログでは伝わらないので非常に残念な思いをしております。という話はどうでも良いので題に入ります。 50分の登壇内容なので少々長くなりますが、お付き合いください。 JAWS Days 2019で登壇した内容の振り返り昨年の JAWS Days 2019 で「Infrastructure as Codeに疲れたので、僕たちが来やりたかったことを整理する」という内容で登壇しました。 まずは上のリンクに添付されているスライドを5分位で読めると思うので一読頂いて、下の文に進んで頂ければと思います。 そもそもInfrastructure as Cod

  • I Was Google’s Head of International Relations. Here’s Why I Left.

    Ross LaJeunesse, Democratic Candidate for U.S. Senate in Maine.When I walked out the door on my last day as Google’s Head of International Relations, I couldn’t help but think of my first day at the company. I had exchanged a wood-paneled office, a suit and tie, and the job of wrestling California’s bureaucracy as Governor Schwarzenegger’s deputy chief of staff for a laptop, jeans, and a promise t

    I Was Google’s Head of International Relations. Here’s Why I Left.
  • マイクロサービスで管理画面が乱立する問題と対策

    こんにちは、qsona (twitter) です。 マイクロサービスアーキテクチャを指向するとき、(主に社内向け)管理画面をそのままサービスごとに作っていくと、マイクロサービスの数だけ管理画面が乱立するという課題があります。FiNC においては、それにより実際に以下のような問題が発生しました。 ユーザの追加/削除や権限管理がとても大変ユーザ(CS対応者)がどこの管理画面を使えばわかりにくい記事では、 FiNC においてこれらの問題に対してどう対処してきたか、歴史とともに紹介します。 tl;dr各マイクロサービスで管理画面を作ること自体はよい。統一管理画面は開発のコストがかかりワークしなかった認証を中央管理にする権限管理は各サービス固有のドメイン知識だが、中央で一覧/変更できる状態になっていると便利マイクロサービスの横断的関心事への対処は、「標準」を意識する黎明期から、問題が起こるまでFi

    bayashi_net
    bayashi_net 2019/09/07
    すごい知見や
  • Goのパッケージ構成の失敗遍歴と現状確認

    この記事は Gunosy Advent Calendar 2017の5日目の記事です。前回の記事はGunosyのパーソナライズを支える技術 -ワークフロー編-でした。 GoAPIを書くときの問題僕の在籍するGunosyはGoを昔(?)から番採用しておりまして、ノウハウも潤沢に溜まっている企業だと言えます。 しかし、contextの扱いやベストなパッケージ構成、テスト、net/httpでAPIを書くノウハウなどなど、迷うことは多々あります。 これは弊社特有の事情ではなく、Goのサーバーサイドエンジニア全員にとっての問題です。中でも、パッケージ構成をどうすればいいのか(相互参照せずに快適に開発を進められるパッケージ構成とは)を見つけるのは結構難しく、各々のチームにお任せ、という状況です。 今回は上記の問題のうち、パッケージ構成に踏みこんで見たいとおもいます。会社でもよくパッケージ構成をどう

    Goのパッケージ構成の失敗遍歴と現状確認
  • ユーザーヒアリングという悪・思考停止

    久々にとても良いに出会いました。そしてスッキリしました。 “Over Crowded”(邦題『突破するデザイン』)という書籍で特に刺激になったのはソリューションに対するイノベーションは外から内というプロセスを経ることが多いが、意味のイノベーションにおいては絶対的に内から外でないとダメだということ。意味のイノベーションとは人々の生活を一変するような今までの延長線上にはない価値を創り出すこと。 外から内というのはユーザーヒアリングや行動観察などによって気づきを得て、それをソリューションに対してのイノベーションを起こすために活かすということ。例えば、IDEOがスーパーマーケットでの顧客行動を観察し、カートというソリューションをデザインしたという話など。 但し、ソリューションではなく、意味のイノベーションにおいては外から内というプロセスでは何も生まれない。例えばAirbnbなどを考えればわかりや

    ユーザーヒアリングという悪・思考停止
  • Kubernetes Best Practices — Season One

    Kubernetes is complicated, and is getting more complicated each day. If you are getting started with Kubernetes or if you have been running it in production for a while, its hard to keep up with the rapid pace of development that’s going on. It’s even harder when you have a team of people building on Kubernetes, as you have to make sure each person is up-to-date and productive. While there is a to

    Kubernetes Best Practices — Season One
  • Nuxt.js 1.0 is out 🎉

    ) worked on it full time to create the same framework but with Vue.js (Next + Vue = Nuxt.js). Once the prototype was ready (v0.2.0 on November 2016), my brother ( ) came to help me and added the `nuxt generate` feature a week later (v0.3.2). Pooya Parsa joined the core team a few months after and introduced the nuxt modules. This changed the way we worked on nuxt.js and focused more on the core fe

    Nuxt.js 1.0 is out 🎉
  • コードレビューにおけるレビュアー側のアンチパターン

    tl;drコードレビューが上手く回って無くてチームが疲弊して辛かったよレビュアーの言い方を変えるだけで大体解決するよ立場とかで例外を許さず、みんながレビューしてレビューされると良いよはじめにあるプロジェクトGitHubのPRベースでのコードレビューを導入をしました。いかんせんチーム開発が初めてレベルの新人さんが多く、何かと苦労しました。特にレビュイーに対して不効率な指摘はそのまま指示の不明確さに繋がり、チーム全体の開発生産性を下げるので、レビュアーはレビュイー以上に気を使う必要があると感じました。下手をすると、レビュイーのメンタルが弱って闇堕ちするので、チームメンバーの最も大人な人がメンタルケアしたりします。大人な人は大体がリーダー格なので、その人の時間が奪われると何かと開発現場が疲弊しちゃいますね。コードレビューってそんなに難しいものだっけと思ったりもしますが、反省の意味も込めて実際に

    コードレビューにおけるレビュアー側のアンチパターン
  • テックリードという役割

    なぜこの文章を書くか?自身が数ヶ月テックリードの役割で経験した内容を基に、テックリードがどういう役割で、毎日の仕事の中でどのような仕事をするのかについて書いていく。 テックリードはサンフランシスコのWeb系企業では一般的なようだが、日ではまだそれほど広まっているとはいいづらいと思う。 テックリードに求められるのは一言で言えば”技術エンジニアチームをリードすること”である。Webエンジニアのキャリアパスでたびたび二元論的に語られる、”技術で生きていく”職人的なトラックとも”人やプロジェクトのマネジメントをする”マネジメント系のトラックともニュアンスが異なる。 自身の技術力、そしてリーダーシップをもってエンジニアチームのアウトプットを最大化させていくのがテックリードの役割である。 多くの人にその役割を知ってもらい、エンジニアとしてのキャリア形成の助けになればと思っている。 なお、このポ

    テックリードという役割
  • Apache Kafkaを使ったアプリ設計で反省している件を正直ベースで話す

    Apache Kafka: Producer, Broker and Consumer2017年は生まれて始めてApache Kafkaを格的に業務利用(PoCではなく番運用)した年でした。Apache Kafka的なメッセージングミドルウェアそのもののは、社内的な事情でよく使っていたのでその使い勝手に対して困惑はほとんど無かったですし、ミドルウェアとして非常に安定しているため、Kafkaクラスタそのものでの不具合らしい不具合が発生したことは一度もありませんでした。 しかし、Kafkaのトピック設計などに関してのベストプラクティスは事例ベースでもあまり見かけたことがなく、チームメンバーと悩むことも多かったです。このストーリーでは、主にKafkaを利用したアプリ設計で考えたことや失敗したことを振り返りつつ共有します。なお、パーティション数や各種バッファサイズなどのチューニング要素は今回取

    Apache Kafkaを使ったアプリ設計で反省している件を正直ベースで話す
  • エンジニア向けの社内情報共有ツールの紹介

    FiNCのエンジニアの人数も50人を超え、チームを横断した情報共有の機運が高まっています。 もともと社内には情報共有ツールとしてConfluenceやGitHub Wikiなどがありましたが、前者はMarkdownなどのエンジニアがドキュメントを書きやすい機能が不足しており、後者は情報の検索性に難がありました。 エンジニアのコミュニケーションを活性化させるため、カジュアルに記事を投稿できて誰でも見ることができる、新しい情報共有ツールを導入をすることにしました。 今回は候補として検討した際に、以下の要件を満たしていた情報共有ツールを紹介します。 Markdownを使ってプレーンテキストで記述できる記事の更新履歴のdiffを見ることができるフィードで記事の一覧を見ることができるわかりやすい検索機能コメント欄でのやりとりができるWebhook(チャットツール連携)UML記法やスライドの埋め込みの

    エンジニア向けの社内情報共有ツールの紹介
  • Hello! Elasticsearch. – Medium

    Elastic Stack (Elasticsearch) Advent Calendar 2020 の 12月21日のエントリーです。

    Hello! Elasticsearch. – Medium
  • IO::Socket::Timeout: socket timeout made easy

    Network operations are everywhere, and these are only a few examples of where we use them. What is a network socketNetwork communication typically happens through the use of sockets. A network socket is one of the core software components of all modern operating systems. It is a software interface for network services provided by the operating system. It provides a uniformed way of opening a conne

    IO::Socket::Timeout: socket timeout made easy
  • Distributed Top-N Similarity Join with Hive and Perl

    Similarity AnalysisIn similarity analysis we try to quantify the similarity between different objects. This is usually done by a similarity function, which compares attributes of two objects and scores the similarity between them. There are different ways to define similarity function, but most of them are based on defining similarity as inverse function of a distance between two objects, where ob

    Distributed Top-N Similarity Join with Hive and Perl
  • How I Lost My $50,000 Twitter Username

    A story of how PayPal and GoDaddy allowed the attack and caused me to lose my $50,000 Twitter username. My $50,000 Twitter Username Was Stolen Thanks to PayPal and GoDaddyI had a rare Twitter username, @N. Yep, just one letter. I’ve been offered as much as $50,000 for it. People have tried to steal it. Password reset instructions are a regular sight in my email inbox. As of today, I no longer cont

    How I Lost My $50,000 Twitter Username
  • 1