Java IDEの使いやすさはIDEがどのようにJavaを知ってるかで決まりがち

Java IDEにもいろいろあるけど、それぞれの特性としてIDEがどれだけJavaを知っているかということで決まるということをTwitterに書いたので、ちょっと具体的に書いてみます。

ちなみに、全体としてNetBeans推しです。

IntelliJ IDEAはJavaコーディングとエンジニア共通の作業についてよく知ってる

IDEAのJavaエディタはJavaのコードを書くことについてよく知っていて、いいサポートをしてくれます。
たとえば文字列の配列について補完しようとすると、配列がもっているフィールド・メソッドだけではなくて、Streamに関するものも提示してくれます。
f:id:nowokay:20201030152627p:plain

んで、Streamに関するものを選ぶとArrays.streamを自動的にいれてくれる。
f:id:nowokay:20201030152822p:plain

あとGitHub連携とか共同作業の機能とか、Javaに関係なくプログラミング一般に必要なことについてよく知ってる。

ただ、コード以外のJava知識はあまりなさそうで、たとえばMavenプロジェクトを作ってHello worldを書くととりあえすエラーになる。
f:id:nowokay:20201030154115p:plain (2020.3でなおりそう)

Module Settingsに項目があるなって設定してみても変わらない。
f:id:nowokay:20201030154309p:plain

正解は、ぐぐって次のようなコードをみつけてpom.xmlに貼り付けてreload projectするという、初心者が自力でぽちぽちやるにはハードルが高すぎる操作が必要なので、敷居がたかい・・・

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>15</source>
                    <target>15</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

まあでも、サムライズムに「教えてくれ~」って言えば丁寧に教えてもらえるので安心。

NetBeansJavaのエコシステムをよく知ってる

NetBeansJavaでアプリケーションを開発するということをよく知っていてサポートしてくれる。
プロジェクト作成画面を見るとわかりやすいと思う。
f:id:nowokay:20201030155731p:plain

デフォルトでMavenのプロジェクトになる。以前はAntプロジェクトがデフォルトだった。
そして、どういうプロジェクトを作るかというのもわかりやすく一覧になっている。

プロジェクトの表示も必要なものが見えるようになっててわかりやすい。
f:id:nowokay:20201030160720p:plain

Dependencyもadd dependencyして検索して選んで追加ってなってる。
f:id:nowokay:20201030160948p:plain まあ、Dependencyは結局ぐぐってモジュール名とかは確認しないといけないんだけど、どこに追加するかとかは全部NetBeansが管理してくれるのでわかりやすい。いちいちReload projectしなくてもいいし。

とくにTomcatを使ってサーブレットJSPを使う場合やらJAX-RSなんかのJava EE APIを使うときのサポートがかなりいいです。
f:id:nowokay:20201030162932p:plain

ただ、Spring FrameworkじゃなくJava EE使おうぜみたいな思惑の名残があったりするので、Springについてのサポートはそこまでしっかりしてない感じ。プラグインはあとからインストールする必要がある。

しかし、なんかimportがすでにある状態でimport補完のダイアログがでるとjavaとか無意味な選択が出るみたいなようわからんものが出たり、補完したはずのコードが消えるとか不具合がちょこちょこあって、安定感に欠ける・・・ f:id:nowokay:20201030172232p:plain

EclipseJavaツールビジネスを知ってる

なんか、ミドルウェアを作ってそれ用のプラグインを作って囲い込んでいく、みたいなビジネスをよく知ってる感がある。
プログラマに関係ないのでキャプチャとかの例示なし。 そういった囲い込みがないのであれば、いまから使い始めるツールではないと思ってる。
mavenプロジェクト作っていいなりエラー出たりはしないとかプロジェクトの構造の表示とかはIntelliJ IDEAよりいいんだけど。

VS Codeまとめサイトでえた知識感

