spring(STS)インストール

プロジェクト作ったらエラー出て手間取ったのでここに解消方法を。

http://www.tekboy.net/archives/542

の方法でEclipseにインストールできる。

けどエラーが出るので、
上記リンクにもあるけど.m2/repositoryごとファイル削除する。
その後、eclipseを-clean 起動すれば解消する。

javaのシステムライブラリーについて警告が出るので、
ビルドパスにpleadesのjavva1.6あたりを指定すればこちらが解消する。

XMLの警告は無視して良さそう。

7月に向けて覚えるもの

プログラマーは覚えては使っての繰り返しですなぁ…
IPhoneもObjective-CからSwiftって言語に移行しようとしてるし、、
新言語Swift
http://pc.watch.impress.co.jp/docs/column/kaigai/20140604_651648.html

SpringとHybernateを覚えろと指示ががが。
JavaはSpring使うに当たってInterface覚えるくらいかな。使い方は何となく抑えてるから見て使えばいいかな。

Spring
http://dev.classmethod.jp/server-side/java/spring-firstcontact/
http://www.techscore.com/tech/Java/Others/Spring/index/

※Springはここで基礎を覚えておくと良いかも。
http://matome.naver.jp/odai/2134970698031018601

Hybernate
http://www.techscore.com/tech/Java/Others/Hibernate/index/

こいつは昔からあるO/Rマッパーだから
DBFlute使ってたし、下準備できれば書式覚え直すくらいかな。

C#の環境整備

おひさっす。

SQL、SELECTをはじめとした基本4つしか使えなかったけど
設計書用にSQL叩いてたらEXISTSとかLEFT OUTER JOINとか使えるようになったよねー。
CHECKもそうだけど、INDEXやビューも近々覚えなきゃなー。

…さて本題に入りまして、C#はじめました。
新しい現場で軽く触れるって言われたのでちょっと触っておこうかと。

商用ならVisualstudioっぽいけど家で触るにはなぁ…
見てたら無料のvisual studio express editionは使いにくいらしいし、、、

で、探した結果#Developを使うことに。

http://news.mynavi.jp/articles/2009/03/26/SharpDevelop/

Oracleの基礎勉強中

ばんはっす。

とりあえず生きてます(笑)
ServletベースのJAVAとJSは読めそうだから良いとして、
ソース内にあるSQLが読めない\(^o^)/

なので、下記で基礎をさっさと埋め込まないとですね…。
http://oracle.se-free.com/
http://www.1keydata.com/jp/sql/sql-intersect.php
http://www.techscore.com/tech/sql/index.html/

あと上記のサイトみてた時にフリーランスについてまとめてたサイトがありました。
http://www.se-free.com/

多分下記の形なんだろうけど、入れ子(ネスト)を4つ位してたから謎かった。。
服問い合わせと表の名称変更を組み合わせた形で、SELECTとかUnionした結果を結果に表示する感じっす。
赤、緑、紫で分けた部分で1固まりって捉えればイメージ付きやすいと思います。
見てすぐ理解できなかったら解体あるのみ!(*^^)/
http://www.mitene.or.jp/~rnk/TIPS_ORCL_SELECT3.htm
——————————————————————
> SELECT D01.金額 AS 売上1日 , D02.金額 AS 売上2日 , D03.金額 AS 売上3日
2 FROM

3 (
4 SELECT SUM(TD.売上数量 * TM.売上単価) AS 金額
5 FROM TT_売上 TU , TT_売上明細 TD , TM_商品 TM
6 WHERE TU.売上番号 = TD.売上番号
7 AND TD.商品コード = TM.商品コード
8 AND TU.売上日 = TO_DATE(’2002/11/01′)
9 ) D01,
10 (
11 SELECT SUM(TD.売上数量 * TM.売上単価) AS 金額
12 FROM TT_売上 TU , TT_売上明細 TD , TM_商品 TM
13 WHERE TU.売上番号 = TD.売上番号
14 AND TD.商品コード = TM.商品コード
15 AND TU.売上日 = TO_DATE(’2002/11/02′)
16 ) D02,
17 (
18 SELECT SUM(TD.売上数量 * TM.売上単価) AS 金額
19 FROM TT_売上 TU , TT_売上明細 TD , TM_商品 TM
20 WHERE TU.売上番号 = TD.売上番号
21 AND TD.商品コード = TM.商品コード
22 AND TU.売上日 = TO_DATE(’2002/11/03′)
23 ) D03

24 ;
——————————————————————

ファイル読み込み@Java

身体がだるだるですわ。
先週の金曜に肉離れして爺っす。

ソース書くのでyntaxHighlighter Evolved入れてみました。
リンク先の説明にもありますが、設定画面は日本語なので扱いやすいですねw
ひとまずソースを目立たせるためEmacsに変えました。
http://netaone.com/wp/syntaxhighlighter-evolved/

