2024-01-01から1年間の記事一覧

「Java Webフレームワークの現状」でJJUG CCC 2024 Fallで登壇してきました

JJUG CCC 2024 Fallで「Java Wevフレームワークの現状」というタイトルで登壇してきました。 漠然としていたところが整理されてよかった、という感想が多かったので、いい話だったっぽい。 Java Webフレームワークの現状 / java web framework - Speaker Dec…

「Java 23新機能まとめ」を書きました

Qiitaのほうに「Java 23新機能まとめ」を書きました。 Java 23新機能まとめ #OpenJDK - Qiitaはてなブックマーク- Java 23新機能まとめ #OpenJDK - Qiita

WebAssemblyにコンパイルしたRustコードにJavaインタフェースをマッピングする

Chicoryを使ってRustをコンパイルしたwasmをJavaから呼び出してみました。 JVMでWebAssemblyにコンパイルしたRustのコードを動かす - きしだのHatena ただ、結構呼び出しがめんどいので、Javaインタフェースを定義したらなんかメソッド呼び出しで使える、と…

ITが面白い時代はすでに終わっているし変化も遅くなった

ITはもう面白くなくなってますね。 技術が面白いときには、いろいろ新しいものが出て性能あがったりできることが増えたりします。調べたらどんどん新しいものが出てくるし、新しいものもたくさん作るし、面白い。ですが、IT技術は一通り出そろって、成熟期に…

JTCは英語の「正しい」語順としてもJTCじゃないんだろうか

JTC、つまりJapanese Traditional Companiesのことですが、英文法チェッカーが「Traditional Japanese Companiesでは?」みたいな指摘をしてきたり、TJCのほうが正しいという話がありますね。 英語の文章でどのような語順で出てくることが多いか数えてTJCの…

JVMでWebAssemblyにコンパイルしたRustのコードを動かす

Chicoryを使うとJVM上でWebAssemblyを動かせるということで、RustからWebAssemblyにコンパイルしたコードを動かしてみます。 このときはRustをLLVMビットコードにしてGraalVMで動かしていましたね。 GraalVMでRust動かしたりレイトレをネイティブコンパイル…

ソフトウェアの「詳細設計書」とはなんなのか

「設計書」というのは、作るものの構造を抽象的に表現したものと言うことができます。 ただ、ソフトウェアの抽象化の仕組みはプログラミングコード自体に備わっているので、ソフトウェア生成可能な抽象的表現というのはコード表現ができるはずですね。コード…

プログラミングが設計作業であるという話

いわゆる「ソフトウェア設計書」が設計ではなく、ソースコードが設計であるという話。 随筆です。考えマトメ中なので、ツッコミはそのあたり踏まえていただければ。 追記:ブコメに「設計の定義は?」とあったので末尾に追加しています。 追記(2024/8/15):…

「プロになるJava」補足記事まとめ

「プロになるJava」の補足記事のまとめです。 練習問題の答え 「プロになるJava」 第2部「Javaの基本」の練習問題解答 - きしだのHatena 「プロになるJava」 第3部「Javaの文法」の練習問題解答 - きしだのHatena 「プロになるJava」 第4部「高度なプログラ…

データ構造の処理のパターンとStream

データ構造の処理のパターンとして「プロになるJava」の「10章データ構造の処理」「値の集合の処理のパターン」では新しいListを作るものと個数を数えるもののふたつを紹介していますが、追加でもうふたつ。 データ構造の処理の例 条件に合う要素全てが別の…

ブラウザがあれば使える開発環境GitHub CodespacesでJava、Spring Boot、データベースを試す三部作

ブラウザが動けば貧弱なパソコンやタブレットでも開発ができるGitHub Codespacesで、Javaを試してSpring Bootを試してデータベースを試すという三部作、まとめておきます。 「プロになるJava」の補足という感じで書いてますが、GitHub Codespacesがどんな感…

SQLのJOINとGROUP BYを試す

リレーショナルデータベースではテーブルを結び付けるJOINが大事なのですが、「プロになるJava」ではページの都合で取り上げていなかったので補足。 追記 2023/8/11: H2コンソールでは自動でデータベースは作成されないので、とりあえずコードを追加していま…

GitHub CodespacesでSpring Bootの開発を始める

手元に弱々なPCしかなくてもブラウザ上でいい感じに開発できるGitHub CodespacesでSpring Bootの開発を行う手順。 「プロになるJava」をCodespecesでやるなら、という想定で書いてます。 ここからの続き GitHub CodespacesでJava開発を始める - きしだのHate…

GitHub CodespacesでJava開発を始める

手元に弱々なPCしかなくてもブラウザ上でいい感じに開発できるGitHub CodespacesでJavaを使いたい場合の手順。 「プロになるJava」をCodespecesでやるなら、という想定で書いてます。 Cpdespaceの用意 https://github.com/codespaces にアクセスして「Blank…

JacksonとRetrofitで郵便番号APIを呼び出す

「プロになるJava」の補足的記事。 JSONはデータ交換で広く使われる形式で、機械にも人間にも読み書きしやすいということでよく使われています。 ということでJSONを扱うライブラリを使ってみましょう。 jp-postal-code-api 今回、扱うJSONとしては郵便番号…