VS Codeはいいエディタで、拡張いれていけばJava IDEのようにも使えるけど、拡張間の連携とかを考えると、なんかいろいろよせ集めたまとめサイト感ある。
Java以外を主に使うエンジニアが、なんかの事情でJavaコードをいじる機会に遭遇したときに使う感じ。

まとめ

NetBeansJavaIDEとして方向性は一番いいんだけど投入されるリソース量でIntelliJ IDEAに大きく軍配があがる。ここにあげたIDEAの欠点のようなものも、そのうち解消するんではなかろか。

掃除機を買ったら掃除するようになった

6月終わりにせんたっきを買いにいって7月に設置されていた。
nowokay.hatenablog.com

それで文明の利器すげーな、次は掃除機だなと思いながら4まんえんくらいするので後回しにしていた。
うちにはNationalさんがいるし。 f:id:nowokay:20201026124104p:plain

という感じで、ごろごろと過ごしている中、3000円の掃除機でも便利っていうツイートをみると、アイリスオーヤマだとコード付きであれば3200円でサイクロン掃除機が売ってた。

まあでもコードレスがいいよなと思って見てみると、そんな高くなかった。ということですぐぽちってしまい。
こういうのは勢いや。


しかし買ったときから3000円安くなっているな。

で、すぐ届いたんだけど、思いのほかよかった。
f:id:nowokay:20201026124043p:plain

コードないし「本体」もないので、掃除機かけるかーと思ってコードさして本体ごろごろしてっていうのがなく、即その場にいって掃除かけれる。
あと、脱衣場とかコードさしかえが必要でごろごろ持っていくのもめんどいところは後回しにしがちだったけど、そのまま持っていける。
それと、フィルタないので、とれたゴミがすぐに見えて楽しい。ごみ集めをしてしまう。

こういうの可能になったのもリチウムイオンバッテリーやらモーターの小型強力化のおかげであるなと思うと、科学技術すばらしいな。

電子ペーパーAndroid端末BOOX Nova2を買って不要になった端末たち

電子ペーパーAndroid端末であるBOOX Nova2を買いました。

4年前にBOOX C67ML Carta2を買ったのだけど、メモリが512MBで安定して動いてなくて、そんなもんかーとあきらめていた。
それがなんか新しいBOOXは 結構ちゃんと動くっぽいという話で、メモリも3GBになってるし使えるやろーということで買ってみた。
そしたら想像以上によくて、いろいろなものが不要になったのでまとめてみる。

重さはほぼカタログ通り。
f:id:nowokay:20201012005258p:plain

Kindle Paperwhite

まず完全に用途がかぶるKindle Paperwhiteは完全に使わなくなりました。

Kindle Paperwhite 防水機能搭載 wifi 32GB ブラック 電子書籍リーダー

Kindle Paperwhite 防水機能搭載 wifi 32GB ブラック 電子書籍リーダー

  • 発売日: 2018/11/07
  • メディア: エレクトロニクス

BOOXにKindleアプリを入れればほぼ同じようにKindleの本が読めます。違うのは、長押しでのページ早送りがないくらいか。 ただ、デフォルトだとマンガを読むときのメニューが見えないので設定が必要です。
本来は白い部分の上端にアイコンが並んでいるはず。 f:id:nowokay:20201008222133p:plain

スマホのだとボタンがある。
f:id:nowokay:20201008221959p:plain

設定したらみれるようになります。
Kindleアイコンを長押ししてメニューから「最適化」
f:id:nowokay:20201012005614j:plain

ここで「背景の希薄化」のチェックをはずす。
f:id:nowokay:20201012005834j:plain

もしくは、「カバー色」を20くらいにして「背景色」を0にする。
f:id:nowokay:20201012010022p:plain

そしたらボタン見えるようになりました。
f:id:nowokay:20201012005432p:plain

あと、本の一覧がスクロールになって、ページ切り替えではないので、気まぐれに古い本を読んでみるということはできなくなりました。

ところで「私の百合はお仕事です」は百合がどうこうではなくて話の作りこみ方がよいのでおすすめです。

