ソフトウェア個人的に開発してきたソフトやこれから開発するソフトいろいろについて。キーボードショートカットをイラストマーキングしたキーボードショートカットはきちんと慣れたほうが作業効率が上がるのだが、英語とまじってなかなか覚えきれない歳なので、機械翻訳したのだが、絵も欲しいなと思って暇々に勉強がてら絵を起こそうと思った。数量が半端ないのでこれも機械処理せねば話にならないと判断してコードを書き始める(どこかに書いたと思うが「同じ作業を50回以上繰り返す必要があるときは人手だと絶対間違うし非効率なので自動化を考えるべき」が自身の最近のポリシー)。GIMPのスクリプトは1回仕事での作業都合でゴリゴリにスクリプトを作ったことがあったので、少し調べたら最近はPythonでも書けるとのこと。pythonもあまりきちんと勉強していなかったので勉強がてらにごそごそ書いたが、この手のツールはエラーメッセージが簡易なのでどこで間違えたのかがまったく分からない。思いつつも、プログラム制御での簡易画像処理はTipsを理解しておくと後々役立つと思って暇々に作成してたものがなんとか動いたので、GitHubに上げる。https://github.com/mfukushim/MakeKeyboardShortcutIIllustration生成画像もまとめてアップするので、暗記カードみたいに使いたい人はどうぞ。変換しやすかった主なものの128枚画像pictOutダウンロード追記小修正した。15/01/2020キーボードショートカットイラスト生成用簡易ツールhttps://github.com/mfukushim/MakeKeyboardShortcutIIllustrationpythonとintelliJの勉強用に始めたが思ったより手間取った。半月くらいはかかってるんじゃないか。IntelliJのショートカットの一覧を作りたいと思った。山ほどあるショートカットの図をいちいち作っていたのでは手間だし、今風の効率化ではないので半自動でプログラムで起こしたいと思った。そこで昔少し案件でGIMPのスクリプト(Script-fu)で簡易画像ツールを作ったことがあるのだが最近のGIMPを調べたら、Pythonで操作できる時代になったと書いてあった(Python-fu)ああ、確かにScript-fuはとんでもなく正体不明な言語(今見るとLisp似なのか?)だったのを思い出して、今風言語で書けるとはこれはいいやと思って触りはじめた。実は私はPythonはあまりきちんと理解しておらず(AI寄り言語だというのに初心者本を斜め読みしたくらい)この際Pythonの勉強もかねて勉強してみようと思った。IDEで編集支援して欲しいな、と思った。いうライブラリがあった。windows上でpython2,python3環境を作った状態でpipでpgimpのインストールを試みたが確かにエラーが出て進まない。Linuxを内部実行してそこからpgimpを動かすというのが一番悩まずに済むと判断。Python導入が意外に細かい。psutilを取り込み。GIMPはWSLで走らせる必要がありWSL側にもGIMPをインストールする必要があるとのこと。WSL経由でpgimpの実行プロジェクトを起こすWSL経由でのpgimp実行ってもっと手間取るかと思ったら、すでにWSL設定の機能が標準であり、全然単純であった。サンプルコードも問題なく実行/シンボリックデバッグできて解決。IDE側の文脈支援やヘルプも動作する。ここまで来るまでの試行錯誤が面倒だった。Color等の細かい定義まで取り込むことは出来ていないようで、残念なことにPythonから直にGIMPを操作する分には基本的な生データしか処理出来ないようだ。主な目的はIDEの補完入力を手伝うみたいな方向と思われるが当初の目標は満たせるか。環境の構築に気力を使うのは今の時代のやり方ではない。WSLでシンプルに解決出来るならそれが何よりだ。各案件の作業都合でJDK環境を切り替えねばならぬ。使って切り替える方法も教えてもらったが、Windows上ではちょち設定が冗長になりそうなのでこれで回避。ImplicitSenderを忘れやすい普段Akkaをごりごり使う訳ではないので、こういうTips的なことはすっかり忘れてひとしきり悩む。}}「1+2を計算機に送って、結果をもらって3かどうか確認する」はこれでよいだろう。Letterになって届かずエラー。見えにくい約束事が多いのは望ましくはないものの、昔と比べれば全然訳のわからない約束事は減ったので今のほうが全然よい。Akkaなんて15年前にあったら本当にありがたいと思うし。いうものの少なくなって欲しいとは思う。日本人向きだと思うけどなー。変な擬似英語に悩まずに済むし、表形式の結果に加工しやすいので表好きな日本人向きだと思うし。scalaのBigDecimalをjava.text.DecimalFormatで変換するとずれることがあるなんかまだ合点がいってないのだが、細かい桁計算が必要でscalaのBigDecimalを使っていて、それを文字列で打ち出す必要が出た際に、javaのDecimalFormatを使ったら出力文字列が合致しなかった。scalaのBigDecimalとjavaのBigDecimalがちょっと違うよ(MathContext.UNLIMITED設定関係)って話は出てきたが、DecimalFormatが違うって話はよくわからんかった。poi]そろそろXSSFがデフォルトでよいんじゃないかな賛否はあるもののお客さんからはExcel等でドキュメントを要求されることが多いことも事実。Excel.Word等MS文書をJavaで操作するライブラリ)などでドキュメント自動生成みたいなところを結局最近やっているのだが、Excel操作ライブラリはXSSF系APIとHSSF系APIに分かれている。HSSFは拡張子xlsの旧形式、XSSFは拡張子xlsxの今の形式用のAPI。Excelも長いのでAPIが2系統に分かれているのは仕方ないと思うものの、そろそろXSSFがデフォルトでよいんじゃないかなぁ。XSSFWorkbook("file.xslx")IDEのコンテキストメニューでAPIがさくっと出ないし、ネットの情報でもHSSFの情報と混じって小一時間悩むし。06/11/2019[sbt]あまり複雑なことを考えずに機能を追加する正直まだsbtは理解できていない。依存性管理ツールはmakeにしろMSbuildにせよ複雑すぎて中をきちんと使いこなすとかできてなかったし。出来合スクリプトで困らんし。専門家からするとまずいのかもしれないが、とりあえず既存のビルドの動きに何かを付け足すくらいの話向け。commandsの使い方はよいがここでリダイレクトは使えないな。sbt内でタイムスタンプが使いたいログの書き出しなどでsbtで書き出しファイルにタイムスタンプを付けたいとか。)調べたものの結局は使わなかったのだが。sbtはまだ勘所がよくつかめぬ。