株式会社サイバーエージェントAI事業本部の2024年度 エンジニア新卒研修でシステム運用の基本と戦略に関する講義を行いました。
![【2024年度 サイバーエージェント 新卒研修】システム運用の基本と戦略](https://cdn-ak-scissors.b.st-hatena.com/image/square/2dbcd2a8766cd79de820e1ce2ac60a75437a7b4a/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F384bcca71abb49e8a60a054a600219a1%2Fslide_0.jpg%3F30198379)
株式会社サイバーエージェントAI事業本部の2024年度 エンジニア新卒研修でシステム運用の基本と戦略に関する講義を行いました。
CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
ビジネスプロセスモデリング表記法(英語: Business Process Model and Notation, BPMN)とは、ビジネスプロセスをワークフローとして描画するための表記法である。BPMN は Business Process Management Initiative (BPMI) が開発し、Object Management Group (OMG) と BPMI が 2005年に合併した後は OMG が保守している。 BPMNによるBPD(BP図)の例。BPMNとは、ユーザがシステムに要求する業務の流れを記述した図 BPMN の目的は、すべてのビジネス関係者が容易に理解できる標準記法を提供することである。ビジネス関係者には、プロセスの作成・更新を行うビジネスアナリスト、プロセスの実装を行う技術者、プロセスを管理するマネージャなどが含まれる。さらに BPMN はビジネスプ
署名はRSASSA-PSS 2048 SHA-1で、salt長は…なんて言われて各単語の意味や位置付けが分からず困ったことはありませんか?ややこしい暗号関連の用語を体系的に整理してすっきり理解しましょう。 はじめに 暗号の用語って似たような単語があってややこしい!と思ったことはありませんか? 本稿は暗号に関する専門用語を体系的に整理したものです。暗号に関する主要なキーワードを紹介していますが、個々の要素技術を深く掘り下げることはしません。 ネットで検索するのに適当なキーワードが思いつかない、似たような単語が複数あってイマイチ使い分けに自信がない、セキュリティに関する業務をやることになったけどどこから手を付けていいか分からない、というような方を想定読者にしています。 目次:暗号用語の体系的整理 はじめに 目次:暗号用語の体系的整理 暗号そのものに関する用語 アルゴリズムを一意に特定するために
GitHub、1200台以上のMySQL 5.7を8.0へアップグレード。サービス無停止のまま成功させる GitHubが提供するGitHub.comは、世界最大のソースコード管理システムを始めとするソフトウェア開発者向け支援サービスを提供しています。 そのGitHub.comはRuby on Railsで構築されており、同社はつねにRubyとRuby on Railsをアップデートし続けていることを今年(2023年)4月に明らかにしています。 参考:GitHubは200万行規模のRailsアプリケーションであり、毎週RailsとRubyを最新版にアップデートし続けている そして同社はこのGitHub.comを支える1200台以上のMySQL 5.7を、GitHub.comのサービスレベルを維持したまま1年以上かけてMySQL 8.0にアップグレードしたことをブログで明らかにしました。 Up
TL;DR jOOQの管理するConnectionとSpringのTransactionManagerが管理するConnectionは異なっている このため、ConnectionFactoryをDSL.usingに渡してDSLContextを得る形式では、Transactionalアノテーションが機能しない 当該コンテキストにおけるConnectionを取得し、そこに対してクエリを実行すれば、Transactionalアノテーションが機能するようになる やり方 追記: サンプルコードでのコネクションリークについて 以下に示すサンプルコードでは、トランザクション無しで実行するとコネクションリークが発生します。 原因はconnectionがcloseされないことです。 トランザクション有りの場合はTransactionManagerが適切にcloseしてくれるため、コネクションリークは発生しま
今年読んだ本は今年のうちにレビューしてしまおう、の第二弾「Staff Engineer」です。 Staff Engineer すこし前にTwitter界隈でIndividual Contributor(以下、IC)の話が話題になってましたが、そのICとしてのキャリアの先にある、日本ではあまり馴染みのないStaff Engineerについての本です。ちなみに本の内容は全て https://staffeng.com/ でも読むことができますので、紙が不要な人はこちらからどうぞ。 Staff Engineerは、会社ごとに、またおそらく部署ごとでも様々なバラエティのある役割の定義があり、この本は著者での経験に基づく記述と、各社のいろいろなStaff Engineerの人たちからのインタビューから構成されています。 著者の経験によると、Staff Engineerの典型例として、一つ、もしくは複数
僕は約束を守る男なので、Spring Data SQLを作り始めたというお話です。 背景 これまでBootiful SQL TemplateというJdbcTemplateの薄いラッパーを(作って)使っていたのですが、INSERT文とかSELECT ALLくらいは自動生成して欲しいよなと思い、Spring Dataを使おうかなと思って調べ始めました。 Spring Dataの中でも最も素直に動いてくれそうな Spring Data JDBCを試したところ、簡単なクエリはSQLを書かずに生成できるし、アノテーションでSQL文を渡すこともできるのですが、動的に組み立てたクエリを渡すことができないようでした。 さすがにそこまで割り切った仕様のフレームワークは使いづらく、かと言って他に好みのO/Rマッパーがあるわけでもありません。 「好みのO/Rマッパーがないなら、作れば良いのよ」とはもう数百年くら
ローカル環境を汚さずDockerコンテナのオーバーヘッドもなく、開発環境を自在に構築できる「Devbox 0.2.0」登場 Dockerコンテナの技術を用いることで、プログラミング言語のランタイムやライブラリ、ミドルウェアなどの開発環境一式を比較的容易に導入することが可能になりました。 ただしDockerコンテナにもファイルシステムのオーバーヘッドなどがあり、Dockerコンテナ内の開発環境ではコンパイルなどに時間がかかってしまう場合があったと開発ツールベンダのJetpack Technologiesは自社の経験から指摘します。 そこで同社がオープンソースで開発しているのが「Devbox」です(ちなみにマイクロソフトによる仮想化された開発環境の「Dev box」とは名前は似ていますが別のものです)。 Devboxは、ローカル環境上に分離した環境を用意しそこで開発環境を構築可能にしつつ、Do
What’s Hurl? Hurl is a command line tool that runs HTTP requests defined in a simple plain text format. It can chain requests, capture values and evaluate queries on headers and body response. Hurl is very versatile: it can be used for both fetching data and testing HTTP sessions. Hurl makes it easy to work with HTML content, REST / SOAP / GraphQL APIs, or any other XML / JSON based APIs. # Get ho
今回はGoogle Chromeで「この接続ではプライバシーが保護されません」が出た時の対処方法について解説したいと思います。開発中のアプリケーションを一時的に閲覧する際に使える手法です。 原因「この接続ではプライバシーが保護されません」が表示される原因は、HTTPSでアクセスしようとしているサイトがSSL証明書を検証できていないためです。 SSL証明書が未検証の場合、Chromeが自動的にそのサイトへのアクセスをブロックするようになります。 サイトを訪問する時、ブラウザはそのサイトがホストされているサーバーにリクエストを送信します。その後、ブラウザはサイトにインストールされた証明書が現在のプライバシーの基準を満たしているかどうかを検証します。TLSハンドシェイクと表現されますが、ここでは、認証局(ルート証明書)を用いた認証の検証、復号などが行われます。 ブラウザが証明書は無効であると判断
型パラメータ: S - このローダーによってロードされるサービスのタイプ すべての実装されたインタフェース: Iterable<S> public final class ServiceLoader<S> extends Object implements Iterable<S> 単純なサービス・プロバイダ・ロード機能です。 サービスとは、既知のインタフェースおよびクラス(通常は抽象クラス)のセットです。サービス・プロバイダとは、特定のサービスの実装です。通常、プロバイダのクラスによって、サービス自体に定義されているクラスのインタフェースとサブクラスが実装されます。サービス・プロバイダをJavaプラットフォームの実装にインストールするときは、拡張機能の形式、つまり、拡張機能の通常のディレクトリに配置されるjarファイルの形式で行われます。プロバイダを利用可能にするには、アプリケーションのク
マウスイベントで取得されるカーソル座標パラメータの整理(offset, page, screen, client)JavaScriptHTML5jQuery はじめに もはや何番煎じかわかりませんが,jsのマウスイベントにて取得されるカーソル位置パラメータを図とサンプルを見ながら整理します.なぜ今さらこんな記事を書くかというとoffsetX,Yにて取得される値について長年勘違いしていたことが発覚したためです(恥ずかしい...).そちらについては,こちらの記事を御覧ください, 図解でわかるカーソル座標パラメータ 例として,ページ中にあるid=containerの要素に対してマウスのイベントを付与した時を考えます.コードで書くなら例えば のような感じです. 得られるパラメータがそれぞれ表している値の意味を下図にのせました. event.offsetX / Y 要素内でのカーソル座標(マウスが載
ソフトウェアアーキテクチャに絶対的な正解は存在しません。むしろ、さまざまな妥協点の中から選択を強いる難題、すなわち「ハードパーツ」が多く存在します。そのため、ソフトウェアアーキテクトには常にトレードオフを見極め、状況に合った選択をすることが求められます。本書は、読者が自身のアーキテクチャ上の難題に対して効果的なトレードオフ分析を行い、より良い決定ができるようにするための書籍です。 本書では、サービスの粒度やデータの所有権、コードの再利用やワークフローの調整、可用性や信頼性の実現といった現代のソフトウェアアーキテクチャの難題と、それに対するさまざまなアプローチやパターンを紹介します。そして意思決定を難しくするトレードオフについて、モノリスを分解しマイクロサービスアーキテクチャに再構築する例を通して詳しく説明します。 『ソフトウェアアーキテクチャの基礎』の著者らによる現代的なトレードオフ分析と
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く