Javaオブジェクトを永続化させるEclipse Storeがよさそう

Eclipse Storeというのをみつけて、これはJavaオブジェクトを永続化するものなのだけど、トランザクションもあったりPostgreSQLなどのDBをバックエンドにできたり結構よさそう。 https://eclipsestore.io/ MicroStreamがEclipseに寄贈されてオープンソース化…

有名人の訃報が続くのは、いまの85歳世代からテレビの時代がはじまったからでは

「のび太」の声優を長くつとめた小原乃梨子さんが7/12に亡くなったことが23日に発表され、今日29日には「花沢さん」や ちびまる子「山田くん」の山本圭子さんが4/18に死去してたことが発表された。 毎日のように有名人の訃報が続くので、これは何かあるので…

2024年上半期気に入ったマンガまとめ -島耕作とか-

雑誌やらで読んでるマンガは気に入ってても忘れてしまいがちなのでメモ 島耕作 これは現代産業史という感じでいいですね。 あと、取締役とか何してるんだろーというのがわかっていい。 ただ、会長になると本業でのドラマがなくなって、取材した話のまとめの…

建築では多重下請けでやれてるのに業務システムでだめなのはなぜ?

建築では多重下請けでやれてるのに業務システムでだめなのはなぜ?という質問がブコメであって、似たような話もいくつか見かけたのですが、建築などの施工図面に相当するのはソースコードで、建築現場で多重下請けでやってる作業は、ソフトウェアだと(でも?…

多重下請けでは構造的にいいソフトウェアが作れない

多重下請けではエンジニアが育たないという話を前回のブログで引用していたのですが、そもそも多重下請けではまともなソフトウェアは開発できないんではないかという気持ちになりました。 多重下請けでは、上位受け会社の「SE」が「設計」を行い、下位受け会…

日本のSIerの技術力の低さの要因から考えるアメリカソフトウェアの強さ

この連休はなんだかSIerについて考えることが多かったのですが、そういうことを考えると、なぜアメリカのソフトウェアが強いのかがわかってきた気がします。 まず、もちろんSIerの技術力が低いといっても技術力が高いSIerもいるわけで、とくにこのブログを見…

Open SoraをGoogle Colabで動かして高速動画生成

AI

さて、おうちで動画生成は難しいという結論になりました。 Open Soraを使っておうちのWindowsで動画生成する - きしだのHatena ということで、GPUサーバー借りてやるのがいいのではと、Google Colabで試してみました。それなりに動画が生成できたので、末尾…

Open Soraを使っておうちのWindowsで動画生成する

AI

Open-Soraという、オープンな動画生成モデルのバージョン1.2が6/17に出ていたのでWindowsで試してみました。 GPUメモリほしい。 GitHub - hpcaitech/Open-Sora: Open-Sora: Democratizing Efficient Video Production for All Open-Soraのアーキテクチャとか…

「いいね」による名誉毀損「いいね罪」はなりたたなくなった?

X(Twitter)で他人の「いいね」が見えなくなりましたね。 ということは、以前話題になった「いいね罪」は成り立たなくなったってことですね。 「いいね罪」というのは、誹謗中傷している第三者ツイートに多数「いいね」したことが名誉毀損の不法行為とみなさ…

日本語CLIPを使って画像検索を作ったら素晴らしすぎた

LINEヤフーから日本語CLIPが出ていたので、どうやって使うんだろうと試してたら、なんかめちゃくちゃ便利な画像検索ができてしまいました。 clip-japanese-basic LINEヤフーの日本語CLIP、clip-japanese-baseはこちらで紹介されています。 高性能な日本語マ…

PythonのFastAPIにJavaのHttpClientから接続しようとするとupgradeできないというエラーになるのでHTTP 1.1を指定する

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) …

flash_attnをWindowsにインストールするためにやったこと

MicrosoftのPhi-3-vision-128k-instructを動かそうと思ったらflash_attnというのが必要なのにインストールできなくてがんばった。 やったこと 「Developer Command Prompt for VS 2022」 で動かす これは必須な気がする CUDAを12.1にする いままで11.8を使っ…

コンポーネント型Java WebフレームワークVaadinをSpring Bootで試すメモ

ZK、JSFとコンポーネント型フレームワークをやってきたので、Vaadinもやっておきます。 https://vaadin.com/ 典型的な画面パターンが用意されたアプリケーションビルダーも用意されているので、ベースにできます。 このアプリケーションビルダーもVaadinで作…

2024年JSF(Jakarta Faces)をTomcatで試すメモ

JSF(Jakarta Faces)をTomcatで試すメモ 「Jakarta Faces」って長いので、ここではJSFって書きます。 Tomcat用のプロジェクトがあるとして追加する、って感じで書くので、基本的な構成は省略。 Tomcat 10.1.24で試してます。 https://tomcat.apache.org/downl…

コンポーネント型Java WebフレームーワークZKをSpring Bootと一緒に試すメモ

ZKという、コンポーネント型のWebフレームワークがあって、ちょっと面白そうなので試してみた。 https://www.zkoss.org/ コンポーネント型なのでJSFが近い。 とりあえず始め方がここにいろいろある。 https://www.zkoss.org/wiki/ZK_Installation_Guide プロ…