タグ

ayatkのブックマーク (215)

  • Kubernetesで作るIaaS基盤/KubeVirt Deep Dive

    2024/06/05に行われた、OCHaCafe Season8 #5 - Kubernetesで作るIaaS基盤で用いた資料です。 commpass: https://ochacafe.connpass.com/event/316645/

    Kubernetesで作るIaaS基盤/KubeVirt Deep Dive
    ayatk
    ayatk 2024/06/06
  • フィーチャフラグを扱うときのささやかなTIPS - ちなみに

    この記事は クラスター Advent Calendar 2023 19日目の記事です。 昨日は ChameleonO2 さんの「何か」でした。公開楽しみですね。 クラスター株式会社でソフトウェアエンジニアとして働いている id:Sixeight です。 クラスターではトランクベース開発を実現するためにフィーチャフラグを使っています。 フィーチャフラグを使うことでたとえ開発が途中であっても、変更は完全に動作する状態でトランクに取り込まれます。 今回はフィーチャフラグを使って開発するときに意識しているささやかなTIPSを共有します。 TIPS1: 元のコードはそのままにする フィーチャフラグで分岐を追加するときに、気を利かせて安易にコードの重複を減らそうとしてはいけません。 たとえコードが重複することになったとしても、変更前のコードは出来るだけそのままの形で残るようにしましょう。 なぜならフィ

    フィーチャフラグを扱うときのささやかなTIPS - ちなみに
    ayatk
    ayatk 2023/12/20
  • リアルタイム共同編集のアルゴリズム (Operational Transformation; OT) を理解する試み – RORO

    Google Docsのように文書を複数人でリアルタイムに共同編集できるアプリケーションがあります。あのような機能は、多かれ少なかれ、Operational Transformation (OT; 操作変換) という考え方を使って実現されているようです。興味があったので、このOTについて調べてみました。 (追記: これからは OT でなく CRDT だという話 → I was wrong. CRDTs are the future) なおGoogle Docsではいわゆる「リッチテキスト」を共同編集できますが、ここでは話を簡単にするために「プレーンテキスト」を共同編集することを想定します。 リアルタイム共同編集の流れ 共同編集システムの登場人物は次の通りです: サーバ x 1(各クライアントから届く編集操作をもとに、最新の文書を保持します) クライアント x N(文書を編集する側です) そ

    ayatk
    ayatk 2022/06/28
  • gRPCのGo実装の新星、Connect | フューチャー技術ブログ

    サービス間通信とIDL(インタフェース記述言語)連載の2日目のエントリーです。 当はGraphQLネイティブなデータベースの紹介をしようとしたのですが、紹介しようとしていたものがまだベータでクライアントライブラリが公開されていない(空っぽのリポジトリしかない)みたいな感じで試せなかったので、急遽2022/6/1に公開されたばかりのgRPC関連のライブラリのConnectを紹介することにしました。 Connectの開発元が公開したブログは次のサイトにあります。 Buf | Connect: A better gRPC 公式ドキュメントはこちらです。 Introduction | Connect なお、gRPCについての詳細はこのエントリーでは紹介しません。ちょうど、H.SakiさんがgRPCの詳しい紹介の記事を書いてくれているので、ぜひ、みなさんこちらを参照ください。 作ってわかる! はじ

    ayatk
    ayatk 2022/06/24
  • Rustの良質な学習リソースをまとめる - BioErrorLog Tech Blog

    Rustの勉強に良さげな学習リソースをまとめます。 はじめに Rust学習リソースまとめ The Rust Programming Language Tour of Rust Rust by Example The Rust Reference The Cargo Book Crate docs Rust API Guidelines Rust Design Patterns The Rustonomicon Secure Rust Guidelines Command line apps in Rust おわりに 参考 はじめに こんにちは、@bioerrorlogです。 最近、Rustを触り始めました。 多様な領域で盛り上がりを見せているRustですが、私は最近ハマっているブロックチェーンのエコシステムでRustが使われることが直接の理由となり、Rustに入門しました。 Rustは学習

    Rustの良質な学習リソースをまとめる - BioErrorLog Tech Blog
    ayatk
    ayatk 2022/06/24
  • プログラマの心の健康

    目次 はじめに 情報不安について 人の話を聞くこと 寝てから考えよう わ・ざ・と、ゆ・っ・く・り・、や・っ・て・み・よ・う ロビンソン式悩み解決法 驚き、最小の法則 むしょうに腹が立つあいつのこと あなたは、そのままでいいんです はじめからやり直したい症候群 人から信頼されるためにはどうしたらよいか トラブルがチャンス あなたはひとりではありません あなたのための聖書の言葉 ぜひ、感想をお送りください リンク集 更新履歴 はじめに 私はプログラマです。 プログラムを書いて生活の糧を得ています。 プログラマというのは精神的にも肉体的にも過酷な仕事だと思われています。 夜遅くまでディスプレイに向かい、 キーボードを叩き、ジャンクフードをべながらバグをとる…そんな職業だと思われています。 確かにそういうところもありますが、プログラマも人間です。 不健康な生活を長いこと続けることはできません。

    ayatk
    ayatk 2022/06/23
  • RustのドローイングライブラリPlottersの紹介 | MoT Lab (GO Inc. Engineering Blog)

    はじめまして、AI技術開発部の加藤(@_tkato_)です。 私たちはエッジ x クラウドの機械学習システムのプロダクション開発を行う上で、Rustを開発言語の一つとして利用しています。今後はこのブログを使って、私たちがRustで開発している際に得た知見を共有していきたいと思います。 内容は7/27に行われたRust LT Online #1で発表した内容です。興味のある方は以下のスライドも合わせてご覧ください。 今回はPlottersの紹介です。PlottersはRustで簡単に図形やグラフを描画するために便利なドローイングライブラリです。 同様にRustで可視化ができるcrateとして、opencv-rustやPlotly.rsなどがありますが、特にPlottersはpure Rustで簡単にインストールして組み込める点や、WebAssembly含めて複数のBackendに拡張してい

    RustのドローイングライブラリPlottersの紹介 | MoT Lab (GO Inc. Engineering Blog)
    ayatk
    ayatk 2022/06/22
  • Rustのコードチェックを強力にする3つのツール | κeenのHappy Hacκing Blog

    κeenです。 Rustaceanのみなさんは普段書いてるRustのコードを検証するのに cargo check や cargo test などのツールを使っているかと思いますが、それらを強力にするツールの miri 、 MIRAI 、 kani をそれぞれ紹介します。 Rustにはいくつかコードの正しさや行儀のよさを検査する方法がありますね。 cargo check や cargo test 、 あるいはビルドしたバイナリを走らせて検証したり色々手を尽くしているでしょう。 ですがこれらだけだとあらゆる種類のバグを拾いきれる訳ではないのもみなさん承知の通りだと思います。 既存の方法だと手が回らない所があるので他のアプローチでコードを検証してくれるツールがあると嬉しいですよね。 そういったツールを3つ紹介します。 先に注意しておくと、これらのツールはまだ成熟しきってはおらず使いづらい点、使い

    Rustのコードチェックを強力にする3つのツール | κeenのHappy Hacκing Blog
    ayatk
    ayatk 2022/06/20
  • 作ってわかる! はじめてのgRPC

    gRPCは主にバックエンド、特にマイクロサービス同士の通信に多く使われる通信方式です。 しかしそれゆえに知名度が低く、「gRPCってどんな通信なんだろう?」「HTTPとは別の仕組みなの?」と思っている方もたくさんいるのではないでしょうか。 このでは、gRPCはそもそもどんなコンセプトで作られた通信方式なのかから、Goでの具体的な実装ノウハウ、AWSにデプロイするための設定までを通貫して解説することで、 「gRPC全くわからない」という人が「自分で実装して動かせそうな気がする……!」と思える段階までたどり着けるようにしました。

    作ってわかる! はじめてのgRPC
    ayatk
    ayatk 2022/06/20
  • YIQ色空間で色相をずらす | mofu

    We create beautiful expressions through programming and deliver the best possible experiences.

    YIQ色空間で色相をずらす | mofu
    ayatk
    ayatk 2022/05/31
  • 受取期限の過ぎたデータをMySQL上から削除する話 | GREE Engineering

    こんにちわ。せじまです。今回は地味で泥臭い話をします。ただ、割と平易な内容かと思いますので、初学者の方にもオススメです。 はじめに ゲームでは、受取期限のついたログインボーナス的なものがよくあります。ユーザが期限までに受け取らないと、ユーザからそのデータは不可視になりますが、必ずしも、不可視になった瞬間にデータベースから直ちに削除される、というわけでもありません。バッチジョブか何かで、ガベージコレクションのように削除するケースが多いのではないでしょうか。 また、論理削除という概念もあります。論理削除についてはいろいろ意見や考え方があるかと思いますので、ここでそれについては論じませんが、「削除フラグが立ってユーザから不可視になった後、三ヶ月以上経過したデータを削除したい」みたいなことは、ゲームに限らず、しばしばあるんじゃないかなと思います。 こういった、ユーザから不可視になってしばらく経過し

    受取期限の過ぎたデータをMySQL上から削除する話 | GREE Engineering
    ayatk
    ayatk 2022/01/12
  • 想定外の負荷を乗り切ったオンライン教育サービスの裏側 / How We Overcame the COVID-19 Crisis

    Developers Summit 2021 https://event.shoeisha.jp/devsumi/20210218/session/3084/

    想定外の負荷を乗り切ったオンライン教育サービスの裏側 / How We Overcame the COVID-19 Crisis
    ayatk
    ayatk 2021/02/19
  • GitHubにおける継続的デリバリー/How GitHub builds and deploy software

    Developers Summit 2020の発表スライドです。 https://event.shoeisha.jp/devsumi/20200213/session/2340/

    GitHubにおける継続的デリバリー/How GitHub builds and deploy software
    ayatk
    ayatk 2021/01/27
  • けしからんファイアウォールに負荷掛けたら警察から手紙きた 登大遊氏が光ファイバーの先に興味をもった理由

    情報科学若手の会とは、情報科学に携わる学生、若手研究者、エンジニアのディスカッションと交流の会です。NTT東日特殊局員の登氏が政府に配布停止要請されたVPNソフトの話など、シン・テレワークシステムの開発のもととなった数々の経験を開発秘話として講演しました。今回は登氏がNTT東日に呼ばれるまでの経緯について。前回の記事はこちら。 村井研を真似た部屋を大学内に作る 登大遊氏(以下、登):しばらくして、どうも他にすごい大学があるという噂が回ってきました。「SFCの村井先生の研究室はすごいらしい」と。みんな知らなかったんのですが、ちょっと筑波大の学生が夜中に見学しに行ったら、あそこはすごいと。「村井研はすごい」と。 こういうものを作りたくて、我々も真似しようとヤフーオークションや大学廃棄で大量機材を持ってきました。あとは、先ほどの国のお話とかでの収益と、SoftEtherも売れていたので収益が

    けしからんファイアウォールに負荷掛けたら警察から手紙きた 登大遊氏が光ファイバーの先に興味をもった理由
    ayatk
    ayatk 2021/01/26
  • Improving how we deploy GitHub

    EngineeringImproving how we deploy GitHubAs GitHub doubled it’s developer head count, tooling that worked for us no longer functioned in the same capacity. We aimed to improve the deployment process for all developers at GitHub and mitigate risk associated with deploying one of the largest developer platforms in the world. Over the last year GitHub has doubled the number of developers contributing

    Improving how we deploy GitHub
    ayatk
    ayatk 2021/01/26
  • Scaling Kubernetes to 7,500 nodes

    We’ve scaled Kubernetes clusters to 7,500 nodes, producing a scalable infrastructure for large models like GPT-3, CLIP, and DALL·E, but also for rapid small-scale iterative research such as Scaling Laws for Neural Language Models. Scaling a single Kubernetes cluster to this size is rarely done and requires some special care, but the upside is a simple infrastructure that allows our machine learnin

    Scaling Kubernetes to 7,500 nodes
    ayatk
    ayatk 2021/01/26
    面白そう
  • Figma でアイコンを更新したら GitLab に勝手に MR が作られるやつ - pixiv inside

    こんにちは、@f_subal です。普段はおもに pixivFACTORY のフロントエンドを見ています。最近は社内のデザインシステム整備の仕事もやっており、今回はそちらで作っているアイコンライブラリの話をします。 SVG アイコンを社内 npm で配る みなさん、プロダクト内で利用するアイコンをどのように管理していますか? 大抵の場合は元になる .svg ファイルが存在し、それを最終的に React コンポーネントで読んだり、あるいは昔ながらのアイコンフォントを生成したりして使っているでしょう。 ピクシブではこれまで各プロダクトがそれぞれの方法でアイコンを生成していました。あるプロジェクトsvg スプライトを生成して <use> タグで読み、またあるプロジェクトsvgr を使い、これまたあるプロジェクトでは woff を生成する npm スクリプトを持ったりしています。 実装方法

    Figma でアイコンを更新したら GitLab に勝手に MR が作られるやつ - pixiv inside
    ayatk
    ayatk 2021/01/22
  • RFC7938 - 大規模データセンター内でのルーティングのためのBGPの利用方法 - show log @yuyarin

    はじめに この文書は RFC7938 - Use of BGP for Routing in Large-Scale Data Centers の日語訳です。 翻訳者はデータセンターネットワークの専門家ですが翻訳の専門家ではありません。技術的な意味を維持した上でなるべく読みやすい日語になるようにしているため、英文の直訳ではなく一部のニュアンスがかけている場合がありますのでご了承ください。オリジナルの目次、謝辞、参考文献等は省略しています。 免責 いつものやつ 目次 はじめに 免責 目次 概要 1. 導入 2. ネットワーク設計の要件 2.1 帯域とトラフィックのパターン 2.2 CAPEXの最小化 2.3 OPEXの最小化 2.4 トラフィックエンジニアリング 2.5 要件の要約 3. データセンタートポロジーの概要 3.1 従来のDCトポロジー 3.2 Closネットワークトポロジー

    RFC7938 - 大規模データセンター内でのルーティングのためのBGPの利用方法 - show log @yuyarin
    ayatk
    ayatk 2021/01/11
  • あけまして Ubuntu 20.04 開発環境 - 誰かの役に立てばいいブログ

    あけましておめでとうございます。年賀状代わりに開発環境の構築記事を差し上げます。 いやわりと真剣に、開発環境にはその開発者の近況が表れていると思うのですよ。 いっちょあなたもどうですか 😀 閑話休題。 以下今日やった Ubuntu 20.04 LTS のインストール作業記録です。語調変わるのはご勘弁。 Hyper-V VM の用意 Ubuntu のインストール インストール後の作業 systemd-networkd の設定 不要なツールを purge build-essential をインストール dotfiles で初期設定 Go をインストール Docker をインストール 以上 Hyper-V VM の用意 特に難しいことはない。 ブリッジ仮想スイッチを作り、第2世代タイプにしてセキュアブートを無効化するくらい。 あとチェックポイント(自動スナップショット)はうざいので無効化してい

    あけまして Ubuntu 20.04 開発環境 - 誰かの役に立てばいいブログ
    ayatk
    ayatk 2021/01/11
  • ピクシブにおけるBeyondCorp Remote Accessの活用事例 - pixiv inside

    概要 こんにちは、インフラ部のkoboです。 感染症の流行を受けて、ピクシブでは2020年春から自宅でも仕事ができる体制を継続しています。 その少し前から、ピクシブでは社内サービスへのVPNレスなアクセスを可能にするための堅牢なSSOプロキシの導入を進めていました。それはGoogleがBeyondCorp Remote Accessと呼んでいる仕組みです。ピクシブでは今もオンプレミスで動作する社内システムが多く存在していますが、これのおかげでほとんどの業務をVPNを使用することなく自宅でこなすことができています。 記事では、BeyondCorp Remote Accessの概要と、ピクシブでの運用事例について紹介します。 BeyondCorp Remote Accessとは BeyondCorp Remote Accessとは、GCPのIdentity Aware Proxy (IAP)

    ピクシブにおけるBeyondCorp Remote Accessの活用事例 - pixiv inside
    ayatk
    ayatk 2020/11/18