duplicate

笹山のブログです。技術的な記事はLinksからQiitaに飛んでください。

最近使ったツールいろいろ Part2

最近使ったツール(フリーソフト)について、また簡単にまとめようかな、と。

まずは一覧

1. WinMerge

2. DiffImg

3. Mouse Jiggler

4. FFFTP

5 TFTPD

6. PSSTPSST

##############################################

1. WinMerge  インストール→ http://www.geocities.co.jp/SiliconValley-SanJose/8165/winmerge.html

 

 結構前から使っているファイル比較、マージツール。

 ファイルコンペアはテキストでもバイナリでもできるし、画像の比較も可能。フォルダをまるごとコンペアして必要なファイルだけマージみたいなことも可能。

 インストールしたあとはWinMerge.exeを直接起動もできるけど、右クリックメニューからも呼べるのでそれが便利。

##############################################

2, DiffImg インストール→ https://sourceforge.net/projects/diffimg/

 これも比較ツール。画像用。

 比較した画像のうち違う箇所についてハイライト表示ができるし、 

フォルダ内のファイルを順に見ていけるから、比較する画像が多いときには便利かも。

##############################################

3. Mouse Jiggler インストール→ https://mousejiggler.codeplex.com/

 マウスをピクピク動かすツール。

 起動するとEnable Jiggle?と聞かれるので、チェックを入れると、マウスがピクピク動く。

 見た目上は動かないが内部的にマウスをピクピクさせるZen Jiggleモードもあるが、ピクピクしているのを見たいので使わない。

 

 マウスをピクピクさせていると、PCがスリープにならないし、

 いちいち設定でスリープ設定を変えるよりも楽だし、何よりピクピクしてくれる。

 長時間にわたってプログラムを動かすときとか、プレゼンなんかで画面を落としたくないときに便利。

##############################################

4. FFFTP インストール→ https://ja.osdn.net/projects/ffftp/

 疲れてきた…。

 FTPクライアントソフト。

 ローカルファイルをサーバーにコピーしたり。

 とくにミラーリングでクライアント側とサーバー側のファイル構成を統一できるのが便利、らしい(そんな使ってない)

 

##############################################

5. TFTPD インストール→ http://tftpd32.jounin.net/tftpd32_download.html

 TFTPサーバーソフト。

 Windowsなら標準でTFTPクライアントがWindiowsの機能に含まれているのでそいつを有効にすれば、クラサバが作れる。

 以上

##############################################

6. PSSTPSST インストール→ http://www.vector.co.jp/soft/dl/winnt/util/se193779.html

 もとのダウンロードサイトが見つからなかった。

 ファイルリネームツール。

 GUIが簡素かつかわいい。

 フォルダ内のファイル名を読み込んで、リネームができる。

 特に便利なのが、CSVでリネーム後のファイル名を一覧で読み込めること。

 数万件のファイルを日付と連番を付加してリネームしなければならなかったのだけれど、

これのおかげでエクセルで作ったファイル名一覧をCSVで読み込ませてリネームできて楽だった。

##############################################

とりあえず以上。

なんか他にもあった気がするけど、疲れたからまたの機会に。

最近ブラボやってて、

そろそろ終盤ってときに取り返しのつかない要素に気づいて絶望している。

二週目やらなあかんのかい?

2キャラ目作るのもありだけどまたイチからはきついかあ

オラァ!バッチを書けオラァ! 任意の日付の曜日を取得

バッチで曜日を取得できるんだなあ、すごいなあ

取得といってもなんか計算して、結果に曜日を割り振ってる、って感じだけど。

とりあえず以下。

流れ的には、

1. DATEで日付を取得。取得した日付には"/"とかが入っちゃってるので、yy, mm, ddで年月日を切り分ける。

2. 計算用に日付をさらに分解。

3. ツェラーの公式を使って計算し、計算結果に応じて曜日をsetする。

これをまるごとバッチの中に組めば、実行環境の当日日付の曜日を取得できる。

上の例ではWEEKって変数に曜日が入っているので、

こんな構成でやれば曜日を好きなようにできる。

DATEコマンドの代わりに

    set /P GETDATE="日付を入力してください > "

とか入力を変数に入れて

    call SET_DOTW %GETDATE%

とか引数で渡してやれば、任意の日付の曜日も取得できる。んじゃないかな。

調べてはいないけどWSH使ったほうが簡単なんじゃないか疑惑。

