のアーカイブ

SQLの基本的な構文

2015年9月30日

実はSQLのことをあまり分かってないことを思い出したので、実務上で出てくるコードが理解できるくらいの情報を要約します。 ## select (データベースからデータを取得する) ``` select 項目名 from テーブル名 [where 検索条件] [order by ソート方法]; ``` とした場合、「テーブル名」から「検索条件」に合ったレコード(1行文!)、そのうちの「項目名」に合ったものを取得し、「ソート方法」に従って並べて返す。 ###
続きを読む

Cookieと有効期限

2015年9月16日

Cookieとは、セッション情報を持たないHTTPでの通信に、セッション情報を付加するものですが、自分の知識の整理も兼ねてHTTPから順を追って説明します。 ## HTTP HTTPでの通信は基本的に、クライアント側から送信されるリクエストとサーバー側からのレスポンスから成ります。例で言うと、「”http://〜〜〜 ”を出してくれ!」というのがリクエストで、「これがそのページだよ!」とリソースを返すのがレスポンスです。また、HTTPによる通信は一度一度の通信の情報しか持
続きを読む

aipo開発のためのeclipseの便利機能まとめ

2015年9月3日

ファイルやメソッドを探したい時、プログラムを追いたい時 「検索」機能・・・探したい範囲のフォルダ(わからなければ一番上のaipoフォルダ)をクリック→メニューバーの「検索」から「検索」→「ファイル検索」→「含まれるテキスト」に探したいファイル名またはメソッド名や単語を入力、「ファイル名のパターン」はもし拡張子などを限定したいなら設定するもしわからなければ「*」を選択、「スコープ」欄は「選択されたリソース」→「検索」ボタンをクリック→ウィンドウ下部の「検索」欄に検索結果が
続きを読む

aipoのxregファイルの扱い注意点

2015年9月3日

aipoの開発をしていて.xregファイルを編集する必要がありました。普通に変更し、保存してもなぜか結果が反映されませんでした。ちゃんと反映されるようにするには以下の手順を踏む必要があります。 ①Tomcatを停止する。 ②変更を保存し、mvn installする。 ③Tomcatを起動する。 原因としては、Tomcatは編集した.xregファイルでなく、それをコピー(mvn install時に行われる)した.xregファイル(targetフォルダ内)を参
続きを読む

aipo開発にあたって目を通したいhackまとめ

2015年8月28日

開発で,いろいろ試行錯誤していたけど,後々になって「この間迷ってたやつ,このハックに書いてあったじゃん...」「もっと早く知りたかった...」ということがあったのでまとめておこうと思います.インターンや新しいアルバイトの方の助けになるといいなあ. 「どのプログラムを直せばいいか分からない...」というときに参考になるハック 記述しているプログラムの探し方 記述しているプログラムの探し方2 aipo開発のためのeclipse便利機能まとめ ショートカッ
続きを読む

オブジェクトのキャストについて

2015年8月27日

変数を違う型に変換することをキャストと言いますが、実はオブジェクトもキャストできます。僕は今日初めて知りました。単純な変数の場合と違って色々条件や制限がありますが、覚えておくといつか使うときが来そうです(知っているだけでもコードを読む力が上がるかも?)。 中でも参照型、例を挙げるとinterface型のものは少し特殊で、参照型のキャストは、「あるクラスをインスタンス化」→「スーパークラスやインターフェイスの型に代入」→「元のクラス(型)に戻す」という場面で使用されます。
続きを読む

抽象クラスを使って同じコードで複数の実装クラスを使い分ける

2015年8月20日

抽象クラスを使って、同じコードで書いたものでも、それを利用する対象によって異なる実装内容に変化させることができます。 例えば、抽象クラスabstをつかって記述したものに対して、そのコードをバージョンAから利用した場合と、バージョンBから利用した場合とでは、動作が異なるように構成できるという具合です。 その実現にはjetspeedなどを利用することができます。また拡張性が高い構成にできるため、デザインパターンとしても存在しています。 *** 参考サイト:
続きを読む

CSSでfloat指定したボックスを含むボックスの高さが0になる

2015年8月18日

HTMLとCSSを扱っている時に、分かりにくかったCSSの仕様を紹介します。 divタグなどで色々ボックスモデルを作って、そのレイアウトの実現手段としてfloat属性を指定することがあると思います。しかし、divタグで括った中身にfloat属性が指定されている場合、「float指定したボックスを含むボックスの高さが0になる」現象が起きます。 例えば、以下に「floatを指定しない場合」と、続けて「floatを指定した場合」を示します。divタグで作った大きい四角の中に
続きを読む

かな文字入力で書いた語を英数入力で書いたことにする(Mac使用時)

2015年8月18日

よく知っている方は設定か何かですでに変えているとは思いますが、今回は入力したかな文字を英字で入力したことにする方法を説明します。 コードを書いている時、コメントも添えたりしますよね。コメントを日本語で書いて、さあコードの続きを書くぞ!...あ、かな文字入力のままコード書いてた...一回消して英数入力に切り替えて、もう一度書く...なんてこと、経験した方もいるんじゃないでしょうか。僕は何度も経験しました。 以下にその方法を示します。 *** 具体的な方法かな
続きを読む

セッション管理について

2015年7月31日

今回の作業でセッションというものを初めて意識したのでまとめます。 *** セッションとは、クライアントが行う一連の行動であって、例としては ログイン→閲覧→注文→決済→ログアウト などが挙げられます。 この例のような動きを実現するには、 ・どの顧客がアクセスしているのか ・買い物カゴの中身 ・手続きの進行状況 等を判断・把握する必要があります。これらを管理することをセッション管理といいますが、その実現方法として
続きを読む

