Java21がリリースされたので新機能の用途を考える(Sequenced Collections編)
はじめに # LTSであるJava21が2023/9/19にリリースされました。 Java21で追加された機能の動作を確認し、併せてその用途を考えてみました。 Java21で追加された新機能 # 以下の機能がJava21で提供されています...
記事を読む豆蔵デベロッパーサイト 2023年7-9月のサマリー
2023年度第2四半期のまとめです。 記事数・執筆者数 # この3ヶ月で50本の記事が公開され、トータル記事数は475になりました。公開ペースが持ち直してきて、新規に執筆してくれたメンバーも11名にのぼりました。これは後述の夏のリレー連載の効果です。 夏のリレー連載 # 夏のリレー連載を開催しました。7/24-8/10の期間にトータル14本の記事が公開されました。特にテーマは設けず、新規執筆者の参入を促すべく企画しました。 夏のリレー連載2023 営業職や新卒のメンバーも執筆デビューしました...
記事を読むAWS認定12冠達成レポート
こんにちは、庄司です。 9月23日に、AWS Certified: SAP on AWS – Specialty (PAS) 試験に合格しついに12冠を達成しました。 試験に向けての準備は、このサイトの別の記事「AWS認定資格を12個すべて取得したので勉強したことなどをまとめます」を参照してください。 この記事では、12冠に至る計画と実績の差や認定の利点について説明します...
記事を読むRAGを利用して国会会議録に基づいて質問に回答するLLMを作る方法
はじめに # こんにちは。デジタル戦略支援事業部の藤堂です。普段はデータ分析の業務に従事し、AI TECHチームでも活動をしています。 昨年末のChatGPTの登場以降、大規模言語モデル(LLM)の可能性が広く認識されるようになりました。これらのモデルは、インターネット上の膨大な情報を学習する能力を持っていますが、法律、医療などの専門的知識や、特定の企業や個人に関連する独自の情報には疎いのが現状です...
記事を読むOrbStack 1.0 付属の Kubernetes を試す
OrbStack 1.0 リリース # 6月の記事「OrbStack - macOS 専用の高速軽量なコンテナ & Linux VM 環境」で紹介した OrbStack ですが、1.0 がリリースされました。 OrbStack 1.0: Fast, light, easy way to run Docker containers and Linux --> Information価格も判明しました...
記事を読むSpring Expression Language(SpEL)ではできないことに抗ってみた~ラムダ式書きたい!複数ステップ書きたい!
背景 # Spring Expression Language(SpEL)とは # Spring Expression Language(以降は省略して「SpEL」と記載します)は、Spring Framework基盤を担う強力な式言語です。文字列テンプレートとしても機能します。Spring Frameworkを採用しているプロジェクトでは、何かしらかの形で触れる機会があるのではと思います...
記事を読むDeno 1.37 でリリースされた Jupyter Notebook の Deno カーネルを使う
はじめに # Deno 1.37 がリリースされました。このリリースの目玉は Jupyter Notebook の Deno カーネルでしょう。 Deno 1.37: Modern JavaScript in Jupyter Notebooks Jupyter Notebook で Deno をインタラクティブに利用することができます。 準備 # JupyterLab を事前にインストールします...
記事を読むAWSとGitHubを使ってみよう勉強会の資料公開します
筆者は日頃はとあるお客様の基幹システムを構築していますが、基幹システムは安定第一となるため、モダンな技術とは少し縁遠くなってしまいがちです。ただそれではダメだよねということで完全業務外の活動として「モダン」をテーマに毎年お客様と一緒に勉強会を行っています...
記事を読むStep CI をアプリケーション開発に適用してみた流れを紹介
はじめに # 小規模なアプリケーションを開発する機会があったので、以前、ココで紹介したStep CIを実際に適用してみたので、一例としてその流れを紹介します。 ※アプリケーションのスペックやコードはイメージを付けて頂きやすいように本書用に書き起こしたもので実際のものとは異なります。 アプリケーションスペック # 今回、適用したアプリケーションの概要は以下の通りです...
記事を読むAWS LambdaでAWS AppConfigのフィーチャーフラグを使う
アプリケーションの機能リリースでフィーチャーフラグ(またはフィーチャートグル)を使うことは結構多いかと思います。 このフィーチャーフラグの実装方法としては、単純に環境変数やパラメータで指定するものから専用のマネージドサービスを使うものまで幅広い選択肢があります。 AWSでもAWS Systems ManagerのAWS AppConfig(以下AppConfig)がこれを提供しています...
記事を読むGit BashとWSL2のプロンプトを揃えて気持ちよくする
Git BashとWSL2+Ubuntuの記事が続いたので筆者もその流れに乗ってGit BashとWSL2のTipsネタを紹介します。 たかがプロンプト、されどプロンプト # 筆者も日頃Windows TerminalのGit BashとWSL2上のUbuntuを良く使っています。WSLに入るときは使い慣れたGit Bashからwslコマンドを叩いてWSLに入るのですが、WSLに入ると当たり前ですがプロンプトはUbuntuの環境のものに替わります...
記事を読む対戦型ロボットゲームで楽しくJavaプログラミング学習「Robocode」(その1:準備編)
かなり昔、Javaのプログラミング教材として「Robocode」というオープンソースソフトウェアが公開されました。(Wikipediaによると初版は2001年に公開されているとのこと。もう20年以上も前ですね) 一時期はほとんど更新が止まっていたのですが、最近になって最新版が公開されていることを発見しました。 つい懐かしくなってダウンロードして遊んでみました。 Robocode とは # Robocode は、対戦型のロボットシミュレーションゲームです...
記事を読むWSL2上にUbuntu-22.04LTSを導入し、Dockerをインストールしようとしたら、いろいろとハマった件
仕事で Ubuntu + Docker を使うシーンが出てきて環境を構築したので、備忘録を兼ねて環境構築方法を記録しておこうと思います。 これまで何度も Ubuntu + Docker 環境を作ってきましたが、Windowsの WSL(Windows Subsystem for Linux)で Ubuntu + Docker 環境を構築するのは初だったので思った以上にハマってしまいました。 WSLのバージョン、Ubuntuのバージョンによって難易度が左右されることを思い知らされました...
記事を読むWindows Terminal で Git Bash を快適に使う
はじめに # 皆さんは Windows で Linux 系の CLI を使いたい場合、どういうツールを使っていますか? もちろん本物の Linux や macOS などを使えればいいのですが、作業用マシンが Windows 固定というケースもあり、何らかの環境が必要です。 Windows には WSL2 という Linux のための仮想環境があり、ネィティブに近い Linux の開発環境を構築できます...
記事を読むオンライン研修の設計勘所(その3:学習の見える化)
はじめに # 半年ほど空いてしまいましたが前回は学びを促進するストーリー展開に関して記載いたしました。 オンライン研修の設計勘所(その2:学びを促進するストーリー展開) 今回は「学習の見える化」について記載いたします。 オンライン研修になって、講師や受講生から以下のような声を聞いたことはないでしょうか...
記事を読むGoogle Apps ScriptのOIDCトークンを使ったAWSアクセス
庄司です。 6月28日に「Google Apps ScriptからAWSにアクセスするための署名の実装」という記事を公開しました。この記事で Google Apps Script で SigV4 による AWS へのアクセス方法を解説しました。 本記事では、Google で発行される OIDC トークンを使って一時的な認証情報を取得するコードを説明します...
記事を読むTerraformでのAmazon Aurora PostgreSQLのメジャーバージョンアップ手順
営業支援システム(Sales Support System)で実施したAmazon Aurora PostgreSQLのメジャーバージョンアップ手順について紹介します。 前提事項 # ここで紹介する手順では以下のことを前提としています...
記事を読むBlocklyによるビジュアルプログラミングの紹介
教育の現場ではプログラミング教育が必修となりましたが、プログラミング言語も日本語や英語と同じ言語ですので文法や単語を覚える必要があります。また、プログラミングが難しいと思われる原因の1つにキーボードでのキー入力があるかと思います。 ビジュアルプログラミング環境としてBlocklyが注目されています。 Blocklyはプログラムがテキストではなくブロックとして表現されています。極力キー入力せずにマウス操作でブロックを選択し、組み合わせることで直感的にプログラムロジックを構築できます...
記事を読む「スクラムの拡張による組織づくり」
こんにちは、庄司です。 7月に1回、8月にうっかりもう1回の合計2回、アマゾンで予約していた「スクラムの拡張による組織づくり」が届きました。つまり、2冊です (笑)。1冊は保管用にします。 スクラムは開発者、プロダクトオーナー、スクラムマスターが一体となって開発を進めます。コミュニケーションの複雑さを減らすために、チームは2枚のピザを分け合える程度の人数で構成することが良いとされています...
記事を読むHomebrew で導入した ZooKeeper の admin port を変更する方法
はじめに # ZooKeeper は分散システムにおいて構成情報の維持、同期処理、ネーミング、グルーピングなどのサービスを提供するソフトウェアです。 Apache ZooKeeper --> Informationネーミングの由来は Zoo (動物園)に由来しています。分散システムの調整は動物園を維持管理するように大変なタスクという意味なのでしょうか...
記事を読む