Javaで、プラットフォームスレッドだとmainメソッドが終わってもスレッド終了を待ってくれるのに、仮想スレッドだとmainスレッドが終わると仮想スレッドの処理が途中でもプロセスが終わるの何でだろうな、と思った話。 こういうコードを動かします。 void ma…
Java 25ではSoundClipで手軽に音声ファイルの再生ができるようになっています。 SoundClip (Java SE 25 & JDK 25) で、ゲームに効果音をつけてみると、なんかそれっぽくなりました。 Java 25のSoundClipで効果音をつけたら、なんかちゃんとしたゲームっぽく…
Java 25が昨日9/16にリリースされています。新機能まとめはこちらです。 Java 25新機能まとめ #OpenJDK - Qiita その中で、javax.sound.SoundClipというクラスが新設されています。 次のようにしてWAVファイルを再生できます。 var file = new File("sound.w…
技評さんのサイトで「JavaでAIプログラミングをはじめよう」という短期連載をやってました。 LLMを動かして接続してRAGやMCPも組んでひととおりやってみるという連載になってます。 JavaでAIプログラミングをはじめよう 記事一覧 | gihyo.jp ● 初回は、LM St…
Java EEはOracleの元を離れてEclipse財団に寄贈されJakarta EEになりました。 このJakartaという名前は、Apache財団でのJava系プロジェクトを管理するプロジェクトの名前で、TomcatやMavenなども最初はJakartaの下にありました。 略称がJEEになるような名前…
Qiitaのほうに「Java 23新機能まとめ」を書きました。 Java 23新機能まとめ #OpenJDK - Qiitaはてなブックマーク- Java 23新機能まとめ #OpenJDK - Qiita
Chicoryを使うとJVM上でWebAssemblyを動かせるということで、RustからWebAssemblyにコンパイルしたコードを動かしてみます。 このときはRustをLLVMビットコードにしてGraalVMで動かしていましたね。 GraalVMでRust動かしたりレイトレをネイティブコンパイル…
LINEヤフーから日本語CLIPが出ていたので、どうやって使うんだろうと試してたら、なんかめちゃくちゃ便利な画像検索ができてしまいました。 clip-japanese-basic LINEヤフーの日本語CLIP、clip-japanese-baseはこちらで紹介されています。 高性能な日本語マ…
PythonでWeb APIを実装するFastAPIというのがあって、次のようにやればなんかサーバーがたつ。 import uvicorn from fastapi import FastAPI app = FastAPI() @app.get("/hello") def hello(): return "hello" uvicorn.run(app, host="0.0.0.0", port=8000) …
ZK、JSFとコンポーネント型フレームワークをやってきたので、Vaadinもやっておきます。 https://vaadin.com/ 典型的な画面パターンが用意されたアプリケーションビルダーも用意されているので、ベースにできます。 このアプリケーションビルダーもVaadinで作…
JSF(Jakarta Faces)をTomcatで試すメモ 「Jakarta Faces」って長いので、ここではJSFって書きます。 Tomcat用のプロジェクトがあるとして追加する、って感じで書くので、基本的な構成は省略。 Tomcat 10.1.24で試してます。 https://tomcat.apache.org/downl…
ZKという、コンポーネント型のWebフレームワークがあって、ちょっと面白そうなので試してみた。 https://www.zkoss.org/ コンポーネント型なのでJSFが近い。 とりあえず始め方がここにいろいろある。 https://www.zkoss.org/wiki/ZK_Installation_Guide プロ…
ま、このくらい知っておいてもらわないと&とりあえずこんだけ知ってればだいたいの処理が書けるクラス・インタフェースをまとめてみました。2024年版。 詳しく知りたい人は「プロになるJava」を! java.lang.Class java.lang.Exception <- new java.lang.Int…
というブログを書こうとしたら、すでにあった。 Dependency Injectionでやりたいことはモジュールimport - きしだのHatena 依存性の注入って要するにimportなので。 まず、DIコンテナを実装してみるとどういうものかがわかりやすくなります。 このときの結論…
Jupyter for JavaというのがInfoQで紹介されていたので試してみました。 Java News Roundup: JDK 22, Spring CVEs, Liberica JDK, JDKMon 21, Jupyter for Java, Gradle 8.5 Jupyter notebookでJavaを使うためのいろいろをまとめたGitHub organizationらしい…
Javaでは文字数をlength()で数えることができます。 1996年にJavaが出てきた当初は「半角も全角も1文字に数えれて便利だなー」などと思っていたわけです。 けれども、同じ1996年に策定されたUnicode 2.0で2文字分のコードを使って1文字を表すサロゲートペア…
OpenXavaという、JPAエンティティだけ定義すればCRUDな画面を作ってくれるローコードフレームワークがあるので、試してみました。 Javaわかる人には手軽に使えてよさそう。 https://www.openxava.org/ OpenXavaプロジェクトの作成 Maven Archetypeが用意され…
サーブレットで面倒なのはTomcatとの付き合いです。 Spring BootでSpring Webを使うと組み込みTomcatが動くので、Tomcatのことを気にしなくてよくなりますね。 そこでサーブレット動かすと勉強しやすいんでは、と思ったので試してみます。 まず、spring init…
研修がはじまるという画像でサーブレットJSPの本が並んでて、サーブレットを最初に勉強させるのをやめてあげてほしいと思った話。 オブジェクト指向もそうなんだけど、現状で使わなくなっているにもかかわらず情報更新がされずオブジェクト指向やサーブレッ…
みなさん、今日もパブリックスタティックヴォイドメインしてますか? ジャバと言えばパブリックスタティックヴォイドメインですよね。 最近はIDEでmain[tab]と入力すれば補完してくれるとはいえ、コードを読むときには目に入ってきたりしますね。 そんなパブリックスタティックヴォイドメインの呪文から…
リクルートスタッフィングさんのメディア、itstaffing エンジニアスタイルでJavaの連載をはじめました。 知っておきたいJavaの話:Javaとは何か? - itstaffing エンジニアスタイル ある程度Javaを使えるけど最近の事情を追ってないなぁという人にむけて、い…
Java 16でVector APIがIncubatorとして追加されたけど、IDEでの利用方法がなかなかネットにないので、まとめ。 Mavenプロジェクトを前提に。 pom.xmlの/project/build/pluginsの下にコンパイラプラグインを追加。 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-</artifactid></plugin>…
こちらにまとめています。 Java 20新機能まとめ - Qiita
OpenAIでGPTを使ったAPIにembeddingというのがあって、これを使うと文章同士の距離がとれるので、近いエントリを取得したり文章から検索したりができるということで、試してみました。 思いのほかちゃんと動きました。おそらく、GPTで一番実用的なんじゃない…
某オープンチャットでPOIを使わずにExcelファイルをダウンロードという質問が来ていて、まあそこでは「POI使いましょう」ってなったのだけど、結局XMLファイルなので出力対象が決まってればそんなに難しくないのではと思ったのでやってみました。 流れとして…
ChatGPTは2021年9月までのWebテキストで学習しているので2022年の知識を持っておらず、ワールドカップ2022年大会の優勝者を知らなかったりします。 BingではWeb検索と組み合わせることで解決しているので、それを自分で作ってしまえばいいのでは、とやってみ…
指定したURLの記事本文を取ってくる処理がほしいなぁと思って、しかしいろいろ考えるのは面倒と思ったけど、少なくともJavaで簡単に使えるものがなさそうなので実装した。 参考にしたのはこちら。 HTMLからの本文自動抽出 - アドファイブ日記(ミラー版) テ…
JobRunrという、バッチ処理とかバックグラウンドタスクとかを試してみたんだけど、よくわからない・・・ https://www.jobrunr.io/en/ dependencyにはjobrunrと、あと何かJSONパーサーを入れます。ここではjacksonにしてますが、GSONかyassonでもいいぽい。 <dependency> <groupId></groupid></dependency>…
昨日のエントリでは歌詞と画像を生成したのだけど、歌詞を生成する部分のプロンプトを変えて、エンジンにCodexを使うとコードを生成できます。 GPTを呼び出す部分はこんな感じ String prompt = "//Java\n" + text.getText().trim().lines() .map("// %s%n"::…
やっぱ自分でもさわってみんとあかんということで、OpenAIを使ったプログラムを書いてみました。 とりあえず、テキストと画像を生成します。 JavaのAPI使ってみます。中身はRetrofit。 https://github.com/TheoKanning/openai-java MavenやGradleでこんな感…
楽しく仲よくTwitter:きしだൠ @kis
プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書
引用をストックしました
引用するにはまずログインしてください
引用をストックできませんでした。再度お試しください
限定公開記事のため引用できません。