excitemusic

テスト用、メモ用
by fgtmp
ICELANDia
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
カテゴリ
以前の記事
検索
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧


sshへのログインエラー

2つのネットワーク(netA、netBとする)につながっているサーバで、それぞれについてsshd_config等を用意してそれぞれsshdを起動した。localhostではつながるが、他PCからsshすると、netA側のアドレスではログインできるがnetB側のアドレスでは以下のエラーが出てログインできなかった。

ssh_exchange_identification: read: Connection reset by peer

ググるとhosts.allowが云々というやり取りなどが見つかったが今回の件とは該当しない。
結局、つながるようになって原因を考えると、sshクライアントはnetA側にいるPCであり、そこからnetB側にパケットを送るとサーバはnetA側からパケットを返していたのではないか…などと考えている。この辺りの設定方法(届いた側の口から返す設定)がiptablesか何かにあったと思うがすぐに思い出せない。

とりあえずつながったので私はOK。

[PR]
# by fgtmp | 2017-12-31 09:34 | comp

C#でExcelファイル(xlsx)を読み込む

C#でExcelファイル(xlsx)を読み込む方法の一つとしてClosedXMLというものがあった。

単純なコードは割と楽に書けた。

C#でプロジェクトを作成 → ツール → NuGetパッケージマネージャー → パッケージマネージャーコンソール
PM> Install-Package ClosedXML

あとはusing ClosedXML.Excel;してググりながらコードを書いた。
変わっているなと感じたのはシートの番号などが1から始まること。
それよりも困ったのは関数countif()の入ったセルのvalueを使おうとすると例外終了すること。万事うまくはいかないもので。。

[PR]
# by fgtmp | 2017-03-29 19:28 | comp

PerlのSpreadsheet::ParseXLSX利用時にフリガナを除去する

PerlでExcelをいじる際にSpreadsheet::XLSXやSpreadsheet::ParseXLSXを使ってセルの値を取得すると元の文字列に加えフリガナもくっついてきてしまう。

ググると、フリガナはrPhというタグに囲まれているのでそのタグを除去すれば良いようだ。

