読者です 読者をやめる 読者になる 読者になる

日々精進

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

Apexからデバッグログを出しているのに、デバッグログ一覧に何も表示されない

IT

Apexコード中でSystem.debug(‘’)をつかってログを出すと、 設定>環境>ログ>デバッグログ にあるデバッグログ一覧からログが見られるはず・・なんだけど、どうしても表示されない。 以下を参考に設定ちゃんとしてるはずなのに表示されない。 たいていのこ…

Servletでファイルを読み込み、レスポンスとして返したら文字化けした

IT

最初はHTTPヘッダの文字コード指定がだめなのかと思ったが、そうではなかった。 原因はファイルを読み込む際に文字コードを指定していなかったこと。ファイルから読み込む時点でもう文字化けしていた。 以下のように読み込み時に文字コードを指定したら直っ…

dockerのWAS Libertyコンテナを使ってデバッグ実行をする方法

IT

以下を参考に、WAS Libertyコンテナを動かすと、 wlp/bin/server run コマンドでWASが起動されるのでデバッグ実行できない。 https://hub.docker.com/_/websphere-liberty/ 最初、dockerはコンテナ作成時に、コンテナ起動時に実行するコマンド(Dockerfileの…

WAS liberty profileにデプロイしたアプリのcontext rootが想定と違う

IT

普通は、app.warをdropinsフォルダに置くと、 http://localhost:9080/app/ のようにファイル名から.warを取った部分がcontext rootになるのに、そうならないアプリがあった。 原因は、そのwarの中にibm-web-ext.xmlがあったから。 context rootは以下の優先…

Dockerfileのデバッグ方法

IT

Dockerfileを作っている時に、 docker build . が途中で失敗し原因を調査する際の手順。 docker ps -a でビルド失敗したコンテナを調べ、 docker commit でそのコンテナのイメージを作る docker run --rm -it <imagename> /bin/bash でイメージからコンテナを作り、そこ</imagename>…

dockerコンテナでlsofなど基本的なコマンドが全然使えず困った

IT

ubuntuのコンテナを作っても、nanoもviもlsofも使えず困った。 以下のようにして自分でインストールする必要がある。 apt-get update apt get install nano vi lsof Docker用に最小限のパッケージしか入れてないんだろうけど、 基本的なやつは最初から入れて…

Antでビルド時にコマンドライン引数を受け取って文字列置換する

IT

なぜ今更Antでビルドしないといけないのか。。と思いつつ。 以下のようにpropertyタグを定義し、ant -Dserver_type=“test” のようにして文字列を渡す。 replacefilterタグでテンプレートの文字列を置換できる。 <project name="SimpleAnt" default="compile"> <property name="server_type" /> <target name="create.conf"> </target></property></project>

IntelliJでビルドすると「Cannot start compilation: the output path is not specified for module・・・」エラー

IT

原因はモジュールをビルドした時のビルド成果物を保存するパスが設定されていないため。 プロジェクト設定画面で以下を設定すると直った。 Module settings > Project > Project compiler output にoutと入力する Modules > Paths > Inherit project〜 にチ…

Javaからホスト名を取得する方法

IT

InetAddress.getLocalHost().getHostName() と Runtime.getRuntime().exec("hostname") のどちらでも取得出来るが、 InetAddress.getLocalHost().getHostName() の方が環境が変わっても正しく動く可能性が高い。 参考: stackoverflow.com

magic mouseを接続しようとすると、「ペアリングできませんでした」エラー

IT

原因は不明だけど、以下の手順で直った。 システム環境設定>Bluetooth>マウスの横にあるペアリングボタンをクリック システム環境設定>マウス からはどうしてもペアリングできなかったけど、システム環境設定>Bluetoothからはすぐにペアリングできた。謎…

gradleビルド時にjarファイルを読み込む

IT

以下のように、jarファイルの拡張子無しの名前を指定する。 dependencies { compile name: 'myjar-1.0-SNAPSHOT' } 参考: stackoverflow.com

IntelliJでJava開発中にdebug windowで見られない変数がある

IT

