2024年10月18日 日本SPIコンソーシアム(JASPIC) ソフトウェアプロセス改善カンファレンス2024

2024年10月18日 日本SPIコンソーシアム(JASPIC) ソフトウェアプロセス改善カンファレンス2024
先日、VitalRouter.MRuby というUnityパッケージを公開しました。Tweet 元々、VitalRouter というUnity向け高速メッセージングライブラリをつくっていたんですが、ここに mruby を組み込むことによって、Rubyスクリプトで書いたとおりにメッセージを発行(publish)できるという代物、それが VitalRouter.MRuby 、です。 これによって、ゲームのシステム部分の開発のレイヤの上に、お手軽ゆるゆるスクリプトを乗っけることができます。 What is VitalRouter? VitalRouter自体は単に、中央イベントアグリゲータ/メッセージブローカー/メディエーター的なパターンを持ち込めるライブラリです。 僕の考えでは、ゲームプログラミングの設計でややこしいところのひとつがこの「イベント/メッセージ発行」みたいなところにあります。ゲー
はじめに 長らくローカルテスト用のメールサーバとして MailHog (DockerHub) を使ってきたのですが、以下のような不満がありました。 今現在(2024)メンテナンスが行われていない ローカル開発用とはいえ、UXが厳しい(日本語を受け付けてくれない) アーキテクチャが amd64 しか対応していない そこで、MailHogよりベターな選択肢はないか調査してみたところ、 Mailpit (DockerHub) が以下の点で良いと感じ実際に使っているので、この記事で紹介します。 今現在(2024)メンテナンスが行われている 良いUX。ちゃんと日本語でメールを検索できる アーキテクチャとして arm にも対応している (amd64/arm64/i386) ほか好ましい点 サーバ再起動後にちゃんとデータが残る (sqlite形式で残るようです) Goで実装されていて動作が軽い Goなの
ASP.NET CoreASP.NET Core IdentityAuthSecurityImplementing custom token providers for passwordless authentication in ASP.NET Core Identity This post was inspired by Scott Brady's recent post on implementing "passwordless authentication" using ASP.NET Core Identity.. In this post I show how to implement his "optimisation" suggestions to reduce the lifetime of "magic link" tokens. I start by providin
この記事は ILPostProcessor 入門シリーズの第3回です。 第1回 はじめに + 最小実装 第2回 ILPostProcessor の基本構造 第3回 IL編集の基本 (ここ) 第4回 第5回 第1回、第2回と前置きが長くなりましたが、今回からいよいよILについて説明していきます。 概要 スタックマシン オペランドと命令の短縮形 スタック上の値の型 数値型 (int32, int64, F) native int O (オブジェクト参照) & (マネージドポインタ) ポインタと GC について Mono.CecilでIL命令を編集する いろいろなIL命令 ローカル変数の読み書き メソッドの呼び出し 引数の渡し方 (staticの場合) 戻り値の受け取り方 インスタンスメソッドにおける this の扱い オブジェクトの作成 仮想メソッド呼び出し 分岐 分岐命令の短縮形に関する注意
この記事は ILPostProcessor 入門シリーズの第2回です。 第1回 はじめに + 最小実装 第2回 ILPostProcessor の基本構造 (ここ) 第3回 IL編集の基本 第4回 第5回 ILについて説明していく前に、今回はILPostProcessorを実装するための下地を整えます。 実行モデル ログ出力の整備 アセンブリ解決 アセンブリ定義のキャッシュ 実行モデル 本格的に ILPostProcessor を実装していくにあたって注意が必要なのは、ILPostProcessor が Unity とは独立したプロセスで実行されるという点です。これは、ILPostProcessor が UnityEngine や UnityEditor などのエンジン機能にアクセスできないことを意味します。 これを確かめるため、ILPostProcessorで次のようなコードを書いてみま
ソフトウェアエンジニアの後藤です。 今回は私が所属するプロジェクトで行った、ゲームロジックのクラスライブラリ化について紹介します。 経緯 開発初期にゲームの戦闘パートなどの、所謂「メインゲーム」を Unity のプロジェクト内に実装していました。 しかし開発が進むにつれて、 Unity を使わずにメインゲームを動かしたい場面が出てきました。その例を以下に挙げます。 AI に1000回バトルさせて勝率を記録する サーバに送られたログから戦闘を再現できるか検証し、ユーザーがチートしているか調べる これを実現するため、メインゲームの機能を Unity から分離して他のアプリケーションでも利用できるようにしました。 目的・問題設定 サンプルとして簡素なRPGの戦闘パートを作成しました。 [ゲームルール] ■キャラクターは「味方」と「敵」のチームに分かれる ■素早さが高い順に1人ずつ、誰かに攻撃する
完全に理解した記念にブログを書きます。 なんかちょっと前*1にも似たようなものを書いた気がしますけれども、まぁ、完全に理解するのは何度してもいいですからね。軽率に理解していきましょう。 tech.blog.aerie.jp もう少しちゃんと違いを言うと、前回の記事は ASP.NET Core のミドルウェアの話が半分くらいありました。今回の記事はオプション一色です。 前回と重複する部分もありますが、前回書いていない機能も含みます。 なお、本記事は .NET 8 を前提としています。 簡単な使い方 IOptions<TOptions> ファミリー IOptionsFactory<TOptions> インターフェイス IConfigureOptions<TOptions> インターフェイス IPostConfigureOptions<TOptions> インターフェイス IValidateOp
こんにちは。趣味グラマのNobu(@nm_aru)です。 Google Playから以下のタイトルのメールが来ていましたが、身分証の提出ぐらいだろうと甘く考え、期限ギリギリまで放置しようと思っていました。 時間が出来たので内容を見てみると、何と個人開発者は自宅住所をストアに公開するための対応依頼でした・・・。 名前の公開はまだ良いとして、流石に住所公開はハードルが高いので、Playストアでのアプリ公開はもう諦めようかなと思いもしましたが、以下の3点から開業届を出して対応する事にしました。 利用してくれているユーザーがいる iOSのみになるとFlutterを使っている意味がほぼ無くなる 開業届のハードル(手続き、費用面)が低くなった という訳で、ここには備忘録を兼ねて今回の対応を残しておきたいと思います。
【この記事の対象者】 仕様書の書き方が分からなくて、困っているゲームプランナー ゲームプランナーの素養を身に付けたい人 ゲーム開発に興味がある人 【この記事で学べること】 仕様の考え方 仕様書の作成方法 ゲームデザインに関する基礎知識 前回の記事 前回の記事では、なぜ人によって仕様書作成の能力に差が出るのかを解説しました。今回は仕様書作成の能力を身に付けるための方法を紹介します。 はじめに仕様書が書けない人は、次のどちらかに当てはまると思います。 やりたいことがはっきりしていない やりたいことがはっきりしているが、何を書けばいいのか分からない 『2』に関しては「仕様書の書き方」を調べていけば、答えにたどり着く可能性があります。 しかし、『1』の場合は「仕様書の書き方」を調べても、答えにたどり着けません。なぜなら、「仕様書の書き方」でつまづいているのではなく、「仕様の考え方」の部分でつまづい
自分が思う最強の(かつ貧者の)構成を目指したログ。流行りの技術選定ってやつしたかった。 結論だけ言うと、まだ綺麗ではないが現実的に動く。動かし方を理解してないと事故る、かも。 この記事は自分がたどり着いた結論を順を追って記述するが、自分にとって自明な場所の差分を記録してないので、コードをなぞるより変更意図を追って各々自分で組み立てる、ということを推奨する。 動いてるリポジトリはここ。ただこの記事の説明を読まないと、その意図が伝わらない。 追記 20240829: DATABASE_URL で Connection Pool を有効にするのに ?pgbouncer=true を追加 https://supabase.com/partners/integrations/prisma このスタックの意図 Remix on cloudflare-pages コストとパフォーマンスを両立できる、20
アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) みなさんこんにちは。@ryuzeeです。 今回は、自称「アジャイル開発をしている」といいつつ、定期的に謎の進捗報告会をJiraで行ない、「効率がどうたら」と口癖のように言っている人たちへの説教です。 スクラムでもスクラムでないやり方でも何でも構わないのですが(その違いは大きな問題ではない)、動作するソフトウェアを定期的に披露しようとすると、さまざまな改善が芋づる式に進みます。 披露しようとすれば、一気通貫で動作し、目で見て分かり、評価可能ものを作ることになります。 部品だけを作っても見えないし分かりません。例えばUIモックだけを作っても実際の操作感は分かりません。 何より動かないものや触れないものは真剣に見ません(モックを事
YouTube での解説 YouTube にて Java コードをベースに解説を行いました。 コードの雰囲気は C# とほとんど同じなので参考になるかと思います。 もしよければご覧ください。 Java コードの記事リンク:https://nrslib.com/clean-architecture-with-java/ その他解説もしています。もしよろしければチャンネル登録をお願いいたします。 Qiita 版 Qiita に CUI や GUI 向けのクリーンアーキテクチャの記事を書きました。 ボブおじさんのクラス図を模したものです。 Web とはまた異なった実装になるので、もしよければ合わせてご参照ください。 https://qiita.com/nrslib/items/a5f902c4defc83bd46b8 さらに PHP の Laravel 版も作ってみました。 https://qi
パラパラ系チャーハンの名店といえば ども、下関マグロっす。 私は普段、町中華探検隊という活動をしているので、さまざまなメディアから「チャーハンのおいしいお店を教えてくれないか」と取材されることがあります。 時にはテレビ番組からの依頼で、識者と言われる人たちといっしょにチャーハンのおいしいお店ベスト10を選んだりすることもあります。 そんな時にパラパラ系チャーハンの名店として必ず名前が出るのが、本駒込の「兆徳」というお店です。 お店は、本郷通りと神田白山線が交差する向丘二丁目の交差点にあります。 数年前に初めてこちらのチャーハンをいただいたのですが、そのうまさにとても驚いたことを記憶しています。 こちらのお店、たいていけっこうな行列ができています。 並んでいる間にお店の外壁に貼られた雑誌の記事を読んでみると、チャーハンはいろいろなメニューがあるようですが、二大巨頭がチャーハン(醤油)と玉子チ
入門 Docker¶ About¶ Dockerの入門からプロダクションで活用するプラクティスについてのドキュメントです。 プロダクションへ導入するために必要なDockerの概要から設計までをなるべく最短経路で学ぶことが目的です。 想定する読者層¶ WebAPIのようなサーバーサイドのプログラミングをしたことがある Dockerをこれからプロダクション環境へ導入してみたいと考えている初学者 Version¶ Docker 18.09.3 docker-compose 1.23.2 必要な環境¶ Docker Hub のアカウント Docker公式レジストリ Play with Docker DockerをWeb上で動かせる環境 Play with Dockerを起動するのに前述のDockerHubアカウントが必要 Docker for Mac(Windows)の場合VMが間に挟まり挙動が異
As developers, we use databases all the time. But how do they work? In this series, we'll try to answer that question by building our own SQLite-compatible database from scratch. Source code examples will be provided in Rust, but you are encouraged to follow along using your language of choice, as we won't be relying on many language-specific features or libraries. As an introduction, we'll implem
目次 はじめに Colocation を意識した設計方針 Parallel Routes と Intercepting Routes を用いた設計パターン サーバー側に処理を寄せたことによる恩恵と課題 Next.js が抱える課題 おわりに 参考文献 はじめに ジャンプTOON のWeb版(以降、ジャンプTOON Web)の開発を担当している浅原昌大(@assa1605)です。 5 月にサービスを開始した「ジャンプTOON」は、オリジナル縦読みマンガ作品や人気作品のタテカラー版を連載する、ジャンプグループ発の新サービスです。 ジャンプTOON のフロントエンドには、Next.js を採用し開発をしています。 本記事では、Next.js の最新機能や設計パターン、Next.js を採用した恩恵と現在の課題について紹介します。 Colocation を意識した設計方針 Parallel Rou
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く