日々精進

新しく学んだことを書き留めていきます

突然IntelliJで「Cannot resolve symbol」が出る

IT

何か昔よりIntelliJが不安定な気がする。。 Cannot resolve symbolが出るようになったらキャッシュをクリアしたら直った。手順は以下参照。 Eclipseより安定してると思ってたけどそうでもないのか。。 qiita.com

ATOKのキーカスタマイズが無効になることがある

IT

何がきっかけかわからないが、キーカスタマイズで日本語ONにCtrl+Shift+Insertを割り当てているがこれが効かなくなることがある。 以下の手順で直った。 ・キーカスタマイズウィンドウを開く ・OKボタンをクリック ・ATOKプロパティのOKボタンをクリック 「A…

エクセル2016の行・列が削除出来なくなった

IT

突然行・列が削除できなくなり困った。。 原因は不明だけどエクセルを再起動したら直った。

Windowsのパスワードを変更したらgit push等の時に「git remote: Invalid username or password」

IT

パスワードがどこに保存されてるかわからず困ったが、 資格情報マネージャーに保存されてるらしい。 資格情報マネージャーを開いて、パスワードを新しいものに変更したら直った。 手順は以下参照。 参考: blog.hinaloe.net

環境毎に違うところをどうやって解決するか

IT

システムの中で環境毎に変更しないといけない部分というのは必ずあると思うのでそれをどうやって解決するのかは大事なポイント。それによってデプロイのしやすさ・ビルド時間などが変わってくるので。 環境毎に変える必要がある部分は以下。 外部システム、D…

Spring Boot2.1はEOLが2019/12

IT

まだ2.2正式版が出てないのでアップデートできないけど、 もう2.1のEOLが決まっている。そして猶予があまりない。。 LTS版を用意してくれないと使いにくいなぁ。。 参考: qiita.com

パスワード付きzipのデフォルト暗号化方式(zipcrypto)は強度が弱い

IT

暗号化zipはパスワード試行が高速に何回でもできるのでbrute forceアタックが可能。 GPUを使うと28億回/秒ぐらいのスピードで試行できるらしいので パスワードが数文字程度だと1日もあれば破れてしまう。 ただ、zipcryptoは鍵長が最大96bitなのでパスワード…

エクセルがしょっちゅう固まる問題

IT

原因はRelaxToolsだった。RelaxToolsをアンインストールしたら直った。 あれ便利だから使えないの困るなぁ。。 参考: www.e-soft.net

npm installを実行すると「Error: node-sass@4.11.0 install: `node scripts/install.js`」エラー

IT

原因はプロキシの設定が間違っていることだった。 環境変数が以下のようになっているとだめだった。 HTTP_PROXY=http://domain:9080/ これを以下のように末尾の/を除くと直った。 HTTP_PROXY=http://domain:9080 プロキシのURLって末尾に/ついてちゃいけなか…

cmderでコマンドを実行すると「attempt to call a nil value」が出る

IT

原因はcmder.exeへのパスの途中に日本語が入っていること。 'C:\Program Files\cmder\Cmder.exe' のように日本語入らないようにしたら直った。 参考: github.com

LAN内の別PCからファイルをコピーしようとすると「コンピュータへの接続数が最大値に達しているため~」エラー

IT

原因は個人向けWindowsの同時接続数上限が10ユーザであるため。 Windows Serverはそんなことないんだろうけど。 以下のサイトを参考にいらない接続を切ることで対応した。 www.atmarkit.co.jp

javascript の importの先頭の@の意味

IT

@はビルド時にWebpackによってsrcディレクトリのパスに置換される。 参考: stackoverflow.com

URLのバリデーションは難しい

IT

URLのバリデーションをする正規表現を探していたが、めっちゃ複雑な上、すべてのURLを正しくバリデーションできるものがないので困った。 以下のサイトが一番まとまっているようだった。各パターンで正しく判定できないケースも例示されているし、素晴らしい…

JSONリテラルを書くのにJSON Editor Onlineが便利だった

IT

整形してくれるし、不要なカンマとかも自動で削除してくれる。バリデーションもしてくれる。 これは便利だなあ。 jsoneditoronline.org

Linuxのファイルパスの長さの最大値と禁止文字

IT

長さは1023バイトまで、"/"と\0(ヌル文字)が禁止文字。 参考: blogs.itmedia.co.jp

OpenCVのcvtColorを実行すると、「Unsupported depth of input image:」エラー

AI

原因はndarrayの型がuint8なことだった。float32に変換すると直った。 lab_image = cv.cvtColor(img.astype(np.float32), cv.COLOR_RGB2HSV) 参考: stackoverflow.com

