JSDoc(+Docdash)を使ったMarkdownによるドキュメント生成術
これは豆蔵デベロッパーサイトアドベントカレンダー2024第9日目の記事です。 私は打合せ時のメモ書き・TODOリスト・技術メモなどはMarkdownで記述しています。Gitリポジトリのルートフォルダ(トップページ)のREADMEやこの文書もMarkdownで記述しています。またタスク管理ツールもMarkdownに対応するものがあります。 テキストはplainテキストよりもMarkdownで記述している方が多いです...
記事を読む「AWS Certified Machine Learning Engineer - Associate Beta」を受験してAWS認定資格全15種取得してきた
これは豆蔵デベロッパーサイトアドベントカレンダー2024第6日目の記事です。 はじめに # 先日、「AWS Certified Machine Learning Engineer - Associate Beta」を受験しましたので、準備したことや感想などをまとめました。 --> Information秘密保持契約(NDA)があるため、詳細な試験内容については触れることができませんので、ご了承ください...
記事を読む駆け出しスクラムマスター Stage3 スクラムは私生活に通ずる!?
これは豆蔵デベロッパーサイトアドベントカレンダー2024第5日目の記事です。 はじめに # スクラムマスター兼2児の母、亀井です。 冒頭に書いた通りプライベートでは母をしておりまして、日々の中で子供たちと相対しながらの家事育児に追われています。 その中で、家事育児の進み具合や家族内のやりとりや関係性など様々なことに「これ、スクラムやん」と感じるほど私の脳がスクラム脳になりつつあります...
記事を読むOpenAI の Swarm でエージェントオーケストレーションの仕組みを理解する
これは豆蔵デベロッパーサイトアドベントカレンダー2024第4日目の記事です。 2025年に飛躍しそうなAI注目技術と言えば、エージェント機能が代表格です[1]。 最近でも、AnthropicがComputer Useと呼ばれるAIでPCを直接操作するAIエージェントを公開(ベータ版[2])して話題を集めました。 一方で、追随するOpenAIやGoogle等のAIベンダーでも自律型のエージェント機能を順次リリースする予定で大きな期待(と倫理的な懸念)を集めています...
記事を読むミューテーションテストの技法でテストの十分性を評価する
これは豆蔵デベロッパーサイトアドベントカレンダー2024第3日目の記事です。 以前の記事でミューテーションテストについて軽く紹介しましたが、具体的な手法については紹介できていませんでした。そこで今回は以前の記事で利用してきた「よくあるサンプルアプリ」を題材にして[1]Javaの開発プロジェクトにミューテーションテストを組み込んでみます...
記事を読む脱TeraTerm、便利で簡単な「RLogin」を使ってみよう。
これは豆蔵デベロッパーサイトアドベントカレンダー2024第2日目の記事です。 はじめに # WindowsでAWSのEC2やAzureのVMなどの仮想マシン等の操作をする際に、皆さんはどのターミナルソフトを利用されていますか? 多種多様なターミナルソフトがありますが、「TeraTerm」は利用した経験がある人は非常に多いかと思います。筆者もIT業界に入ってからTeraTermを利用していましたが、使いづらさを感じていました...
記事を読むEasyMockの基本的な使い方の備忘録
内製化支援などの案件で実装初心者の方にレクチャすることがあるのですが、テストの実装は皆さん躓きやすい部分です。単体テストでもモックオブジェクトを使ったりしてなおさら難しい。それらに関しては外部のライブラリなのでJavaの講座でもやらなかったりします。 というわけでそのようなライブラリの中でも以前の案件でよく使われていたEasyMockについて、大体カバーできるかなという使い方をおさらいしようと思います...
記事を読むAWS AppSync Events でリアルタイム配信を試してみる
先月末にAWS AppSyncに新しいAPIが導入されました。 https://aws.amazon.com/jp/blogs/news/announcing-aws-appsync-events-serverless-websocket-apis/ AppSyncといえばGraphQLのマネージドサービスでしたが、新しくWebSocketベースのEvent APIという選択肢が追加されました。 Event APIはWebSocketベースなので、イベント発行は即時にクライアント側で受信できます...
記事を読むFargateのTIPS
こんにちは、AWS認定インストラクター[1]の庄司です。 11月2日「JAWS-UG金沢支部×コンテナ支部合同企画 物理コンテナ見ながらコンテナ勉強会!」が金沢港で開催されました。 金沢は2000年問題対応でしばらく住んでいたお気に入りの地です。そのこともあり、今回応募しFargateについての話をする機会を得ました。 この記事では、当日の発表で使ったスライド「Fargateを使った研修の話」の内容を説明します...
記事を読むAWS小ネタ - 裏技!?AWS CloudShellで操作ユーザーの資格情報を簡単にゲット!
はじめに # AWS CloudShellは、インフラ作業用の踏み台サーバーとして活用できる機能を取り揃えており、お手軽で便利です。さらに便利な裏技として操作ユーザーの資格情報を簡単に取得できますのでご紹介します。 CloudShellの裏技 # すごく簡単です。CloudShellで以下の通りにコマンドを実行するだけです...
記事を読むJJUG CCC 2024 Fallにいってきました
昨日(10/27)にベルサール新宿グランドで新宿行われたJJUG CCC 2024 Fallにいってきました。筆者はかなりの出不精なのでオフラインイベントはあまり参加しないのですが、今回はどうしても聞きたいセッションがあったので朝一から参加しました。今回のその中から興味深かったセッションをいくつか紹介したいと思います。 なお、内容はレポートというよりホボ筆者の感想文です。その点はあらかじめご承知のほどを。現時点で登壇資料が見つけられたものはそのリンクもつけておきます...
記事を読むSpringの小話 - RestClientのテストもRANDOM_PORTでやりたい!
今回の小話はRestClientを使ったテストについてです。TestRestTemplateだったら何も悩むことはなかったのにRestClientではどうすればいいの?という方は是非読んでいただければと思います。 --> Informationこの記事はSpring Boot 3.3.5で動作を確認しています。記事で説明したコードはGitHubのこちらに一式アップしています...
記事を読むCodeBuild + ECR + AWS BatchでAWS Lambda Pythonレイヤー作成
背景 # AWS Lambdaの対応言語の中でもPythonはコード実行までの手間と学習コスト的にもお手軽で利用率が高いようです。私の主要言語はJavaなのですが、手っ取り早くLambdaを使いたいときは不慣れであってもお手軽なPythonを使いたくなります。 そして、Lambdaで外部ライブラリの力を借りたくなった時はレイヤーというものを用意する必要があります。AWSが予め用意してくれているレイヤーで事足りればよいのですが、そうではない場合は自前でレイヤーを用意しなければなりません...
記事を読むWarpStream - Confluent が獲得した Kafka 互換のデータストリーミングプラットフォーム
はじめに # WarpStream は Apache Kafka 互換のデータストリーミングプラットフォームです。 S3 などのオブジェクトストレージとシングルバイナリのエージェントだけで構成され、AZ(availability zone) 間のネットワーキングコストなし、ディスク管理不要、高いスケーラビリティを特徴とします...
記事を読むSpringの小話 - Spring Bootを3.3系にBumpしたらLogback-accessが動かなくなった
個人的に育てているアプリのSpring Bootのバージョンが3.2系のままだったので、直近の最新の3.3.4にしたら Logback-access が動かなくなりました。一周遅れのバージョンアップなので、ググればすぐ解決方法は出てくるだろうなと思っていたらネットに情報はなく、そこそこ苦労したので、今回はこのネタを共有したいと思います...
記事を読むGradle Wrapper が利用できない時の VS Code Gradle 拡張設定
はじめに # Gradle Wrapper や Maven Wrapper はシステムに Gradle や Maven がインストールされていなくても必要なバージョンのバイナリ本体をダウンロードしてくれるので便利です。 Gradle のバイナリ本体は service.gradle.org/distributions/gradle-8.xx.x-bin.zip のような URL で配布されており、社内などアクセス制限がある環境では、ダウンロードに失敗してビルドエラーになります...
記事を読むOpenAI の Realtime API を使ってAIと音声会話するWebアプリを実装してみる
今までOpenAIのRealtime APIを使ってCLIベースの音声会話スクリプトを作成しました。 新登場の OpenAI の Realtime API でAIと音声会話する OpenAI の Realtime API で音声を使って任意の関数を実行する(Function calling編) このスクリプトは音声変換ツールのSoX(Sound eXchange)のおかげで簡単に実装できましたが、やっぱりWebアプリも作ってみたいですね...
記事を読むSpringの小話 - ConfigurationPropertiesにrecordクラスを使ってみた
Java16でrecordクラスが正式化されてからそれなりに時間が経ち、今ではすっかり普通に使われるようになりました。筆者はデータクラスの実装にLombokを使っていますが、そろそろ若干の後ろめたさを感じてきました。そんなこともあり重い腰をやっと上げ、Spring Bootの@ConfigurationPropertiesのバインドクラスをLombokからrecordクラスにまずは変えてみました。今回はそこで得たrecordクラスの利用法や使用感を紹介したいと思います...
記事を読む【devcontainer完全ガイド】DockerとWSLで最強のイマドキ開発環境を手に入れよう!
--> この記事で紹介すること devcontainerをローカルで構築します devcontainerをリポジトリに組み込めば、誰でも同じように環境再現できるようになります devcontainerとWSLとGitの連携 Dockerの勉強の一環にもなります その他devcontainerのノウハウ はじめに # みなさんDocker活用してますか CI/CDでDocker Imageを使うのはもちろんですが、やはりコンテナの有用性は...
記事を読むOpenAI の Realtime API で音声を使って任意の関数を実行する(Function calling編)
つい先日OpenAIのRealtime APIを利用した以下の記事を書きました。 新登場の OpenAI の Realtime API でAIと音声会話する ここではCLIベースの超簡単会話ツールを作成しました。 Realtime APIはChat Completion API同様にFunction callingにも対応しています。これを利用すると音声でも任意のAPIを実行できるようになります。 今回はこれを試してみます...
記事を読む