tyest
esdffdsa
ファイルのダウンロードなどはちゃんとチェックしようね
とりあえずなんならかのファイルをダウンロード
wget URL md5sum ファイル名
ごくごく当たり前だけどシステムに関わるような
ものをダウンロードした時はロストや改竄はチェックしようねって話
JNDI
JNDI(Java Naming and Directory Interface)
説明しろっていわれてもわからない。
参考:https://www.ibm.com/developerworks/jp/websphere/library/was/was_jndi/1.html
●ネーミング・サービス
1.名前をオブジェクトに関連づける
2.名前を基に、関連づけられたオブジェクトを検索
要はバインディング
●ディレクトリ・サービス
ネーミングサービスが名前から単にオブジェクトを検索するのに対して、オブジェクトの複数の属性も扱うことができる。
結局
javaアプリケーションからJNDI APIを使ってファイルシステムやLDAPやDNSなどの構造をもった
ものをオブジェクトとしてjava側で扱えるようにする。
MyBatis
いつのまにか日本語のドキュメントができあがってる
http://www.mybatis.org/core/ja/getting-started.html
普段はiBatisなので、MyBatisをまとめる。
SqlSessionFactoryが中心
SqlSessionFactoryBuilderからSqlSessionFactoryのインスタンスを生成(生成の設定はxmlか独自Configurationクラス)
SqlSessionFactoryからSqlSessionのインスタンスを生成(SqlSessionには,一連のSQLコマンドを実行するためのメソッドが全て用意されている)
補足:iBatisとちがってMyBatisはネームスペースが必須
<結局重要な4つのクラス>
・SqlSessionFactoryBuilder(ローカルスコープ)
・SqlSessionFactory(アプリケーションスコープ)
・SqlSession(ローカルスコープ ※スレッドセーフじゃないから)
・Mapper(当然SqlSessionと同じ)
簡単な例
SqlSession session = sqlSessionFactory.openSession(); try { BlogMapper mapper = session.getMapper(BlogMapper.class); } finally { session.close(); }
補足
SQLステートメントをxmlでやるのか、あのテーションでやるのかというところで
個人的にはアノテーションよりもxmlでやる方が好き!!
なぜならアノテーションではそれなりに制限がある(まだすべて把握できていないけど)
だから簡単なのはアノテーションで難しいのはxmlみたいにしてステートメントが散らばるのがいやだから。
だったら複雑なのも簡単なのもxmlでやっといた方が保守性があがるかなと思った。
velocity
意外に使ってないのでメモ
velocity:よくあるテンプレートエンジン
[スマート設定]
1.必要なjar
・velocity-**.jar
・velocity-tools-**.jar[velocityViewServletが入っている]
・その他commons系
2.web.xml
<servlet> <servlet-name>velocity</servlet-name> <servlet-class> org.apache.velocity.tools.view.VelocityViewServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>velocity</servlet-name> <url-pattern>*.vm</url-pattern> </servlet-mapping>
3.各フレームワークにそれぞれオブジェクトの受け渡しを行いやすいようにライブラリが用意されているっぽい。
4.ソースを詳しく読んでないかからなんともいえないけど、どうして最低二つのjarがいるのかってところで、
テンプレートエンジンとしてだけ使うならvelocity.jarだけで十分だけど、結局Webアプリに統合するってことになると何かとvelocity-toolsの方の機能が必要になってくる。
以上簡単なメモ
1213
' or '1' = '1
' UNION SELECT table_schema, table_name, table_type, version FROM information_schema.tables--
' UNION SELECT column_name, data_type, null, null FROM information_schema.columns WHERE table_name='t_user'--
' UNION SELECT id, name, tel, passwd FROM t_user--
11/30-1
where句で関数を使うとその引数にインデックスの張られたカラムをいれても、インデックスが効かない可能性がある。