ソニーデジタルペーパー

6年前に買ったときはいいものだったんですが、さすがに古くなっていました。
nowokay.hatenablog.com

あと、やっぱA4はサイズが大きすぎてカバンからの出し入れが面倒だったり机にスペースがなかったりしました。このときはA5サイズがなかったので仕方ないんですけど。いまならA5を買いますね。
とはいえ、BOOX Nova2がA6サイズながらいい感じで書きこめるので、追加でデジタルペーパーを買うことはないと思います。
ただ、ノートとしてA6は小さいので、ノート主体ならA5がいい気もする。しかし、A5のデジタルペーパー端末を買うのであれば、やはりフルAndroid端末であるBOOX Note2がいいですね。

ブギーボード

ブギーボード、あれば使うかなーと思って買ってみたいんだけど、あまり見やすくないのと、部分的には消せないのとで、結局ほとんど使うことなく本立てに立ちっぱなしで紙のノートを使っていた。

キングジム ブギーボード 電子メモパッド BB-1GXクロ クロ

キングジム ブギーボード 電子メモパッド BB-1GXクロ クロ

  • 発売日: 2017/09/15
  • メディア: オフィス用品

紙のノート

紙のノートも使わなくなった。
f:id:nowokay:20201008223556p:plain

ちょっとしたメモや考え事に紙のノートを使ったりしてたんだけど、BOOX Nova2でノートをとるほうが楽なので、紙のノートは使わなくなった。
f:id:nowokay:20201008222214p:plain

新しい使い道

LINEマンガだとかピッコマだとか、マンガアプリがe-ink端末で読めるようになった。
あと、自分で裁断してスキャンした本が、 Kindle PaperwhiteはUSB転送もSDカードも使えずメール転送になっていたので、ページ数の多い本は読めないし転送も面倒ということで読まなくなっていた。
けど、VLC FE File Explorerを使うことでネットワークドライブ上のPDFが直接アクセスできるようになってめちゃくちゃ便利になった。 f:id:nowokay:20201008225559p:plain

問題点

Kindleのように、文字が見えないアプリがあって不便。まあこれは慣れればいいけど。
一番問題は、パソコンとつないでミラーリングしようとしたけど無理だったこと。Vysorとかが使えない。画面をキャプチャするプロセスが動いていないんだと思う。

まとめ

とてもいい

補足

Likebookもよさそう。

カラーだとBoox Poke2 Colorが出て瞬殺されましたね。他にもPocketBook Colorとか出てるので、来年くらいには選択肢多くなりそう。再来年とかになるとKindle Paperwhite Color出たりするかな

電子ペーパーである必然性がないならiPad miniなど液晶端末のほうがいいです。

エーワンサーキット闇耐久レースに出たときのメモ

エーワンサーキットというとこでカートの90分耐久レースをやってきたのでそのメモ

動画はこちら

www.youtube.com

イベントについて

今回は出走3チームだったんだけど、完全にいつものメンバーという感じで、いままでは話をあまりしたことがなかったけど今回は結構「身内感」があっておもしろかった。

36号車について

最初36号車だったんだけど、調子わるかったので、サーキットで一番はやい3号車に変えてもらった。当初はくじ引きでどこかのチームが使えるということだったけど、あまりにも調子が悪そうだったということで譲ってもらったぽい。
ありがとうございました! (走行中のできごとなので詳しくは知らない)

で、これが単にぼくの乗り方が悪かっただけの可能性もあるなと思ってたけど、動画を見てるとやはりストレートエンドで回転数があがったところで落ち込みが発生している。
後半になると30秒台がでるようになったのだけど、最終コーナー前でも落ち込みが発生していて、やはり車の調子が悪かったようだ。

コースについて

速い人が2コーナー(まわりこんだところのインフィールドの入り口のコーナー)ではブレーキがいらないと言ってたらしく、えーそれはないだろうって思ったけど、実際にブレーキなしでいけたっぽい

ヘルメットがいる話

