文字コード これだけは覚えておこう ~シフトJIS編~
はじめに # 日頃、Javaの初心者からベテランまで様々なスキルレベルの方から質問を頂く立場で仕事しておりますが、Java言語を使用するうえで基本事項でありながらも、あまり理解されていない事柄があると感じています。これらの事柄については改めて誰かに質問できず、「そういうもの」として無理やり納得しやり過ごしている方がいるのではないでしょうか。ここではそのような事柄について改めて解説し、その理由を知ることで「だからこうするべき」、「だからこれはダメ」ということを理解する手助けになればと考えます...
記事を読む知ってちょっと得する?Javaの死語の世界
春ですね。会社や学校で新しくJava言語を覚え始める人も多いかと思います。今から始める人も多いそんなJavaですが歴史はそれなりに深いため、今では使われなくなった用語や別のものに置き換わった用語が未だにネットに出てきたりします。 Javaを昔からやっているおじさんな人たちはそんな昔の用語がでてきてもスルーしたり他の用語に脳内変換できたりしますが、始めたばかりの人はそうはいかないと思います...
記事を読む7歳娘「パパのサービスクラス、肥大化しそうだよ?」
とある休日の我が家 # ワイ「おいおい」 ワイ「ワイって天才とちゃうか?」 ワイ「(カタカタカタ...)」 ワイ「(ッターーーン!!!)」 ワイ「あ、死んだ」 娘(7歳)「パパ、今日は何してるの?」 ワイ「おお、娘ちゃん」 ワイ「今日はな、SpringBootでサービスクラスを実装するお勉強してねん」 ワイ「お題はシンプルにタスク管理ツールや!」 娘「わぁ、すごい!」 ワイ「ゲヘヘ///」 ワイ「せやろ〜?」 娘「ちょっと、見ても良い?」 ワイ「おお...
記事を読むEffective Java 第3版を読んで
これは豆蔵デベロッパーサイトアドベントカレンダー2023第25日目の記事です。 はじめに # BS第二グループの中垣内と申します。今回は、先輩社員からおすすめしていただいた書籍「Effective Java 第3版」読み、自分の現場での開発経験と照らし合わせて考えたことを寄稿させていただきます。本書に書いてあることはどれもJavaで開発を行う上でためになることばかりなのですが、今回はその中でも個人的に特にためになった・学びになったと感じたことをピックアップして紹介させていただきます...
記事を読むCDI 4.0 Lite - Build compatible extensionsをサンプルで理解する
これは豆蔵デベロッパーサイトアドベントカレンダー2023第4日目の記事です。 JakartaEE 10がリリースされてから1年が経ちますが、JakartaEE 10から導入されたCDI 4.0 LiteのBuild compatible extensionsに関する情報は未だにほぼ皆無といっていい状況です...
記事を読む対戦型ロボットゲームで楽しくJavaプログラミング学習「Robocode」(その2:ゲームルール編)
前回の「Robocode」の紹介記事を書いてから約2ヶ月も間が空いてしまいました。申し訳ありません。 今回は Robocode のゲーム内ルールやバトルフィールド(戦場)、 Bot(戦車)構造を解説していきたいと思います。 ゲームのルール # 「Battle」-「Setup Rules」をクリックします。 ゲームのルールを確認します。(詳細はこちら) 詳細を説明していきます...
記事を読むJava21がリリースされたので新機能の用途を考える(Sequenced Collections編)
はじめに # LTSであるJava21が2023/9/19にリリースされました。 Java21で追加された機能の動作を確認し、併せてその用途を考えてみました。 Java21で追加された新機能 # 以下の機能がJava21で提供されています...
記事を読むAWSとGitHubを使ってみよう勉強会の資料公開します
筆者は日頃はとあるお客様の基幹システムを構築していますが、基幹システムは安定第一となるため、モダンな技術とは少し縁遠くなってしまいがちです。ただそれではダメだよねということで完全業務外の活動として「モダン」をテーマに毎年お客様と一緒に勉強会を行っています...
記事を読む対戦型ロボットゲームで楽しくJavaプログラミング学習「Robocode」(その1:準備編)
かなり昔、Javaのプログラミング教材として「Robocode」というオープンソースソフトウェアが公開されました。(Wikipediaによると初版は2001年に公開されているとのこと。もう20年以上も前ですね) 一時期はほとんど更新が止まっていたのですが、最近になって最新版が公開されていることを発見しました。 つい懐かしくなってダウンロードして遊んでみました。 Robocode とは # Robocode は、対戦型のロボットシミュレーションゲームです...
記事を読むJava用モック・フレームワーク「Mockito」を使ってみる(その3:テストケースをまとめる編)
前回は「Mockito」でvoid型メソッドをモック化する方法について解説しました。 今回は「複数のテストケースを1つのテストケースにまとめる」方法について解説したいと思います。 テストケース数が多くなりすぎた時 # これまで使用してきたサンプルプログラム「FooController」と「BarSensor」の仕様を再度確認します。 「BarSensor」の仕様: 対象物との距離を測定する「scan」メソッドを持つ。戻り値はInt型...
記事を読む