ライブラリのコードをデコンパイルしたコードの中に以下のようなコードがあり、変数eの中身が見られなかった。 CsdlEntityContainerInfo e = this.provider.getEntityContainerInfo(containerName); return e != null?new EdmEntityContainerImpl(this, this…

プロジェクト参照の設定をbuild.gradle・settings.gradleにした後IntelliJからビルドするとNoClassDefFoundError

IT

原因はIntelliJがgradleタスクをキャッシュするためだった。 メニューのView > Tool Window > gradleからgradle paneを開き、refreshボタンをクリックしたら直った。 gradleの設定を変更したら、refreshボタンをクリックしないといけないのか。。必ずしない…

WASが開いているポート番号を調べる

IT

管理コンソールから「サーバー」-「サーバー・タイプ」-「WebSphere Application Servder」 - 「server1」 - 「ポート」を選択するとポートの一覧が表示される。 WC_defaulthostがHTTPのポート。 参考: WAS 小ワザ集: 第4回:WASがオープンしているポート番…

シェルスクリプトをどこからでも実行出来るようにする

IT

shell.shというファイルに ant -lib libs/ とか書いてると、./libsフォルダが存在するところからしか実行出来なくなってしまう。 ./project/shell.sh のようにシェルがあるところ以外からもシェルスクリプトを実行出来るようにするためには、 以下のようにシ…

mdfindでコマンドラインからSpotlight検索ができる

IT

これ知らなかった。。 mdfind test | grep …とかして絞り込めるし、pecoを使ってインクリメンタルに 絞り込んだりもできるし色々やれそう。 参考: qiita.com

ResultSetに特定のカラムが含まれているか、やカラムのメタデータを取得する

IT

以下のようにすると特定の名前のカラムがあるかどうかを判定出来る。 ResultSetMetaData rsMetaData = rs.getMetaData(); int numberOfColumns = rsMetaData.getColumnCount(); // get the column names; column indexes start from 1 for (int i = 1; i < n…

HttpServletRequestから完全なURLを取り出す

IT

HttpServletRequestのgetRequestURLにはQueryStringが含まれていないので、以下のようにする必要がある。 public static String getFullURL(HttpServletRequest request) { StringBuffer requestURL = request.getRequestURL(); String queryString = reques…

Salesforceで外部オブジェクトをApexからinsertする

IT

Salesforceの外部オブジェクトをApexからinsertする場合、普通のオブジェクトと同じようにinsertコマンドではできなかった。 Database.insertImmediateまたはDatabase.insertAsyncを使うとinsertできた。 Database.insertImmediate(sObject) Database.は省略…

URISyntaxExceptionエラーを回避する

IT

new URI(string)とした時に、stringにURLに使えない文字が含まれているとURISyntaxExceptionが出る。 URLEncoder.encode( string , "UTF8" ) を使ってURLエンコードすれば直る。 参考: stackoverflow.com

dockerでimageファイルからコンテナを起動するまで

IT

以下のコマンドでできる。 docker load < <imagefile> docker run --name <name> -p <port>:<port> -d <imagename> 参考: uxmilk.jp</imagename></port></port></name></imagefile>

WASにBasic認証を設定したが「Error 403: AuthorizationFailed」になる

IT

IBM Knowledge Center を参考にserver.xml, web.xmlを設定したがだめだった。 原因はロールとユーザのマッピングを管理コンソールからしていないことだった。 管理コンソールでBasic認証したいアプリケーションを選択し、 ユーザー/グループへのセキュリティ…

IntelliJでMarkdownをプレビューすると固まる

IT

IntelliJでMarkdownをプレビューするとかなり高い確率で固まってしまい、強制終了しないといけなくなるので困っていた。 設定のLanguages & Frameworks > Markdown > PreviewでPreview BrowserをDefaultにしたら直った。

IntelliJでマルチプロジェクト構成を作る方法

IT

IntelliJでは一つのプロジェクトに複数のモジュールを持たせる。モジュールがそれぞれAPIサーバだったり、クライアント側のコードだったりする。 参考: d.hatena.ne.jp

macでマウスカーソルをスクショに入れる方法

IT

標準ツールのグラブを使えばできる。こんなツールあったんだ。。 参考: act2inc.zendesk.com

ローカル環境を一時的に外部に公開する方法

IT

Salesforceと連携する外部サーバを開発してると、ローカル環境でSalesforceからのリクエストを受け取りたいなぁ。。ということがある。 ngrokを使えばそればできる。使い方は超簡単。以下記事参照。 qiita.com これはすごい。。めちゃめちゃ便利ですね。

iTerm2上でCmd+left, Cmd+rightで行頭・行末にカーソルを移動する(改良版)

IT

以前、iTerm2上でCmd+left, Cmd+rightで行頭・行末にカーソルを移動する方法を紹介したがもっと設定が楽な方法があった。 anton0825.hatenablog.com Preferences > Keys tab > + > 「command + ←」に"Send Hex code: 0x01", 「command + →」に"Send Hex code…

WASからDB2に接続すると「CWNEN1001E・・・」エラー

IT

原因は動かしていると思っていたWASを取り違えていたことだった。 WASが以下の二つの場所にインストールされていた。 <プロジェクトRoot>/wlp $HOME/wlp IntelliJからデプロイしていたが、実際にデプロイされていたのは$HOME/wlpの方で、 DB2接続用の設定を…

macに電源を繋いでも「バッテリーは充電できません」と表示され充電できない

IT

電源コネクタを一旦外して再度付けたら直った。 バッテリーを付け直したりしないといけない場合もあるらしいのでまだ簡単に直ってよかった。。 参考: 448.jp

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 のコマンドプロンプトで空ファイルを作成する方法