マガジンのカバー画像

ENGINEER TECH BLOG

105
ウイングアーク1stのエンジニアによるテックブログです。 アーキテクトを担うITエンジニアメンバー(社員)が、かわるがわる「ものづくり」のナレッジやそのソース、TechのHow…
運営しているクリエイター

#java

2024年、ウイングアークエンジニアによるテックブログは続きます。

2024年、ウイングアークエンジニアによるテックブログは続きます。

皆様こんにちは!! ウイングアーク1stで、CTOに就任している島澤 です。2022年の夏からスタートしたテックブログも約2年、60以上のテック関連記事をnoteで公開できました。

昨年の出来事といえば、そんなテックブログを発信しているクリエイターのアーキテクトメンバーが集うイノベーションラボを、東京の秋葉原に2023年12月に開設しました。

ラボにはこのテックブログで執筆しているメンバーも常

もっとみる
初心者の時につまずいた除算の動作をJava言語仕様で確認

初心者の時につまずいた除算の動作をJava言語仕様で確認


あいさつに代えて7月末に福岡県に行ってきました。帰りに乗るはずだった飛行機が欠航になった為、代わりの飛行機に乗るまで半日時間が空くことになったので、JR博多シティにある映画館で過ごしました。
今回の画像は、映画館にある待合スペースの「トレインビュー」から撮影したものです。

Java言語仕様とはJava言語仕様(The Java Language Specification)とは、その名の通りJ

もっとみる
bluez-dbus を使って BLE デバイスを利用してみる

bluez-dbus を使って BLE デバイスを利用してみる

Bluetooth Low Energy (以下、BLE と略記します)のセンサーや機材からデータを取得することは多いのですが、今まで敢えて選択してこなかった Java を使っての実装機会があり bluez-dbus というライブラリを使いました。若干、悩ましいポイントがありましたので、使う上でのポイントを書きたいと思います。

はじめになぜ Java での実装を行ってこなかったかというと、私の守

もっとみる
改行とプロダクト品質について

改行とプロダクト品質について

こんにちは。watahiroです。今回はソースコードの改行について書きたいと思います。ソースコードの改行でまず思い浮かぶのはコーディング規約です。最近ではLinterやFormatterなどを活用してコーディング規約を自動的に適用することも多くなってきました。
ソースコードの改行はコード品質、特にコードの可読性の観点で語られることが多いように思います。可読性は人によって読みやすい書き方が異なるため

もっとみる
今日から使えるJava 9以降の新機能

今日から使えるJava 9以降の新機能

Java 8は2014年3月にリリースされました。
ラムダ式やStreamなど、それまでのプログラミングスタイルが一変するような数々の機能追加が行われた刺激的なバージョンでした。

時は流れて、2024年。
その間、リリースモデルも定期リリースサイクルに大きく変わり、3月末にはJava 22がリリースされました。

Java 9以降の変更はあまり追っておらず、IDEがサジェストしてきたコード見て「

もっとみる
Apache Commons VFS のすすめ (5)

Apache Commons VFS のすすめ (5)

はじめに今回は、独自のファイルシステムにアクセスする Commons VFS のプロバイダーの作成手順を紹介します。

Commons VFS を使用する場合、デフォルトではサポートしていないシステムにアクセスしたいときには、基本的に他の方が作成したプロバイダーを探して導入することが普通ですので、あまり役立たないかもしれません。

しかし、Commons VFS の内部処理を知ることで、どのように

もっとみる
Java21で正式リリースされた Virtual Threads に触れる

Java21で正式リリースされた Virtual Threads に触れる


はじめまして!ウイングアーク1stのとむです。
普段の業務ではJavaでWebアプリケーションの開発をしています。
初めての記事投稿ということで、最近Javaに正式追加された Virtual Threads について書きたいと思います。

Virtual Threads とはProject Loom として開発された、高スループットを実現できる軽量なスレッドの実装です。
詳しい背景などは JEP