Spreadsheet::XLSXを使う場合は以下の要領で直接モジュールを改造する。
vi /usr/lib/perl5/site_perl/5.22/Spreadsheet/XLSX.pm
 $mstr =~ s/<t\/>/<t><\/t>/gsm; # this handles an empty t tag in the xml <t/>
 $mstr =~ s%<rPh.*?>(.*?)</rPh>%%gsm; #←この一行を追加する
 foreach my $si ($mstr =~ /<si.*?>(.*?)<\/si/gsm) {

Spreadsheet::ParseXLSXを使う場合は以下の要領で直接モジュールを改造する。
vi /usr/lib/perl5/site_perl/5.22/Spreadsheet/ParseXLSX.pm
(関数sub _parse_workbook内のコード)
if ($files->{strings}) {
 $files->{strings} =~ s%<rPh.*?>(.*?)</rPh>%%gsm; #←この一行を追加する
 my %string_parse_data = $self->_parse_shared_strings(
  $files->{strings},
  $themes->{Color}
 );

バージョン番号(上記では5.22)は環境によって異なる。

[PR]
# by fgtmp | 2017-03-29 11:19 | comp

Tktable2.10のインストール(msys2)

Tktable2.10のインストールメモ。

mv /c/Tcl /c/Tcl-tmp

./configure

vim Makefileして以下の様に変更する。

 (変更前)SHLIB_LD = gcc -shared
 (変更後)SHLIB_LD = gcc -shared -static-libgc

make
make install

mv /c/Tcl-tmp /c/Tcl

これで/usr/local/lib/Tktable2.10以下に一式インストールされる。

[PR]
# by fgtmp | 2017-03-14 03:47 | comp

tile-0.8.4のインストール(msys2)

tile-0.8.4をソースからビルドするメモ。

vim /usr/local/lib/tclConfig.sh
vim /usr/local/lib/tkConfig.sh
 → いずれも、以前tcl、tkをソースからコンパイルしたときのディレクトリを指すエントリが多数あるが、今回は既にソースを移動してしまっていたので内容を手修正で更新。

mv /c/Tcl /c/Tcl-bak
 → configureがactivetclを見つけてしまわないよう、一時的にフォルダ名を変更

./configure

vim Makefileして、SHLIB_LD=に-static-libgccを追加。

これでMakefileができるがこの後makeするとX11/Xlib.hが見つからないとエラーが出たので、vim Makefileして-INCLUDES=の行に-I"tk8.6.4のソースディレクトリ\xlib"を追加。

make
make install
 → /usr/local/include、/usr/local/libに一式インストールされる。

mv /c/Tcl-bak /c/Tcl
 → activetclを元に戻す。

[PR]
# by fgtmp | 2017-03-14 03:37 | comp

chainerメモ

WindowsにChainerを入れてみた(途中まで)。

python 3.5、64bit版のanacondaを入れる。

(確か管理者権限でコマンドプロンプトを上げ、以下を実行した)
conda create -n py3 python=3.5 anaconda

(通常のコマンドプロンプトで以下を実行)
activate py3
pip install chainer

(importできるかテスト)
python
import chainer
exit()

(chainerのバージョンを確認。今回はv1.21.0だった)
python -m pip list

(手書き数字認識MNISTを動かせるか試してみる)
wget https://github.com/pfnet/chainer/archive/v1.21.0.tar.gz
tar zxzf v1.21.0.tar.gz
python chainer-1.21.0/examples/mnist/train_mnist.py
20回学習が繰り返されて終わるようだ。

まだ認識テストできていないが、とりあえずはここまで。



[PR]
# by fgtmp | 2017-03-10 09:41 | comp

ノートPCのssd換装

ノートPCをSSDに換装した。

元のHDDは約600GBで、新SSDは約1TB。10年保証の良さそうなものにした。

クローニングに使ったのはMacrium Reflect。当初ググった時はEaseUSのソフトを勧めているページがあったが、これはスパイウェアっぽい挙動があるという報告もあったので避けた。

SSDはフォーマットせずReflectからクローニングした。パーティション情報もコピーでき、更にCドライブの容量も追加変更できた。クローニングには8時間ほどかかった。

クローニング後、電源を落とし、裏ぶたを開けて換装。コツが分かるとすんなり行ける。

ドキドキしながら電源を入れるといつもよりやや速い印象で起動した。その後一度再起動をうながされたので従う。

エクスペリエンスの評価をやってみたところ、HDDの時は5.6か5.8位だったものが7.8に。
容量増、高速化、振動耐久力増、ディスクの寿命リセットなど良いことずくめ。まだまだこのPCでやっていけそうだ。

[PR]
# by fgtmp | 2017-03-09 10:38 | comp

最近のcygwinメモ

昔のcygwinの知識だと最近のcygwinでつまづくことが時々ある。sshd周りとか。

最近知ったものを断片的にメモ。

# 管理者権限でcmdを起動
cygstart --action=runas cmd

# (管理者権限でcmdを起動した上で)sshdを起動
net start sshd


[PR]
# by fgtmp | 2017-01-17 11:42 | comp

kona linux(32bit)をusbメモリにインストール

kona linux 3.0の32bit版をusbメモリに入れた記録。

kona linux公式

ISOイメージのミラー

konalinux-3.0_i386.isoをダウンロード。他にもウィンドウマネージャの好みで別のisoでもよいと思う。

usbメモリを挿さずls /devし、挿した後でまたls /devして差分をとることで、usbメモリのデバイスファイルを調べる。今回はsdcだった。

dd if=./konalinux-3.0_i386.iso of=/dev/sdc bs=16k でイメージをusbメモリにコピーする。

usbメモリでブートする。

もう一本のUSBメモリ(6GB以上)を挿す。こちらがlinuxの最終的なインストール先となる。

デスクトップ上のアイコンからインストールを開始する。パーティションなどは 内蔵HDDなどを壊さないように注意。また、linux用としてのext4のパーティションと、Windowsとデータ;共用するためのfat32パーティションとを用意すると便利だったかもしれない。
[PR]
# by fgtmp | 2016-12-24 20:52 | comp

opensslコマンドでファイル暗号化・復号

秘密鍵・暗号鍵の生成
openssl req -x509 -nodes -newkey rsa:2048 -keyout private-key.pem -out public-key.pem -subj '/'

ファイルtest.txtを暗号化し、test.txt-encryptedという名前で保存。なお元ファイルは消さない。
openssl smime -encrypt -aes256 -in test.txt -binary -outform DEM -out test.txt-encrypted public-key.pem

ファイルtest.txt-encryptedを復号し、test.txtという名前で保存
openssl smime -decrypt -in test.txt-encrypted -binary -inform DEM -inkey private-key.pem -out test.txt

なお、smimeを使うのは大きなバイナリファイルでも暗号化させるため。詳しい理由は分からないが確かにこの方法だとエラーが出なかった。


[PR]
# by fgtmp | 2016-12-15 17:12 | comp