レンタルのヘルメットが頭にあわなくてふらふらしていて、そしてメガネをかけているのでコーナーでメガネがずれまくり、視界が安定しない。
早めにヘルメット買って視界を安定させたい。

動画の作成

動画はSONYのAS300で撮っているのだけど、いままではSONY純正のアプリでGPSデータを合成していた。
これが10分の動画の処理に8時間くらいかかる優れもので、しかもCPUもGPUも負荷がが5%くらいと、意味がわからなかったんで、別のアプリにしてみた。
AviUtlというソフトにVSDというプラグインを入れて、ffdshowMPEGエンコードのAVIファイルを作成したあと、Moo0の動画変換でMP4にしてDavinci Resolveに取り込んで編集という流れ。 で、このときDavinci Resolveで編集してたらディスク残量が0になることが頻発して、その対策にハマり、結局キャッシュが巨大になっているということがわかって解決した。
c:/vol0というところに180GBくらいキャッシュができていたし、アプリから全消しはできないのでフォルダごと削除して解決。
ただ、resolve付属のテロップが左から出てくるものばかりなので、次回からはメーターを右に置こうと思う。

AviUtlのお部屋
VSD for GPS - コレジャナイ ソフトウェア
L-SMASH Works r940 release1 / mod1 – RePOPn
ffdshow_rev3631_20101115_clsid.exeをダウンロード - ffdshow - OSDN
Moo0 - Moo0 の人気のソフト達 (Windows XP/Vista/7/8/10)
DaVinci Resolve 16 | Blackmagic Design

NEUTRINOのデータをCeVIOで作ってAIきりたんを歌わせる

NEUTRINOというフリーで使える歌声シンセサイザがあるのですが、データはmusicxmlで与える必要があります。
NEUTRINO -Neural singing synthesizer-

そのMusicXMLデータを作るのにMuseScoreとかが使えるのですけど、結構めんどくさいんで、有料の歌声シンセサイザCeVIOのエディタを使ってデータを作ると便利です。
この動画で手順を説明しています。
www.youtube.com

CeVIOは30日使える体験版も用意されているので、試してみるといいんじゃないでしょうか。
CeVIO Official Web

CeVIOは9/3までちょっと安く買えます。
CeVIO CS7 シリーズ | 新世代の音声合成ソフトウェア【ベクターPCショップ】

データ作成

ということで、これがCeVIOの画面です。
f:id:nowokay:20200829022721p:plain

とりあえず音を並べてみます。ここで、CeVIOはひとつの音に複数の文字をいれても自動で割り振ってくれるのですが、NEUTRINOでは1音につき1文字にする必要があるので注意が必要です。
f:id:nowokay:20200829073128p:plain

CeVIOでは複数の音に一気に歌詞を設定できます。先頭の音でF8を押すとまとめ入力ダイアログが開くので、歌詞を入力して「OK」します。 f:id:nowokay:20200829073154p:plain

そうすると、各音に文字がそれぞれ割り振られました。 f:id:nowokay:20200829073209p:plain

エクスポート

これでデータができたのでMusicXMLで保存します。メニューから「ファイル > エクスポート > MusicXMLの書き出し」を選択します。
f:id:nowokay:20200829073534p:plain

書き出しダイアログでソング1にチェックをいれておきます。保存フォルダにはNEUTRINOを解凍したフォルダの下のscore\musicxmlを指定します。
f:id:nowokay:20200829083043p:plain

ソング名をファイル名とした拡張子xmlのファイルができているはずです。
f:id:nowokay:20200829083412p:plain

これを適当な名前に変更します。拡張子はmusicxmlにしておく必要があります。ここでは「konna.musicxml」にしています。
f:id:nowokay:20200829083646p:plain

歌声合成

それではNEUTRINOで歌声を作成します。 Run.batファイルを編集します。6行目くらいにBASENAMEの設定があるので、ここに先ほどのファイル名を拡張子なしで書いておきます。

