日々精進

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

2017-03-01から1ヶ月間の記事一覧

p2インスタンスよりG4インスタンスの方がコスパがいいらしい

AI

最近出来たG4はp2よりいいらしいので最近はg4dn.xlargeを使って学習を回したりしている。 参考: aws.amazon.com

windowsでAddress already in useを解決する

IT

ポートを専有しているプロセスがどれかよく分からないことがよくある。特にsshでポートフォワーディングしているとき。 netstat -nao | find "[ポート番号]" を実行してあるポートを専有しているプロセスを特定しようとしたが、上記で出てきたプロセスのPID…

try-with-resourcesとAutoCloseableインターフェース

IT

自分で実装したクラスをtry-with-resourcesで自動的にCloseされるようにする場合、 AutoCloseableを実装すればいい。その時にoverrideしたcloseメソッドがtryブロックを抜けたときに呼ばれる。 参考: www.task-notes.com

docker execでホスト側からコンテナに入る

IT

これよく使うんだけど、しばらくdockerから離れると忘れる。。 以下手順でコンテナには入れる。 docker psでコンテナの名前かIDを確認 docker exec -it bashを実行する 参考: qiita.com

docker-compose.ymlのvolumesは左側がホストで右側がコンテナ

IT

勝手に逆だと思っててハマった。。 ホスト:コンテナ や ホスト:コンテナ:権限 のように書ける。 参考: qiita.com

docker-compose.ymlで長いcommandを改行する

IT

docker compoaseではcommand: > のように書くと改行をエスケープできる。 command: > bash -c 'source ~/.bashrc && /opt/java/jdk1.8.0_221/bin/java -Xms6g -Xmx6g コマンドすごく読みやすくなった。これはいい。 参考: qiita.com

JVMの引数を確認する方法

IT

psコマンドで確認すれば良いと思ったら、長すぎて見切れる。。以下のようにwwオプションを付けると折り返してすべての起動引数を表示してくれる。 ps auxww もしくは、jcmdコマンドでも確認出来た。 参考: linux.just4fun.biz

JVM optionは-jarより前に書かないといけない

IT

これ知らなかった。。 java -jar xx.jar -Xms6g のように-jarの後にオプションを書いたら全然きかなくて困っていたら、公式ドキュメントに -jarより前にoption書く仕様であると記載されていた。 -jarより後だとmain関数の引数として認識されるっぽい。 参考:…

EBSボリュームを作ってEC2から使えるようにするまで

IT

概ね以下のステップでやる。 EBSボリュームを作る、EC2にアタッチする、EBSをフォーマットする、マウントする 手順は以下参照。 qiita.com

JVMのヒープサイズを確認する方法

IT

一発でわかるコマンドはないのでめんどかった。。 jstat -gc <pid> を実行すると、以下のような結果が出る。 S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT 10240.0 17920.0 10224.1 0.0 620032.0 482941.0 118272.0 50459.5 81792.0 78209</pid>…

Flask-Migrateでflask db migrateを実行してもmigration codeにモデルの変更が反映されないことがある

IT

公式サイトを見ると、「全部の変更は検知できないから手でmigration codeを作ってね☆」と書いてあった。。マジカヨ。 検知出来ない変更については以下参照。 alembic.sqlalchemy.org

PyCharmでSSH InterpreterのProject Interpreterを設定すると「interpretator python doesn't exist on remote server」エラー

IT

SSHで接続する先のサーバにログインして python や ~/anaconda3/bin/python を実行するとpythonインタープリタを実行出来るのに、 これらをPython interpreter pathに設定してもだめだった。PyCharmからpythonを実行するときのユーザがec2-userじゃないのか…

Vueのdataプロパティの配列の要素の値を変更しても画面が更新されない

IT

配列の要素の追加・削除は反映されるが、配列の要素にオブジェクトをpushして、そのプロパティの値を変更しても反映されない。 原因は要素の値の変更は検知されないため。そんなときは$setを使って値をセットすると反映される。 詳細は以下サイト参照。 ti-t…

preタグの中の文字列が見切れてしまう(折り返されない)

IT

chromeやsafariのuser agent styesheetのスタイルがwhite-space:preになっているため。 white-space:pre-wrapを設定すると直った。 参考: www.htmq.com

window.openで開いたタブしかwindow.closeで閉じられない

IT

JavaScriptの仕様で決まっているのでこれは回避できない。。強引に回避するとしたら、 <a href="http://yahoo.co.jp">link</a> のようになっているところを <a href="javascript:window.open('http://yahoo.co.jp')">link</a> のようにして、新しいタブでHPを開き、その中でwindow.closeを実行するようにすれば閉じられそう(未検証ですが) 参考: develop…

のどかを使うと右シフトキーが効かなくなる問題

IT

