プログラムdeタマゴ

nodamushiの著作物は、文章、画像、プログラムにかかわらず全てUnlicenseです

Eclipseプラグイン開発: 拡張ポイントの定義

Eclipse プラグイン開発 目次 Eclipseプラグイン開発でほぼ確実に避けて通れないのが拡張ポイント。拡張ポイントはなんだかよく分からんけど、裏でEclipseが上手いこと処理して、何か素晴らしぃことをしてくれる仕組み………なんてふつくしぃ世界はなく、泥臭い…

Eclipseプラグイン開発: 非UIプラグインのテスト

Eclipse プラグイン開発 目次 Eclipse開発で1番………いや、2番ぐらい?いや、1番かな………?まぁ、それぐらい困るのがどうやってJUnitテストすれば良いのかわかりにくいこと。Eclipseのプラットフォーム(OSGi)が絡んでいなければ、個別にテストできるけど、他…

Eclipseプラグイン開発: 非同期実行

Eclipse プラグイン開発 目次 Eclipseでの非同期実行に関してはorg.eclipse.core.runtime.jobs.Jobというクラスを使います。 Jobの作成とタイプ Jobの作成は、Jobを継承して実行処理を書くか、Job.createSystemかJob.createメソッドで作成します。個人的には…

Eclipseプラグイン開発: バンドルリソース関連

Eclipse プラグイン開発 目次 IPath,IResourceなどで、Eclipseプラットフォームが管理するリソースにアクセスが出来ます。 しかし、プラグインがアクセスするのは何もユーザーが準備するファイルだけではありません。プラグイン自身が始めから持っているファ…

Eclipseプラグイン開発: リソースパス関連

Eclipse プラグイン開発 目次 Javaでファイル、ディレクトリを操作する場合、java.io.Fileやjava.nio.Pathを用いて表現します。 EclipseではIPathないし、IResourceを用いて表現するのですが、これもうほんと、使いにくい。 といっても、Eclipseでファイルを…

Eclipseプラグイン開発: 開発環境の準備

Eclipse プラグイン開発 目次 え?Eclipseプラグイン開発するつもりなんですか?まだ引き返せますよ? ちゃんと私は止めましたからね? 開発に必要なツール 根性と泣かない心 GoogleとGithub Eclipse IDE for Eclipse Committers EASE Maven 根性と泣かない…

Eclipseプラグイン開発: 目次

はい。皆さん。Eclipse使ってますか?え?IntelliJ?デスヨネー そんな、もう寂れたEclipse。もうプラグイン作ろうなんて人はこの世にいないんじゃないのかと思うけど、何故か作る羽目になったので、そのドキュメントを残しておこうと思います。 これからEclipse…

スマホがパソコンに取って代わるべきではない理由

wpb.shueisha.co.jp 上記の記事を読んだからという訳ではないですが、私は常々スマホはパソコンに取って代わるべきではないと思っています。 取って代われ「ない」ではなくて、取って代わる「べきではない」です。技術的には近い将来、取って代わられるでし…

近年神社に人が多いなぁと思うこの頃

あけましておめでとうございます。今年の抱負は再来年から本気出すです(・ω・)元旦は皆さんはどのように過ごすんでしょうかね?私は家族+犬とともに地元の神社に行ってあまりの参拝客の多さに何もせずに引き返してきました。別に、髪も仏も信じていません…

JavaFX9からPlatformに追加されるAPIについて

この記事はJavaFX Advent Calender 2016の17日目の記事になります。 前日はid:skrbさんのSooner or Later - JavaFX in the Boxでした。 明日はid:aoe-tkさんです。 前回今年最後とか言ったな。あれは嘘だ。 はい、というわけで、なんとJavaFX Advent Calende…

JavaFX9が良い感じになってきた件

この記事はJavaFX Advent Calender 2016の9日目の@arachan@githubさんの記事になるそうです。 前日は@skht777さんのJavaFXで動くプロ生ちゃんデスクトップマスコットを作る - Qiitaでした。 明日は@Yucchi_jpさんのHitInfoを少しだけ…です。 はい、テンプレ…

Javaにlambda修飾子が欲しい

