kareki11のブックマーク (100)

  • 進化する通信プロトコル - QUICとHTTP/3で何が変わるのか -日本語版- YouTube

    奥一穂 / Fastly ■ セッション概要 インターネット通信の基盤技術であるTCPが誕生してから40年、TLSが誕生してから20年が過ぎた今、TCPとTLSに変わる新しいトランスポート層プロトコル「QUIC」の標準化が佳境を迎えています。同時に、QUICを利用するHTTPプロトコル「HTTP/3」の標準化も進んでおり、2020年末から21年にかけては、これら新プロトコルへの移行が進むものと予測されています。QUICとHTTP/3でユーザ体験は改善するのか。セキュリティ、運用やモニタリング手法は変化するのか。セッションでは、標準化と実装の双方に関わってきた発表者が、TCP, TLS, HTTP/2 といった既存プロトコルの抱えている問題と、それらをQUICとHTTP/3がどのように解決するか。また、今後どのような変化が想定されるかについて、解説します。 ■ 公式サイト #lined

    進化する通信プロトコル - QUICとHTTP/3で何が変わるのか -日本語版- YouTube
    kareki11
    kareki11 2021/06/05
  • ソフトウェア設計原則は変更容易性に通ず - Shin x Blog

    色々な原則や方法論はあれど、つまるところいかに変更容易性を確保するかと言う話に帰結するのでは。極論すれは、正しく動いていて変更する必要が無ければどのような作りになっていても構わない。一方、Web アプリケーションを稼働し続ける上で全く変更しなくて良いということもない。— Masashi Shinbara (@shin1x1) 2021年5月30日 ソフトウェア設計、開発には多くの原則や方法論がある。例えば、DRY 原則や SOLID 原則、デザインパターンにレイヤードアーキテクチャ、クリーンアーキテクチャなどある。さらに DDD にも多くの原則や方法論が含まれている。これらを変更容易性を高めるための手段として原則や方法論を捉えるというのがエントリの論旨である。 原則や方法論の捉え方 変更容易性 質的な変更と副次的な変更 外部変更容易性と内部変更容易性 原則を適用する指針 さいごに 原則

    ソフトウェア設計原則は変更容易性に通ず - Shin x Blog
    kareki11
    kareki11 2021/06/03
  • MOCO - Kubernetes 用 MySQL クラスタ運用ソフトウェア - Cybozu Inside Out | サイボウズエンジニアのブログ

    サイボウズの Kubernetes 基盤を開発している Neco プロジェクトの ymmt です。 サイボウズ製品のほとんどはデータベースとして MySQL を採用しています。 現在 400 を越える MySQL のインスタンスを運用しており、これら全てを新しい Kubernetes 基盤に移行していく予定です。 Kubernetes 上でアプリケーションやミドルウェアの運用を自動化するソフトウェアのことをオペレーターと言います。 大量の MySQL インスタンスを Kubernetes 基盤に移行するにはオペレーターが必須であると考え、技術顧問の @yoku0825 さんの監修の下で MOCO というソフトウェアを開発しオープンソースライセンスで公開しました。 記事では Kubernetes 上の MySQL オペレーターの状況と、開発した MOCO の機能を詳細に解説いたします。 M

    MOCO - Kubernetes 用 MySQL クラスタ運用ソフトウェア - Cybozu Inside Out | サイボウズエンジニアのブログ
    kareki11
    kareki11 2021/06/02
  • Engadget | Technology News & Reviews

    Some of our favorite Bose headphones and earbuds are back to all-time low prices

    Engadget | Technology News & Reviews
    kareki11
    kareki11 2021/06/02
  • エンジニアが選ぶべきスタートアップはどこか

    ピナクルズの CTO をしている渋谷です。「現場向け動画 DX」を実現するための SaaS『tebiki』を開発しています。 今回はスタートアップを経営してみて知った「もしソフトウェアエンジニアの自分が転職するならどんなスタートアップを選ぶとよさそうか」について書いてみたいと思います。(入れるかどうかはさておき) 成長率がすべて。これ絶対。スタートアップはストックオプションや提示ポジションといった外形的な要素に目が行きがちですが、企業の成長率が低いと PoC レベルのシステム開発や運用業務しか経験できず、エンジニアとしてのスキル獲得が難しい環境にあることがほとんどです。 一方で成長率の高いと要求される技術レベルが事業成長に伴い引き上げられるため、任せられる仕事によりスキルが向上したり、優秀な人材が集まってきて切磋琢磨できるようになるといったポジティブな環境が生まれやすいです。 そういった意

    エンジニアが選ぶべきスタートアップはどこか
    kareki11
    kareki11 2021/06/01
  • ソフトウェアエンジニア採用で技術面接をやめました|sys1yagi

    こんにちは、Ubie(ユビー)株式会社でソフトウェアエンジニアとして働いている八木(@sys1yagi)です。 ソフトウェアエンジニア採用といえば技術面接ですよね。技術的な経験に関するインタビューや、コーディングテスト、技術課題の提出、ライブコーディングなどを行い、候補者の経験や技術力、技術の方向性やキャリア観などが自社とマッチするかを確認するというのが一般的かと思います。 Ubieでは、このような形式の技術面接をやめることにしました。自社とマッチするという点にフォーカスしたとき、これまでの技術的な経験や技術的な方向性は、Ubieで働く上でそこまで大きく関係してこないということがわかったからです。 技術的な詳細よりも、事業をつくることの経験や考え方を知りたい Ubieには2つの組織があります。Ubie DiscoveryとUbie Customer Scienceです。私が属しているUbi

    ソフトウェアエンジニア採用で技術面接をやめました|sys1yagi
    kareki11
    kareki11 2021/05/31
  • Googleが提供する無料のAI講座受けてみた 1時間で機械学習の基礎がわかる | Ledge.ai

    サインインした状態で「いいね」を押すと、マイページの 「いいね履歴」に一覧として保存されていくので、 再度読みたくなった時や、あとでじっくり読みたいときに便利です。

    Googleが提供する無料のAI講座受けてみた 1時間で機械学習の基礎がわかる | Ledge.ai
    kareki11
    kareki11 2021/05/30
  • 米ハーバード大学のプログラミング授業「CS50x」日本語訳が無料公開

    米ハーバード大学がオンラインで無料公開している、PythonJavaScriptプログラミング学習とコンピューターサイエンスの入門講座の日語訳ページ「CS50.jp」が無償公開されました。2022年8月31日に2022年度最新版の日語化が完了しました。講義動画の日語字幕の翻訳化を順次すすめています。学生向けですが、年代にかかわらず、コロナ禍で学習環境やキャリアに悩んでいる誰もが学ぶことができます。 ハーバード大学のCS50xとは ハーバード大学のCS50xとは、日語翻訳ページ「CS50.jp」によると、コンピューターサイエンスとプログラミング技術を紹介するオンラインコースです。この講義がオンライン上で無償公開されており、世界で282万人が履修登録しています。 edX - CS50s Introduction to Computer Science 学べる内容はPythonのプロ

    米ハーバード大学のプログラミング授業「CS50x」日本語訳が無料公開
    kareki11
    kareki11 2021/05/30
  • MySQLとインデックスと私

    2021/05/24 サイボウズ開運研修 動画が以下のサイトからリンクされています - https://blog.cybozu.io/entry/2021/07/20/100000 - これに矢印を書きながらぐりぐりやっていたわけなので、資料単体だとわかりづらいと思います…

    MySQLとインデックスと私
    kareki11
    kareki11 2021/05/25
  • システムの複雑さはどこから来るのか – Out of the tar pitを読む - Uzabase for Engineers

    Uzabase Saas Product Divisionフェローの矢野です。 この記事は、Rich Hickey(プログラミング言語Clojure作者)のプレゼンテーションSimple Made Easyへと繋がっていく、Ben MoseleyとPeter Marksによる「Out of the tar pit」というシステム設計について論じた論文の内容について説明したもので、ユーザベースのSaas Productでのテック発表の一つとしてプレゼンしたものを、ブログとして再度まとめたものです。プレゼン自体は25分くらいでしたので、おそらくこの記事の方がプレゼンよりも詳しいと思います。 ソフトウェア危機 ソフトウェアは質的に複雑 ソフトウェアの複雑さはどこから来るのか? 複雑さは、別の複雑さを産む 複雑さを分類する 当に必要な複雑さと、そうでないものがある どうやって複雑さを扱うのか

    システムの複雑さはどこから来るのか – Out of the tar pitを読む - Uzabase for Engineers
    kareki11
    kareki11 2021/05/20
  • スケールアウトの落とし穴から学ぶ、SREチームでのダッシュボードのアップデート術 - MonotaRO Tech Blog

    どんなことが起こったのか? モノタロウのサイトの監視について レイテンシ監視 トラフィック監視 エラー監視 リソース監視 ログ トラブルシュートの進め方 発生検知 発生箇所の特定 根原因の調査 強化 課題 おわりに SREチームの市原(@ichi_taro3) です。 モノタロウでは、www.monotaro.com という大規模なECサイトを自社で開発、運用しています。 Webアプリケーションの運用ではトラブルはつきものです。今回は、とあるトラブルシュート事例を軸に、どのように運用を改善しているのかについて紹介します。 どんなことが起こったのか? あるとき、モノタロウのWebサービス全体でレイテンシ悪化やバックエンドAPIへのタイムアウトの増加が頻発したことがありました。 当然これらは歓迎される状況ではなく、すぐに開発者やSRE、インフラチームの担当者が集まり調査を開始しました。現象は

    スケールアウトの落とし穴から学ぶ、SREチームでのダッシュボードのアップデート術 - MonotaRO Tech Blog
    kareki11
    kareki11 2021/05/20
  • 「エーペックス」の仕組み:開発者によるサーバーとネットコードの解説

    これは、とある「エーペックス」のプロプレイヤーのネットワーク経路(レイテンシーを表示しています)です。彼のインターネットモデムから、私たちのサーバーへと到達しています。インターネット接続の当の状態を判断するため、私たちは何度も調査を行います。最善の状態であれば、彼は31msのレイテンシーでゲームを楽しめていることが見て取れますね。ですが最悪の場合だと、522ms付近です。つまりこの場合だと、接続に500msもの振れ幅があるため、ゲームの遊び心地はかなり悪いということです。彼のローカルISPネットワークの接続は不安定ですが、平均を見てみると非常に稀なケースであることがわかります(平均が31mで、最低値が264ms。たまたま起きたのでしょう)。しかしその後、ローカルのISPとISP1の間でレイテンシーが急増しています。これはプレイヤーとゲームサーバーの間のノードの一つです。この二つの間でパケ

    「エーペックス」の仕組み:開発者によるサーバーとネットコードの解説
    kareki11
    kareki11 2021/05/17
  • 世界一わかりみの深いOAuth入門

    世界一わかりみの深いOAuth入門

    世界一わかりみの深いOAuth入門
    kareki11
    kareki11 2021/05/15
    非常にわかりやすかった
  • 七声ニーナを支えるバックエンド技術 | BLOG - DeNA Engineering

    データ統括部AI基盤部の竹村( @stakemura )です。記事では、このたびリリースされた、自分の声をキャラクターの声に変換できるWebサービス VOICE AVATAR 七声ニーナ を支えるバックエンド技術についてお話しします。 サービスはDelight Boardという部署横断型のプロジェクトにて、1000人を超える社員投票により自分の案がまさかの採択となったことがきっかけとなります。幸運にも、百戦錬磨のプロジェクトメンバーに助けられ今日のリリースを迎えましたが、採択当時は人脈も信用貯金も何もない入社一年目の思いつきにすぎず、言い出しっぺである自分の力不足によりタイトなスケジュールでの開発となってしまいました。記事では、その限られた開発期間の中で、自分が何を考えて実装したかを中心にお伝えします。 サービングに求められる要件 七声ニーナの音声変換はブラウザから受け取った入力音声

    七声ニーナを支えるバックエンド技術 | BLOG - DeNA Engineering
    kareki11
    kareki11 2021/05/13
  • AWSのグローバルIPの空間はインターネットなのか? - NRIネットコムBlog

    こんにちは佐々木です。 先日、VPCのFAQに追加された項目が話題となっていました。2 つのインスタンスがパブリック IP アドレスを使用して通信する場合、トラフィックがインターネットを経由するかどうかという問いに対して、AWSがノーと言っています。これは、どういうことなのでしょうか? これがプライベートネットワークの通信と明示された意味は大きい 『Q:2つのインスタンスがパブリック IP アドレスを使用して通信する場合、またはインスタンスが AWS のサービスのパブリックエンドポイントと通信する場合、トラフィックはインターネットを経由しますか?』https://t.co/uy26KyCZKn— Takuro SASAKI (@dkfj) 2021年4月22日 このことを起点に、インターネットとは何か、AWSのネットワークの現状について考察してみます。難しい事を言っていますが、みんな疑問に

    AWSのグローバルIPの空間はインターネットなのか? - NRIネットコムBlog
    kareki11
    kareki11 2021/05/11
  • git gc の仕組みを原理から理解してサイズを 136MB → 7.2MB(95%減)まで削減した時の勉強メモ

    個人用メモです。 「git gcってあんまし容量減らないよなぁ」 と思ったのが動機です。調べたけどパッと腑に落ちる記事がなかったので「自分で git のソースコード見た方がいいな」と急にモチベ発動してグワっと勉強しました。またついでに歴史改変の方法も調べたのですが、公式で既に WARNING が出てるほど非推奨化されてるfilter-branchを使用してる記事が多かったので、2021 年現在で多分一番推奨されてるfilter-repoを使ってやる方法もまとめました。 ちなみに容量減らしても高速化するかというとそこまで単純ではないです。そもそも減らさなくても partial clone で blob オブジェクトを必要最低限に指定して昔の blob をデフォルトで持ってこないようにしたり(--no-checkoutと併用するとより効果有る)、その後当に自分が必要なやつだけ sparse-

    git gc の仕組みを原理から理解してサイズを 136MB → 7.2MB(95%減)まで削減した時の勉強メモ
    kareki11
    kareki11 2021/05/11
  • ブラウザレンダリングの仕組み

    フロントエンド用語を100秒で解説するチャンネルを作りました! よかったらチェックしてみてください! はじめに 以前書いた記事「Webページがブラウザに表示されるまでに何が起こるのか?」で ブラウザレンダリングについて詳細に知りたいという意見をいただいたので、調べてまとめてみました。 全体図 レンダリングの大まかな流れです。 HTMLのダウンロード サーバから送られてきたHTMLをダウンロードします。 HTMLの解析 サーバから送られてきたHTMLファイルは、「0」と「1」でできたデータになっています。 ブラウザは、サーバから受け取ったデータをそのままHTMLとして解釈することはできないので、自分で扱うことができる形、つまりDOMに変換する必要があります。この作業を 解析 ( Parse ) と言います。 HTMLをダウンロードしたら、すぐにこの解析作業に入ります。作業は以下のようなステッ

    ブラウザレンダリングの仕組み
    kareki11
    kareki11 2021/05/07
    わかりやすい
  • チームにいると頼りになるソフトウェアエンジニア

    チームにいると頼りになるソフトウェアエンジニアのメモです。自分のロールモデルでもあります。私のキャリアはほぼウェブブラウザ開発一筋なので、その辺に生息している人たちを思い浮かべながら書いてます。思いついたら随時更新します。 コードマニア コードやドキュメントを読むのが好きで、暇があれば適当なレビューに飛び入り参加したり、自分のプロジェクトとは関係ないコンポーネントもひたすら探検している。不穏なコードを見つけるとなんとリファクタリングもしてくれる。コードサーチがお友達。 やたらコードに詳しいので、何か分からないときはとりあえず聞きに行く。チームに一人いるとレビューが捗るし、コードベースも綺麗になる。コードマニアはコードベースを広く熟知している上に未知のコードに対する耐性も高いので、プロジェクトを移動してもすぐに活躍できる。 コードマニアの亜種にスペックマニアもいる。こちらはウェブやネットワー

    チームにいると頼りになるソフトウェアエンジニア
    kareki11
    kareki11 2021/05/01
  • Rails 7のActive Recordにinvert_whereメソッドが追加される(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Rails 7 adds invert_where method to ActiveRecord | Saeloun Blog 原文公開日: 2021/04/21 著者: Mayank | Saeloun Blog サイト: Saeloun Blog | Ruby on Rails Consulting Company based in San Francisco and Boston Railsアプリケーションでwhere句の条件の否定を取りたくなるケースがよくあります。 たとえば、ユーザーのメールアドレスと電話番号の両方を検証する必要があるシステムがあるとします。アカウントを検証するために、Userモデルに2つのカラムemail_verifiedとphone_verifiedを追加します。 ユーザーは、システムによってユーザー

    Rails 7のActive Recordにinvert_whereメソッドが追加される(翻訳)|TechRacho by BPS株式会社
    kareki11
    kareki11 2021/04/30
  • 良いコードとは何か - エンジニア新卒研修 スライド公開|CyberZ Developer

    CyberZ CTO室のメンバーの森 (@at_sushi_at) です。 先日、株式会社サイバーエージェントの2021年度 エンジニア新卒研修でコードの品質に関する講義を行いました。 そこで話した内容とスライドを完全公開します。 45分の内容のため、かなり長いですが、個人的にぜひ一読して欲しい内容になっています。 はじめに こんにちは、森 篤史と言います。2019年度入社で今年で3年目になります。株式会社CyberZのOPENREC.tvというプロダクトでAndroidアプリチームのリーダをやっています。 最近はプログラムを書く仕事以外に、次世代マネジメント室という全社横断組織でDevelopers Blogの改善プロジェクトを実行したり、CyberZ CTO室で組織活性化に取り組んでいます。 あと、2019年度の未踏スーパークリエータにも認定されました。 メインの仕事としては、入社して

    良いコードとは何か - エンジニア新卒研修 スライド公開|CyberZ Developer
    kareki11
    kareki11 2021/04/28
    読みやすく長さを感じない良記事。新卒研修でこういうことを教えてくれるなんて羨ましい…。