mk_5884 Programming

自分で調べたIT関連のことなどを書いています

eclipseでパスをコピーできるようにする

CopyAsPathってプラグインを入れるとコピーできるようになる。
マーケットプレイスでCopyAsPathって検索すると手っ取り早い。

CopyAsPath Eclipse Plugin 日本語情報トップページ - OSDN

ただ、こんなものいれなくても
Alt+Enter でプロパティを開いて普通にコピーした方が早いかもしれない。

CopyAsPathで取得できるのはロケーションパスだし…。

C:\Users\masahiko\Desktop\pleiades-e4.6-platform-jre_20160622\pleiades\workspace\test\glance

俺がほしいのはこっち!
/test/glance

この辺は好みで!

eclipse neon でglance を使えるようにする

eclipseの検索が使いずらいのでglanceとゆープラグインを入れてみようと思ったら、

2016/7/31現在pleadesの最新neonだとマーケットプレイスから入れることができなかった(SVNがありませんみたいなエラーが出る)。

glanceの公式サイトを見たら、自分のローカルにglanceを入れて、それを使えと書いてあったのでやってみる。

 

githubの公式サイト(ここのreadmeにやり方書いてあります)
GitHub - cypher256/glance: Glance search plugin for Eclipse Neon 4.6 or grater 

 

1. eclipse にGITのpluginをインストールする(すでに入ってるかも)

Eclipse Git プラグイン ~ インストールからコミット、履歴の比較まで - グロブ

 

2. glance作った人のgithubのサイトから、fork用のgit url を取得する。

作った人のサイト
GitHub - ystrot/glance: Eclipse Glance

fork用のgit url
https://github.com/ystrot/glance.git

※forkはgitから分岐するみたいな意味。
 githubのアカウント取って「clone or download」をクリックすると見れるようになります。
 そのURLが↑のやつ。ここに勝手に書いていいのかどうかは知らん。

 

3. このURLをeclipse にインポートする

ファイル>インポート>Git>Gitからプロジェクト(with smart inport)>URLの複製←ここに2のURLを入れる>プロジェクト名を好きにつけて>再起動

※これでgithubのソースをローカルに落としたことになる。

 

4. プラグインのインストールで、3 でローカルに落としたソースを参照する。

 参照のためのxmlを指定する。

ヘルプ>新規ソフトウェアのインストール>作業対象に、以下のxmlをコピペ

https://raw.githubusercontent.com/cypher256/glance/master/releng/com.xored.glance-updatesite/site.xml

glanceとかって項目が出てくるので、これにチェックして再起動

 

5. ctrl+j で使えるようになってるはず!

 

6. eclipse上にglance のプロジェクトが色々出来てるので、消す。
 あくまでeclipse上から消す。ハードディスクから消さないように注意。

 

おまけ
ctrl+f でglanceが起動するようにする

ウィンドウ>設定>検索窓に「キー」と入力>ここでショートカットキーの設定を変えられるので変える。

Mysql SELECT FOR UPDATE について

同時に更新されるのを防ぐためにSELECT FOR UPDATE を使用する。


例)
hoge.status = 0 を、status = 3 に更新するバッチがあるとする

BEGIN;

SELECT * FROM hoge WHERE status = 0 FOR UPDATE;

UPDATE hoge set status = 3 WHERE status = 0

COMMIT;


上記実行中にユーザが個別で「status = 0だったらstatus = 9 に更新する処理」を画面上から行った場合、
SELECT FOR UPDATE をしていないとバッチよりこの処理が先に終わってしまいstatus = 9になってしまう。

しかし

SELECT FOR UPDATE をしているのでバッチの処理が終わるまではユーザは待ち状態になる。
で、バッチが終わってからユーザの処理が走るので、既にstatus = 3だから
「既に処理済です」みたいなページを表示されてstatus = 0 にはならない。

 

参考

oshiete.goo.ne.jp