torutkのブログ

ソフトウェア・エンジニアのブログ

Java読書会「基礎からのServlet/JSP第5版」を読む会(第1回)

新しい本「基礎からのServlet/JSP第5版」 今月のJava読書会BOF主催のJava読書会は、「基礎からのサーブレット/JSP 第5版」を読む会(第1回)を開催しました。 最新のServlet 6.0/JSP 3.1に対応し、Tomcat 10.1とOpenJDK 21で動かしながら学んでいく内容で…

Java関連書籍「ソフトウェア設計のトレードオフと誤り」

正月休みの時にぶらっと本屋さんに寄った時に、Java読書会BOFの次の読書会の候補本になりそうかと買ってみました。 題名 「ソフトウェア設計のトレードオフと誤り」 著者 Tomasz Lelek, Jon Skeet 訳者 渋川よしき ら訳 出版 オライリー・ジャパン 2023年5月…

IntelliJ IDEA 2023.3 で Java 21 Preview機能を使う

IntelliJ IDEA 2023.3 と Java 21 先日リリースされた、IntelliJ IDEA 2023.3では、Java 21対応が完全サポートと謳われています。 9月に書いたブログ(下記)では、IntelliJ IDEA 2023.2.1でOpenJDK 21のPreview機能であるJEP 445 Unnamed Classes and Insta…

Java読書会「Practical Design Patterns for Java Developers」(第4回)を終えて

11月18日(土)に、Java読書会BOF主催のJava読書会「Practical Design Patterns for Java Developers」を読む会(第4回)を開催しました。 本日は、会場確保が出来なかったので、オンライン(Skype)で開催しました。 オンライン読書会の手段 Java読書会BOF…

Java読書会「Practical Design Patterns for Java Developers」(第3回)

Java読書会「Practical Design Patterns for Java Developers」(第3回)の予習 10月22日(日)は、Java読書会BOF 主催のJava読書会「Practical Design Patterns for Java Developers」を読む会(第3回)が開催されます。 今回は、第3章 生成に関するデザイ…

Java読書会「Practical Design Patterns for Java Developers」(第2回)を読む会を終えて

先月9月23日(土)に、Java読書会BOF主催の「Practical Design Patterns for Java Developers」を読む会(第2回)を実施しました。 今回は、進みが遅く、通常の半分ほどでした。今回の範囲は、デザインパターンの説明に入るための準備として、コアAPIの解説…

Java読書会「Practical Design Patterns for Java Developers」(第2回)を読む会