今回はバッチだけで処理させたかったからいいんだけど。

よし。以上。

Data Pumpを使ってデータをエクスポート/インポート

Oracle DataBaseでバックアップ取るときにバージョンが10gまではexp/impコマンドを使っていたエクスポート/インポート。

10g以降は新しいユーティリティとしてOracle Data Pumpというジョブで動くコマンドが推奨されるようになっているそう。

最近使っている環境が、ちょうど10gと12cの二つのバージョンなので、新旧どちらの方法も使うようになりました。

まずは今まで使われていたexp/impコマンドは、以下のような感じ。

一方、Data Pumpユーティリティで使われるコマンドはexpdp/impdp。

基本的な使い方はexp/impとあまり変わらない(? そこまで深くやってないからどれくらい使い勝手が違うもんなのかわからない)

ただしエクスポートの出力先などを参照する際にディレクトリオブジェクトを使うため、

事前にディレクトリオブジェクトをcreateしておく必要がある。

(デフォルトのディレクトリオブジェクトはある)

ところでエクスポートでもインポートでもいろいろとオプションはあるわけだけど、

個人的に今後もよく使いそうなのが、impdpのオプション table_exists_action。

インポートするテーブルと同名のテーブルがすでにDBに存在していた場合にどうするかを設定できるオプション。

値にSKIP, APPEND TRUNCATE, REPLACEがあり、それぞれ以下のような動きになる。

SKIPがたしかデフォルトだったはず。

APPENDは追加の変更のみ適用って感じ?

TRUNCATEとREPLACEは似ているようだけど、TRUNCATEは既存の表依存オブジェクトである制約や権限などに触れない一方で、REPLACEは表依存オブジェクトを含めてまるっと消しちゃうところが違いますね。

目的によって変えるべき。

ところでData Pumpは以前のimp/expよりも2/3とか処理が早いらしいですね。

チューニングなんかは自動でやっているとか。

ただチューニングのために実行時間を算出しているそうで、めちゃくちゃ小さいテーブルを出力する場合はexp/impのほうがもしかすると早いかも、みたいなのもどっかで見た。

とはいえ、現在残されているexp/impは前バージョンとの互換性を持たせるためだとか言うことなので、

今後はData Pumpを使っていくことになるのかなあ。

ところでData Pumpってデータパンプ? データポンプ?

って思って調べてみたらポンプっぽいですね。OTN Japanのページではポンプだった。

でも英語でPumpって書かれるとパンプって発音したくなる。

と思ってPompで調べてみたらオランダ語らしいですよ。

Data Pumpと書かれてネイティブ風に読むならデータパンプ

カタカナ語として読むならデータポンプって感じか。

最近使ったツールいろいろ

仕事とかプライベートでなにかとフリーのソフトウェアとかを最近使うので、

一度ここでまとめて復習。

まああとからまた個別に簡単な使い方なんかをまとめると思うけど。

先にここに書いていく一覧だけ。

① WireShark

② UWSC

③ WinSpector

まず一つ目、WireShark

ダウンロードはここから → https://www.wireshark.org/download.html ※英語

パケットキャプチャで有名なフリーソフト

ネットワークの導通確認だけでなく、ポートやIPアドレスプロトコルなどもリアルタイムで確認できる。

表示できる項目とか、ファイル(.pcapなどの形式)に出力する情報も取捨選択できる。

日本語版があったかわかんないけど、どちらにせよググれば使い方はわんさか出てくる。

tsharkとかいうCUI版もあるけど、自分の能力的にまだ使えない。

////////////////////////////////////////////////////

二つ目、UWSC

ダウンロードはここから → http://www.uwsc.info/ ※ばっちり日本語

マウスやキーボード入力の操作を記録して、スクリプトとしてファイルに保存、再生できるフリーソフト

シェアウェア版は有償だけど、スクリプトをexe化できたりするらしい)

スクリプトなので自由に編集できるし、呼び出すプログラムを指定したり、開いているウインドウの情報を取得したりできる。

使い方次第でなんでもできそうなツール。

PCゲームの作業(レベル上げとかリセマラ?)とか、ポイントサイト巡りで使っている一般ユーザーもいるとかいないとか。

専用のスケジューラで定時起動もできる。

スクリプトの形式とか関数には独特なものもあるけど、VBScriptとかを少し触ったことがあれば馴染み易い。

////////////////////////////////////////////////////