@echo off
setlocal enabledelayedexpansion
cd /d %~dp0

: Project settings
set BASENAME=konna
set NumThreads=3

: musicXML_to_label.exe
set SUFFIX=musicxml

: NEUTRINO.exe
set ModelDir=KIRITAN
set StyleShift=0

: WORLD.exe
(略)

ちなみに、SUFFIXをxmlにしておけば、拡張子xmlのままで歌声合成できます。
あと、ModelDirをYOKOにすると謡子に歌わせることができます。デフォルトではKIRITANになっているので東北きりたんが歌います。

Run.batを編集したらファイルをダブルクリックするかコマンドプロンプトでRunとして実行します。
f:id:nowokay:20200829073858p:plain

outputフォルダに音声ファイルができています。 f:id:nowokay:20200829074120p:plain

weekly news 2020-08-24

JavaのRecordsで値を変更したコピーを作る構文の提案

Java 14からRecordsが搭載されていますが、いまのところ値の一部を変更したコピーを作ることはできません。 メソッドとして実現するのも、Javaでは名前付き引数がないので難しく、ビルダーのようなものを作っても利用が煩雑になりそうです。
ということで新しく構文を導入するという話が持ち上がっています。

Point p;
Point pp = p with { x = 3; }

amber-docs/reconstruction-records-and-classes.md at master · openjdk/amber-docs

Epicの開発者アカウントの全停止が通達される

Epicが30%ボリすぎと訴えてfortniteがBANされるということが起きましたが、開発者アカウントが停止されるようです。
そうするとUnreal Engineも実質Apple環境で使えなくなるので、影響はかなり広いです。
AppleがEpicの開発者アカウント全停止を通達 - PC Watch

Microsoft Flight Simulator 2020発売

CNN.co.jp : 米マイクロソフト、伝説の「フライトシム」の新作発表

地形データは自動生成です。自動生成の雰囲気はこんな感じ
2020年版「Microsoft Flight Simulator」の陰の立役者はオーストリア拠点のスタートアップBlackshark.ai | TechCrunch Japan

自動生成なので、ところどころ変な建物も発生してる模様。
福岡でも建物の中を車が通ったりしていました。
メルボルンに超巨大ビル出現!『Microsoft Flight Simulator』で世界中に不思議スポットの出現報告相次ぐ | Game*Spark - 国内・海外ゲーム情報サイト

無償のFPGA利用環境

ACRiというグループが、東工大にリモートから利用できるFPGA環境を提供しています。

東京工業大学構内には、100枚を超えるFPGAボードや開発用ソフトウェアなどが用意されている。これらのツール群をリモート環境で活用することができる」

ACRi、無償のオンラインFPGA利用環境を開設 - EE Times Japan

スバル車にZILINX FPGA

ステレオカメラからの3D化にFPGAを使っているそうな。
低遅延というのがやはり大事らしい。
スバルの新型「アイサイトX」、心臓部にザイリンクスのFPGAを採用 新型「レヴォーグ」を支えるZynq UltraScale+ MPSoC - Car Watch

ファーウェイへの制裁

アメリカの技術を使った半導体の輸出が禁止されました。
自前でのファウンドリはまだ難しいので、Samsongにお願いするしかないのかな。
ARMもつかいにくくなると、これはRISC Vへの移行が早まるかな。
CNN.co.jp : 米、ファーウェイに追加制裁 半導体の供給を禁止

自動生成ブログがハッカーニュースで1位に

GPT-3生成のブログ、ハッカーニュースで1位に

Gmailで障害

GmailやGoogleドライブのサービス障害が復旧へ - PC Watch

Rustファンデーション設立

Laying the foundation for Rust's future | Rust Blog

「Rust Foundation」が年内にも設立。Rust言語のコアチームとMozillaが発表 - Publickey

りんなが独立

雑談ができるAIを売りにする感じかな
りんなが国民的AIを目指しMicrosoftから卒業。rinna株式会社を設立 - PC Watch