今週末の9月23日(土)は、Java読書会BOF主催の「Practical Design Patterns for Java Developers」を読む会(第2回)を開催します。 洋書ですが、電子版(PDF)を機械翻訳したものをベースに日本語で朗読していくので、英語の敷居はほぼ低いです。 (double…

Java 21で(ちょびっと)スクリプト風なプログラミング

OpenJDK 21でお手軽なJavaプログラミング(JEP 445, 430) 2023年9月にリリースされるOpenJDK 21では、Previewの位置付け(正式な機能としての搭載ではなく、今後のバージョンで正式搭載する機能の事前仕様・実装を仮搭載し、広く使ってもらいフィードバックを…

Java読書会「Practical Design Patterns for Java Developers」を読む会が始まります

今月からJava読書会「Practical Design Patterns for Java Developers」開始 Java読書会BOF主催のJava読書会は、今月から「Practical Design Patterns for Java Developers」を読み始めました。 洋書で266ページの分量です。 Packt Publishing の紙の本を買…

Java読書会「Java Memory Management」を読む会(第3回)開催

本日、Java読書会「Java Memory Management」を読む会(第3回)開催 ページ数が120ページと少ないこと、PDF版のGoogle翻訳で日本語朗読したことで、3回で読了となりました。 洋書でもPDF版が入手できると読書会の進行が日本語書籍並みになるのが良いですね。…

Java読書会「Java Memory Management」を読む会(第2回)

「Java Memory Management」を読む会(第2回)の予習 世代別ヒープ管理 若い世代(Young generation)は、さらにEdenと2つのSurvivor space(S0, S1)に分かれる S1がターゲット空間とする EdenのライブオブジェクトがS1にコピーされ、年齢が1にセット S0の…

Java読書会「Java Memory Management」第1回を実施して

Java読書会「Java Memory Management」を読む会(第1回)開催 5月20日(土)に、Java読書会BOF主催の「Java Memory Management」を読む会の第1回を実施しました。 洋書だけど Java読書会BOFでは、これまでに幾度か洋書を課題図書とした読書会を実施しました…

Java読書会「Java Memory Management」

今月からJava読書会「Java Memory Management」を読む会開始 Java読書会BOFは、5月の読書会から新しい本 Java Memory Management (Packt出版、2022年11月) の読書会を開始します。洋書ですがページ数が140ページほどです。 (参加者募集中、申込は上述のJav…

Cesiumのためのnode.jsとJavaScript環境

はじめに Webブラウザ上で3D地図表示を行うアプリケーションのためのJavaScriptフレームワーク Cesium JS があります。Cesium JSは、WebGLを用いてWebブラウザ上で描画するためのJavaScriptライブラリで、Cesium JSを利用して3D地図表示アプリケーションを開…

Java読書会「セキュア・バイ・デザイン」を読む会(第4回)開催

10月15日(土)、Java読書会BOF主催の「セキュア・バイ・デザイン」を読む会(第4回)を開催しました。 本日は、ドメイン・プリミティブの残り、Read-Onceオブジェクト(一度しか読み込めないオブジェクト)、エンティティの触りの部分(5章の途中から6章の…

ExcelからRedmineへのアクセス

はじめに Redmineで複数のプロジェクトを跨ってチケットを一覧し、状況の整理や自分の作業メモを記載したく、Excel上からRedmineにアクセスして情報を取ってくる方法を探してみました。 ExcelにRedmine情報をもってくる方法の調査 Redmineからチケット情報を…

Java読書会「セキュア・バイ・デザイン」を読む会(第3回)開催

本日、Java読書会BOF主催の「セキュア・バイ・デザイン」を読む会(第3回)を開催しました。 本日は、第4章安全性を確立する実装テクニックの4.1不変性(immutability)から読み始めました。 読書メモ クラスが可変となる設計をすると、排他制御が必要で完全…

Python tkinter GUIとmacOS 12 ダークモード

先日、macOS を 12(Monterey)にバージョンアップし、外観モードをダークに設定しました。 その後、PythonでGUIライブラリ tkinterを使ってみたところ、ラベルやボタンが正常に表示されなくなる現象が発生しました。 次の画面は、tkinterで、ラベルとボタンを…

Java読書会BOF「セキュア・バイ・デザイン」を読む会(第1回)

本日より、Java読書会BOF主催「セキュア・バイ・デザイン」を読む会開始 Java読書会BOF では、本日より新しい課題図書「セキュア・バイ・デザイン」 の読書会を開始しました。 Java読書会BOF開催実績 通算回数:279回目 書籍数:41冊目 本日の読書会メモ 本…

Visual Studio CodeのJava Extensionsでmodule対応を確認

Visual Studio CodeのJava Extensionsでmodule対応の確認 はじめに Visual Studio Codeは、クロスプラットフォームな開発環境で、数多くのプログラミング言語やファイル形式に対応した高機能エディタ+軽量IDE(統合開発環境)です。 特定のプログラミング言…

Redmine 5.0.0がリリースされていました

Redmine 5.0.0リリース 先月末の3月28日に、Redmine 5.0.0がリリースされていたことを知りました。 Redmine 5.0.0 リリース | Redmine.JP Blog 今回のメジャーバージョンアップでは、Rails 5.2から6.1への移行がなされ、合わせて Zeitwerkというオートロード…

転職3ヶ月経過

転職3ヶ月経過しました 昨年11月末に、29年勤務した会社を退職し、12月1日から宇宙分野の会社に勤務開始しました。スペースデブリの除去や衛星の寿命延命といったサービスをこれから手掛ける会社です。 新しい環境に適応するのは大変なことです。そこで、次…

macOS上でJava開発キット(OpenJDK)を使う

macOS上でOpenJDKディストリビューションを使う はじめに Javaプログラミングをするには、OpenJDKディストリビューションと呼ばれるJava開発キット(Java Development Kit)の中から適したものを選択しインストールします。 ここで、OpenJDKとは、GPLv2クラ…

macOS上でのバックスラッシュと円マークの違いにハマる

macOS上で文字は、バックスラッシュと円マークが区別される macOSは文字コードをUnicode(UTF-8)で扱います。プログラミングしているソースコードもUTF-8で扱われます。このUTF-8では、バックスラッシュ「\」と円マーク「¥」はそれぞれ別な文字として扱われ…

Scene Builder 17とWindowsインストーラー

Scene Builder 17のWindowsインストーラー 久々に、JavaFXの画面レイアウトツール Scene Builderを立ち上げ、[ヘルプ]メニューから[更新の確認]を実行したら、新しいバージョンがあるとのこと。そこで、Scene Builder 17のWindowsインストーラーファイル(MS…

Scene Builder 17とWindowsインストーラー

Scene Builder 17のWindowsインストーラー 久々に、JavaFXの画面レイアウトツール Scene Builderを立ち上げ、[ヘルプ]メニューから[更新の確認]を実行したら、新しいバージョンがあるとのこと。そこで、Scene Builder 17のWindowsインストーラーファイル(MS…

macOS上でのJava開発環境

macOSでJava開発キット(JDK)を入れる JDKの提供サイトからmacOS用のdmgファイルを入手して実行するのがオーソドックスなやり方です。 他には、Homebrewと呼ばれるソフトウェアのパッケージ管理ツールを入れて、Homebrew経由でJDKを入れる方法もあります。H…

初めてのテレワーク

初めてテレワークを実施した 先週12/1に転職し、3日間通勤しました。転職先はテレワークを導入しています。そこで、土日で疎通確認を実施して良好だったので月曜日は在宅勤務でテレワークを実施しました。前職ではテレワーク適用はない部署であったので、人…

MacBook を初めて使う

仕事で使うPCで、WindowsかMacかの選択肢が与えられた 転職し、この12月1日から新しい会社での勤務が始まりました。 貸与されるPCは、WindowsとMacから選択が可能でした。 今回、あえてMacを選択してみました。MacであればUNIXシェル環境が使え、いろいろな…

OpenJDKディストリビューション情報

OpenJDKディストリビューション情報を取得する OpenJDKコミュニティでオープンソース開発され、GPLv2クラスパス例外で提供されるOpenJDKソースをいくつかの組織がビルドしOpenJDKバイナリを提供しています。組織としては、Oracleを始め、Eclipseファウンデー…