mike-neckのブログ

Java or Groovy or Swift or Golang

M2 MBP で OpenJDK の configure をすると 「XCode tool 'metal' neither found in path nor with xcrun」が発生する

前回のエントリーのあとにマシンを M2 MBP に更新したので、前回のエントリーで環境構築したところ、失敗したので、そのメモ。 mike-neck.hatenadiary.com エラーの発生 OpenJDK をクローンした後に、 bash ./configure --disable-precompiled-headers を実…

CLion で OpenJDK のコードを読むためのセットアップ

Mac OS 12.3 + CLion で読むためのセットアップ (1) GitHub から読みたい時点のコードをクローンしてくる. ghq 使ったので、次のコード. ghq get \ --shallow \ --branch 'jdk-19+25' \ https://github.com/openjdk/jdk.git (2) Makefile を生成する. precom…

セキュア・バイ・デザイン 3章前半

読書メモ、対象がでかいし、ダラダラ読んでたのであまりまとまってない 全般的にいわゆる DDD 本(エリック・エヴァンスの本)のエッセンスが提示されている章。議論はそれなりに花が咲きそうだけど、結論はエヴァンス本読めになりそう。以下は個人的におっと…

セキュア・バイ・デザイン 10章

クラウドによるセキュリティの原則を説明。その構成要素についても解説している。 クラウド的考え方によるメリット クラウドの提供する可能性(機能)を余すとこなく活用できる設計 12 Factor App Cloud Native 3 つの R(後述) 12 Factor App + PaaSでの稼働…

セキュア・バイ・デザイン 2 章

読書会に参加するので、まとめておくだけ 2.1 ビジネスルールの観点における完全性の問題 不正なデータ入力によって損失が発生してた 不正なデータに対するサブシステムの振る舞いが異なっている 2.2 浅いモデリング 最初にモデリングできたと思ったあとに深…

2021 年も終わりの近況

2021 年は何もできなかった。その多くはうつ病のためにやる気が無くなってたことが原因である。それは今も変わらない。 万年うつ病がひどくなったのは、仕事をさがしている間に何度か遭遇した突然連絡がとれなくなる企業のおかげである。 不採用にしたいんだ…

graalvm-native-image-plugin の v1.4.0 をリリースしました

表記の通り、 Gradle プラグインの graalvm-native-image-plugin の v1.4.0 をリリースしました。 plugins.gradle.org このリリースでは以下の機能が追加されました。 シェアードライブラリーをビルドする機能(Java11 以降のみ) 上記の機能追加に伴う、 nati…

graalvm-native-image-plugin を使用している際に、 The command line is too long というエラーメッセージが表示される場合の対応方法

Windows 環境にて、 graalvm-native-image-plugin を利用している際に、タイトルにあるようなエラーが発生することがあるようです。 github.com どのような形にするのが良いか解決方法を検討中ですが、一時的に回避する方法として、 jar の Class-Path アト…

graalvm-native-image-plugin の 1.3.0 にて SerializationConfigurationFiles オプションに対応しました

graalvm-native-image-plugin のバージョン v1.3.0 をリリースしました。このリリースでは、 native-image-agent で生成された serialization-config.json ファイルのマージ、 SerializationConfigurationFiles オプションのサポートを追加しました。以下の…

GraalVM の espresso を試してみただけの試したエントリー