Eclipseでコメントの日本語の一部が文字化けする

IT

原因はフォントがConsolasだったこと。他のフォントにすると直った。 同じPJでConsolasで問題起きてない人が居るので他にも発生条件ありそうだけどよくわからない。。 参考: qiita.com

OpenCVの色をHSVに変換した時の値とGIMPで調べたHSV値が異なる

AI

原因はOpenCVとGIMPで値の単位が異なるため。 OpenCV H: 0~180 これが一番びっくりした。。np.uint8の範囲に収めるために0~360°の範囲を半分にして0~180°にしてるんだろうけど。。 S,V:0~255 GIMP H:0~360 S,V:0~100 単位は%なので、OpenCVに合わせるなら25…

Pythonでリストの一部をfor loopを回しつつ削除する方法

AI

他の言語だと、loopのindexを最大値から減らしながらリストにアクセスし、いらない要素を消したりするが、 Pythonの場合はリスト内包表記とif文を使って新しいリストを生成するのが良いっぽい。 例えば、以下のような感じ。 somelist = [x for x in somelist…

PythonのEnumの名前を文字列で取得する

AI

Color.RED.nameのようにnameプロパティを呼ぶと、"RED"のように文字列で名前が取得出来る。 文字列で受け取った区分がどのEnumの値かを判別するときに使う。 参考: stackoverflow.com

JupyterNotebookにアクセスしようとすると、「channel 3: open failed: connect failed: Connection refuse」エラー

AI

再現手順は以下。 JupyterNotebookサーバを起動する JupyterNotebookサーバは外部公開されていないサーバなので、そのサーバへのSSHトンネルを掘る ブラウザに以下のようなURLをコピペしてJupyterNotebookを表示しようとすると、エラーが発生する http://loc…

EC2インスタンスのセキュリティグループを変更する手順

IT

EC2インスタンスに紐付くセキュリティグループを変更するにはEC2インスタンスを作り直さないといけないと思っていたが、 変更できるっぽい。。手順は以下参照。 docs.aws.amazon.com

学習データを集める時に差分プライバシーが使えそう

AI

AIは学習データをどれだけ集められるかが非常に重要だが、 個人情報などはプライバシー・セキュリティの問題で集めることが難しい。 そういう場合に差分プライバシーが使えそう。 アイデアとしては、個人を特定できないよう、各データにランダムなノイズを載…

Pythonで関数オブジェクトの型アノテーションをする

AI

Callableを使えば出来る。Callable[引数のリスト, 返値] という仕様になっている。例は以下。 multiply: Callable[[int, int], int] = lambda x, y: x * y 参考: qiita.com

pandasで「 ValueError: buffer source array is read-only」エラー

AI

pandasの不具合が原因。 0.23で発生していたが、0.24以上にバージョンアップすると直る。 参考: stackoverflow.com

DataFrameの値を書き換えるときにSettingWithCopyWarningが出る

AI

df['age'][5]のように[]を二段にしてアクセスすると発生する。これはchained indexingと呼ばれ、やってはいけない。 df.loc['age', 5]のように.locを使えば回避できる。 この警告が出る理由は以下に詳しく書かれているので是非読むことをオススメします。 日…

Pandasでカテゴリ型の列に新しいカテゴリを追加する

AI

何もしないで新しいカテゴリの値を代入するとエラーになる。 Series.cat.add_categoriesを使ってカテゴリを追加してから代入する。 参考: pandas.pydata.org

Bitvise SSH Serverにログインすると直後に接続が切れる

IT

sshサーバのログには以下のメッセージが出ていた。 <event seq="52" time="2019-05-02 20:41:20.671086 +0900" app="BvSshServer 7.21" name="W_SESSION_DISCONNECTED_ABNORMALLY" desc="Session disconnected abnormally."> <session id="1006" service="SSH" remoteAddress="192.168.0.100:59781"/> <parameters disconnectReason="FlowError"/>…</parameters></session></event>

pandas.qcutはcutする列の値に重複があると挙動がおかしくなることがある

AI

現象は以下。 TitanicのtrainデータのAgeの欠損値を22.0で埋める pd.qcut(train["Age"], 4, duplicates="drop").value_counts() を実行すると以下のようになり、要素数にかなり偏りができる (0.419, 22.0] 408 (24.0, 35.0] 220 (35.0, 80.0] 217 (22.0, 24.…

.pyファイルの絶対パスの取得方法

AI

str(Path(__file__)) だと、JupyterNotebookで実行した時にエラーになるという問題がある。 os.path.abspath("__file__") であればJupyterNotebookでも実行可能。 参考: qiita.com