/***************************************
* ファイル読み込み+書き込み
**************************************/
package t2;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class T3 {
public static void main(String[] args) {
String path = "../test.txt";

try {
//ファイルオブジェクト生成
File file = new File(path);

//ファイルパスを表示
System.out.println(file.getPath());
System.out.println(file.getAbsolutePath());
System.out.println(file.getCanonicalPath());

//ファイル有無チェック
if(!file.exists()){
System.out.println("ファイルがありません");
System.exit(1);
}

String str;
//ファイルを開く
BufferedReader br = new BufferedReader(new FileReader(file));

//開いたファイルを読み終わるまで実行
while((str = br.readLine()) != null){
System.out.println(str);
}
//ストリームを閉じる
br.close();
} catch (FileNotFoundException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
}
}

——–実行結果————————
..\test.txt
C:\workspace2\java2\..\test.txt
C:\workspace2\test.txt
test
a
b
—————————————–

とりあえず何が言いたいかだけ。
getCanonicalPathを使わないとfileオブジェクト自体は”相対パス”を認識してくれるが、
画面にパスを表示する際はString型pathに格納したものがそのまま表示されます。

・・・まぁ前提条件として、
現場では相対パスなんて使わないですけどね。

カレントパスor絶対パスになります。
絶対パスはローカルと本番で同じパスにファイルがおけるかが鍵ですね。

Antで読み込むファイルも一式にするならカレントパスじゃないと
プロジェクトでサーバ共有してる際はローカルで使わなそうなHドライブとかKドライブが割り当てられ
実行エラーになるので要注意です(静的コンテンツは別途上げたりしてますが)

#前の現場ではWeblogic(Tomcatに似て非なるもの)使うとAntでZip化したものをデプロイしてました。

http://www.atmarkit.co.jp/ait/articles/0301/16/news002.html

#今は糞古い機能だらけなので絶対パス使ってます。

次はCSVの入出力かなー。

VectorとPreparedStatement@Java

日が変わる前に帰りたいよー\(^o^)/

お久しぶりの更新ですわ…しばらくは更新よくて週末かなぁっと。

現場でVectorオブジェクト使ってて「なんぞ?!」って思って調べたけど…
とほほのJava入門

Vector クラスも ArrayList や LinkedList と同じように扱うことができますが、
パフォーマンスが悪いため、現在ではあまり推奨されていません。

enumeration
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=48711&forum=12no

http://java.sun.com/javase/ja/6/docs/ja/api/java/util/Enumeration.html

新しく実装する場合は、Enumeration ではなく Iterator を使うようにしてください。

・・・もうさぁ…ソース改修しようぜ。
とは思ったけど、hiddenでパラメータをかなり渡してるからテスト工数が足りないね。。。

そしてSVNなどのようにソースの世代管理をシステムでしてないので
ソースはコメントアウトで残っているという、ね。

あとはServletやってるのでPreparedStatementの使い方ですね!
http://www.atmarkit.co.jp/ait/articles/0110/19/news001.html

「?」マークが出てきてて、とりあえず実行結果どうなるのか
SQLエディタにそのSQLをまんま貼りつけたら実行できなくて焦りました。

まず下記のようにSQL文を実行する準備をします。
================================================
sql_str = “select EMPNO, ENAME, SAL from EMP where EMPNO = ?”;
pstmt = conn.prepareStatement(sql_str);
================================================

そして「?」の値をセットします。
●1つ目の引数が”何番目の?に値をセットする?”
●2つ目の引数が”セットする値”
====================
// パラメータを設定
pstmt.setInt(1, i);
====================

DBに対してSQLを実行します。
====================
// select文を実行
prset = pstmt.executeQuery();
====================

最新のパフォーマンス管理は下記参照と文章内にありました(汗
http://www.atmarkit.co.jp/channel/javaprfrmn/javaprfrmn.html

Javascript勉強なう

javascript勉強なうっす。

前に買ったのがあったので、コレ使ってます。

前、午後の授業で使ってたのはコレでした。
HTML5、JQuery(Ajax)を意識して勉強するなら
ソースファイルみた感じコレでいいんじゃないかなぁーっと。

今は基本的なの覚えれば良さそうなので手持ちの本で済ませよう。
JQueryの本も一応あるしね!

Javaができてれば

連想配列
http://www.24w.jp/study_contents.php?bid=javascript&iid=javascript&sid=array&cid=005

function(Javaでいう関数)
http://www.red.oit-net.jp/tatsuya/java/function.htm

が出来れば取り合えず何とかなるんじゃないですかねぇ(適当)

まず下記のmyObj['key1'] = ‘value1′; を例にします。
連想配列ではkey1が【key】, ‘value1′が【value】という組み合わせで使うことができます。
——————————
var myObj = new Object();
// 連想配列に値をセットする
myObj['key1'] = ‘value1′;
myObj['key2'] = ‘value2′;
——————————

上を踏まえて…
連想配列のリンクにある「4. 連想配列数分ループして値を取り出す方法」ですが、
Javaでいう拡張For文です。

ループはmyObjに格納される連想配列の数繰り返され(ここでは2回)、
keyString には 【key】にあたるkey1,key2がループ毎に代入されます。
これによって、alertでmyObj['key1']、alertでmyObj['key2']の値である
value1、value2が順々に表示されていきます(3つだったら3回表示されるので試してみてください)
———————————–
// 配列数分ループして値を表示する
for (var keyString in myObj) {
  alert( myObj[keyString] );
}
———————————–

functionはjavaの関数とほぼ同じなので割愛します。
1点大きく違うのは、「function(){ }」の無名の形で宣言すると、
「ファイル内で宣言しなくても自動でその関数が実行される」
という仕組みがあるので覚えておきましょう!

ではおやすみー\(^o^)/

bbe363ac-s1-271x300

WordPressのFTP

FTP接続確認の方法、下記の通りで出来ました!
ワードプレス(wordpress)の設置が完了した後は「FFFTP」でもチェックしよう。

FFFTPの設定部分に出てくる初期フォルダーは
デフォルトのままであれば画像と同じく「www」になると教えてもらいました。

ffftp

下記の手順で「Sychronize Media Library というボタン~」を押したら
記事の投稿画面で「メディアを追加」があるので、そこから画像読みだせばOKのようでした。
FTPを使ってアップロードしたメディアをWordPressに認識させる