0. 環境 [OS] Mac OS X 10.11.4 [Java] 1.8.0 1. 問題 久々にJavaで実装する機会がありました。標準ライブラリのjava.net.URLクラスは、URLとして解釈できない文字列を渡すと例外が投げられるので扱いずらいですね。 // IllegalArgumentException が発生。 url = URL.create("不正なURL"); うーん、最初、RFCを見て「URLとして許可されている文字列だけ渡す」という処理を入れようか迷いました。 が、一から組むのも骨が折れるなあ~と思って、困った時のApache Commonsを探してみたら、しめしめApache Commons ValidatorにUrlValidatorクラスというのがありました。 早速このクラスをimportして使おうと思ったら、下記の警告が出てしまいました。 型 UrlValidator は使用すべきではありません 2. 解決 調べてみたところ、①のパッケージは非推奨で②に変えたら警告も消えました。 ①こっちは非推奨 import org.apache.commons.validator.UrlValidator; ②これを使って! import org.apache.commons.validator.routines.UrlValidator; 3. 参考 The type UrlValidator is deprecated ...

Read more

0. 環境 [git] 2.7.4 (Apple Git-66) 1. 問題 アプリのルートディレクトリに.gitignoreをおいたのですが、git status で見ても追加対象として出てきません。 2. 解決 最初(A)のように書いていたのですが、これだとダメで、[除外設定]→[例外] の順に書かないといけないようです。 (「. が先頭にあるファイルは除外してね」→「但し .gitignore は例外だよ」) (A) 修正前 (B) 修正後 ...

Read more

0. 環境 [OS] Mac OS X 10.11.4 [IDE] Xcode 7.3 [Swift] 2.1.1 1. 課題 AppleWatchのアプリ開発で「WatchKit App」を起動すると、iOSアプリのブレークポイントで停止しない。 2. 対策 XcodeのデバッガーにiOSアプリを手動で追加する必要があります。 「WatchKit App」を選択してアプリ実行。 iOSアプリのシュミレーターで、iOSアプリを起動。 Xcodeに戻って [Debug]-[Attach to Process] からiOSアプリを選択。 左のパネルで[Debug navigator]を選択し、下記①②でiOSアプリが選択されていることを確認。 ...

Read more

0. 環境 [OS] Windows 7 1. 課題 ファイル(①)に対してショートカット(②)を作った場合・・・ ① C:\tmp\test.txt ② C:\tmp2\test.txt - ショートカット エクスプローラーやスタートメニューの「ファイル名を指定して実行」から②を指定してもエラーになります。 これは下記のように ”.lnk” をつけると解決します。 C:\tmp2\test.txt - ショートカット.lnk OSの内部的にはこのパスになっているんだと思います・・・ ...

Read more

0. 環境 [Laravel] 5.1 1. 問題 composer update を実行すると下記エラーが発生しました。 Writing lock file Generating autoload files > php artisan clear-compiled [ErrorException] Undefined index: HTTP_HOST Script php artisan clear-compiled handling the post-update-cmd event returned with error code 1 2. 解決策 HTTP_HOST でソースをgrepし、 /app/Http/routes.php 内の下記箇所を修正しました。 (修正前) $_SERVER['HTTP_HOST'] (修正後) Request::server('HTTP_HOST') 3. 参考 Composer returning mysterious error ...

Read more

0. 環境 [CentOS] 6.4 (64bit版カーネル) [PHP] 5.4.17 1. XORでトグル処理 押すたびにON/OFFが切り替わるようなトグル処理を実装する場合はXORが便利です。 6行目、11行目 : 「XOR 1」するとビットが反転する性質を利用します。(下記) XOR 入力①0011 入力②0101 出力0110 ...

Read more

0. 環境 [CentOS] 6.4 (64bit版カーネル) [PHP] 5.4.17 1. ORとANDで状態管理 複数の状態や権限をまとめて管理したい場合、2進数が便利です。 2-5行目 : 2進数の定数(10進数表記)を用意します。 7行目 : ORでプログラミング言語を足していきます。 Aさんが使える言語の位にビットが立つイメージです。(下記) 0001 (PHP) 0010 (Ruby) OR) 1000 (Perl) ---------- 1011 (Aさんが使えるプログラミング言語) 11行目以降 : Aさんが使えるプログラミング言語は何か、ANDで問い合わせます。 右端の位にビットが立っていれば結果がtrueになり、PHPが使えることが分かります。(下記) 1011 (Aさんが使えるプログラミング言語) AND) 0001 (PHP) ---------- 0001 (PHPが使える) ...

Read more

 更新日:2016年08月06日 0. 環境 [CentOS] 6.4 (64bit版カーネル) [Apache] 2.2.15 [Firefox] 46.0.1 1. Let’s Encryptのコマンド変更 証明書を更新した際、 「letsencrypt-autoコマンドはもう古いよ」という警告が出たので、更新したいと思います。 2. 更新作業(【】はマスク情報) Let’s Encryptがβ版の時はgit cloneして /usr/local/src/letsencrypt ディレクトリを作成しましたが、今回はそれとは別ディレクトリを作成します。 # cd /usr/local/src # git clone https://github.com/certbot/certbot # cd certbot 疑似実行したところ成功したようなので、証明書の期限が迫ってきたら dry-run なしで実行してみたいと思います。 # ./certbot-auto renew --dry-run : (省略) : Congratulations, all renewals succeeded. The following certs have been renewed: /etc/letsencrypt/live/【ドメイン名】/fullchain.pem (success) ** DRY RUN: simulating 'certbot renew' close to cert expiry ** (The test certificates above have not been saved. ...

Read more

0.環境 [OS] Mac OS X 10.11.4 [IDE] Xcode 7.3 [iOS] 9.3 [watchOS] 2.1 ※MacとiPhoneはUSBケーブルで接続。 ※iPhoneとAppleWatchはペアリング済み。 1.問題 (文中【】は読み替えて下さい) AppleWatch用のサンプルプログラムを実機で動かそうとしたら、下記3つのエラーが出ました。 エラー1 A build only device cannot be used to run this target. No supported watchOS devices are available. Pair a device to run your application or choose a simulated device as the destination. エラー2 Could not launch '【アプリ名】 WatchKit App' on 【iPhoneデバイス名】 OS version lower than deployment target ...

Read more

 更新日:2016年05月11日 0.環境 [OS] Mac OS X 10.11.4 [IDE] Xcode 7.3 [iOS] 9.3 [watchOS] 2.1 ※ MacとiPhoneはUSBケーブルで接続。 ※ iPhoneとAppleWatchはペアリング済み。 1.問題 AppleWatch用のサンプルプログラムを実機で動かしていたら、下記エラーが出るようになりました。 Unable to add App ID because the '10' App ID limit in '7' days has been exceeded. 「7日間で10個のアプリID制限を超えたため、アプリIDを追加できません」か・・・ Webで調べたところ回避策は2つありましたが、簡単そうな①をやってみました。 ① Xcodeに新しいApple IDを追加して、それを使ってインストール ② 既に実機にインストール済みのアプリの Bundle ID を使い回す 2.手順 (画像内の【】は読み替えて下さい) Xcodeに新しい Apple ID を追加 アプリの[General]-[Team]をクリックし “Add an Account” を選択します。 Xcodeに追加するApple IDを要求されますが、未作成なので”Create Apple ID”をクリック。 ...

Read more