機能(関数)をクラス内に実装せずに、外部に委譲することがある。単純な例ではこんな感じ。 public class Action{ private Runnable action; public void setAction(Runnable action){this.action = action;} public void action(){ if(action != null) act…

jshellを自分のプログラムに組み込みたかった

はい。タイトルの通りです。しょーもないことしてました。 jshell JDK9から付属することになっているちまたで話題のJavaのREPL。 私は全く興味がなかったんですけど、ふと思ったんですよ。これ自分のプログラムに組み込めないかな? GUI系のプログラムは毎回…

Java9のVarHandleを使ってみた

AtomicIntegerを使う必要が出てきた場面で、ふとVarHandleのことを思い出し、ちょっと試してみました。 試したコードは最後に載せておきますが、やってみたことはこんな感じ。 staticなint型変数のVarHandleの取得 setとsetVolatileの実行 int,volatile int,…

組み込み屋初心者さんのためのコーディング技術(C言語)

私が最近生存している業界は、アナログ最後の砦と言われているほどIT化の遅い世界ですが、ここ数年でジワリジワリとソフトの力が増してきている、という業界です。 あ、なお、お前のブログ読んでるとまるで働いているみたいだな!とか言われましたが、私はク…

EclipseCDTにC方言を追加するプラグインを作ろう その2

さて、前回BNFで拡張構文の規則を作りました。今回からは、その規則に対するJavaの処理を作っていきます。 構文解析の流れ Javaの処理を作る前に、CDTがどのような手順で構文を解析しているかについて、ザックリと解説します。 IScannerインターフェースを実…

EclipseCDTにC方言を追加するプラグインを作ろう その1

はい、誰の得になるのかわからない超ニッチシリーズが再び始まりました。 組み込みでは、GNU CやらVisual C Compilerなんかは使えず、独特なドマイナーコンパイラを使わざるを得ないことがあります。そのドマイナーコンパイラがC標準とかに準拠してくれてた…

Eclipse CDTにSDCCの方言を追加するプラグインを作った

このSDCCの方言に対応したEclipse CDTの言語パーサー作った

プログラマのためのVerilog入門

ここのところしばらくVerilogをやっていました。というわけで、まとめていこうと思います。 といっても、基本的な文法の話ではなく、プログラミングをこれまで基本としてやってた人がハードウェア記述言語を触るときに気をつけなくてはならないことを中心に…

Firefox44.0で拡大時にIMEのポップアップ位置がずれる

自動でFirefox44.0に更新されたところ、以下のように、拡大しているときのテキストエリア入力でIMEのポップアップ位置がずれるという現象が発生しました。Firefox47で修正されたことを確認しました。 環境依存のバグかはわかりませんが、プロファイルを作り…

MarkdownビューワーをJavaFXで作ってみた

Markdownを書くのに一番いい方法って何なんでしょうね? 私はEclipse + GMF viewerを主に使っていたんですけど、このGMF viewerってディレクトリにhtmlファイル出力しちゃうのがすっごい気にくわないんだよねぇ。 かといって、Firefoxとかでやるとしても、た…

Javaでコマンドラインから受け取った引数処理するクラス作ってみた

コマンドラインから受け取った引数を簡単に処理したいという話。 結論から言えば、すでに作られているライブラリ使うといいよ!!! 参考:Javaでコマンドライン引数を処理する まぁ~、車輪の再々再発明なんだけど、MITライセンスのライセンスすら嫌じゃん…

WindowsでもEmacsをDaemonのように使いたい

Windowsで何のエディタ使っていますか?私はなぜか結局Emacsです。 ところで、WindowsのEmacsはdaemonフラグが有効ではありません。 server使えば似たようなことできるからいいといえばいいのですが、サーバー用のウィンドウが邪魔くさいです。 最小化しても…

KeySnailのKillLineをEmacs風に改良してみた

KeySnailネタ。moozさんのアイコンかわいいよね。 というわけで、なんか、Firefoxがバージョンアップしたら.keysnail.jsの「以前にコピーしたテキスト一覧から選択して貼り付け」のletでエラーが出るらしく、久しぶりに.keysnail.jsを編集しました。 すでに…

かゆいところに手が届かないATOKタッチキーボード

すっかり忘れてたんですが、私Surface Pro3を随分前に買っていました。 Pro4が出るらしいですね。Pro4は筆圧1024段間検知だとか。めっちゃ欲しい。 さて、普段IMEにAtokを愛用している私。Surfaceでも利用しようとインストールしたんですが、 Surfaceのタッ…

JavaFXでConsole作ってみた

JavaFXってConsole的な物なくね? ググっても出てこなくね? と、いうわけで、作ってみました、こんなもの。 System.outを今回作ったSimpleConsole.outに変更可能。 マルチスレッド対応(たぶん) 最低限の機能はあるんでない?誰かがしっかりした物を作って…

JavaScriptで作ったちょっとしたスクリプトからファイルを保存したい

JavaScriptはちょこっと何かを作ろうと思うと、一番使いやすいと思っている。なんせ特に何もいらない。エディタとブラウザがあればGUIを持った簡単なスクリプトなんかすぐ作れる。最近は簡単な物ならブラウザ内で全部完結して、エディタすらいらない。 Excel…

ファイル選択のControl作った

ウィーっす。 さて、昨日は入力候補が出るTextFieldを作ってみました。入力候補が出るTextField作ってみた - プログラムdeタマゴnodamushi.hatenablog.com で、これを利用してファイル選択用のConrolを作ってみました。 こんな感じに動作します。 うん、使い…

入力候補が出るTextField作ってみた

夏風邪ひいて熱が出たり咳が出たり鼻水出たりでしんどいですが、皆さん体調いかがでしょうか。 さて、風邪ひいていようと暇なものは暇なので、タイトル通りの物を作っていました。 イメージとしてはこんなのね。(Firefoxの検索窓) ソースコードはこちら。No…

JavaFXのTooltipの挙動を変えるTooltipBehavior作った話

JavaFXでTooltipを使ったことがあるだろうか? うん、みなまで言わなくてもいい。 使いにくいよね ざっと欠点を挙げるとするならば、 表示されるまでが遅い 表示されるまでの時間を変えられない 表示時間が短い 表示時間を変えられない フォーカス持っていな…

JavaFXのWebViewがマウスイベントでJVMごとクラッシュする

いろんな訳あってブレークポイントをつけれるエディタを内蔵したいのだ。でも、JavaFXには良いテキストエディタがない。(だいたい、いつになったら全角文字がなんか変な色がつくの直るんだ?) Threadをまたぐのは正直面倒くさいけど、背に腹は代えられない…

情報工学生の非IT業界エンジニアとしての生き方

どうも。お久しぶりです。 別に人事部というわけでもありませんが、何故か採用の場に少し関わる事があったので、珍しく私事を書いてみようかなと思います。(このブログでは基本的には私事は書かないことにしているのですが) 就職活動中、私には悩みがあり…

Graphicを設定したRadioButtonをSkinで使うと表示がおかしくなる

ControlのSkinにRadioButtonを使う。RadioButtonには画像も表示させたい………。そんなに特別な場面ではないだろう。ところが、おそらくJavaFX8のバグと思われる妙な挙動をしたので、ここで報告しておく。すでにバグとして登録されているかはよく知らない。 問…

ToggleButtonの集合を簡単に扱えるようにしてみた

はてなにお布施の時期が過ぎていたので、ついでにはてなブログに移行してみました。プロの値段…高いよ………。 さて、そんなこんなで、今日もJavaFXネタ。 RadioButtonって複数のRadioButtonを並べて表示するって使い方が普通の場面だと思う。でも、これをする…

タスクバーにタッチキーボードを表示させないorツールバー自体を削除する方法

Windows8.1を使い始めてから1ヶ月ぐらい。私は特に8.1に大きな不満はない(でもWindows10に速攻で乗り換えるつもり)のですが、一つだけ文句があった。それは、Wacom Intuos5、つまりペンタブレットを挿すたびにこれ→が表示されること。 検索するとちまたで…

JavaFXのLineChartがわりと高性能になった件

ども、一ヶ月ぐらい前に作った自作のLineChartをちまちま更新していたら、何か結構高性能になったんじゃね?ってことで、動画にとって見ましたのでご紹介。 機能としては、「データを拡大して、スライドさせることが出来る」「マウスポイントに追従してデー…

cloneなどのメソッドのオーバーライドを強制させるAnnotation作った件について

cloneをサブクラスに実装を強制させたい。でも出来ない。 かといって、「必ず実装する。とらすとみー」なんて言えるほど賢くない。むしろ愚かであることを信用している。 「cloneを利用する実装がそもそも間違いで悪手。cloneを使うなとEffective Javaにもあ…

JavaFXで対数グラフを表示する

と、いうわけで、前回の自作LineChartに対数グラフの機能を実装しますた。 NodamushiChart 拘ったのはラベルのとこ。102みたいな感じに表示されていますが、これ、JavaFXの標準NumberAxisじゃまず無理ですよね。うぇへへへ。 LogarithmicAxisの実行サンプル…

JavaFXでLineChartをスクロールしたり高性能にする

やろーども。滅入り苦しみます。 と、いうわけで、全国約80人のJavaFXユーザーにnodamushiサンタがナイスノンケなプレゼントをもってやってきたぜぃ。 さて、妙なノリもここまでにして、JavaFXのLineChartって使いにくい、というのが私の結論です。グラフ描…

relocateはsetLayoutX,setLayoutYの代わりではない

朝から叫んでおりました内容が解決したので、記事にしておきます。 まずは、以下のようなクラスを用意します。一辺100の正方形の中心に直径60の円と長さ100の横棒を重ねたような図を表示します。 import javafx.scene.Group; import javafx.scene.shape.Circ…

JavaFXのInvalidationListenerやChangeListenerやObservableListやBindingについて

いい加減、何となく動作してるからいいやじゃなくって、中で何やってるのか理解しておくかと、ソースコード読んできたのでまとめておくよ。 InvalidationListenerとChangeListener ついさっきまで挙動の差とか、全く理解していなかったほど、違いがよく分か…

JavaFXのChartでMinorTickでも線を描く

JavaFXのChartって使いにくいなこんちきしょう。グラフ内部のマウス座標とか、全然取れないし 。(グラフ内部というのは、本当にグラフの表示領域内部だけでの座標ね。あと、根性で取れるようにしたよ、ちきしょう。Javaのバージョンアップとかで、もしかした…

0から始めた極値理論

どうも、お久しぶりです。 さて、今回記事にする極値理論をご存じでしょうか。主に土木工学等で発展した統計理論で、21世紀になってから良解説書が相次いで出版されたことで、世界的に様々な分野で(日本を除く)ブレイク中の学問だそうです。 概要 観測しう…

-Π≦θ<Πに納める

いったい計算するの何回目だよ、いい加減覚えろよということで、メモ //-Π≦θ<Πに納める場合 theta1 = theta - 2*PI*( 1 + floor( theta/(2*PI) - 0.5) ); //-Π<θ≦Πに納める場合 theta2 = theta - 2*PI*ceil( theta/(2*PI) - 0.5); //おまけ。-1〜1の場合 y…

画像処理を始めよう 〜エッジ2〜

前回に続いてエッジの話をしていきましょう。 エッジのとらえ方には 微分値が高い 高周波 ゴリ の3種類があるといいました。今回は高周波のお話です。 画像は2次元の信号 信号理論を学んだことがない人にはハイパスフィルタと言われてもぴんとこないかもし…

CoffeeScript v1.7

はーい、修論で死にそーなnodamushi様ですよ。家のベッドで寝たいなー(遠い目 というわけで、CoffeeScriptのv1.7が出たようです。今回はおもしろい便利な演算子「**」「//」「%%」の追加、複数行文字列の扱いが変更されていたので、二年ぶりにCoffeeScript…

僅か3ヶ年でブログが1万PVを超えるまでに私がしたこと

ついに私のブログにも月1万PVの時代がやってきました。1万PVを超えるぐらいからノウハウ記事が存在するみたいなので、私のブログ運営ノウハウを伝授したいと思う。 ………という切り出しで初めて見たけど、まぁ、なんか広告がどーのこーのでちょい炎上をした人…

画像処理を始めよう ーエッジ 1 ー

ちまちま書いてるうちに新年明けました。 さて、Capyの記事書いてるときに、よくよく考えてみたらエッジの話って書いたことなくね?って気がついて、Steerable filterの話がてらエッジの話をすることにしておきました。でも一つの記事では収まりそうもありま…

眠れない夜を過ごしたのでCapyを破ってみた

風邪引いたnodamushiです。急に気温が下がり、雨も降りでみなさま体調は大丈夫でしょうか? さて、風邪を引いてグースカ寝てたけど、もう全然寝られなくなったのでフラフラインターネットを見ていました。すると、Capyという次世代(?)CAPTCHAがあることを…

JOGL,JOCLのEclipse環境を整える

2年ぶりぐらいにJOCL書くかーって思って環境整えようとしたら結構手惑いました。私が利用していたのはJogAmpだったので、今回もJogAmpのJOCLを使おうと思ったんですが、なんか、JOGLが結構2年前と変わってますね。櫻庭さんのJOGLの記事とか、今とインターフ…