日々精進

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

IT

mvnを実行すると「エラー: メイン・クラスorg.codehaus.plexus.classworlds.launcher.Launcherが見つからなかったかロードできませんでした」エラー

IT

以下を実行し環境変数を削除すると直った。 unset M2_HOME 参考: Sonar/mavenインストール - 初心者エンジニアの簡易メモ

./gradlewを実行すると「エラー: メイン・クラスorg.gradle.wrapper.GradleWrapperMainが見つからなかったかロードできませんでした」エラー

IT

原因はgradle-wrapper.jarが見付からないこと。 以下を実行すると直った。 brew install gradle gradle wrap 最初にリポジトリをCloneして./gradlewを実行した時は問題無かったような気がするんだけどなぁ。。 参考: qiita.com

SSHトンネルの堀り方

IT

踏み台経由でprivate network内の外部に公開していないWebサーバにアクセスする方法。 以下のSSHコマンドを実行してhttp://localhost:(ローカルポート)にアクセスすると 踏み台から(リモートホストのIPアドレス):(リモートホストのポート)にリクエストを送る…

magic mouseを接続しようとしても「マウスが見付かりません」と表示されたままで接続できない

IT

電池を交換したらこの現象が発生した。 原因はよくわからないけど、Macを再起動したら直った。 参考: support.apple.com

PCの電源をいれると「201-メモリエラー」と表示され起動しない

IT

原因は4本メモリスロットのうち端の2本にメモリを挿していることだった。 メモリスロットが ①②③④ のように4つ並んでいたがそのうち①と④にメモリを挿すとエラーになった。①と②にメモリを挿すと エラーが起きなかった。 メモリを挿す順序が決まっているマザー…

GoogleAPIにリクエストを送信すると「Google.Apis.Requests.RequestError Reason[keyInvalid] Domain[usageLimit]」エラー

IT

原因はAPIに送信するキーを間違えていたことだった。 URL Shortenerサービスを使っていたんだけど、サービスアカウントキーを渡してしまっていた。 APIキーを送るようにすると直った。

antでビルドしたwarやjarをステップ実行可能にする

IT

なんで今時Antでビルドしてるのか・・と思いつつプロジェクトの都合でAntを使ってます。 Antでビルドした時にデバッグ情報を出力するには、debugオプションとdebuglevelオプションを追加する。 <javac destdir="${build.dir}/classes" source="1.8" target="1.8" debug="true" debuglevel="lines,vars,source"> 参考: Javacタスク</javac>

EclipseでBreakpointを置いてもそこで実行が止まらない

IT

原因はいくつか考えられるけど、今回はBreakpointがbyte codeにattach出来ていないことだった。 以下のサイトに例があるが、Breakpointのアイコンが青い丸だけの場合、attach出来ていないので止まらない。 青い丸にチェックマークが付いているとattach出来て…

AtomでMarkdownをプレビューする方法

IT

control + shift + M でプレビューが起動する。 参考: wayohoo.com

macからsubversionにコミットしたファイルをwindowsでチェックアウトするとそれだけで差分が出る

IT

原因はファイル名の文字コードが違うこと。 MacはUTF8でWindowsはSJISだから? チェックアウトするとファイルが削除されたように見える。 解決策は文字コードの問題を解決したバージョンのsubversionを使うこと。 以下を実行するとそのようなSVNをインストー…

LANケーブルにはグレードがあり、ケーブルによって通信速度が変わることがある

IT

