タグ

ブックマーク / dev.classmethod.jp (186)

  • なぜゲーム業界はJenkinsを選ぶのか?その理由と利点 | DevelopersIO

    こんにちは ゲームソリューション部の出村です。 みなさんはソフトウェア開発においてCI/CDツールは何を利用していますでしょうか? これまでゲーム開発の現場を見てきましたが、ゲーム開発においてよく使われるCI/CDツールはやはりJenkinsです。このJenkins、一昔前ではWeb開発をはじめとしてさまざまなソフトウェア開発でよく利用されていました。ただ、ここ最近はGitHub Actionsなど他のツールに置き換えられているという印象があります。 しかし、ことゲーム開発においてはGitHub Actionsといった他のCI/CDツールではなく、Jenkinsが利用されている場面が圧倒的に多いです。これは、他のCI/CDツールを利用したくないという消極的な理由ではなく、Jenkinsを利用する明確な理由があるためだと考えています。 ゲーム業界はJenkinsが活用される理由 ここでは、ゲ

    なぜゲーム業界はJenkinsを選ぶのか?その理由と利点 | DevelopersIO
  • 「AWSで始める負荷テスト入門」というタイトルで DevelopersIO 2024 Sapporo に登壇しました #devio2024 | DevelopersIO

    中川です。 2024年7月5日に開催した「DevelopersIO 2024 SAPPORO」にて、オフライン登壇させていただきました。 登壇資料 話したこと 負荷テストの概要と目的 負荷テストの進め方 AWSを活用した負荷テスト 実践的なTips 当日の登壇スライドはこちらになります。 参考・紹介資料 参考にしたサイト 負荷テスト on AWS のすすめ 第三十五回 ちょっぴりDD - 人気番組の新作配信を安定起動させた、サーバーレスな AWS 分散負荷試験ソリューション「Distributed Load Testing」を使った負荷試験の仕組み 負荷テストとは?目的や種類ごとの観点、実施の流れについて解説 Types of load testing 参考にした書籍 Amazon Web Services負荷試験入門―クラウドの性能の引き出し方がわかる 分散負荷テストソリューション AW

    「AWSで始める負荷テスト入門」というタイトルで DevelopersIO 2024 Sapporo に登壇しました #devio2024 | DevelopersIO
  • Git の一般的な落とし穴を回避します: ベスト プラクティスと回復手順。 | DevelopersIO

    Gitは、バージョン管理に強力なツールで、開発者がコード変更を追跡し、プロジェクトで協力し、作業履歴を維持することを可能にします。Gitは複雑なプロジェクトを管理するための堅牢なフレームワークを提供しますが、同時にプラットフォームの初心者にとっては習得の曲線があり、一般的なミスにつながる可能性があります。これらのエラーは、些細な面倒から、プロジェクトのワークフローに重大な混乱をもたらすまでさまざまです。 これらの落とし穴を理解し、回避することは、プロジェクトの整合性と安定性を維持するだけでなく、チームメンバー間の効果的な協力関係を育むためにも不可欠です。このブログでは、Gitを使用する際にユーザーが直面する最も一般的な課題について掘り下げます。メインブランチへの直接コミット、ブランチの非効率的な使用、不適切なコミットの処理、マージコンフリクトの解決など、さまざまな問題を探ります。 一般的な

    Git の一般的な落とし穴を回避します: ベスト プラクティスと回復手順。 | DevelopersIO
  • Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO

    今回はPythonで簡単にリトライ処理を追加できる「tenacity」を使ってみます。 デコレータ形式で簡単にリトライ処理を追加できるので便利です。 tenacityについて プログラムを書いていて、HTTPの通信などでリトライ処理を実装する機会は多いと思います。 今回はそんなリトライ処理を簡潔に書けるtenacityの使い方を説明します。 インストール インストールはpipで可能です。 インストール pip install tenacity 使い方 シンプルな例 シンプルな例 import random from tenacity import retry @retry def random_error(): num = random.randint(0, 10) if num > 4: print(f"Error: num={num}") raise Exception("Error!

    Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO
  • [VS Code]タブのカスタムラベル設定でpage.tsx、layout.tsxなどのファイルを見やすくする | DevelopersIO

    [VS Code]タブのカスタムラベル設定でpage.tsx、layout.tsxなどのファイルを見やすくする どうも!オペレーション部の西村祐二です。 最近、Next.jsなどでフロントエンドの実装も行うことが増えてきました。 実装を進めていくと、page.tsx,layout.tsx,index.tsx,route.tsなど同名のファイルが増えてきて、どのファイルを開いているか分かりづらいなと思う場面がありました。 VS Codeのv1.88で開いているファイルタブのラベルをカスタマイズできるようになったので、その設定方法を紹介したいと思います。 Visual Studio Code March 2024 結論 最初に結論として、settings.jsonに下記設定をすることでディレクトリ名も表示されるようになりタブを見やすくすることができます。 .vscode/settings.js

    [VS Code]タブのカスタムラベル設定でpage.tsx、layout.tsxなどのファイルを見やすくする | DevelopersIO
  • AWS利用のためのBGPをざっくり理解する | DevelopersIO

    こんにちは、NTT東日の白鳥です。 AWSでネットワークを構築する際にBGPの設定が必要になるケースが出てくるかと思います。 なかにはハンズオンで出てきた設定をそのまま入れられる方もいらっしゃるかもしれません。 AWSを利用するためのBGPを少しでも理解が深まると幸いです。 ※記事はBGPのすべてを理解することが目的ではなく、あくまでAWS利用時に必要となる部分に絞っています。 AWSのネットワーク設定においてBGPが出てくるシチュエーション AWSのネットワーク設定を行う中でもBGPの設定に出会うシチュエーションは大きく3つあります。 Direct Connect Transit Gateway Site-to-Site VPN たとえば、仮想プライベートゲートウェイを作成するときに、こんな設定項目を見たことがあるかと思います。 BGPとは?BGPが必要になる背景 BGPはBorde

    AWS利用のためのBGPをざっくり理解する | DevelopersIO
  • 書籍「ソフトウェアテスト技法ドリル」ではテスト設計の考えとツールの使い方まで学べちゃいました | DevelopersIO

    私は開発寄りのエンジニアであり、テストやQA専門の方と同じチームで頑張る機会が少なかったのですが、「なるほど、こうやって考えて、こういうツールを使っているのか」と非常に勉強になりました。 こんにちは。AWS事業部モダンアプリケーションコンサルティング部に所属している今泉(@bun76235104)です。 最近ではアジャイル開発やスクラム開発が多く採用され、ビジネスのスピードに負けないようにプロダクト開発・リリースのスピードが求められれている中で、「いかに効率よく、かつ効果的なテストをしていけるか」というのはテスト担当だけでなく、開発メンバー全員で考える必要があると思います。 とはいえ、実際のチームには「専任のQAエンジニアやテストアナリストはいない」ということは非常に多いと思います。 基的なテスト技法はで学んできたけど、どういう時にどんな技法でテストを設計すればよいの? 職のテスト

    書籍「ソフトウェアテスト技法ドリル」ではテスト設計の考えとツールの使い方まで学べちゃいました | DevelopersIO
  • ディメンショナルモデリングに入門しよう!Snowflakeとdbt Cloudで「Building a Kimball dimensional model with dbt」をやってみた | DevelopersIO

    ディメンショナルモデリングに入門しよう!Snowflakeとdbt Cloudで「Building a Kimball dimensional model with dbt」をやってみた さがらです。 ここ2年ほどの間にdbtが日でも急速に拡大し、様々な情報が日語の記事でも見かけられるようになってきました。 dbtを採用してある程度活用を進めていくと、「より効率よくガバナンスを持ってデータを管理するにはどうすればいいんだろうか」といったデータの管理方法に悩む場面が出てくると思います。 そんなときに色々調べていくと、データを効率よく管理する手法として「データモデリング」が必要だとわかり、ディメンショナルモデリングやData Vaultなどの手法に行き着くのではないでしょうか。 そしてこれらのデータモデリングの手法の内、ディメンショナルモデリングについてdbtを用いて実践された記事がありま

    ディメンショナルモデリングに入門しよう!Snowflakeとdbt Cloudで「Building a Kimball dimensional model with dbt」をやってみた | DevelopersIO
  • VSCode拡張機能『Infracost』を使って TerraformテンプレートからAWS利用費を試算してみた | DevelopersIO

    VSCode拡張機能版Infracostを利用するとTerraformテンプレートを書いているだけで簡易的なAWS利用費の見積もりができます。無料で始められるのでまずはインストールしてみてください。 あしざわです。 皆さんは、これから作成するAWS環境の利用費の見積もり、どうやっていますか? 最近アップロードされたAWS Dev Day 2023 Tokyoのアーカイブ動画を見ていたところ、『Infracost』というIaCテンプレートベースでAM利用費の見積もりができるツールの存在を知りました。 主にTerraformユーザーの方向けになりますが、誰でも無料で始められ導入も簡単かつ便利なツールなのでぜひ皆さんにも使ってほしいと思いブログを書きました。 まとめ InfracostはTerraformテンプレート(.tfファイル)からインフラコストを試算できるツール 無料のInfracost

    VSCode拡張機能『Infracost』を使って TerraformテンプレートからAWS利用費を試算してみた | DevelopersIO
  • 【VS Code】tasks.jsonで決まった作業を自動化する | DevelopersIO

    はじめに VS Codeでコーディングをするとき、Gitの操作やビルド、デプロイなど、決まった処理を手動で実行するのが面倒だなと思ったことがあるのではないでしょうか。tasks.jsonというファイルを使えば、そういった面倒な手順を自動化し、開発効率を上げることができます。 この記事でやること この記事では、作業ブランチにmainブランチの取り込みを行うGitコマンドを自動化してみます。mainブランチを取り込むために、以下のコマンドを毎回手で実行しているとします。 git stash git pull origin main git stash pop これをtasks.jsonに定義して自動化したいと思います。 タスクの作成 タスクを作成するには、VS CodeのメニューのTerminal⇒Configure Tasksを選択します。 Create tasks.json file fr

    【VS Code】tasks.jsonで決まった作業を自動化する | DevelopersIO
  • 主にVSCodeではじめるPython開発環境構築ガイド | DevelopersIO

    ファイル比較 VSCodeのエクスプローラで、ファイル2つを選択して右クリックメニューから「選択項目を比較」で比較することができます。 また右クリックで、「比較対象の選択」をした後に「選択項目を比較」でも比較することも可能です。 VSCodeのSnippetの使い方 VSCodeのSnippetも便利です。似たような構造のクラスを実装する場合などや、プロジェクト共通で使いがちな書き方というものをSnippetに登録して、効率化することができます。 また、変数を持たせておくこともできます。この場合、Snippetを呼び出した後に変数部分にカーソルがあたるので、そこで変数部分をタイピングできます。 詳細は以下のリンクをご覧ください。 Visual Studio Codeに定型文(スニペット)を登録する方法 VSCodeのUser Snippetを活用しよう! また後述するSnippet Gen

    主にVSCodeではじめるPython開発環境構築ガイド | DevelopersIO
  • PostgreSQLで多数のパーティションを持つテーブルに対してPrepared Statementを実行した際の性能劣化について調べてみた | DevelopersIO

    ※実行時間の単位は全てmsです パーティション数が1,000になると汎用プランの再検証で1000パーティションへのスキャンが発生するため、bindが遅くなっていることが分かります。気になっていたunnamedなPrepared Statementについては名前付きのPrepared Statementに比べて早いような気もするし、誤差のような気もするし...ここはもう少し計測回数を増やして詳しく見ていきたいところです。 WHERE句をリテラルで記述した非Prepared Statementの場合は1000パーティションかつforce_generic_planの場合でも6.2msで処理できており、汎用プラン再検証のオーバーヘッドが発生していないことが伺えます。 1000パーティションのテーブルに対して1000回クエリを発行してbindのオーバーヘッドを確認してみる 先程の検証結果から 100

    PostgreSQLで多数のパーティションを持つテーブルに対してPrepared Statementを実行した際の性能劣化について調べてみた | DevelopersIO
  • ユニットテストをGitHub CopilotとChatGPT使って書いてみたらやばかったです | DevelopersIO

    GitHub Copilotとの単体テストがやばい。ChatGPTが書いてくれるテストもすごい。もうこれらがない時代には戻れないような気がします。 こんにちは。AWS事業コンサルティング部に所属している今泉(@bun76235104)です。 みなさんユニットテスト書いてますか? 昨今AIがダミーデータを書いてくれたり、ユニットテストそのものを書いてくれたりと技術の進歩がすごいですね。 私はリファクタリングが好きですが、リファクタリングをする前に絶対に必要なもの。 そうテストですね。 今回私がテストを後回しにしてしまった以下のOSSについてGitHub CopilotとChatGPTのそれぞれの力を借りながら、テストを書いてみました ※ これは以前私が始めたプロジェクトであり、OSSとして公開されているので学習に使われても問題のないコードです。 なお、GitHub Copilotの料金や

    ユニットテストをGitHub CopilotとChatGPT使って書いてみたらやばかったです | DevelopersIO
  • AWSサービス毎の請求額を毎日LINEに通知してみた | DevelopersIO

    こんにちは、つくぼし(tsukuboshi0755)です! みなさんは、利用中の AWS 料金を逐一把握されていますでしょうか? リソースの消し忘れ等で、いつのまにか AWS からの請求額がとんでもない事になっていた...という体験談を持つ方もいらっしゃるかと思います。(私もその一人です) 上記の対策として、以下の記事のように、AWS の請求額を毎日通知するシステムを構築し、確認する方法が挙げられます。 こちらのシステムは非常に便利なのですが、 Slack への通知が前提となるため、普段 Slack を利用していない方からすると多少扱いづらいかもしれません。 そこで今回は、上記のシステムを少しいじり、大半の方がプライベートで利用しているであろう LINE に対して、月初からの AWS サービス毎の請求額を毎日通知するシステムを構築してみます! 前提条件 今回は下記のソフトウェアの使用を前提

    AWSサービス毎の請求額を毎日LINEに通知してみた | DevelopersIO
  • 分散データシステム入門の決定版『データ指向アプリケーションデザイン』をたった30分で学んでみた #DataEngineeringStudy | DevelopersIO

    基調講演「30分でわかるデータ指向アプリケーションデザイン」 ・ スピーカー 斉藤 太郎氏  Twitter:@taroleo / Github:@xerial Principal Software Engineer , Treasure Data 東京大学理学部情報科学科卒。情報理工学 Ph.D。データベース、大規模ゲノムデータ処理の研究に従事。その後、スタートアップであるTreasure Dataに加わり、アメリカ、シリコンバレーを拠点に活動中。日データベース学会上林奨励賞受賞。OSSを中心にプログラミングやデータ処理を簡単にするためのプロダクトを作成している。 「30分でわかるデータ指向アプリケーションデザイン」最新の論文にも触れながら、分散データシステムの世界の魅力を伝えていきます。後半、@tagomoris https://t.co/TQ2TnsFIOT… — Taro L.

    分散データシステム入門の決定版『データ指向アプリケーションデザイン』をたった30分で学んでみた #DataEngineeringStudy | DevelopersIO
  • 5年間は生き続ける考え方が凝縮された良書「AWSで実現するモダンアプリケーション入門」 | DevelopersIO

    「最近、モダンモダンすげぇ聞くけどモダンってなに?」 「人の数だけモダンはあるんだよ…」 近年、パブリッククラウドを主軸としたアプリケーション開発文脈の中で「モダンアプリケーション」という言葉をよく聞くようになりました。自分もMAD(Modern Application Development)事業部の部長を去年やっていたりして、モダンという言葉には人一倍敏感だったりします。 そんなおり、そのモダンアプリケーションについて真正面から解説するを、著者の落水さんから献いただいたので、僭越ながら書評という形でご紹介させていただきます。 モダンがなにかようやくわかるの…!? ( ゚д゚) ガタッ /   ヾ __L| / ̄ ̄ ̄/_ \/   / 丸わかりやで。 書籍の概要「AWSで実現するモダンアプリケーション入門」 AWSで実現するモダンアプリケーション入門 〜サーバーレス、コンテナ、マイ

    5年間は生き続ける考え方が凝縮された良書「AWSで実現するモダンアプリケーション入門」 | DevelopersIO
  • サービスメッシュについて理解する | DevelopersIO

    サービスメッシュは、マイクロサービスアーキテクチャの様々な問題点や課題を解決します。Kubernetes クラスターへの導入もそこまで複雑ではなく、サービスメッシュから得られるメリットは計り知れません。 カナダ・バンクーバーオフィスの山口です。 Kubernetes でマイクロサービスのアプリケーション開発をしていると、一度はサービスメッシュという言葉を聞いたことがあるのではないでしょうか。 マイクロサービス間の通信制御において、サービスメッシュは非常に強力な武器となります。しかし、Kubernetes クラスターへサービスメッシュを導入するのは多少敷居が高く、躊躇している方も多いかと思います。 今回はサービスメッシュの概要についてご説明します。そして次回以降で、EKS クラスター上で Istio や App Mesh といった主要なサービスメッシュの導入方法についてお伝えしていきます。

    サービスメッシュについて理解する | DevelopersIO
  • かんたん!VS Code拡張機能開発 | DevelopersIO

    こんにちは、CX事業部 IoT事業部の若槻です。 今回は、VS Code拡張機能(Extension)の開発手順について簡潔にまとめたのでご紹介します。 前回のエントリでもVS Code拡張を作成しました。既存ブログなどを見ながら四苦八苦して実装したのですが、手順自体は意外と簡単でした。 手順概要 VS Code拡張機能を開発する手順は以下のようになります。 プロジェクト作成(yoコマンドで1発) コマンド内容を実装(JS/TSで処理を記述) コマンドの呼び出され方を定義(package.jsonを編集) 動作確認(VS Codeのデバッガーを使用) VS Codeで拡張機能として利用可能にする(vsixファイルに変換してインポート) なお、ここで紹介するのは自分で開発して自分で使うExtensionを作る想定の手順です。マーケットプレイスへの公開手順は紹介しません。(ただし公開手順も難

    かんたん!VS Code拡張機能開発 | DevelopersIO
  • [レポート]みんなの考えた最強のデータアーキテクチャ #datatechjp | DevelopersIO

    さがらです。 11月8日20時~22時に、datatech-jp(データエンジニアリング関係のコミュニティ)主催でみんなの考えた最強のデータアーキテクチャというイベントが開催されました。 記事はこのイベントのレポートブログとなります。 イベント概要 ※connpassより引用 datatech-jpで集ったデータエンジニアが、それぞれみんなの考えた最強のデータアーキテクチャを紹介し合うという夢のような企画が実現しました! たくさんの新しいプロダクトが群雄割拠する現在、モダンデータスタックなどという言葉も登場しています。 今こそ、どんなプロダクトを選び、どのようなデータ基盤を作れば、効率的にやりたいことが実現できるのか。 5人の猛者からおすすめの構成をご紹介いただきながら、参加者のみなさんとも一緒に考えていく時間としたいと思います。 おまけ:当イベントの応募者数 このイベントですが、なんと

    [レポート]みんなの考えた最強のデータアーキテクチャ #datatechjp | DevelopersIO
  • Terraform ベストプラクティスを整理してみました。 | DevelopersIO

    こんにちは。クラメソのスジェです。 ほとんどのサービスにはベストプラクティス(=best practices)というのがあります。 そのサービスを利用する際、このベストプラクティスを守るとより効率的に性能を100%活用することができます。 もちろんterraformにもこのようなベストプラクティスがあります。 今回はこのベストプラクティスについて整理してみました。 参考資料 記事は下記の資料を参考にして作成しました。 記事ではほとんどのプロジェクトに活用できる程度の項目を紹介しています。つまり、ベストプラクティスについて軽く説明している感じなので、詳細な内容までは上記の資料をご参照ください。 また、紹介した資料以外にもベストプラクティスを調べてみたら、たくさんの資料がありますので、そちらもあわせて確認することをお勧めします。 読む前に 実際にベストプラクティスをプロジェクトに適用しよう

    Terraform ベストプラクティスを整理してみました。 | DevelopersIO