Kazutoshi Shinoda のアーカイブ

icsファイルの構造・構文

2016年11月29日

iCalやiCalendarで使われるスケジュールを記述したicsファイルの構文が気になったので実際に取得して調べました。 ### 〜構造〜 ``` BEGIN:VCALENDAR > > バージョン、名前などの情報 > > BEGIN:VTIMEZONE > > タイムゾーンについて > END:VTIMEZONE > > BEGIN:VEVENT > > イベント情報。以下これがn個続く > END:VEVENT > > ~~
続きを読む

Googleカレンダーでの予定をicsファイルに書き出す

2016年11月29日

繰り返しスケジュールや、特定の日は実行しない期間スケジュールのicsファイルの構造が気になったので、 icsファイルを書き出してから閲覧するまでの方法をまとめます。 ### Googleカレンダーからicsファイルをエクスポートして閲覧する方法 1. PCで[Googleカレンダー](https://calendar.google.com/calendar/)を開く 1. 左にある「マイカレンダー」クリック 1. 書き出したいイベント名の右側にある
続きを読む

List処理中でのUnsupportedOperationException

2016年11月22日

``` List list = Collections.emptyList(); templist.add("Aipo") ``` 上記のように空のリストを作ってから要素を追加しようとすると、型は合っているにもかかわらず ## 例外が発生しました: java.lang.UnsupportedOperationException というエラーを吐かれました。 原因はemptyList()を使うと固定長のリストが帰ってくるため、add操作ができな
続きを読む

Aipoでセッション変数値を取得する

2016年11月15日

rundata,contextからセッション変数の値を取得するには以下のようにすればできます。 ``` String valueOfKey = ALEipUtils.getTemp(rundata, context, key) ``` このようにkeyを指定して値を取得できます。
続きを読む

CayenneでLIKE演算子を使う

2016年11月8日

例えばSから始まるnameカラムのデータを検索したい時、以下のようなSQL文を作成します。 ``` SECELT * from sample_table where name like 'S%'; ``` このwhere以下表すExpressionをO/Rマッピング・フレームワークであるcayenneで作りたい時は、以下のようにすればできます。 ``` Expression exp1 = Expression.fromString("name like
続きを読む

checkboxが選択されないで送信された時の判定

2016年11月8日

checkboxを選択してsubmitするとvalueが送信されます。 しかし、選択していない状態でsubmitするとvalueは{更新されない/nullになります}。 ``` ``` ### ◎選択していなくてもvalueを送信したい...! そんな時はhiddenを使います。 同じname属性の値はPOST時に上書きされるので、checkboxが選択されていなければ、 以下のコードの場合valueはFがPOSTされます。
続きを読む

ブラウザ上でPOSTされた内容を確認する方法

2016年11月8日

ブラウザで、フォームに入力したデータがPOSTされているかを確認したい時は、以下のサイトのようにすると見ることができます。 ChromeとFirefoxでの方法を見つけました。 * [【Chrome Developer tools】$_POSTの中身を見る](https://private.hibou-web.com/archives/5390) * [HTTP/FirefoxのアドオンHttpFoxでHTTPの送受信を確認する](http://web.just4f
続きを読む

Aipoのrundata

2016年11月1日

Aipoでは、Webページでインプットタグやセレクトタグからデータを送信する時に、 nameとvalueをセットにして、rundataのparametersに格納しているみたいです。 なのでrundateの中身がおかしいときは、JavaではなくてVelocityをいじったほうがよさそうです。
続きを読む

Finderで/usrを開く⇒ログファイルを生で見る

2016年11月1日

Macで、Finderを使って/usrを開くときは、 ターミナルで ``` $ open /usr ``` を実行すればOKです。 *** Aipoの開発時、Eclipse上でもNTailというところでログの一部が確認できますが、 ログは全て /usr/local/Cellar/tomcat7/7.0.69/libexec/logs か /usr/local/opt/tomcat7/libexec/logs
続きを読む

エラーログの種類

2016年10月25日

いろいろなエラーログをまとめます。 随時更新していこうと思います。 *** ## ParseErrorException 構文にエラーがあるときのエラー ## StringIndexOutOfBoundsException 文字列に対して、文字位置を指定した際に負の数、あるいは(文字列の長さ - 1)より大きな数を指定した場合に起こる ## NumberFormatException アプリケーションが文字列を数値型に変
続きを読む

Aipoの*-deteil.vmファイルのresult

2016年10月18日

Aipoの*-detail.vmで、resultがよんでいるのは *SelectData.javaの"getResultDataDetailメソッド"が返す"rd"というObjectになります。 *SelectData.javaのgetResulrDataDetailメソッドでは詳細画面で表示したいデータを DBから引っ張ってきたrecordを用いてrdにセットしています。 DBからデータをひっぱってきてページに表示させるまでの流れはインターンのころか
続きを読む

浅いコピーと深いコピー

2016年10月13日

コピーには浅いコピーと深いコピーがあり、変数の型によって異なるため注意が必要です。 Javaの場合、どのように気をつけるといいかを書きます。 ### **浅いコピー** 実体(インスタンス)への参照をコピーします。 実体Aへの参照aをコピーして参照bを作ったとすると、 参照bで実体Aを操作すれば、参照aで実体Aを参照したとき、その影響を受けます。 主に参照型の変数(Javaなら型名の頭文字が大文字のものや、リストなど)で代入やcloneメソ
続きを読む

mysqlのメタコマンド

2016年10月6日

SQL分の最後に『\G』をつけると、検索結果を縦に見やすく表示してくれます。 ``` *************************** 1. row *************************** country: NULL language: NULL media_type: NULL *************************** 2. row *************************** countr
続きを読む