今までLANケーブルなんてどれも一緒だと思ってたけど、グレードによって通信速度が変わることがあるらしい。 カテゴリ5は遅くて、5e,6,7はどれもほぼ同じ。 カテゴリとかあるのかー。知らなかった。 参考: LANケーブル種類・カテゴリーによる通信速度比較(…

Aterm WG1200HSやNetGenesis GigaLink1000をルータとして使用するとPCが40台を越えたぐらいから突然ネットワーク全体が通信出来なくなる不具合が発生する

IT

当初Aterm WG1200HSを使用していたが、40台を越えたぐらいから突然ネットワーク全体が通信出来なくなる不具合が発生するようになった。頻度は週に一度ぐらい。 ルータの問題かと思ってルータをNetGenesis GigaLink1000に変更したが同じ症状が出た。 詳細は…

windowsのバッチファイル実行時に引数を渡す

IT

バッチの一部を実行時に変更したいときどうするか。 以下のように引数を普通に書く。 command.bat arg1 バッチファイル内では%1のような形式で参照出来る。 @echo %1 参考: Windowsバッチファイル引数 CapmNetwork

windwsのデフォルトゲートウエイ等の設定をコマンドラインから行う

IT

netshコマンドでできる。 IPアドレス固定にするには以下のような感じ。コマンドプロンプトは管理者権限で起動する必要がある。 netsh interface ip set address "ネットワーク" static 172.16.1.101 255.255.255.0 172.16.1.1 他にも色々オプションがあるの…

windows10でOS再起動するとネットワークがプライベートネットワークからパブリックネットワークになる

IT

ルータを交換した時、OSを再起動した時にネットワークがプライベートネットワークからパブリックネットワークになる現象が発生した。その際ネットワークの名前が「ネットワーク」から「ネットワーク 2」に変わった。 原因は以下の記事にあるように、「アダプ…

MacでZipファイルを作ってWindowsで解凍すると文字化けする問題

IT

原因はMacは文字コードがUTF8だがWindowsはSJISであること。 MacZip4Winというアプリを使って圧縮すると文字化けしない。 参考: tokyo.secret.jp

windowsでフォルダを同期(rsync)する

IT

robocopyコマンドを使うとできた。 以下のコマンドを実行すると、コピー元を監視し、変更があればコピー先に反映してくれる。 あと、バックグラウンドで実行するので複数のフォルダを同期できる。 start /B robocopy "コピー元のパス" "コピー先のパス" /mir…

windowsでシンボリックリンクを作成・削除するコマンド

IT

作成する場合 MKLINK /D "作成するシンボリックリンクパス" "元ディレクトリパス" 削除する場合 RMDIR "削除したいシンボリックリンクのパス" 参考: phpjavascriptroom.com

windowsでfirewallの受信許可をしたポートで通信出来ない

IT

原因は以下。 ・firewallの設定でドメインとプライベートネットワークは許可したがパブリックネットワークは許可していなかった ・接続しているネットワークがパブリックネットワークになっていた 以下のサイトを参考に接続しているネットワークの設定をプラ…

windowsのsshdはBitvise SSH Serverが良さそう

IT

bash on Ubuntu on Windows、Powershell Server、freeSSHdを試してきたけど、その中ではBitvise SSH Serverがダントツで良い。 接続出来るまでの手間が少ないのがいい全然ハマらない。 sshでログインするまでの手順は以下。 ・Bitvise SSH Serverをインスト…

windowsでlinuxのtouchコマンドを実行する

IT

以下を実行すると空のファイルを作れる。 type nul > filename 参考: Reread : Windows のコマンドプロンプトで空ファイルを作成する方法

windowsの次期バージョンをいち早く試す方法

IT

Insider Previewビルドを入手する設定にすると、次期マイナーバージョンのWindowsをいち早く使うことが出来る。 WindowsのビルドにはRingという概念があり、fast ringの方がslow ringよりもっと先の機能も使える(その分あまりテストされてない) まあ普通は…

windows10の更新履歴

IT

windows10の更新履歴は以下サイトでわかる。 https://support.microsoft.com/ja-jp/help/4000825/windows-10-update-history 先日の記事で書いたbash on Ubuntu on Windowsのリリースノートと合わせて見ると どの機能がいつリリースされたか(まだされてない…

bash on Ubuntu on Winodwsのrelease note

IT

意外と見付からなかったのでメモ。 bash on Ubuntu on Winodwsのrelease noteは以下にある。 msdn.microsoft.com まだまだbash on Ubuntu on Winodwsは発展途上で色々機能追加されてるっぽいので チェックすると面白いかも。 自分は早くWindows interoperabi…

bash on ubuntu on windowsでwindowsのexeファイルを実行すると「cannot execute binary file exec format」エラー

IT

まだbash on ubuntu on windowsがwindowsのバイナリの実行に対応していないことが原因。 下記によると、build #14951でwindowsバイナリ実行機能が追加される。 msdn.microsoft.com まだこのビルドは配信されてないのでこの機能は使えない(2017/1/1時点では…

ubuntuでサービスの状態を確認する

IT

service --status-all でサービスの状態を確認出来る。 例えば、sshdが起動中かどうかを確認したい場合、 service --status-all | grep ssh を実行する。

sshログイン時に「Resource temporarily unavailable ssh」エラー

IT

原因はホストのIPアドレスが間違っていることだった。 具体的には ssh 192.168.0.103 とするところを ssh 192.168.10.103 としてしまっていた。 このエラーメッセージで検索してもなかなかこの原因について書いている記事がなくて結構ハマってしまった。。

ssh接続時の「Are you sure you want to continue connecting (yes/no)? 」を省略する

IT

手順を自動化したいなどの理由で「Are you sure you want to continue connecting (yes/no)? 」をすっ飛ばしたい場合、 以下のようにStrictHostKeyChecking noオプションを実行時に追加する。 ssh -o 'StrictHostKeyChecking no' remote_host_name または~/.…

sshでログインしようとすると「we did not send a packet, disable method」エラー

IT

ssh <ip address> -vvvT でログインしようとすると、ログの下の方に「we did not send a packet, disable method」 というエラーメッセージが出てログインできない。 原因は.sshフォルダのパーミッションだった。 .sshのパーミッションが744になっていたのでログインでき</ip>…

WASのWebコンソールのURL、WAS Profileについて

IT

ローカルでWASを起動している場合、以下をブラウザから参照すればWebコンソールを表示出来る。 https://localhost:9043/ibm/console/logon.jsp WASのProfileが何のことかよく分からなかったけど、 どうも環境別に作るものっぽい。テスト環境用、本番環境用と…

mac,linuxなどでOSのユーザ一覧を表示する

IT

以下コマンドで表示出来る。 ls -l /home 参考: www.miuxmiu.com

psshにファイルからコマンドを読み込ませて実行する

IT

-Iオプションを使うと標準入力から受け取ったコマンドを実行してくれる。 例えば、以下のようにする。 parallel-ssh -h ./hosts.txt -i -I < ./script.sh hosts.txtには.ssh/configに定義されているHost名を書けばいい。 なので以下のようになると思う。 web…

psshを実行すると「Parallel ssh (parallel-ssh, upstream calls it pssh), executes commands on...」エラー

IT

原因は名前の衝突を避けるために、パッケージ名が変更されたこと。 psshの代わりにparallel-sshと打つと実行できる。 参考: askubuntu.com

Ubuntuで言語を英語にする

IT

sudo nano /etc/default/locale を実行して、以下を追記すると言語が英語になった。 LANG="en_US.UTF-8" LANGUAGE="en_US:en" サーバでちょっとファイルをいじるときはnanoが使いやすくていいなぁ。 なんでviとかよりマイナーなんだろう。 参考: ochaochaoc…

git pullすると「warning: CRLF will be replaced by LF」が出る

IT

原因はgitが改行コードを自動変換していること。 bash on Ubuntu on Windowsからpullした場合とコマンドプロンプトからpullした時で改行コードが違うため差分が出ていた。 git config --global core.autocrlf false を実行して改行コードをLFに統一すると直…

sshで接続すると「Resource temporarily unavailable ssh」エラー

IT

原因は以下二点だった。 ・sshdが起動していない ・Firewallでport22がブロックされている それぞれ対応すると接続出来た。 参考: superuser.com

gitコマンドを実行すると「bad config file line 1 in .git/config」エラー

IT

メッセージの通りconfigファイルが壊れていることが原因。 メッセージで指定されている行を削除したら直った。 参考: stackoverflow.com

GoogleAPIにリクエストを送信すると「Error:"invalid_grant", Description:"Invalid JWT: Token must be a short-lived token and in a reasonable timeframe", Uri:""」エラー

IT

原因はクライアントの時刻がずれていること。 自分の場合、クライアントはWindows10で「時刻を自動的に設定する」がONになっていたがずれていた。 「時刻を自動的に設定する」をOFFにして再度ONにすると時刻合わせが実行された。 これは自力では解決できんわ…

VMWare上のWindowsでISOファイルをダブルクリックすると「ファイルのマウント中に問題が発生しました」エラー

IT

原因はホストOSとの共有フォルダ上にISOファイルがあることだった。 ISOファイルをVM内のフォルダに移してダブルクリックするとちゃんとマウントできた。

VMWareで共有フォルダ設定をしても共有フォルダがマウントされない

IT

VMWareToolsをインストールしてないことが原因だった。 メニューの仮想マシン > VMWare Toolsのインストール からインストールしたら直った。 参考: xiaoxia.exblog.jp

Googleスプレッドシートで「この操作を行うと、ワークブック内のセル数が 2000000 の制限を超えてしまいます。」エラー

IT

Googleスプレッドシートには以下の制限があるらしい。知らなかった。。 スプレッドシートは最大で256列、または200,000セル、または100シート、のいずれかの制限以内とされ、保存できる最大数は1,000ドキュメント。アップロードできるファイルサイズの最大サ…

GoogleApiにService Acocunt Keyを使ってアクセスすると「The OAuth client was invalid」エラー

IT

原因はmailaddressの指定が間違っていたことだった。 例えば、Google APIの.Net SDKでは以下のように秘密鍵のp12ファイルとメールアドレスを使って認証オブジェクトを作成する。 var certificate = new X509Certificate2(@"key.p12", "notasecret", X509KeyS…

dosコマンドでワイルドカードを使ってフォルダを一括削除する

IT

以下のコマンドの<検索文字列>のところにワイルドカードを含む文字列を入れると、そのパターンに一致するフォルダをすべて削除する。 for /f %i in ('dir /a:d /s /b <検索文字列>') do rd /s /q %i 以下は削除対象のフォルダを列挙するので確認するのに便利…

ファイル・フォルダをロックしているアプリを特定する方法

IT

ファイル・フォルダを削除しようとすると、「別のプログラムがこのフォルダーまたはファイルを開いているので、操作を完了できません。」というエラーメッセージが出る場合。以下の手順でファイル・フォルダをロックしているアプリを特定できる。 Process Ex…

Gmailを送信すると「指定された文字列は、件名に必要な形式ではありません。」エラー

IT

原因は件名に改行コードが入っているため。 subject = subject.Replace('\r', ' ').Replace('\n', ' '); のようにして改行コードを削除すると直った。 参考: stackoverflow.com

Google二段階認証の端末を複数登録する

IT

後から追加は出来ないので、今使っている端末の登録を解除し、再度登録する時に複数端末を同時に登録する。 2 段階認証プロセスのページで認証システムアプリを削除 登録したい端末すべてにGoogle認証システムをインストールし、設定用のバーコード読み取り…

メモリ不足の時の挙動を再現する方法

IT

Testlimit.exeを使えば、メモリを任意の容量確保してくれるので 使用出来るメモリ量が少ないときの挙動を再現できる。 Testlimit.exeは以下からダウンロードできる。 Tools To Simulate CPU / Memory / Disk Load – The Way I See It 4GBのメモリを確保する…

promiseのthenの中からリクエストを送信し、レスポンスを後続のthenに渡す

promises/A+の仕様の中に、「thenの中でPromiseオブジェクトをreturnすると、そのPromiseオブジェクトのthenを実行し、その後元のpromiseの流れに戻る」という仕様があるので、 thenの中で以下のようにリクエストを送信してpromiseを返してやれば良い。 this…

promiseを使ってsleepを実装する

以下のようにするとsleepを実装出来る。 var deferred = Q.defer(); setTimeout(deferred.resolve, 10000); deferred.promise.then(function() { // 10秒後に実行される}); 参考:

エクセルでセルを貼り付けると20秒ぐらい固まる。動き出してからも貼り付けは実行されていない問題

IT

原因はよくわからないけど再起動したら直った。なんだったんだ。。 参考: