2023-11-02 JaSST'23 Kyushu 招待講演 https://www.jasst.jp/symposium/jasst23kyushu.html 実装完了後の手動テストに依存した開発サイクルに継続的テストのアプローチを適用し、段階的に品質を向上する方法について説明しています。
はじめに こんにちは@Sicut_study (Watanabe Jin)です。 去年の10月頃にReactのロードマップを投稿しておかげさまで1000いいねもすぐそこになりました そこから私自身も状況がかなり変わり、大好きなReactを使ってプログラミングを教えるスクールを運営しております。 エンジニアになりたい完全未経験の方や、すでにエンジニアだけどもっと自由にプログラミングができるようになりたい人をたくさん教えてきました。 👇メンバーの記事はこちらにあります その中である程度この流れで学習をすすめていけば1-2ヶ月程度でReactで自由にサービスを作れるレベルに再現性をもってレベルアップすることができると確信がもてたので、 実際にやっているカリキュラム(React部分)をすべて紹介します ロードマップは完全未経験でもできるようなものになっていますのでわかる箇所は飛ばしてもOKです。
切り替える理由 自社の主力製品で利用している技術(WebRTC / WebTransport)がブラウザベースのため TypeScript を利用する Go を採用したのは sqlc が使いたかったという理由 sqlc-gen-typescript が出てきたのでもう Go を使う理由がなくなった 自社サービスチーム全員が Go にまったく興味が無い sqlc 自体は便利 そもそも自社に Go への興味がある人がいない 自社サービスの規模ではボトルネックになるのはデータベースであって言語ではない もしアプリでスケールが必要なときは Rust や Erlang/OTP に切り替えれば良い コネクションプールは PgBouncer を利用すればいい TypeScript からは 1 コネクション 1 接続で問題無い どうせフロントエンドでは TypeScript を書く 自社では React
この記事は「Funds Advent Calendar 2022」21日目の記事です。 ファンズ株式会社 CTO の若松と申します。 今年も例年通り Twitter の運用は三日坊主となり、 note についても筆を断ったまま2022年を終わりを迎えようとしていたところ、アドベントカレンダーの時期が来ていました。 せっかくの機会ではあるので、以前から漠然と思っていた考えを整理してみたいと思い、この記事では財務諸表を読み解く概念的な考え方を使い、技術的負債について読み解いてみることにしました。 ソフトウェア開発上の概念である"技術的負債"ファンズは、貸付ファンドのオンラインマーケット「Funds」を通じて、個人投資家には着実な資産運用の機会を提供しつつ、企業に対しては借入によるファイナンスの機会を提供しています。そのような事業業態の性質上、コーポレートファイナンス的な考えに触れる機会も一般的
はじめに 以前からユニットテスト/単体テストという言葉は使いづらい、と感じており今回も旧Twitterで「テストを実行時間ベースで分類する良い言葉ないかなー」と呟いていたところ、「テストサイズのSMLって考え方があるよ」と教えて戴きました。 だいたいは教えてもらったt_wadaさんの記事にすべて書いてあるのですが、自分の整理も含めて動画にしたので、その補完記事となります。 TL;DR 単体テストのバベルの塔は既に崩壊 CI/CDでの継続的テストには時間ベースのテスト分類が重要 UT/IT/E2EではなくSMLによるテストサイズがCI/CDには合う それは単体テストか結合テストなのか? 自動テスト、手動テストに関わらずテストの分類として単体テストと結合テストという言葉は一般的です。 ITQBではTest Levelsという言葉で定義されていますし、以下のようなV字モデルの対応表はみんな知って
今さらながらGoogleの「NotebookLM」を触ったら、インターネットサーフィンが普通にそのまま"仕事"になった話 6月頭くらい? にGoogleがリリースして話題になっていた、自分専用のRAGが簡単に組めるLLMツール「NotebookLM」ですが、そのうち触ろうと思いつつも、「またRAGか」「どうせRAGでしょ? 知ってます」みたいな気持ちでいたら腰が重くなってしまい、いつのまにか一ヶ月くらい経ってしまっていました。 そして今日、たまたまちょっと時間が空いたので触ってみたんですが、想像していたよりもずっと楽しくてすごかったので書き残したく思った次第です。ちなみにこれ↓ NotebookLMってファイルとかURLとかかなりの量放り込めて、放り込まれただけ参照できる(しかもかなり精度高い)っていうツールなんですが、これの何がすごいというと、インターネットサーフィンをしながらおもしろい
めんどくさい作業にぶち当たった時、一気に改善してしまう人がいる。ガッと自動化したり仕組みそのものを変えたりしてしまうのだ。「めんどくさい」と心の中で思ったなら、その時スデに行動は終わっているのである。 たとえばコードレビューで都度同じ指摘をしだしたらLintとCIを整備したり、期限のリマインドを何度もしていたらリマインドそのものを自動化したり。CI/CDやBranch Protect Ruleを初期段階で整えるみたいな動きもそう。 こういう動きができる人とできない人の違いは、大きく次の4つの段階に分けられる。 1. めんどくさいと自覚できるか 1つめはスタンスの問題かもしれない。「もっとよくできないか?」「なぜこれをやってるんだっけ?」といった感じで今の運用を疑ってみるのが第一歩である。 よい状態を知っている方が当然自覚しやすいので、次の2とも密接に関係してくる。 2. めんどくさくない状
はじめに 以前紹介させていただき、2022年Qiitaのいいねランキング18位、ストックランキング20位を記録したこちらの記事の続編です! DevToysはリリース後しばらく定期的なバージョンアップが続けられていましたが、去年の7月からぱったりとアップデートが止まっている状態でした。 リポジトリや作者のXを見るとバージョン2の開発を行っているようで、今か今かと待ち続けていましたが数日前リリース予告のポストを見つけて、今日ついにプレリリースされました! ということで早速紹介していきます! DevToysとは DevToysは「開発者のためのスイスアーミーナイフ」の紹介文の通り、開発時によく使うツールを十徳ナイフのようにまとめたアプリとなっています。 JSONの整形とかエンコードデコードetc... プログラミングや保守運用の調査でやりがちな作業をいちいち変換サイトを探したり、エディター拡張機
こんにちは、株式会社シグマアイのエンジニアの@k_muroです。 今回の記事は最近導入した「技術blogを良い感じに共有してくれるSlack bot」のご紹介を。 はじめに 技術の進化は止まらない。(真面目な話、AI系の進捗がマジですごいて全然追えない) 毎日のように新しい技術、フレームワーク、ライブラリ、ツールが生まれています。そんな中でエンジニアとして働いていると、この情報の波に疲れを感じること、ありませんか? ありますよね?(脅迫) 実際私もその一人で、この小さな疲れが積み重なって大きなストレスとなることに気づきました。 「新しい技術情報、追いつけるかな?」 「あのブログ記事、後で読もうと思ってたのに、どこいったっけ?」 「チーム全員が同じ情報を持ってるか心配だな。」 そんな日常の疑問や不安から逃れるための一歩として、私はあるSlack botを開発しました。このbotは、送られた技
この記事はKeployのバージョンv2.0.0-alpha53 を前提に執筆しております。 Keployとは KeployはeBPFを利用して取得できるWebアプリケーションの通信に関するトレース情報を元に、テストとそのテストの実行時に利用するスタブサーバーを生成することができるツールとなります。 公式サイトのトップには以下のようなスローガンが掲げられています。 2 minutes to 90% test coverage! テストに苦労した経験のある方は興味を惹かれるのではないでしょうか。 現在まだアルファ段階のプロジェクトですが、GitHubスター数は2683(2024/01/04現在)、CNCF Landscape にも掲載されているなど、一定の注目を集め始めているOSSです。 開発主体はプロダクトと同名のKeployというインド発のスタートアップで、去年GoogleによるインドのA
認知負荷および認知負荷理論 (Cognitive Load Theory) をもう少し正確に理解するための心理学研究・知見の紹介 この記事の目的 ここ数年で、ソフトウェア開発やプログラミングの文脈で、「認知負荷」 および 「認知負荷理論」 という用語をよく見聞きするようになりました。私が今思い出せるだけでも、以下のような書籍や Podcast で重要なキーワードとして取り上げられています。 A Philosophy of Software Design, 2nd Edition チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計 プログラマー脳 ~優れたプログラマーになるための認知科学に基づくアプローチ fukabori.fm 102. A Philosophy of Software Design (3/3) w/ twada この「認知負荷」ですが、少なくとも近年見聞
DDD を理解したいあなたのための DDD 入門以前 Rubyist Magazine 63 号をお届けする。 突然のお知らせで恐縮だが、日本 Ruby の会の主たる事務所が東京から北海道に移転した。それもあってあまりまとまった時間がとれず、11 月のうちに書くはずだったのが気がつくと 12 月も半ばを過ぎていたので、今回は以前書きかけていた文章を発掘してお茶を濁したい。 Ruby とは直接関係がなくて恐縮だが、Ruby に限らずソフトウェア開発では現在でもちょくちょく話題になることがある、DDD についての話である。 ドメイン駆動設計こと DDD は 2020 年代のソフトウェア開発でもよく話題にされるが、率直に言うとストレートにポジティブな評価が行われているとは言い難い。 どちらかというと、ある種マニアックで、対象分野が制限されており、また初心者にはとっつきにくいところがある手法と思わ
マイクロソフト、Webアプリテストの自動化サービス「Microsoft Playwright Testing」プレビューを開始 マイクロソフトは、Webアプリケーションのテスト自動化フレームワーク「Playwright」を用いた、Microsoft Azure上のテスト自動化サービス「Microsoft Playwright Testing」のプライベートプレビューを開始すると発表しました。 テスト自動化フレームワーク「Playwright」 Playwrightは、マイクロソフトが中心となって開発しているオープンソースのWebアプリケーション向けテスト自動化フレームワークです。 実行環境、対象ブラウザ、対応言語が幅広く、テスト実行時にはWebブラウザの動作を自動的に待つ機能を備えるなど、柔軟で精度の高いテスト自動化が実現できる点を特長としています。 具体的には、デスクトップ向けのWebア
みなさんSREしてますか? サービスなどの品質を維持していくために切っても切り離せないSREですが、 日本でもSREという言葉が定着しつつあるかと思います。 このSREについて書いていきたいと思います。 SRE NextのCFP忘れてたのでその代わりに・・ SREってインフラですよね? 非常によくあるケース、というか多分ほとんどがこうなっていると思います。 もちろん会社としてインフラのことを指しても問題はありませんが、 SREとはどういうものなのか、正しく認識して今一度現状を振り返ることで さらに良い活動に繋がることが多いと思います。 なんのこっちゃ、という方も多いかもしれません。 SREはエラーバジェットなどの話が必ず出てきますので、 モニタリングや監視などが必ずセットにはなっていきます。 ですが、この部分が強調されているのかどうしてもインフラエンジニアでしょ、 というのが定着している場
こんにちは!サイオステクノロジーの安藤 浩です。DB設計書の生成が容易にできるDBMLをご紹介します。DBMLの入門として、DBMLの書き方、ER図生成方法、Github actionsでCIを実行して閲覧する方法をご紹介させていただきます。 DBMLとは DBML は DataBase Markup Language の略でDB構造を定義するために設計された言語です。 DB構造に焦点を当てており、可読性の高い言語です。 dbdiagram.io や dbdocs.io などを利用することでDBドキュメントの生成が可能です。 コードベースで図を生成できる点でPlantUMLと似ていますね。 DBMLの書き方 テーブルの書き方 まずはテーブルの定義の例をもとにDBMLの記法を紹介していきます。users というテーブルを作成してみます。コードは以下のようになります。 Table users
見積りとは何か?2023年12月2日この記事は 10X アドベントカレンダー2023 という企画の2日目(12/2)の記事です。 1日目(12/1)の昨日は岡野さん(@operandoOS)による「CIを高速化する技術⚡️」でした。 はじめに この記事の内容は以下の本の第一章とほぼ同じ内容となります。この記事の読んで見積りについて興味が湧いたらぜひ以下の書籍に目を通してみてください。 出典 ソフトウェア見積り 人月の暗黙知を解き明かす 早速ですが見積りしてますか?おそらくソフトウェアエンジニアの方であれば、こんな感じで会話して見積りした経験が1度はあるんじゃないでしょうか? プロダクトマネージャー「機能xyzの件だけど、開発期間はどのくらいだと見積もってる?」 ソフトウェアエンジニア「1ヶ月ですね。」 プロダクトマネージャー「長すぎる。1週間で何とかならないか。」 ソフトウェアエンジニア「
GitHubのデータセンターでは、Mac miniを分解して取り出したメイン基板をラックマウントに使っている GitHubは、コードのビルドやテスト環境などで使えるGitHub-hosted runnerとして、Apple M1チップによる「M1 macOSランナー」を提供しています。 このM1 macOSランナーの実行環境として同社のデータセンターには大量のMac miniが稼働していますが、同社が先月(2023年12月)に公開した動画によると、この大量のMac miniはラックマウントのために分解されてメイン基板が取り出され、専用のシャーシに納められていると説明されています。 GitHubはどのようにしてMac miniをデータセンター内でラックマウントしているのか、動画の内容を紹介しましょう。 Mac miniを分解、メイン基板を専用シャーシに組み込む あるGitHubのオフィス。こ
シードデータで動作確認して大丈夫だったのに、本番反映してみたら想定してなかった挙動・エラーが出た😱そんな経験はありませんか。 恥ずかしながら私は今までに何回もありました。機能開発だけじゃなくバッチやマイグレーションなんかでも発生しがちなコレ。またはシードデータで動作確認できても、本番データでも通用するか検証ができないままプルリクを作る、なんていうこともあると思います。今回はこちらを無くす試みをしたお話です。 「もう本番DBで開発しちゃえばいいじゃない」の問題点 この課題を解決するには、極論すると本番DBで開発するしかないのですが、そうなると言うまでもなく以下の問題が出てきます。 レビュー通過してないコードが本番に影響を与える トライ&エラーができない 個人情報をはじめとするセンシティブな情報が開発者の端末に漏れる データ量が多すぎてローカルに持ってこれない しかし言い換えると、これらをク
目次 目次 はじめに NeWork とは リリース頻度変更の背景 それまでの運用 課題 実現方法 解説 日次でワークフローが起動するようにする main ブランチの HEAD にタグが付与されていなければ付与する develop に差分があれば main へのマージを自動で行う 細かな工夫点 main の内容を develop に自動で取り込む 祝日はリリースしないようにする 自動リリース・自動 develop → main マージの制御 Slack にリリース結果を通知する stg 環境に変更内容を通知する その他の考慮 上司への事前説明の省略 スプリントレビュー前のリリース リリースノート 品質面 リリース頻度を変えてみて おわりに はじめに こんにちは、NeWork 開発チームの藤野です。普段はオンラインワークスペースサービス NeWork のエンジニアリングマネジメントをしています
「どのように開発するか」だけでなく、上流からプロジェクトに携わり「何を開発するか」から検討したい、と考えているエンジニアの方は少なくないでしょう。 一方、実際の開発現場では「WHAT(何を開発するか)」がすでにある程度検討され、エンジニアはその実現方法を具体化させるフェーズから参画し「HOW(どのように開発するか)」を考えるケースが多いのではないでしょうか。 「WHAT(何を開発するか)」を検討するフェーズからボトムアップでアイデアを出し、プロダクトの成長にコミットしたいーー。そんな思いを強く持つエンジニアにとって、理想的な環境とも言えるのがリクルートです。 今回、同社を代表するプロダクトである『SUUMO』のレコメンドAPIのインフラを、機械学習エンジニア(以下、MLE)とデータエンジニア(以下、DE)が連携して改修したプロジェクトを参考に、事業成長にコミットするエンジニアの姿を伝えます
こんにちは。サーバエンジニアのnsym-mです。普段はGoでバックエンドの開発などをしています。 最近テストに関する書籍や記事などを色々読み漁ったので、現時点での自分のテストについての考え方を備忘録として残しておきます。 今回の話はWebフロントエンドやiOS/Androidなどでも適用できる汎用的な考え方として記載していますが、ベースの文脈はバックエンド開発になりますのでそのつもりで読んでいただけますと幸いです なお、本記事では主にGoogle、『単体テストの考え方/使い方』、@t_wadaさんの発表されている考え方(いわゆる古典学派)に倣っています。 用語整理 よく使われるテストスコープ 単体テスト(ユニットテスト) 人によって定義に差がある 統合テスト(インテグレーションテスト) 結合テスト(E2Eテスト) 単体テストの定義がブレることから、スコープではなく実行時間で判断するテストサ
こんにちは ゲームソリューション部の出村です。 みなさんはソフトウェア開発においてCI/CDツールは何を利用していますでしょうか? これまでゲーム開発の現場を見てきましたが、ゲーム開発においてよく使われるCI/CDツールはやはりJenkinsです。このJenkins、一昔前ではWeb開発をはじめとしてさまざまなソフトウェア開発でよく利用されていました。ただ、ここ最近はGitHub Actionsなど他のツールに置き換えられているという印象があります。 しかし、ことゲーム開発においてはGitHub Actionsといった他のCI/CDツールではなく、Jenkinsが利用されている場面が圧倒的に多いです。これは、他のCI/CDツールを利用したくないという消極的な理由ではなく、Jenkinsを利用する明確な理由があるためだと考えています。 ゲーム業界はJenkinsが活用される理由 ここでは、ゲ
はじめに こんにちは!DPE(Developer Productivity Engineering)チームの高畑です。 ちょっと前に iPhone 15 Pro に変えてようやく USB-C ケーブルに統一できる!と思っていたら、手元にある Magic Trackpad が Lightning ケーブルでしょんぼりしました。 さて今回は、ビザスクのインフラ周りで利用している Terraform をエンジニア全員が安心・安全に利用できる仕組みづくりを行なっている話をしていきます! これまで ビザスクではインフラの構築・運用に Terraform を利用しており、依頼ベースで DPE のメンバーが Terraform の修正を行なってレビュー&リリースをしていました。 開発メンバーから Terraform の PR をあげてもらうこともありますが、plan / apply の権限を持っていない
こんにちは。SRE部の巣立(@ksudate)です。 我々のチームでは、AWS上で多数のマイクロサービスを構築・運用しています。マイクロサービスが増えるにつれて、CI/CDの長期化やリリース手法の分散など様々な課題に直面しました。 本記事では、それらの課題をどのように解決したのかを紹介します。 目次 目次 はじめに CI/CDのこれまで Release PRによるリリース CI/CD実行時間の長期化 マイクロサービスごとのリリースが難しい リリーサーの制限ができない ドメイン単位の並行リリース リリース手法が分散する ブランチ間の同期が必要 パイプラインの増加 CI/CD実行時間の長期化 リリーサーを制限できない CI/CDの刷新 高速かつシンプルなCIパイプライン 変更差分を利用したCIパイプラインの実行 承認機能付きのCDパイプライン GitHub Environmentsによるリリー
ワークフローの概要 このGitHub Actionsワークフローは以下の主要な機能を持っています: 新しいイシューが開かれたときに自動的に起動 イシューの内容を分析し、不適切なコンテンツをチェック 既存のイシューとの重複を検出 必要に応じてラベルを付与 ワークフローの詳細解説 トリガーとパーミッション設定 name: Issue Review on: issues: types: [opened] permissions: issues: write contents: read このセクションでは、ワークフローの名前を定義し、トリガー条件とパーミッションを設定しています。 on.issues.types: [opened]: 新しいイシューが開かれたときにワークフローが起動します。 permissions: ワークフローがイシューの読み書きと、リポジトリコンテンツの読み取りを行うための権
minne事業部のnissyiです。私は最近、運用・開発業務の時間を確保するために、便利なツールを導入したり、ちょっとしたプログラムを書いて自動化したりしています。今回は、日頃の業務の自動化を進めたことで得られたものについて書きます。 自動化を進めたことで得られたもの 身近なところで自動化は可能 自動化の損益分岐点 メンテナンスと分かりやすさ 最後に 自動化を進めたことで得られたもの 早速本題ですが、自動化に取り組むことで以下のようなメリットや学びを得ました。 時間を生み出し、他の仕事に取り組む時間を確保できる 自動化の手段を知ることで、他の場面で応用できる 作業に対して「これは自動化できないか?」と考えるようになる 自動化を進めると、生み出した時間で新たな自動化に取り組めて、さらにそれで時間を生み出して…と複利のように効率化を進められます。 身近なところで自動化は可能 エンジニアの業務に
Tebiki株式会社 取締役CTO 渋谷 和暁 神戸大学法学部卒業後、SIerを経てWebシステムの開発会社に入社。ECなどの受託開発やゲームアプリ開発のリードとして従事した後、コーチ・ユナイテッドに転職。クックパッドによる吸収合併のタイミングでCEO貴山氏とともにTebiki社を起業し、取締役CTOを務める。 GitHub Medium アジャイルなプロダクト開発において、コード品質・学習効率・チームワークの向上に効果があるとされる「ペアプロ」。1人でプログラミングすること(=ソロプログラミング、以下ソロプロ)が主流の中で、ペアプロをどうやって組織に浸透させるべきか、困っている組織は少なくないのではないでしょうか。 かつてのTebiki社も、同じ悩みを抱えていた組織の一つでした。2018年3月に創業し、小売、製造、サービス、物流などの現場マニュアルのDXを目的としたSaaSを開発する同社
「次の職場が Ruby なんだけど」と読み書きそろばんを聞かれたのと、大阪Ruby会議03、大江戸Ruby会議10、Kaigi on Rails 2023 と Ruby/Rails 関係のイベントに続けて参加して、作者の皆さまと会ったので。 「読める」になるために 言語仕様は何らかの本 1 冊の冒頭の方を読めば雰囲気は掴めるだろう。 Ginza Rails27 igaiga - Speaker Deck 著書や技術顧問、健康診断レポート でお馴染みの @igaiga555 さんの作った表で、難易度別にまとまっている。 たのしいRuby か、プロを目指す人のためのRuby入門 が定番かなぁ。 できることを知る るりま (Ruby リファレンスマニュアル) の Enumerable、String Rails Guides の Active Support Core Extensions 日本語
前段 最近CodeCommitやCloud9の新規アカウント利用不可になったことでX上ではざわざわ...していました。 ・ 2024年7月27日時点におけるAWS CodeCommitとAmazon CloudSearchの新規利用に関して ・AWS Cloud9が突然、新規利用不可に? 代替策「SageMaker Studio コードエディタ」の利用手順 そこで、ここ直近一年(2023/4~)で終了(の予告があった)サービスをみて、今後の展開を考えてみようと思いました。 あわよくば、「このサービスもなくなるかもなー」と先見の明が少しでも生えれば焦らなくてすむな、という思いで書いています。 ※あくまで個人見解です ここ一年で終了(の予告があった)したサービス AWS OpsWorks(2024.1.31 終了) AWS OpsWorks Stacks サポート終了FAQs 登場背景 201
インディーゲームサークル法螺会は2月6日、『奇天烈相談ダイヤル』のマスターアップを報告した。同作はフリーゲームとして公開予定。サークル過去作やフリゲ投稿サイトとの記載から、PC向けの公開となるだろう。2月10日に公開予定とされてきたが、完成報告をもってリリース日も確定したようだ。 ◤新作ゲームタイトル発表◢ 都市伝説を見たこと 聞いたこと ありませんか? そんなときは・・・  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 怪異判定アドベンチャー ☎#奇天烈相談ダイヤル☎ _____________ 年内公開に向けて鋭意開発中#スーパーゲ制デー #ゲーム制作 #フリーゲーム pic.twitter.com/BMsWDZsFFN — 法螺会@2/10「奇天烈相談ダイヤル」配信開始 (@HORAKAI_games) October 13, 2023 『奇天烈相談ダイヤル』は、相談者との会話から怪異の仕業かどうかを見
この記事は datatech-jp Advent Calendar 2023 3日目の記事です。 背景・趣旨 筆者(@yuzutas0)は風音屋(@Kazaneya_PR)という会社を経営しており、データ職種の採用・育成に関心を持っています。 複数企業で少ない専門家を奪い合って疲弊するような採用活動ではなく、マーケット全体がより豊かになるような動き方はできないだろうかと模索しています。 1つの実験として、MENTAで「第2新卒が3ヶ月でデータ職種への転職を目指す講座」というトレーニングを提供し、ありがたいことに30名以上の方々に受講いただきました。 ちなみにこの講座は今では風音屋の社内研修になっています。 MENTAの受講者が30名を突破しました🎉 卒業生が風音屋に入社したり、スキルアップして「社内で提案が通るようになった」「現職で活躍できるようになった」という感想もいただいています。
背景 開発チームが抱えるよくある課題として システムが変化する一方でドキュメントは更新されず腐る メンバーの流入出によって口伝でかろうじて継承された知見も失われる 検索性が良くないと過去のドキュメントが気づかれず、同じような内容のドキュメントが新規量産される 後から参加したメンバーはどちらが正のドキュメントか分からず混乱する といったことが良くあります。 解決方法としては以下のように、GitHub&ルールベースで管理するといった例があります。 future-architect.github.io また組織・システムが大きくなってくると認知負荷を低減するためにドメインで区切るような形でチームの分割が始まりますが、 異なるチームによってシステムが管理され、システムの依存関係を全て知っている人がいなくなる CxOレイヤが大規模イベント前に現状を把握したいときに都度時間がかかってしまう チームごと
最初に作ったのがCIAnalyzerです。なるべくツール自体の運用の手間がかからないように常駐サーバー無し、データの保存先と可視化はマネージドサービスを使う前提で設計しました。具体的にはデータの保存先をBigQueryとすることによって自前でDBを管理する必要をなくし、webhookを受けるのではなくcronで定期的にAPIを叩くことで常駐サーバーを不要にし、データの可視化はBigQueryと簡単に連携できてマネージドサービスであるLooker Studioを使用する前提としました。 CIAnalyzerのアーキテクチャ CIAnalyzerを作ったきっかけはAzure Pipelineの分析機能に感銘を受けたことで、それと同等の分析を当時自分が業務とプライベートで使用していたJenkins, CircleCI, Bitrise, GitHub Actionsでも可能にしたいと思って開発を
こんにちは、AIShift バックエンドエンジニアの石井(@sugar235711)です。 AIShiftでは去年の11月からAI Worker[1]という新しいサービスの開発が始まりました。(以下AI Worker) 本格的に開発が始まり3ヶ月弱経ったので、その間に試してきた技術やチームの取り組みについてまとめてみたいと思います。 はじめに この記事では、AI Workerのおおまかな概要・設計を説明し、それらのバックエンドを実現する上でどのような技術を試してきたのか、技術以外でのチームの取り組みについてまとめます。 少し分量が多いので、ライブラリについての情報を求めている方は、目次から気になる部分を読んでいただければと思います。 何を作っているのか ざっくりまとめると、Microsoft Teams/Web上で動くAIを活用した業務改善プラットフォームを作成しています。 GPTとRAG
Vestaria Projectは4月25日、『ヴェスタリアサーガⅠ+(ヴェスタリアサーガⅠ+~亡国の騎士と星の巫女~)』をPC向けに公開した。 Vestaria ProjectのCi-enより無料でダウンロード可能となっている。『ヴェスタリアサーガ I 』をベースに理不尽な部分を調整しつつ、新要素が取り入れられているようだ。 『ヴェスタリアサーガ I』公開当時のPV 『ヴェスタリアサーガⅠ+』は、2016年9月に公開されたPC用フリーゲーム『ヴェスタリアサーガ I』のリメイク作品。オリジナルの『ヴェスタリアサーガ I 亡国の騎士と星の巫女』は、クリエイターの加賀昭三氏が中心となって制作した、オリジナルのファンタジーSRPGである。舞台となるのは、セルロン大陸の北西にあるヴェスタリア島だ。同島は8勢力によって統治。南東部に位置するメレダ王国では、大陸を支配する帝国との交易を一手に担うなど、
Gitのブランチ戦略にはいくつかあります。 GitフローGitHubフローGitLabフローチームの戦略を考えるときにどれかを参考にしつつカスタマイズするときにいろいろ不都合が生じてしてきて複雑になってしまうことってありますよね?社内でブランチの管理の議論をする中で、ブランチの役割を明確にした上で、どのブランチがどのような役割を持っているのかを明確にした方が混乱が少なくなるのではないか?というのを考えていました。 特に、プロジェクトごとに同じ名前でも役割が違うなー、というのとかもあり、ブランチ名=役割ではなく、ブランチの上位概念として役割を考えて、それを実際のブランチとの対応づけを行う必要があるのではないかな、と。 CI/CDと組み合わされることで、releaseブランチ==ステージング環境となってしまい、ステージング環境を使いたいリリース前のブランチと、ホットフィックスの検証のブランチの
背景: dbtを使っていてもER図は欲しい! どうやってER図を生成するか どうやってER図を見やすくするか まとめ 背景: dbtを使っていてもER図は欲しい! dbtはモデル間のリネージなど可視化が得意なツールではありますが、万能なわけではありません。モデルの生成過程などはリネージで担保できますが、分析時に「どれとどのモデルがJOINできて、JOINする際のキーはこれを使って」というER図で扱うような可視化はディフォルトではできません。 DWHを作っている側からすると「このテーブルはあの辺のテーブルと一緒に使うと便利で、いつもあのキーでJOINして」というのが頭の中に入っていることが多いため、ER図がなくてもどうにかなることも多いでしょう。しかし、分析に慣れていない人や分析に慣れている人であっても、普段と異なるドメインのテーブルを触るときはER図が提供してくれる情報は有用です。ちなみに
この記事は、はてなエンジニア Advent Calendar 2023の2024年1月17日の記事です。 はてなエンジニア Advent Calendar 2023 - Hatena Developer Blog id:hagihala です。先日、はてなブログの DB を RDS for MySQL 5.7 から 8.0 へアップグレードしたので、工夫した点などを共有します。 Aurora MySQL 3.x にしなかった理由 MySQL 5.7 -> 8.0 で対応した変更点 character set や collation のデフォルトが変更される explicit_defaults_for_timestamp がデフォルトで有効になる SQL mode の変更 デフォルトの認証プラグインが caching_sha2_password になり、 mysql_native_passw
修士課程を退学した15年前に、僕は全く実現可能性を考えずに”30歳までにアメリカの大学院に留学”という目標を立てました。 もう一度大学院に行きたい、行くなら世界トップのアメリカがいいだろう、そんな程度の認識でした。 ただ、これはどちらかといえば無理やりひねり出した30歳まで生きる理由であって、そこまで強い意志があったわけではありません。 しかし、おかげで何とか30歳を超え40歳目前まで生き延びることはでき、気が付けばアメリカではなくカナダで永住権を取って暮らしています。 大学院留学は引き続き他のハードルが高くて達成できる気はしませんが、15年前に目標を立てた時点では認識できていなかった 「海外に移住する」という難儀を10年ほどかけて乗り越えることはできました。 けれど、そういえば事の顛末を一つにまとめたことが無かったなと気づいたので、僕のキャリア10年+αを振り返って記事にしてみました。
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く