eclipseで2つのファイルを比較する

2016年10月6日

eclipseで2つの似たファイルを比較したいときがあります。 そういうときは、ナビゲーター(左の部分)から比較したい一つ目のファイルを選択し、 比較したいもう一つのファイルはコマンドを押しながらクリックすると、2つのファイルが選択された状態になります。 そして、選択されている2つのファイルのうち片方をコントロールを押しながらクリックすると、 比較という項目が見つかります。 そこから相互を選択すれば、一行ごとに違う箇所が分かります。
続きを読む

gitコマンド

2016年9月29日

gitコマンドを使う機会があったので忘れないためにメモ ``` %プル git pull %リモートブランチにチェックアウト git checkout -b branch_name origin/branch_name ```
続きを読む

AipoのテンプレートからiOSのバージョンを取得する2

2016年9月27日

AipoのVelocityでiOSのバージョンに応じた操作をしたいとき [AipoのテンプレートからiOSのバージョンを取得する](http://hacknote.jp/archives/22166/) このハックに書いてあるようにすればよいです。 しかしiOS 10の場合は特殊で、 ``` ${clientVer.equals("10")} ``` としても望んだとおりに動いてくれません。 本当は ``` ${clie
続きを読む

GoogleChromeのユーザーエージェントを変更する

2016年9月20日

GoogleChromeのユーザーエージェントを変更するやり方は以下の通りです。 ここでは一例としてiOS9の場合を示します。 1. GoogleChromeでページを開きます。 1. 右クリックを押して"検証"を選択 1. 現れた窓の右上(☓の隣)にある、3つの点が縦に連なっているアイコンをクリック 1. "More tools"を選択 1. "Network conditions"を選択 1. ページ下部に現れた新しい窓の"User ag
続きを読む

javascriptでエクスクラメーションマーク(!)2つ

2016年9月20日

javascriptでエクスクラメーションマークを2つ使っているところを見かけました。 ``` !!obj ``` これの意味は、objがundefinedでないとき、trueを返すというものらしいです。 undefinedというプリミティヴ値自体がJavaScript1.3から定義されるようになったものであり、 古いブラウザやMac+IE5なんかだと単なるif(obj)という式自体がエラーになってしまうらしいです。 【参考】
続きを読む

[Aipo]開発中のAipoをiPhoneで実機テストする方法

2016年9月13日

Aipoを開発する際、iPhoneからバグの確認等をするために実機テストをしたい時があります。 実機テストするやり方を教わったりネットで調べたりしたのでまとめておこうと思います。 1. MacとiPhoneが同じLAN上で繋がっていることを確認(同じWi-Fiに接続できていればOK) 2. Tomcatの起動 > ワークスペース上でプロジェクトを右クリック→「Tomcatプロジェクト」→「コンテキスト定義を更新」をクリックしてください。 > Eclips
続きを読む

psコマンド

2016年5月11日

psコマンド =実行中のプロセスを表示する よく使うオプションは aux で実行しているプロセスの一覧が見られます。 ps auxで表示される項目の意味は[このサイト](http://www.itmedia.co.jp/help/tips/linux/l0158.html)を参考にします。 その他のオプション > a 自分以外のユーザーのプロセスも表示する > c task_structに格納されているコマンド名を表示する
続きを読む