nkkkunのブックマーク (90)

  • エンジニアのためのSRE論文への招待 - SRE NEXT 2023 - ゆううきブログ

    この記事では、2023年9月29日に開催されたSRE NEXT 2023 IN TOKYOでの講演の概要に加えて、講演では触れられなかった部分の補足と、発表を終えての後記、最後にSRE NEXT全体の感想を書きました。 SRE NEXT 2020の基調講演に招いていただいたところから始まり、昨年のSRE NEXT 2022の公募セッションでも発表し、今回で3回目の発表になりました。今回の講演は、SRE NEXTの「NEXT」と価値観の一つである「Diversity」を踏まえて、自身のエンジニアと研究者の両方の経験を活かして、SREを深く実践する上で、技術論文を探して読むアプローチを提示するものです。昨今の国内のSREコミュニティでは組織的実践に主な関心が移っている状況と対比させて、コンピュータサイエンスに基づく技術的挑戦の可能性を示唆する意欲的な講演を目指したつもりです。 この講演での主要

    エンジニアのためのSRE論文への招待 - SRE NEXT 2023 - ゆううきブログ
    nkkkun
    nkkkun 2023/10/08
  • ミラティブのサーバサイドをGo + Clean Architectureに再設計した話 - Mirrativ Tech Blog

    こんにちは、テックリードの夏です。 今年4月にCTOからテックリードに肩書が変わり、ガリガリコードを書くようになりました。 背景については、こちらをご覧ください。 www.wantedly.com 普段はプロダクト側の機能開発と、サーバ側の基盤開発を半々ぐらいの割合で仕事しています。 一口にサーバ側の基盤開発といっても定義が曖昧なのですが、基的にはこんな感じのタスクをやっています。 インフラコストの最適化 不正なアクセスからの防御 障害の再発防止 新技術の導入やアーキテクチャの整備 今回はこのうち「新技術の導入やアーキテクチャの整備」の中で、サーバサイドをGo + Clean Architectureで再設計したことについてお話したいと思います。 背景 ミラティブは2015年春頃に開発が始まり、同年8月にサービスがリリースされ、2020年8月で5周年を迎えました。 その過程で組織やプロダ

    ミラティブのサーバサイドをGo + Clean Architectureに再設計した話 - Mirrativ Tech Blog
  • DDD基礎解説:エンティティ、値オブジェクトってなんなんだ - little hands' lab

    はじめに DDDの実装パターンとして、エンティティと値オブジェクトというものがあります。 ドメイン駆動一般に複雑な抽象論が多い中で、コードに近く一番イメージがつきやすいコード事例として出てくるため、ここだけは何となくわかるぞ!という方もいらっしゃるのではないでしょうか。 今日はこちらの概要とそれぞれの使い道について書きたいと思います。 先にざっくりイメージ図をお伝えすると、こういう図を使って解説します。 何の目的で作るのか? ドメイン駆動設計は何を解決しようとしているのか こちらの記事で、ドメイン駆動設計のアプローチは以下の2ステップがあるということを書きました。 ドメインの問題を解決するための抽象的なモデルを作る. モデルをソフトウェア(コード)に落とし込む ※ ドメイン=ソフトウェアを適用して問題解決しようとする領域 DDDでは、このStep2の モデルをコードで表現するためのパターン

    DDD基礎解説:エンティティ、値オブジェクトってなんなんだ - little hands' lab
  • How Do Web Browsers Work? | HackerNoon

    Too Long; Didn't ReadToday, it is difficult to imagine a world without internet.

    How Do Web Browsers Work? | HackerNoon
  • Value Objectについて整理しよう - Software Transactional Memo

    Value Objectとは何であるか? マーチン・ファウラーのPatterns of Enterprise Application Architecture(PofEAA)やエヴァンス・エリックのDomain Driven Design: Tackling Complexity in the Heart of Software(DDD)が原典であるが、PofEAAではこう切り出している。 When programming, I often find it's useful to represent things as a compound. プログラミング時は物をcompound(合成物)として表現すると便利なことがしばしばある。 例えば2次元空間上での座標のように複数のメンバ(属性)を持つ物は便利である、と。しかしそれらを比較する方法は一意ではない、そこで Objects that a

    Value Objectについて整理しよう - Software Transactional Memo
  • ⚡️⛓JavaScript Visualized: Scope (Chain)

    Time for the scope chain 🕺🏼 In this post I assume you know the basics of execution contexts: I’ll soon write a post on that too though 😃 Let's take a look at the following code: const name = "Lydia" const age = 21 const city = "San Francisco" function getPersonInfo() { const name = "Sarah" const age = 22 return `${name} is ${age} and lives in ${city}` } console.log(getPersonInfo()) We're invoki

    ⚡️⛓JavaScript Visualized: Scope (Chain)
    nkkkun
    nkkkun 2022/06/12
    jsの仕組み
  • The Four Innovation Phases of Netflix’s Trillions Scale Real-time Data Infrastructure

    My name is Zhenzhong Xu. I joined Netflix in 2015 as a founding engineer on the Real-time Data Infrastructure team and later led the Stream Processing Engines team. I developed an interest in real-time data in the early 2010s, and ever since believe there is much value yet to be uncovered. Netflix was a fantastic place to be surrounded by many amazing colleagues. I can’t be more proud of everyone

    The Four Innovation Phases of Netflix’s Trillions Scale Real-time Data Infrastructure
    nkkkun
    nkkkun 2022/02/12
    ネットフリックスの構成の進化について
  • TypeScript入門『サバイバルTypeScript』〜実務で使うなら最低限ここだけはおさえておきたいこと〜

    書『サバイバルTypeScript』は実務でTypeScriptを使う開発者のための入門書です。そして、このページはTypeScriptの特徴を最速で把握できるよう、数百ページからなる書のコンテンツをつまみいした要約です。 » 書ついて詳しく知る » とにかく今すぐTypeScriptを書いてみたい TypeScriptとは​JavaScriptのスーパーセットとなるプログラミング言語。静的型付け言語であり、プログラムの正しさが静的に検査できる。ライブラリやIDEなどの開発環境が充実しており、大きなエコシステムを持っている。Microsoftが2012年に開発し、オープンソースで公開した。» TypeScriptの特徴について詳しく知る » TypeScript誕生の背景について詳しく知る TypeScriptJavaScriptのスーパーセット​スーパーセットとは、元の言語との

    TypeScript入門『サバイバルTypeScript』〜実務で使うなら最低限ここだけはおさえておきたいこと〜
    nkkkun
    nkkkun 2022/02/12
    typescript辞典として使いたい
  • tenntenn - Takuya Ueda (@tenntenn) on Speaker Deck

    バックエンドエンジニアとして日々Goを書いている。Google Developer Expert (Go)。一般社団法人Gophers Japan代表。Go Conference主催者。大学時代にGoに出会い、それ以来のめり込む。人類をGopherにしたいと考え、Goの普及に取り組んでいる。複数社でGoに関する技術アドバイザーをしている。マスコットのGopherの絵を描くのも好き。 ・HP:https://tenntenn.dev ・Twitter:https://twitter.com/tenntenn ・YouTube:https://tenn.in/youtube ■ Gopher道場 自習室 →https://gopherdojo.org/studyroom/ Gopher道場とは、実践的なGoを体系的に学べる場です。 Gopher道場 自習室では、以下のようなコンテンツや学びの場

    nkkkun
    nkkkun 2022/02/12
    Goのスライドのまとめ
  • 【入門】私を苦しめたDynamoDB | フューチャー技術ブログ

    フューチャー夏休み自由研究連載12目の記事です。 はじめにはじめまして。TIG DXユニットの富山です。2020年4月新卒入社です。 夏休み自由研究連載の11目の記事で公開されたSlack×GASの日報テンプレBOTを実務に導入してみたの執筆者である仁木さんと同期です。 私が参画しているプロジェクトでは、データベースにDynamoDBを採用しています。私は、RDBMSしか使用した経験がなかったので、NoSQLであるDynamoDBの理解にとても苦しみました。そこで今回の夏休み自由研究では理解した内容をまとめてみたいと思います! つまったポイントサマリ― これらが理解できるような記事を目指します。 DynamoDBとは公式ドキュメントによると、 Amazon DynamoDB は、規模に関係なく数ミリ秒台のパフォーマンスを実現する、key-value およびドキュメントデータベースです。

    【入門】私を苦しめたDynamoDB | フューチャー技術ブログ
    nkkkun
    nkkkun 2021/11/19
    dynamoDBについてわかりやすい
  • Goのパッケージ構成の失敗遍歴と現状確認

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

    Goのパッケージ構成の失敗遍歴と現状確認
    nkkkun
    nkkkun 2021/11/04
    Go API構成について
  • Goのテストに入門してみよう! | フューチャー技術ブログ

    2020/08/15更新: 「テストの失敗をレポートしたい」と「サブテストの一部のみ実施したい」の章を追加 はじめにTIG の辻です。今回は春の入門祭りということで Go のテストに入門してみよう!という記事です。 書いた背景ですが Go の標準ライブラリのコードリーディング会で testing パッケージにチャレンジしてみましたが、難しすぎてわからん。そもそも Go のテストって何ができるんだっけ?という話になり、基的な内容をなるべく具体例をまじえながらまとめました。 ざっとどんなことができるんだろう、という index になれば幸いです。 TipsGo に組み込まれているテストの仕組みの中に、ベンチマークに関するテストと Example テストというサンプルコード用のテストも含まれているのですが、この 2 つは対象外にします。基礎的と思われる内容から順に並べてみました。 はじめに T

    Goのテストに入門してみよう! | フューチャー技術ブログ
    nkkkun
    nkkkun 2021/10/08
    go のテストが詳しく
  • 各社の開発研修資料2021年度まとめのまとめ

    サイボウズ株式会社 2021年のエンジニア新人研修の講義資料を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ

    各社の開発研修資料2021年度まとめのまとめ
    nkkkun
    nkkkun 2021/08/22
    研修資料がまとまっている
  • CTOを目指すなら意志決定に文句を言わずに全力でコミット BuySellとLayerXが新卒エンジニアに期待すること

    事業フェーズや課題によって評価制度は変わっていく 佐藤将高氏(以下、佐藤):松さん、LayerXではどういう評価の仕方をされているんですか。 松勇気氏(以下、松):LayerXは、まさにこれから運用していこうみたいなフェーズになってるんですよ。これまで評価っていうものを実はしていなかったんですよね。小さな組織での評価って相当なエネルギーがかかるし、みんなの納得につながることが意外と少なくて。ミッション、ビジョン、バリューがきちんと浸透していて、そこに対してモチベーションがある限り、実はそれほど評価制度について深く考える必要はないのかなと思ってるんですよ。 ただ、これから拡大していくにあたっては、そのさっきも言ったとおり、コミュニケーションとか行動評価とか、行動の方向性を揃えていかなきゃいけないので、そういう指針として使えるような評価制度ってことで、ちょうどこの成果や行動についての評価

    CTOを目指すなら意志決定に文句を言わずに全力でコミット BuySellとLayerXが新卒エンジニアに期待すること
    nkkkun
    nkkkun 2021/08/08
    たくさん考え続けて、量を増やして、意思決定したらコミットする
  • JavaScriptエンジンの仕組みをGIFアニメで分かりやすく解説

    Node.jsおよびChromiumベースのブラウザで使用されるJavaScriptエンジンの仕組みについてGIFアニメーションで分かりやすく解説された記事を紹介します。 🚀⚙️ JavaScript Visualized: the JavaScript Engine by Lydia Hallie 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 JavaScriptを視覚的に解説: JavaScriptエンジン JavaScriptはクールです(私はそう思います)が、あなたが書いたコードをマシンが実際に理解するにはどうすればいいのでしょうか。JavaScriptデベロッパーは通常、コンパイラを自分で扱う必要はありません。しかし、JavaScriptエンジンの仕組みを理解し、人に優しいJavaScriptコードをどのように処理

    JavaScriptエンジンの仕組みをGIFアニメで分かりやすく解説
    nkkkun
    nkkkun 2021/08/02
    JSの仕組みがわかりやすい
  • ミクシィの21新卒技術研修の資料と動画を公開します!

    研修資料・動画一覧git研修(動画、スライド)データベース研修(動画、スライド、SQL演習環境)設計・テスト研修(動画、スライド)iOSアプリ開発研修(動画、スライド、リポジトリ)Androidアプリ開発研修(動画、スライド、リポジトリ)フロントエンド研修(動画、スライド、リポジトリ)ゲーム開発(Unity)研修(動画、スライド1、スライド2、スライド3、スライド4、スライド5、リポジトリ)git研修チーム開発でのGit(+GitHub)の使い方とGitの内部的な挙動についての講義と、Git Challengeから厳選した問題を解くハンズオン。 講義部分の動画とスライドを公開しています。

    ミクシィの21新卒技術研修の資料と動画を公開します!
    nkkkun
    nkkkun 2021/07/29
    詳しくて役に立つ
  • 2021年のエンジニア新人研修の講義資料を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。開発部 オンボーディングチームの酒井(@sakay_y)です。社内のオンボーディングコンテンツを、どんどん社外へ公開することを夢見ています。 2021年もエンジニア新人研修を行いましたので、軽い紹介と、講義資料および一部講義動画(New!)を公開いたします。 2021年のエンジニア研修について 講義資料公開 Webアプリケーション基礎 HTTP/DNS ソフトウェアライセンス ソフトウェアテスト テスト自動化 アクセシビリティ Docker Chrome Developer Toolsの使い方 サイボウズのアジャイル・クオリティ デザインの役割と関わりかた データベース CI/CD セキュリティ モブに早く慣れたい人のためのガイド ITコミュニティ文化と情報発信に共通する成長と貢献の要素 正規表現 Kubernetesを使った開発入門 モニタリング入門 gRPC入門 日語話

    2021年のエンジニア新人研修の講義資料を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ
    nkkkun
    nkkkun 2021/07/20
    めちゃくちゃ役に立つ、しっかり読み込む
  • [Go] 環境変数の取得/設定を行う - YoheiM .NET

    こんにちは、@yoheiMuneです。 今日はライトなネタですが、Go言語で環境変数から値を取得したり、値を設定したりする方法をブログに書きたいと思います。 環境変数を取得する Go言語で環境変数にアクセスするにはosパッケージを利用します。具体的には以下のように実装します。 // 環境変数から値を取得する key := os.Getenv("MY_API_KEY") os.Getenvは文字列を返すので、取得できればその値が、取得できなければ空文字が返ります。 環境変数を設定する 環境変数を設定することもできます。以下のように実装します。 // 環境変数を設定します. os.Setenv("GOOGLE_APPLICATION_CREDENTIALS", "/etc/gcp/auth.json") 直感的で分かりやすいですね。こんな感じに環境変数を設定できます。 最後に 今日はライトなネ

    [Go] 環境変数の取得/設定を行う - YoheiM .NET
    nkkkun
    nkkkun 2021/07/19
    Goでローカルの環境変数設定
  • 動作するきれいなコード: SeleniumConf Tokyo 2019 基調講演文字起こし+α - t-wadaのブログ

    この文章は、2019年4月18日に開催された国際カンファレンス SeleniumConf Tokyo 2019 で行った基調講演の文字起こしを土台に加筆修正したものです。 当日の講演資料は speakerdeck で、動画は YouTube で公開されています。 Clean code that works - How can we go there? - Takuto Wada | SeleniumConf Tokyo 動作するきれいなコード - どうたどり着くか 日の講演タイトルは「動作するきれいなコード - どうたどり着くか」です。動作するきれいなコードへ至る道の話をさせていただこうと思います。 資料は公開予定で、講演の写真撮影も問題ありません。ツイッター等での実況も大歓迎です。ハッシュタグは #SeConfTokyo です。 改めて自己紹介です。和田卓人(わだたくと)といいまして、

    動作するきれいなコード: SeleniumConf Tokyo 2019 基調講演文字起こし+α - t-wadaのブログ
    nkkkun
    nkkkun 2021/06/27
    “最初に「動作する」に取り組み、その後で「きれいな」に取り組む”
  • The Linux Kernel: メモリ管理

    次のページ 前のページ 目次へ 4. メモリ管理 メモリ管理サブシステムは、オペレーティングシステムの最も重要な部分 のひとつである。コンピュータの黎明期以来、システム上にある物理メモリだけでは 足りない状況がずっと続いてきた。この限界を克服するために様々な戦略が立てられ たが、それらのうちで最も成功したのが、仮想メモリ(virtual memory)である。 仮想メモリとは、システムに実際以上のメモリがあるかのように見せる仕組みであり、 メモリ争奪関係にあるプロセス間で、必要に応じてそれらを協調して使用することに より実現されている。 仮想メモリは、コンピュータのメモリを大きく見せること以外にも様々な機能を 提供している。メモリ管理サブシステムが提供する機能には、次のようなものがあ る。 巨大なアドレス空間 オペレーティングシステムは、システム上に実際以上のメモリがあるかのように 振る舞

    The Linux Kernel: メモリ管理
    nkkkun
    nkkkun 2021/06/27
    linuxメモリ管理について