2024年8月21日(水)から23日(金)にかけて開催されている、日本最大のコンピュータエンターテインメント開発者向けカンファレンス“CEDEC2024(Computer Entertainment Developers Conference 2024)”。その初日に実施されたセッション、“『学園アイドルマスター』における適応的ゲームAIとグレーボックス最適化を用いたバランス調整支援システムの実現”の内容をお伝えする。
本連載では、業界の第一線で活躍する著名エンジニアたちが、それぞれの視点で選んだ書籍について語ります。ただのレビューに留まらず、エンジニアリングの深層に迫る洞察や、実際の現場で役立つ知見をシェア!初心者からベテランまで、新たな発見や学びが得られる、エンジニア必読の「読書感想文」です。 著名エンジニアが、独自の視点で「おすすめ書籍」の紹介を行う本連載。 今回は、米マイクロソフトのエンジニア・牛尾 剛さんによる『テスト駆動開発』(オーム社)の読書感想文を紹介する。 発売日:2017年10月14日 著者:Kent Beck 訳者:和田 卓人 定価:3,080円 (本体2,800円+税) ISBN:978-4-274-21788-3 サイズ:A5 ページ数:344ページ 書籍概要:テスト駆動開発とは単にテスト自動化を行うことではなく、ユニットテストとリファクタリングを両輪とした小さいサイクルを回すこ
プログラミングにおいて、ユニットテストを書いてコードが正しく動くか検証することはとても重要です。ユニットテストを導入する目的といえば品質の向上ですが、それ以外にもメリットがたくさんあります。 この記事ではユニットテストを書くとどんなメリットがあるのか、またユニットテストを書くときのちょっとしたコツを紹介します。 ユニットテストを書くメリット 「TODOアプリ」を作っていると仮定して、実際にコードとテストコードを確認しながらメリットを考えてみましょう。 この記事で紹介するテストコードは以下から確認できます。実際に手元で動かせるのでぜひ試してみてください。 コードを確認する ※上記のテストコードはテストフレームワークのVitestを使用して書かれていますが、記事の内容自体はフレームワークによらない普遍的な考え方をもとにしています。 メリット①書いたコードが意図したとおりに動くかすぐ確認できる
本記事ではGoのiter(イテレーター)についての「知らなくても良いけど知っていたらイザという時に助かるかもしれないこと」を紹介します。iterの基本的な使い方等は説明しませんので、以下のmattnさんによる記事を参照してください。 Goのiterの実現方法 では本題。Goのiterとはコルーチンです。Goにおけるコルーチンの導入はRuss CoxのCoroutines for Goという記事にその分析と設計が書かれています。同記事の日本語による拙作のメモがありますので気になる方はそちらもご参照ください。 Russ Coxはこの記事において、コルーチンとはコールスタックの分離と任意の場所への付け替えだ、と分析しました。またgoroutineとチャンネルを用いてコルーチンを実装し、満たすべき機能的要件を明らかにし、また性能的要件からGo言語本体に必要な変更を示しています。この機能と性能の要件
I've hired a lot of developers over the years. More than a few of them have come in with a strong belief that our code needed heavy refactoring. But here's the thing: in almost every case, their newly refactored code was found by the other developers to be harder to understand and maintain. It also was generally slower and buggier too. Now, don't get me wrong. Refactoring isn't inherently bad. It'
import vitest from "@vitest/eslint-plugin"; export default [ { files: ["tests/**"], // or any other pattern plugins: { vitest }, rules: { ...vitest.configs.recommended.rules, // you can also use vitest.configs.all.rules to enable all rules + // e.g. 'vitest/no-test-return-statement': 'error', + "vitest/max-nested-describe": ["error", { "max": 1 }] // you can also modify rules' behavior using optio
Continuous reinvention: A brief history of block storage at AWSAugust 22, 2024 • 4802 words Marc Olson has been part of the team shaping Elastic Block Store (EBS) for over a decade. In that time, he’s helped to drive the dramatic evolution of EBS from a simple block storage service relying on shared drives to a massive network storage system that delivers over 140 trillion daily operations. In thi
英検®、TOEIC®、IELTSにTOEFL®まで、日本国内で受験できる英語の資格試験は数多くありますが「この資格って本当に役に立つの?」「資格なんてとっても意味ない?」と不安に思ったことはありませんか? せっかく時間とお金をかけて勉強して試験を受けるのであれば、進学や仕事など将来的に役に立つ資格を賢く選びたいですよね。 現在日本で取得できる英語関連資格は48種類あります。ですが、そのすべての資格試験が海外で就職をしたり、進学をする人に有効というわけではありません。 そこでこの記事では、認知度・信頼度ともに世界で通用する英語資格を紹介していきます。 進学を控えた学生さんだけでなく、海外でビジネスをしてきたいと考える大人の方にもおすすめの資格を一覧にしていますので、将来に生かせる資格をしっかりと見定めて、取得を目指していきましょう。 執筆者:Lin 小4までアメリカの現地校に通い、帰国後は「
Posted by Steven Moreland – Staff Software Engineer, Sandeep Patil – Principal Software Engineer A page is the granularity at which an operating system manages memory. Most CPUs today support a 4 KB page size and so the Android OS and applications have historically been built and optimized to run with a 4 KB page size. ARM CPUs support the larger 16 KB page size. When Android uses this larger page
こんにちは!サイボウズ様で業務委託でフロントエンドエンジニアをしている Nokogiri です。 このたびはCybozu Summer Blog Fes'24にて執筆の機会をいただきましたので、僭越ながら寄稿させていただきます。 今回はReact Testing LibraryでのWAI-ARIAロールの活用事例について紹介させていただきます。 前提 Reactで書かれたUIをテストする方法の一つとしてTesting Library があります。 Testing Libraryでは要素取得にWAI-ARIA ロールを利用することを推奨しています。(ロールは視覚/マウス ユーザーだけでなく、支援技術を使用するユーザーのエクスペリエンスを反映するため) 実はWAI-ARIA ロールには66個のロールがありますが、実際によくWeb開発で使われるUIにどのようなロールが付与されているのかを知りたく
AppleはM4チップを搭載したMacの4つの新モデルのテストを強化していることをBloombergのMark Gurman氏が報じています。 Appleは今年、MacBook Pro、Mac mini、iMacをM4チップでリフレッシュする予定であり、10月にもそれら新モデルが登場する見込みです。 新しいMac miniのイメージ開発者のログによると、この4モデルはベースレベルのM4チップを搭載しています。そのうち3モデルは10コアCPUと10コアGPUを搭載し、残りの1モデルは8コアのCPUと8コアのGPUを搭載していますが、後者はこれまでのM4の構成にはないものです。また、4モデルはすべて、16GBまたは32GBのユニファイドメモリを搭載しています。 M4チップは今年6月の発売された最新のiPad Proに搭載されています。その構成を確認しておくと、256GBおよび512GBモデルに
For this post, we used data from page navigations with a subresource image LCP in Chrome to take a look at the LCP sub-parts. We've looked at this kind of data before, but never from field data to see where real users are spending their time while waiting for a page's LCP. Like with Core Web Vitals, we took the 75th percentile (p75) of each LCP sub-part for each origin in the CrUX dataset, resulti
(Unlimited-Coins) Coin Master Spins Generator Latest Update Free Codes List 2024 3 minutes ago - Free Coin Master Spin Generator UPDATED 2024. CLICK HERE TO GET FREE Wondering how to get Coin Master free Spins? You’ve come to the right place. This is addictive! mobile game by design. It combines the thrill of playing slots with the social battling of Clash Free Spins are a great way to keep playin
AWS News Blog Add macOS to your continuous integration pipelines with AWS CodeBuild Starting today, you can build applications on macOS with AWS CodeBuild. You can now build artifacts on managed Apple M2 machines that run on macOS 14 Sonoma. AWS CodeBuild is a fully managed continuous integration service that compiles source code, runs tests, and produces ready-to-deploy software packages. Buildin
国産脆弱性診断ツール「Shisho Cloud byGMO」、自動Web脆弱性診断(DAST)機能を提供開始。日本初(※1)の「Web&クラウド」まるごと脆弱性診断ツールに GMOインターネットグループでプロダクト開発組織に向けたサイバーセキュリティ関連事業を展開する株式会社Flatt Security(代表取締役社長:井手康貴 以下、Flatt Security)は、本日2024年8月19日(月)より、国産脆弱性診断ツール「Shisho Cloud(新名称 Shisho Cloud byGMO)(※2)」(シショウクラウド、URL:https://shisho.dev/ja)の自動Web脆弱性診断(DAST(※3))機能の提供を開始いたします。 「Shisho Cloud byGMO」の自動Web脆弱性診断(DAST)は、外部から自動的に模擬攻撃を実施することで、Webアプリケーションの
While human-readable JSON over HTTP remains a popular choice for service communication due to its simplicity and familiarity, in Microservices architectures gRPC is emerging as a popular choice for communication. It is mainly because in the case of internal services, the structured formats, such as Protocol Buffers, are a better choice than JSON for encoding data. So we wanted to experiment with p
This vulnerability can allow attackers to steal anything a user puts in a private Slack channel by manipulating the language model used for content generation. This was responsibly disclosed to Slack (more details in Responsible Disclosure section at the end). In this scenario, we display how, via Slack AI, an attacker with access to Slack can exfiltrate data in private channels they are not a par
RubyKaigi Speakers Source Year Name Title 2006 Masayoshi Takahashi Ruby の歴史 2009 Masayoshi Takahashi Keynote Address: Ruby, Nihon Ruby-no-Kai and me 2011 Masayoshi Takahashi Ruby-no-kai Itself and Some Related Projects. 2013 Masayoshi Takahashi The History of Ruby;20th Anniversary Ed. 2019 Masayoshi Takahashi (partially) Non-volatile mruby 2006 井上 浩 NaCl のオープンソース戦略〜そして今後の Ruby 戦略に関して〜 2006 Yukihir
Ubuntu Weekly Topics Ubuntu 24.10(oracular)の開発 / Feature FreezeとTesting Week、「SBAT data failed:」でデュアルブートが壊れたら oracular(Ubuntu 24.10)の開発 / Feature FreezeとTesting Week oracularはFeature Freezeを迎え、ここからは『主として』品質を高めるための時間が始まります。恒例のイベントとして、8月22日から29日にかけてTesting Weekとして一斉テストが行われる予定です。 ただし、Feature Freezeはあくまで「新機能を投入するには個別承認が必要」という段階です。8月のデスクトップ関連の開発報告にはさりげなく、「There is still one more major feature we wan
Python3Next.js2React2TypeScript2FastAPI2Vite1Viem v21Wagmi v21SwiftUI1Swift1Laravel1PHP1Ruby1Rails1Microservices1Serverless1Django1Web Development1C#1Unity1Game Development1 You are an expert in Python, FastAPI, and scalable API development. Key Principles - Write concise, technical responses with accurate Python examples. - Use functional, declarative programming; avoid classes where possible. -
ジェネラティブエージェンツの大嶋です。 先日LangChainから、LLMアプリケーションのテストに関する決定版ガイド「The Definitive Guide to Testing LLM Applications」が公開されました。 LangChain公式によるXでのアナウンスはこちらです。 The Definitive Guide to Testing LLM Applications by LangChain Reviewing LLM app responses can be a time-consuming and daunting process, from defining criteria for style and accuracy, to spotting new regressions. After partnering with hundreds of compa
A California bill that could impose restrictions on artificial intelligence has tech companies, investors and activists scrambling to explain what the first-of-its-kind legislation could mean for their industry in the state. The bill is still winding its way through the state capital in Sacramento. It is expected to reach the California state assembly appropriations committee on Thursday before fa
The highest signal-to-noise software engineering interview I’ve seen goes like this: Here’s a repo you’ve never seen before. Here’s how to build and run the tests in this repo. There’s a bug: what we’re observing is X, but we want to see Y instead. Find the bug and maybe even write some code to fix it. I’ve only ever heard it called a “bug squash” interview, but if it goes by other names I’d love
JSTQB(ソフトウェアテスト技術者資格認定組織)は、「Foundation Level シラバス ゲームテスト」の日本語翻訳版を公開いたしました〜ゲームソフトを担当する開発エンジニアやテストエンジニアを対象としたシラバスです。テスト技術書としてご活用ください〜 JSTQB(ソフトウェアテスト技術者資格認定組織)は、2024 年 8 月 21 日 (水) にFoundation Level シラバス ゲームテストの日本語翻訳版を公開いたしました。 ■Foundation Level シラバス ゲームテスト 日本語翻訳版のリリース背景 ゲームのテストはゲーム開発がそうであるように、通常大規模かつ複雑になる傾向があります。 またゲームはメカニクスとそれを支えるプログラミング、アート、サウンド、エフェクト、ナラティブ等からなる総合芸術の側面を持ちます。 このためテスト担当者にはゲームの基本的な知
Today we are excited to announce the availability of the release candidate of TypeScript 5.6. To get started using the RC, you can get it through npm with the following command: npm install -D typescript@rc Here’s a quick list of what’s new in TypeScript 5.6! Disallowed Nullish and Truthy Checks Iterator Helper Methods Strict Builtin Iterator Checks (and --strictBuiltinIteratorReturn) Support for
機械的翻訳をしたが、翻訳時に色々調整できるとして、面白い結果だった 1回目。 prompt 日本のホラー小説を3万字で書いてください。ジャンプスケアはなく不気味な雰囲気、セリフは少なめ。大学生の男性が主人公。 Please write a Japanese horror novel in 30,000 characters. There are no jump scares, there is a creepy atmosphere, and there are not many lines. The main character is a male university student. Kaito's life at the University of Shadows was a paradoxical blend of mundane routine and underlying u
ハロウィンは10月末のイベントですが、アメリカでハロウィン商戦がどんどん早まっているそうです。 edition.cnn.com アメリカでは人々は、インフレや冷え込んできている雇用市場に直面していて、貯金を使いこみ、記録的なレベルのクレジットカードの負債を抱えています。その結果、マクドナルドやディズニーワールドではお金を使わなくっています。 They’re running through their savings and taking on record levels of credit card debt as they contend with high prices and a cooling labor market. As a result, consumers are pulling back on purchases from burgers at McDonald’s t
はじめに 以前制作しました学習記録アプリを改良してみました。 制作して感じたことなどをまとめてみました。 ↓前回の記事はこちらです https://qiita.com/masafumi1073/items/b3bf7997c252bde7482b 制作したアプリ 前回と機能的な面では大きな違いはありません。 今回は以下の3つを新規で追加しています。 Supabaseを使用した学習記録のデータの管理 Github ActionsによるCICDの追加 Jestとreact-testing-libraryを使用したテストの実装 工夫した点 前回はスタイリングを行わず、機能面の実装だけにとどめていたので、今回はスタイリングを行いました。また、styled-componentsを初めて使ってみました。普段はTailwind CSSを使用していますが、クラスが多くなりごちゃごちゃするのが好きではないた
マイクロコピー編集部です。売れるための最強の一言である「マイクロコピー」を広めるため、日々マイクロコピーの有用性を発信しています。 CVRを改善するためには、CVボタンのデザインや構成を工夫することも不可欠ですが、それと同時に、その効果を最大限に引き出すために使用するコピーにも注力する必要があります。 今回は、コストをかけずWebサイトのCVRや売り上げアップが期待できる3つのポイントをご紹介いたします。 「登録」「送信」だけのボタンではNG あなたのサイトで「登録」「送信」といった一般的な言葉を使っている場合、数パーセントほどのコンバージョンアップが見込めるかもしれません。 しかし、ソーシャルメディアの専門家、ダン・ザレラが行った調査によると4万ものランディングページは、他の用語を使用したものよりもコンバージョン率が低い傾向にあることがわかりました。 「登録」「送信」といったシンプルな
Swinject https://github.com/Swinject/Swinject 調べた外部ライブラリの中で、圧倒的にスターの数が多いです! 公式サンプル // Containerの設定 let container = Container() container.register(Animal.self) { _ in Cat(name: "Mimi") } container.register(Person.self) { r in PetOwner(pet: r.resolve(Animal.self)!) } // Containerからresolveを行い、オブジェクトを取り出す let person = container.resolve(Person.self)! person.play() // prints "I'm playing with Mimi." コンテ
シンガポールの就労ビザEPの新判定制度COMPASSの開始が近づいています。 ビザの話なら3杯飯が食えるうにうに @ シンガポールウォッチャーです。 COMPASSは、2023年9月1日からEP新規申請者にまずは対象になり、その後、2024年9月1日からはEP更新者も対象になります。 EPは、ビザ申請者の個人属性と、スポンサー企業属性という大きく二要素で、発行可否が決まります。個人属性の評価は開示されており、SAT(Employment / S Pass Self-Assessment Tool )というツールで誰でも簡単に判定できます。大事なのは、給与と出身大学と年齢です。シンガポールのビザ制度は、単に大卒か否かだけでなく、大学名でも評価されます。 ところが、雇用企業の評価が完全にブラックボックスで、「SATではEPをクリアしているのに、発行されない」「追加資料を求められる」「審査が長引
サマーブレイクまでマシンアップデートをあまり積極的に行なってこなかったマクラーレンだが、シーズン後半戦ではここまで空力テストで培われてきたモノを一気に新パーツとして具現化していくようだ。 現代F1における空力テストレギュレーション(ATR)では、風洞の使用時間や数値流体力学(CFD)リソースの使用量を規定しており、各チームがそれぞれに制限を受ける。チームがどれだけ制限を受けるかどうかは、シーズン序盤は前年のコンストラクターズランキングに応じて決められ、6月30日以降は2024年の順位に合わせて変更される。 マクラーレンは今年のマイアミGPで大型アップデートを行なったものの、その後は基本的にサーキットに合わせたマイナーアップデートのみを投入してきた。 これは定期的にアップデートを持ち込んできたライバルに比べて、ATRの面でマクラーレンにアドバンテージがあり、サマーブレイク明けに新パーツの投入
Appleが、M4搭載MacBook Pro、Mac mini、iMacのテストを強化しており、2024年10月中に発表される可能性があるということです。MacRumorsが、Apple Testing Four New M4 Macs Ahead of Fall Launchとして伝えています。 Apple has ramped up testing of four new Mac models equipped with an M4 chip, according to Bloomberg’s Mark Gurman. Apple is planning to refresh the MacBook Pro, Mac mini, and iMac with M4 chips this year, and we could see the new models sometime in O
ControlFlowとは Prefect社が2024年6月に公開した、LLM Agentワークフローを構築するOSSのPythonフレームワークです。 公式リリース記事: Agentic LLM Workflows | ControlFlow by Team Prefect 上記事ではLLMを含むワークフローの構築には、3つの課題が存在すると指摘してます。 オーケストレーション 可観測性 制御・信頼 これらの問題に対処するため、ControlFlowが登場しました。 CotrolFlowは大まかに以下の動作を行います LLMが解決するための観察可能な個別Taskを作成 各Taskに1つ以上の専門Agentを割り当て TaskをFlowに組み合わせて、複雑な動作を編成 ControlFlowは初回リリース前の開発段階にあると、GitHubのREADMEに書かれています。 🚨🚧 Plea
この記事では、Linuxにおいてリポジトリの追加の方法とその応用例について詳しく解説します。Linuxでソフトウェアをインストールする際、リポジトリという仕組みが不可欠です。この記事を読むことで、リポジトリを追加する基本的な手法から、さまざまな応用例までマスターできるでしょう。 Linuxリポジトリとは Linuxリポジトリとは、Linuxディストリビューションがソフトウェアのパッケージを管理するためのオンラインのデータベースです。リポジトリを追加することで、更に多くのソフトウェアやツールを簡単にインストールできるようになります。 パッケージマネージャー Linuxには様々なパッケージマネージャーが存在しますが、主に「apt」、「yum」、「dnf」、「pacman」などがあります。これらはリポジトリからソフトウェアをダウンロード、インストール、アップデートする役割を果たします。 リポジト
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く