みんな Java やってる? どーも mike です! GraalVM 編、第XX話は GraalVM のエクスペリメンタルなプロダクト espresso Java bytecode を Java の上で実行?! ついに、試してみたよ〜 それでは、スタート!!! (以上、最近お気に入りのユーチューバーの前…

「第6回Reactive System Meetup in 西新宿」にいってきた #reactive_shinjuku

家が近いので 第6回Reactive System Meetup in 西新宿 に参加してきた

Jigsaw でサービスプロバイダーを定義した場合には、 ServiceLoader は従来の引数なしコンストラクターに加えて provider という名前の static ファクトリーメソッドでオブジェクトを生成できる

ServiceLoader で provide というスタティックメソッドを持ったクラスからもインスタンスを取得できる

Java のモジュールと ServiceLoader その2 マルチプロジェクトで実験

Java9 のモジュールを利用すると `provide ... with ...` ディレクティブによって provider configuration ファイル(`META-INF/services/xxx.yyy`) を書かなくても `ServiceLoader` でインスタンスを取得できる

Java のモジュールと ServiceLoader

多分、日本で1,000,000番目に Java のモジュールシステムに詳しい人間になれた気がする— 引きこもり持田 (@mike_neck) 2021年2月18日 GraalVM の native-image で、 javac のネイティブイメージを作成した際に、 JavacTool(JavaCompiler の実装クラス) とい…

2020年に買ったもの

タイトルにある通り買ったものでわりとよく使っている(消費している)もの。 ちなみに家が狭いので 2020 年に買ったものはほとんどが 消費するものか kindle の書籍だった。

graalvm-native-image-plugin を GraalVM 20.3 に対応させました

少し前になりますが、 graalvm-native-image-plugin を最新の GraalVM 20.3 に対応させました。

Kotlin の基礎を身につけるための学習素材を作ってみた

プログラム書くの遅い人、 仕様が整理できてないか、 IDE を使い慣れてないか、言語の標準 API を覚えてないかのいずれかなので、勉強し直してきてください— 引きこもり持田 (@mike_neck) 2020年12月26日 Kotlin を使ったプログラムを書く場合には以下の要素…

Interface に対してプログラミングする

interface に対してプログラミングするのがベストプラクティスであるとする考え方が、 Java のプログラミングにあるようです。 依存関係を切断・逆転できて便利とか、インターフェースが変わらない限りは実装が変更されても利用するクラスは変更されないなど…

GraalVM 20.3 から TraceClassInitialization オプションの指定方法が変更になっていた

GraalVM 20.3 から TraceClassInitialization オプションが boolean 指定ではなく、 List 指定になっています。 そのため、 20.2 まで以下のようにオプションを指定していた場合、カンマ区切りの FQCN に修正する必要があります 〜 20.2 まで -H:+TraceClass…

java プラグインの compile/runtime Configuration が 6.8 の次の 7 からなくなるらしいです

タイトルにあるようなツイートを見かけたので、念の為に。 Heads-up folks, next Gradle version after 6.8 will be 7.0! Be ready...— Cédric Champeau (@CedricChampeau) 2020年12月10日 雑な訳 6.8 の次は 7.0 だよ、いいね Don't forget this version re…

JJUG ナイトセミナーでの初登壇で触れた Gradle の Java toolchain の実験

JJUG ナイトセミナー初登壇してきた(LT は除く)。 で、これはその補足。 最後駆け足で紹介していた最近の Gradle の情報で、 Java toolchain(6.7) improovements(6.8) を実際に試してみた なお、すでに Java toolchain についてはすでにいくつかブログが書か…

あなたの知らない Gradle の kotlin-dsl プラグイン

やんくさんに頼まれたので、誰かが書くだろうと思って待ってたけど誰も書かない Gradle の kotlin-dsl プラグインについて書きます。 @mike_neck mikeさんアドベントカレンダー書くネタあったりしませんか?https://t.co/ZDwmyBpbC0— やんく (@yy_yank) 2020…

ffmpeg で色のバランスを変更する

colorbalance オプションを指定して変更する このオプションの指定方法は次のパラメーターがある rs/gs/bs 一番小さい値を指定する(-1.0 〜 1.0) rm/gm/bm 真ん中の値を指定する(-1.0 〜 1.0) rh/gh/bh 最も高い値を指定する(-1.0 〜 1.0) このオプションに…

JetBrains の Compose for Desktop で build.gradle.kts でなく build.gradle を使う

どうも、 build.gradle.kts の良さがわからない老害おじさんです 標記の件、以下の通りにやれば動きます。多分 settings.gradle pluginManagement { repositories { gradlePluginPortal() maven { url "https://maven.pkg.jetbrains.space/public/p/compose/…

JJUG CCC 2020 Fall で jq の発表をしてきた

JJUG CCC 2020 Fall で jq の話ししてきたけど

人生初のダイエットやってみたら 2 ヶ月で 8 キロ弱減った件

表記の通り、ダイエット(と言っても大したことはしていない)をやってみたら、 8 キロ弱減った。 2ヶ月の散歩の成果です pic.twitter.com/CZtYSRrFOM— 引きこもり持田 (@mike_neck) 2020年10月24日 きっかけは健康診断で体重が 73 キロ(身長175cm) になって、…

GitHub Actions で PR を作るときの注意

.github/workflows 内のファイルを変更するときに、トークン secrets.GITHUB_TOKEN にはスコープ workflows が与えられていないので別途 workflows のスコープのついたトークンを用意する必要がある

jq のユニットテストフレームワークを作ってみた

jq

今度 jq をテーマにして JJUG CCC で発表するのですが、 jq のスクリプトに対するテストフレームワークはないのか探してみたところ見つけられなかったので、テストフレームワーク(フレームワークと言うには機能が足りないが…)を作ってみた。なお、見つけられ…

jq を shebang で起動する

jq

ファイルの先頭の shebang を記載する際に -f オプションを与えればよい #!/usr/bin/env jq -f .Contents

jq のバインディングオペレーターを使ったときの挙動が怪しいときに見るべきページはここ

jq

問題 === 次の jq スクリプトを実行したときの結果はどうなるか? ただし、 `jq` コマンドのオプションには `-n` と `-r` を与える。 ```jq (0, 1, 2) | . * 2 as $m | "[\(.) -> \($m)]" ```