tokuhirom's blog
Search
Java の ByteBuffer の endian は big endian がデフォルト
一般的なプログラミング言語に慣れていると「普通に考えたらデフォルトは machine native だろ」って考えがちだけど、Java の Byte buffer は big endian がデフォル
2023-06-15(Thu)
Exposed を試した
普段は mybatis を使うことが多いのだが、Prototyping する機会があり、たまには Exposed など使ってみることにした。 Exposed は JetBrains 製なので kot
2023-06-05(Mon)
自分の Blog admin site を書き直した
Kweb がどうも日本語入力がうまくいかなくなったので諦めて普通の Ktor ウェブアプリに戻した。 機能的にはほぼ同じだがシンプルになった。Kweb で少しシンプルに書けるかなーと思ったのだが、そ
2023-06-05(Mon)
magic research をクリアした
2023-06-02(Fri)
blog を更新しようとしたら、落ちた。
なんか知らんけど、 blog を更新しようとしたら落ちた。 kweb が kotlin-logging の 4 beta に依存してて、 class not found な状態に。悲しい。 しょうが
2023-06-02(Fri)
Marvel's Spider-Man: Miles Morales
PS5でクリア。 正当な拡張コンテンツという感じ。Spider man 2 も発売決定してるのでそれも楽しみですね。
2023-06-02(Fri)
Watchdogs 1/2 クリア
Watchdogs LEGION をクリアしてから youtube のレビューなどを見たところ、以下のような意見が散見された。 * ロンドンは道が狭いからカーチェイスが楽しくない * ストーリーが薄
2023-06-01(Thu)
Watchdogs Legion クリア
寄り道しながら27時間ぐらいでクリア。 - 街中の人を採用できるというのが斬新だが、キャラに思い入れしにくいというのは本当にそう。 - 今後の AI 技術の発達によって、音声合成・会話合成がより進
2023-05-01(Mon)
krangl が deprecate されていた
kotlin の dataframe 的なライブラリである [krangl]( が deprecate されていた。 [kotlinx.dataframe]( が後継なので、これを利用するようにする
2023-04-12(Wed)
BioHazard RE:4 クリア
神ゲーだと思う。Atomic Heart でがっかりした直後だから余計にそう思うのかも。。 STANDARD 28.2時間 で B。Window gaming PC で Steam 版をクリア。弾がな
2023-04-06(Thu)
freemarker の js_string の歴史
freemarker の js_string がどのような変遷をたどってきたのかをまとめてみた。 ## 2.3 Date of release: 2004-June-15 > New bui
2023-04-06(Thu)
Java 9 以後での InputStream を String にするやり方
commons-io で `IOUtils.toString(inputStream, StandardCharsets.UTF_8)` としているケースは、Java 9 以後なら `new Stri
2023-04-05(Wed)
OpenAPI の enum を使いこなす
openapi-generator で enum を制御するにはこのへんを参照。 `x-enum-varnames`: 変数名 `x-enum-descriptions`: descriptio
2023-04-03(Mon)
openapi-generator の custom generator を gradle plugin から使う
openapi-generator は ServiceLoader で generator を探すので、CLASSPATH に custom generator を突っ込むことができれば良いです。
2023-03-29(Wed)
openapi-geneartor の java generator で NantokaAllOf.java が大量にできる件
AbstractJavaCodeGen あたりを継承して以下のようにメソッドを上書きすれば抑制できる。 ```java @Override public boolean getUse
2023-03-28(Tue)
Rust から NSLog を呼びたい
Mac OS においてデバッグするときには、NSLog を呼ばないととにかくやりづらい、というときがあります(InputMethodKit を使った開発をするときなどが特にそうです)。 そんなときには
2023-02-04(Sat)
オープンなかな漢字変換エンジン 0.2 リリースのお知らせ
オープンなかな漢字変換エンジンを開発しているということを先日お知らせしました。 そのあと、順調に開発が推移しまして、いい感じにいろいろな機能が盛り込まれました。日本のOSSでは29日に定期リリース
2023-01-29(Sun)
Rust で整数を漢数字に変換したいよー
こんな感じで実装できる。真面目にやればもうちょいちゃんと書けるけどこんな感じで。。 ```rust use std::cmp::min; const NUMS: [&str; 10] = ["",
2023-01-27(Fri)
最近またLinux用の日本語IMEを作っている
**本件は mozc の ut がどうこうとかは関係なくて、ふと linux desktop を使おうと昨年末に思いまして、昨年末からちまちまやってます** かな漢字変換って作るの難しいのかなぁ
2023-01-16(Mon)
lindera-cli を試す
Rust で書かれた形態素解析機の lindera には CLI もある。 ```shell cargo install lindera-cli --features ipadic ``` のよう
2023-01-09(Mon)
cargo test で fork させたい
cargo test はプロセスを共有する。これではテストをしづらいケースがある。例えば C のライブラリのラッパーなどの場合、初期化関数を何回も呼んではいけないケースがある。 rusty-fo
2023-01-05(Thu)
rust の split_once が便利だった。
最近、趣味で僕が書いてるプログラムでは split を 2 こまでしたいというケースが多くて、以下のように書いていた。 ```rust fn main() { let s = "foo ba
2022-12-30(Fri)
Rust の FFI で C の callback に closure を渡したい
↑の記事で丁寧に解説されているので、読むと良い。 ポイントとしては、rust は `extern "C"` された静的な関数しか FFI 対象に渡すことができないということ。そして、closur
2022-12-26(Mon)
rust で `*mut u8` から `&[u8]` を求める
FFI などで `*mut u8` な pointer と `i32` な size が得られたときに、そこから `&[u8]` というスライスにしないと rust 側では扱いづらい。 そういう場合に
2022-12-25(Sun)
jumpapp を i3 に適用して一発でアプリにフォーカスをあてる on Linux
[jumpapp]( というコマンドがある。これを使うと該当のウィンドウが起動していなければ起動し、起動していればフォアグラウンドにもってくることができる。 僕の場合は i3wm を使っているので、
2022-12-23(Fri)
linux desktop で slack app がうまくログインできないときは frantz をためそう
linux desktop で slack app を使おうとしてもログイン後に browser から戻ってくるところでなんかうまくいかなくてログインできないことがある。 そういう場合は、Frantz
2022-12-22(Thu)
ライフゲエムを実装した
2022-12-22(Thu)
arch linux で使うのに最適な twitter クライアントを探す
最近色々ある twitter ですが、なんだかんだ twitter クライアントを起動しておきたいなと思っている今日この頃なので、、 最初は CawBird を使っていたが、vim keybind
2022-12-22(Thu)
Obsidian を linux で使うとウィンドウに枠がつかないとき(i3 などの場合)
2022-12-22(Thu)
i3wm でスクショを取る設定
を参考に設定。 PrtScn で選択した領域をスクショできるだけでまぁいいかなという気がしたので以下の設定だけ入れました。 ``` bindsym Print exec --no-startu
2022-12-21(Wed)
xremap を使い始めた
2022-12-21(Wed)
archlinux で fcitx5 で特定のアプリ(chromeなど)で日本語入力できないとき
``` pacman -S fcitx5-im ``` とする。fcitx5-gtk や fcitx5-qt などがインストールされて問題が解決する。
2022-12-19(Mon)
arch linux を入れる 2022年版
久々に arch linux を使おうかな、と思いまして。なんかもうプライベートで使うマシン、mac じゃなくていいなーって気分が高まりすぎてる。 archlinux の利点は、pacman で管理で
2022-12-19(Mon)
Mount & Blade Ⅱ Bannerlord のキャンペーンをクリアした
シミュレーションゲーム。アクション要素もあるが、途中からめんどくさくてほぼアクションパート飛ばしていた。 序盤は盗賊を狩って、あとは鍛冶で金を稼いで、という感じ。 序盤に鍛冶が得意な人と医学が得意な
2022-12-13(Tue)
Ultimate hacking keyboard を買った。これは Ultimate かも?
2022-12-12(Mon)
kotlin 1.7.21 にアップグレードしようとしたら謎エラーになるケースの対応方法
kotlin 1.7.10 から 1.7.21 にアップグレードしようとしたら以下の謎エラーが出る怪奇現象が発生していた。 ``` e: java.lang.NoSuchMethodError:
2022-11-29(Tue)
Boot 3 というか micrometer の新しいやつが Exemplar 使えてめっちゃ良さそう。
tracing(zipkin とか) を使っていても、トラブルシューティングのタイミングで開くのって億劫で、なかなか開くことがなかった。 が、micrometer Observaiton を使うと
2022-11-29(Tue)
kweb の router では KVar を意識しよう
kweb の router においては、 ```kotlin path("/entry/{id}") {params -> val id = params["id"]!!.value
2022-11-24(Thu)
冒険ダンジョン村2
Android でプレイしました。 2週間ぐらいかけて75年目ぐらいまでやって、全村星5、周辺地域住民コンプ、街ガイド検定コンプまでやった。 ちまちま動くのが可愛いというカイロソフトの安定感があるゲ
2022-11-21(Mon)
kweb でファイルアップロードをハンドリングしたい
kweb を使ってインタラクティブなサイトを作っているときに、ファイルをアップロードする機能が欲しくなることがある。 そういう場合は KwebPlugin を継承して実装すればよい。appServer
2022-11-18(Fri)
Rogue with dead というゲームをクリアした
2022-11-16(Wed)
Kotlin でかんたんにインタラクティブなウェブアプリを書ける kweb とは結局なんなのか?
一般的なウェブアプリというのは、クライアントサイドを JS で書いて、サーバーサイドを kotlin 等の別の言語で書く、といったアプローチが一般的です。 このアプローチになるのは、基本的にクライアン
2022-11-15(Tue)
kweb で再利用可能なコンポーネントを使いたいばあいは kweb.state.Component を実装する
kweb でサイトを作っている場合、複数画面で再利用可能なパーツが出来上がる時がある。そういう場合は、kweb.state.Component を継承させれば良い。 このブログで使っている編集
2022-11-12(Sat)
selenium で処理を待つときは WebDriverWait を使う
kweb のテストケースが Awaitility 使ってたのでそれをそれを参考にテストを書いていたのだが問題が発生した。 ```kotlin driver.get("
2022-11-12(Sat)
blog の管理画面を kweb で作り直した
作り直したので、k8s にデプロイするところまで完了。 もともと、/ 以下に読者が読むページ、 /admin/ 以下に 管理画面という構成の一つのサービスだったのだが、kweb で管理画面を作ろうと
2022-11-11(Fri)
Integrate kweb and spring-boot
kweb provides the document to integrate spring-boot. But in my opinion, it's bit complex and trick
2022-11-09(Wed)
Blog を SSL にした
let's encrypt で certbot で複数ドメインでやるのめんどくさくて だけ TLS 対応しているという状況を長らく続けていたのだが、k8s 化するついでに対応。 を参考
2022-11-07(Mon)
blog に syntax highlight 機能をつけた
prism.js がナウいのかどうかはよくわからないけれど、とりあえず入れた。markdown のレンダリングに使っている flexmark が prism.js で使うように languag
2022-11-03(Thu)
fish の greeting message を無効化する
```shell set -U fish_greeting ``` とする。 検索用キーワード: fish welcome message
2022-11-02(Wed)
CPAN module を release するための docker image を作った
CPAN module をリリースするには、色々と前準備が必要というか、、色々な CPAN module をインストールしなきゃいけなくてちょっと手間だった。最近は年に数回しかしないのだが、、
2022-11-02(Wed)
k8s への移行
業務で k8s 化を推進しているので、趣味でも k8s にしようかなぁ、と。 デプロイしているコードはこのへん。Docker image をビルドするように変更している。 - -
2022-11-01(Tue)
wezterm への移行
iTerm2 がなんかもっさりするというのはあるので他のターミナルへの移行。sugarlife さんがおすすめしてくれたので移行してみる。 `brew install wezterm` で入った
2022-10-25(Tue)
Scraping でも kotlin を使いたい
groovy で scraping するという記事をたまたま見かけた。 ここで、JVM言語でのscraping という観点でいうと、groovy というものは優れているわけだが、、実は kotlin
2022-10-22(Sat)
Java で -Xmx 指定してない場合のデフォルトのヒープメモリ使用上限
Linux の 64bit 環境だと、32GBと物理メモリの1/4の少ない方が上限となる。 『Javaパフォーマンス』に載っている。この本自体古いので、最近の JVM だとまたちょっと違うかもし
2022-10-19(Wed)
Java 17 でインドネシア語の Locale の扱いが変わっている
- - # Java 11 ``` | Welcome to JShell -- Version 11.0.16 | For an introduction type: /h
2022-08-09(Tue)
Perl のワンライナーで複数行置換したい
`BEGIN{undef $/;}` を入れると良い。 ``` perl -i -pe 'BEGIN{undef $/;} s/START.*STOP/replace_string/smg'
2022-08-07(Sun)
krangl で unpivot(melt) する方法
R の dplyr みたいなデータ操作ができる kotlin ライブラリである krangl でデータの unpivot をしてみる。 ```kotlin val df = dataF
2022-07-14(Thu)
Dell U4021QW というウルトラワイドモニターを買った
2022-06-27(Mon)
not stripped の linux バイナリは strip したら小さくなる
↓のように、非常に大きい実行ファイルがあったとする。 ``` -rwxr-xr-x 1 tokuhirom tokuhirom 30M Jun 23 00:37 /tmp/thrift-lin
2022-06-23(Thu)
山善の昇降式デスクを買った
<iframe sandbox="allow-popups allow-scripts allow-modals allow-forms allow-same-origin" style="width
2022-06-22(Wed)
Prev
Next