Finderで保存場所からファイルを探す方法

2015年7月17日

保存場所というのか、パスというのか、なんというのかわかりませんが、 /usr/local/opt/tomcat7/libexec/logs のような文字列からその場所に飛ぶ方法がわからなかったので書きます。(常識なんじゃないか?という感じはしますが、他にもいると信じて・・・) その方法を説明します。Finderのメニューバーから「移動」→「フォルダへ移動」 とすると「フォルダの場所を入力:」という入力欄が出ますので、そこに探してるファイルがある場所を入
続きを読む

画像サイズを動的に変化させる-retinaディスプレイへの対応

2015年7月10日

retinaディスプレイ等の高解像度なディスプレイを使っている場合を想定すると、他のディスプレイで表示する場合と区別しなければ、画像はぼやけたように表示されてしまいます。HTML5のsrcsetを使った方法では、retinaディスプレイかそうでないか・ウィンドウサイズはどのくらいか、を判断し表示する画像サイズを切り替えることが出来ます。詳細は参考サイトの方を見ていただくとして、簡単な例を示します。 *** ・imgタグにsrcsetをつかう ``` ```
続きを読む

Eclipseでの例外(Exception)クラスの作り方

2015年7月7日

例外をcatchして処理する、というのは頻繁に書くことがあると思います。そんなとき、新しくExceptionクラスを作りたい場面も多いと思います。 Eclipseではクラスを作る時にいちいち手で書かなくていいように、クラスの作成を簡単に行える機能がついています。今回はその手順を説明します。 Eclipseの中で、例外ファイルを作りたいフォルダ(例外を投げるメソッドのクラスがあるフォルダなどが適当)を右クリック → 新規 → クラス にて、 名前:作りたい例外クラ
続きを読む

Exceptionを複数の呼び出し元のメソッドでcatchする方法

2015年7月3日

例外(Exception)を投げて(throw)それをcatchして処理を加えたい、という場面は多くあります。しかし、開発経験の浅い自分などでは、複数のメソッドを呼び出している場合にどうコードを書けば良いのか分かりませんでした。 今回その方法を教えていただいたので、紹介したいと思います。 *** 以上の文章ではいまいち困るポイントがわからないと思うので詳しく書きます。 例として、メソッドAからメソッドBを呼び出し、メソッドBからメソッドCを呼び出すという、3層の処
続きを読む

拡張for文について

2015年6月30日

for文を利用する上で、便利なのが拡張for文と呼ばれる形です。 学校でプログラムを習っただけの人間(自分です)などは、最初良くわかりませんでした。 *** 通常、for文は ``` for(int i=0; i
続きを読む

パイプ文字|でsplitする

2015年6月26日

今回は、文字列をパイプ文字|で分割処理する方法について述べます。パイプ文字などの正規表現に使われる記号は、ほかの文字と同様にして扱うと期待通りの結果が得られないことがあります。 例として、次のコードについて考えます。 ``` separateValue = value.split("|"); ``` ただし、ValueはString, separateValueはString[]型で定義されているとします。 いま、Valueに”和歌山県”という漢字4個
続きを読む

javaでのマルチスレッド処理(synchronizedなど)と.wait()メソッド使用上の注意

2015年6月23日

 javaでマルチスレッド処理を行う際、スレッド間で同期処理したい場合も多いと思います。そんな時使うのがsynchronizedブロックですが、これを利用するにあたって注意を述べます。  マルチスレッド処理を行うとき、対象となるクラスはThreadクラスをExtendしていると思いますが、Threadクラス内のwaitメソッドはよく使うのではないでしょうか。waitメソッドを使用する際には、その前に「条件が○○になったらwaitをやめる」というwhile文のような条件文を書
続きを読む

JavascriptからHTMLの書き換えを行う方法

2015年6月19日

今回は、JavascriptからHTMLのテキストやタグを書き換える方法について説明します。  メール機能やタイムライン機能などを構成する上で、入力欄としてテキストボックスを配置した際には「文字数が多すぎる場合」や「何も入力せずに送信しようとした場合」にエラーメッセージを表示させたいですよね。  そんなとき、空のdivタグを利用する方法があります。入力欄の上部に空のdivタグを配置しておき、エラー時にはここにメッセージを表示することを考えます。 *** 具体的
続きを読む

どのファイルに含まれるかわからない変数を検索する方法-Eclipseの「検索」機能

2015年6月12日

 今回は、要素の検証などで調査したい機能に使われる変数やクラスなどがわかったものの、どのファイルに属している変数なのか分からないという状況を助ける手段について説明を行います。  Chromeの「要素の検証」の「Element」からWebページの特定の表示を実現しているHTML文を調べることが出来ますが、文中のクラス名などはプログラムのどこで定義しているのかは中々わかりづらいです。そこで、どのファイルに属しているかを自動的に探してくれる機能を紹介します。  Ecli
続きを読む

alert文を使ったJavaScriptでの簡単なデバッグ方法

2015年6月9日

自分の使っている開発環境では、JavaScriptのコード中ににブレークポイントをおいても何も起こらない仕様になっていて、書いたコードがどのように動作しているのかわかりづらいです。そこで多くの人が知っている有名な方法(自分は知りませんでした)であるalert文を使った簡単なデバッグ方法を紹介します。 多分当たり前すぎて誰も記事を書かなかったのだと思いますが。 使い方は、実行されているのか不安な行間に、 ``` alert("テスト"); ``` と
続きを読む