三つ目、Winspector

ダウンロードはここから → http://www.softpedia.com/get/Security/Security-Related/Winspector.shtml ※英語

(Winspectorでググったらウィンスペクターっていう昔の特撮が出てきた)

日本語版ページがあったらしいけど、消えてしまっているので英語ページからダウンロード。

開いているウインドウのクラス名やタイトル、その他もろもろの情報を、マウスカーソルをオーバーするだけで見ることができる。

なによりWinspectorのウインドウ自体を半透明にできてなんとなくかっこいい。

Spy++という同じような機能のソフトもあるのだが、こちらはVisual Studioを入れないとついてこないらしいので、手っ取り早くこの機能だけほしいというときは、Winspectorを使おう。

クラス名やタイトルは二つ目に書いたUWSCで引数に使うことができるため、併せて使うといいかもしれない。

俺はやってない。

とりあえずここまで、

あとから暇があったらUWSCくらいは使い方とかまとめておこう。

それとバッチとかも最近よく書くから今後使えそうなこととかも後で書こう。

だいたい自殺の話

『八戸』

三話目更新しました。

カクヨム→ https://kakuyomu.jp/works/1177354054883874778

小説家になろう→ http://ncode.syosetu.com/n9890ee/

「八戸」と言っておきながら、今回はほとんど個人的な話です。

こういうものを大概暗くなってしまうので、今回は明るめに自殺の話を書きました。

つい先日、カミュの『異邦人』を読みました。

今までなぜ読まなかったのだろう言うくらいに有名な本ですね。

その行動のほとんどが理性的で、論理的であるものの、

本当の偶然と太陽のせいによって殺人を犯した主人公の、

その数日前の母親の死から死刑判決までを描いた作品です。

母親を失くしても、人を殺してもなお、秩序だった考え方を貫く主人公と、

それを人間的でないとか感情がないとかと言ったりする裁判関係者の考え方の違いが、

主人公が彼の社会にとっていかに異質な存在かを知らしめるようでありました。

が、きっと読んだ人の大半が考えるであろう、異質なのは、社会のほうではないかという感覚。

母親を愛していたのも事実であり、その母親が死んだとき涙を流さなかったのも事実。

しかし、涙を流さなかったことが愛していなかった事実になるという不条理。

不条理小説、とこの本の裏表紙にも書かれているが、

不条理なのは主人公というよりも社会のほうでありました。

裏表紙にはまた、「通常の論理的な一貫性が失われている男」と書かれていますが、

私はそうは感じませんでした。

むしろ論理的過ぎて、ぶれがちなほかの小説上の人間にとっては「異邦人」であったのではないかと思いました。

こういうのってやっぱ心にずんとくるな

でもまだまだこういうのを読みたいあたり、やっぱり小説っていいよなあって思う。

PowerShellで一定間隔おきにコマンドを実行

ログを取得するツールを仕事で使っているのですが、

このあいだ上司がPowerShellで、ぱぱっとなんか書いて、三秒おきにログを標準出力するようにコマンドをたたいていました。

メモ撮る暇もなかったので、後から自分で調べました。

たとえば次のように書くと、三秒おきにコマンドラインをクリアして、現在の日時を表示するっていうコマンドになります。

While ($True) {date; Sleep 3; Clear}

While ($True) で強制的に繰り返し処理。

date は現在日時表示

Sleep はコマンドの実行を指定した時間だけ中止するコマンド。今回は3秒を指定。

Clear でコマンドラインをクリア

多少欠陥があっても短く書きたかったので今後しばらくはこれを使っていこうと思います。

PowerShellって今のところは使用頻度が低いので、こうやって残しておかないとすぐ忘れてしまいそう。

というわけで短いけど以上。

短編『八戸』更新しました。

『八戸』

カクヨム → https://kakuyomu.jp/works/1177354054883874778

小説家になろう → http://ncode.syosetu.com/n9890ee/

『八戸』の二話目更新しました。

今回は同窓生に会う話。

どうやったって寂しい話になってしまいますわぁ

とりあえず今週中に更新できてよかった。

今週クソ忙しくて

帰ってからあんまり書いてる時間無かったので…

大体3,4話くらいで終わらせるつもりだけど、次の更新も早めにしたいな。

ところでこういう更新記事読んでる人いるのかな?

なんか反応でもあればいいのだけれど。

よし、明日仕事の社畜は寝ます。

おやすみなさい。