もっとみる
Javaのログ出力ライブラリの選び方

Javaのログ出力ライブラリの選び方


あいさつに代えて先日、デブサミ2024に行ってきました。4年ぶりのオフライン開催で、行く前は「どんな感じになるのかな」だったのですが、会場に着いたら「昔と変わらないな」になりました。
今回の画像は、会場のベルサール羽田空港がある「羽田エアポートガーデン」の1階から外に出た所で撮影した空です。

Javaのログ出力ライブラリ、どれを選べば良い?運用を意識したログを出力する様に設計して、いざJava

もっとみる
ビット演算の話

ビット演算の話

10年近く前、圧縮したまま高速な検索ができるデータ構造(簡潔データ構造)が一部で流行しました。

私も業務で作ってみたのですが、処理を高速化するにあたって普段はあまり使わないようなビット演算の知識を仕入れたことを覚えています。

ビット演算の世界は奥が深く、コアな書籍が出ているお陰で手軽に(?)深淵をのぞくことが出来て面白いです。

コンパイラが優秀な現代において実用的かはさておき、少なくともパズ

もっとみる
Spring Boot+OpenAPI+Gradleで始めるJavaのスキーマ駆動Web API開発

Spring Boot+OpenAPI+Gradleで始めるJavaのスキーマ駆動Web API開発

今回はOpenAPIを使った開発手法として、Spring Boot(Java)でスキーマ駆動Web API開発を行う流れをご紹介します。

今回の構成フレームワークとしてSpringBoot

Java 17

ビルドツールはGradle

Spring BootSpring Bootとは

Spring Bootは、Javaプログラミング言語を使用してWebアプリケーションやマイクロサービスを開

もっとみる
Apache Commons VFS のすすめ (4)

Apache Commons VFS のすすめ (4)

はじめに今回は、独自のファイルシステムにアクセスする Commons VFS のプロバイダーを作成する手順を紹介します。

Commons VFS を使用する時、デフォルトではサポートしていないシステムにアクセスしたいときには、基本的に他の方が作成したプロバイダーを探して導入するのであまり役立たないかもしれません。

しかし、Commons VFS を使用する際、内部がどのようになっているのかを知

もっとみる
Spring WebFluxでブロッキング処理を呼ぶ場合に気を付ける事

Spring WebFluxでブロッキング処理を呼ぶ場合に気を付ける事


あいさつに代えて今回の画像は、7月22日に羽田空港近くの「HANEDA INNOVATION CITY」へ行った際に撮影した空です。飛行機が写るまで頑張ろう、と思ったのですが猛暑で断念しました。

Spring WebFluxとはSpring WebFluxとは、Spring Frameworkの一部で非同期・非ブロッキングのWebスタックフレームワークです。
サーブレットベースのSpring

もっとみる
Javassistとメモリリーク

Javassistとメモリリーク

何かと便利なJavassistですが、使い方によってはメモリリークが発生することをご存じでしょうか。今回はJavassistのメモリリーク回避方法を紹介したいと思います。

下準備まずはメモリリークの検証コードを実行する下準備をします。
今回はIntelliJで環境を構築しました。

プロジェクトの作成

IntelliJでプロジェクトを新規作成します。

言語:Java

ビルドシステム:Gra

もっとみる
picocliでJavaの引数処理を手軽に行う話

picocliでJavaの引数処理を手軽に行う話

あいさつに代えて今回の画像は、先日自宅近くで撮影した朝の空です。まさに雲一つない空ですね。まるで壁紙の様です。

picocliとはpicocliとは、Javaの引数処理を少ない手間で行うことができるライブラリです。実は前回の記事でも利用していました。
主な機能・特徴としては、次の通りです。

1ファイルで他のライブラリに依存しない

いろんな構文スタイルに対応

サブコマンドに対応

その他、豊

もっとみる