技術の話
こんにちは。
タイトルについて。
エンジニア歴3年ちょっとの僕ですが、今までの仕事内容は↓な感じです。
・証券:2年ちょい
・保険:5ヶ月
・通信:半年〜現在
家でもバリバリプログラミングする!とか土日は勉強会に行く!みたいな意識はないので、
職場で新しい技術に触れては「イミワカラン、イミワカラン」と呟きながら仕事をしています。
そんな日々で勉強してきた技術について、おさらいを兼ねてご紹介します。
ぼくの認識+イメージで書いているので間違ってたらごめんなさい。
<java編>
配列の進化バージョン。業務で使わなかったことがない。大体、Entityを作る必要がある。
配列と違って、要素数の指定が不要。ロジックが必要だが要素の順番入れ替えも可能なデキるやつ。
・abstract(抽象クラス)
実体のないクラス。「ここで計算して」「ここでループしてデータチェックして」といった、抽象的な処理の流れを書く。実体は継承したクラス内で記述する。
「処理の流れは同じだけど、中身の処理が違う」といったシステムに使うと良い。
・拡張for文
for(Entity e : List<Entity>)のように使う。
for(int i=0; i < List.size(); i++)と同じだが、視覚的に何をやっているか分かりやすい。
何番目の要素を処理してるかを分かるためにはちょっとした工夫が必要になる。ググれば出てくる。
javaからDBにアクセスするためのツール。
コネクションのclose()が不要!初歩的なミスを事前に防止できる優れもの。
insertであれdeleteであれ(もちろんupdateも)update()メソッドを使うのでちょっとキモい。
結合環境などで動かしたプログラムを、ローカルのeclipseでデバッグできる。
起動シェルなどにリモートデバッグ用の一文、eclipseに接続プロパティの設定が必要。
<oracle編>
・desc テーブル名
テーブルの定義を確認できる。設計書と照らし合わせる時にコピると便利。
・実行計画
indexを張ったカラムについてindexが有効になっているか、時間がかかるクエリなどを表形式で見れる優れもの。
・sqlLoader
csvやdatなど、大量のテキストデータの読み込みに最適。256バイト以上の項目はchar(512)のように桁数を明示しないとエラーになる。
・sqlPlus
sqlplus ユーザ名/パスワード@SIDのコマンド(これは一例)で起動する。
↑で挙げた実行計画やテーブル定義は大体sqlplusから確認してる。
カラムの区切り文字やtrimした結果を取得するなど、細かいところに手が届く感覚。
いかがでしたでしょうか。
c#とsqlserver、マイナーな(だと思う)Talendの経験もありますが、冒頭で述べたように意識が高くないため何も思い出せませんでした。
分からん事だらけでも契約打ち切りの経験が無いので、何かしら魅力があるんだろうなって思い込んでいます。
では。