以下のサイトに解決策が書いてありました。 www.raythebm.net 具体的には以下の設定を.nodokaファイルに書けばOK。 def key E0RightShift E0RShift = E0-0x36 def subst E0RShift = LShift keymap Global mod shift += E0RShift key *E0RShift = *LShift key…

PyCharmからパッケージをインストールしようとすると「ERROR: Could not find a version that satisfies the requirement pandas (from versions: none)」のようなエラーになる

AI

proxyの問題と思うが、Available PackagesウィンドウのOptionsに--proxyオプションを設定しても直らなかった。 Anaconda Promptでpip installでインストールするとインストールできた。 PyCharmからインストールする場合はPATHの問題とかでインストールでき…

「ModuleNotFoundError: No module named 'sklearn.cross_validation'」エラー

AI

原因はコードが古いこと。cross_validationはmodel_selectionに移動したので from sklearn.model_selection import train_test_split のようにするのが正しい。 本のコードを写経していると発生しそう。。 参考: www.haya-programming.com

Vueでアニメーションを実装したら「[Vue warn]: <transition-group> children must be keyed: <div>」エラー

IT

transition-groupの中のv-forをつけているタグに:keyがないことが原因。以下のようにkeyに要素毎に異なる値をbindすれば直った。 div(v-for='item in this.items', :key="item.id") 参考: jp.vuejs.org

JSでランダムな文字列を生成する

IT

今回は被らなければいいだけだったので以下を使った。標準の関数でSHA2とか生成できたらいいのになぁ。 Math.random().toString(32).substring(2) 参考: qiita.com

「[Vue warn]: The computed property "fields" is already defined in data.」エラー

IT

原因はvee-validateとelement-uiが両方ともglobalにfieldsという名前のcomputed propertyを追加するので衝突していたこと。 以下のようにvee-validateの方のフィールド名をカスタマイズすると直った。 Vue.use(VeeValidate, { fieldsBagName: 'veeFields' })…

Vue.jsで画面に要素を追加した時に一番下にスクロールしない

IT

以下を参考に実装したがうまくいかなかった。 stackoverflow.com 原因はボタンクリックイベントでデータをpushした時にscrollTopを設定していたが、そのタイミングではまだDOMが更新されていないため。 以下のようにDOM描画が終わってからscrollTopを設定す…

「[vue-i18n] Value of key 'el.table.emptyText' is not a string!」のようなエラーメッセージがコンソールに出る

IT

原因は多言語対応ライブラリのvue-i18nを通じて画面に表示するメッセージを取得しようとしたが表示するメッセージが取得出来なかったこと。 「[vue-i18n] Value of key 'el.table.emptyText' is not a string!」であれば、 el.table.emptyText をkeyとしてメ…

Vue+Typescriptでは@Componentでnameを設定しなくていい

IT

nameを設定しなくてもクラス名をケバブケースにした名前を設定してくれるので設定不要。 参考: github.com

Vue.jsで子コンポーネントにbindした値を受け取れない

IT

原因はpropsはキャメルケースで定義するがHTMLに書く属性名はケバブケースにしないといけないため。 HTMLは大文字と小文字を区別しないのでケバブケースを使うらしい。 これはハマル・・・ 参考: [https://qiita.com/Keitaro/items/f77d2340f9390f028677:em…

iOS Safariのdev toolをMacで表示できない

IT

以下で紹介されている手順でSafariのインスペクタにiPhoneで表示しているページを表示しようとしたが、できなかった。 qiita.com 具体的には上記サイトの「MacでSafariを立ち上げ開発メニューから接続したiOSデバイスの制御したいウィンドウを選ぶ」 の手順…

Vue.jsのexpression内のthisがundefinedになる

IT

どうもv-forを追加したタグの子要素の中のexpression({{}}で囲まれた式とか)でthisを使うとundefinedになるっぽい。 this.nameをnameにすると直った。

safariでfooterが表示されなくなる

IT

原因はposition:fixedがsafariでうまく動かないため。対応は検討中です。。 www.transbit.jp

WSLのHOMEディレクトリ下のファイルをWindowsから修正するとWSL側から見えなくなる

IT

以下にあるsshのconfigファイルを秀丸で修正したら、sshでログインできなくなった。 C:\Users\username\AppData\Local\lxss\home\usename\.ssh/config 原因は以下の記事にあるが、windows側からWSL側のファイルを修正するとメタデータが壊れること。 まじか…

sshでアクセスすると「Connection closed by UNKNOWN port 65535」エラー

IT

原因はユーザIDが間違っていることだった。 EC2インスタンスをUbuntuのAMIで作ったのに、ユーザIDがec2-userのままだった。。 ユーザIDをubuntuにすると直った。 てかエラーメッセージをもっとわかりやすくしておくれよ。。