パソコン・インターネット

Struts入門の入門のよくわからない話

単にアプリケーションフレームワークというと、共通の機能を部品化して提供するという点でライブラリと似ているが、制御構造を設定できる点で違っています。

ユーザーが固有の機能をつけ足したり、変更することも可能です。

データベースへのアクセスのためのライブラリや、テンプレーティング フレームワーク、セッション管理を提供し、コードの再利用を促進させるものもあります。

ここまででフレームワークは一見便利なようなのですが、、

・コードが肥大化する

・フレームワークそのものの学習に時間がかかる

・開発が打ち切られた場合などに変更を余儀なくされる

…というようなリスクも孕んでいたりします。

Strutsは、Webアプリケーションフレームワークの一種で、たぶん上記のような特徴も備えていると思うのですが、詳しいことはまだ勉強したてなのでわかりません。。coldsweats02

Strutsは、主に下記の4項目からなります。。

・struts-config.xml

・アクションサーブレット

・アクションフォーム

・アクションクラス

便利なもののようにも思うのですが、色々調べていると少し古めの技術のようにも思えますねぇ。。

実際のところどうなんでしょうかねぇ。

| | コメント (0) | トラックバック (0)

【Java】列挙型enumにメソッドを定義してるの??

たとえば下記のような感じで。

enumと言えば単なる連番格納庫だと思っていた自分にとって、衝撃的なコードなんだけど、下記は何を意味しているの?

ぜんぜんわかりません。

わかるひと教えてくださいm(_ _)m

public enum Coffee{

     Ice("hiyahiya"), Hot("nukunuku"), Milk("umauma");

     private final String how;

     private Coffee(String how){ this.how = how; }

     public String pour(){

          return how + "topotopo...";

     }

     ・・・

}

| | コメント (0) | トラックバック (0)

VISTAでTomcatを起動できない

eclipseで作ったJSPとサーブレットを本番化して動かそうとしたら、Tomcatが起動できませんでした。

原因を調べてみたら、VISTAの「ユーザーアカウント制御」が悪さをしているらしい。

そんなわけでまずUACを切ろうということで、[コントロールパネル]-[ユーザーアカウント]-[ユーザーアカウント制御の有効化または無効化]を選んで無効にしました。

それだけでは右下のシステムアイコンに×マークが表示されて「UACを有効にしろー」ってうるさいので、レジストリを弄ります。

勝手にリンクを貼って大丈夫かは置いといて、UAC無効に関するレジストリの弄り方はこちらに載っているので参考にしてください。。

会社でやってて自分だけ(VISTAだったので)Tomcatを起動できなくて焦りましたcoldsweats01

いい経験になりました。

| | コメント (0) | トラックバック (0)

フェールソフトなシステムとは・・・

フォールトトレラント(耐故障)の実現方法として、下記3点があげられる。

・フェールソフト

・フェールセーフ

・フールプルーフ

フェールソフトなシステムとは、性能は低下しつつも故障に耐え、システム全体の機能を維持させようという考え方である。

でもいざ実際に自分のPCでそのようなシステムを実現しようと思うと、何をして良いのかわからないことに気がついた。

たぶん、フェールソフトを実現するためには、PCが複数台必要なんだと思われる。

たとえばハードディスクがぶっ壊れたりしたら、バックアップのHDDからデータを読みつつ運用を続ける。

それかたぶん隣の先輩のPCを借りて運用を続けたりする。

先輩とPCをシェアすることによって機能は低下するが、運用は続けられる、即ちフェールソフトである。

フェールセーフは、故障が発生しても安全に運用を続けるという考え方である。

やることと言えば、先に述べたフェールソフトとよく似ていると思われる。

全然別の考えではなくて、相通じる部分もあるのだと思う。

フールプルーフは、たとえば帳票の数字が間違っていても役員が見逃してくれるというのが、フールプルーフ。

もう仕事を始めて一年以上経つけど、後で間違いに気付いたときなんかは、フールプルーフに支えらているなぁと時々感じることがある。

実際には、これら3つの考え方は、もっと大規模なシステムや人工知能的な領域で使われる技術なんだろうと思うけど、やっぱり個人PCでも使ってみたいなぁと思わざるを得ない技術である。

チームリーダーに無理を言って、HDDを一台増やしてもらえたことが、何より幸いなことと感じる。

| | コメント (0) | トラックバック (0)

ソリューションログ

つけようつけようと思うのだけどなかなかつけれないのがソリューションログ。

なんでつけられないかというと、それが必要なだけのトラブルが起きないから。

AccessとExcelVBAだけの仕事じゃ~、そんなもんだわな。

でもそのうちPGとしても働くようになるだろうから、今のうちからクセづけしておこう。

何でもできるようになっておくのが最高の準備、というか、準備という感覚で仕事をしていることすら良くない。

理想の仕事を目指して、改善の日々である。

| | コメント (0) | トラックバック (0)

XMLについて少し学習してみた

HTMLはスタイルシート以外だいたいわかるのだけど、XMLとかXHTMLという言葉をよく聞くので調べてみたら、Web上だけでも結構いろんなサイトが見つかって、読んでみるとなるほどこういうものかと納得できた。

XMLもXHTMLも、そんなに難しいものじゃないけど、全部覚えようと思ったら結構大変だと思うので、また封印しておこうかと思う。

こうやって、なんとなく気になるけどわかんない技術がどんどん山積されて、いざ問題が噴出したときに気になって不眠症とかになっていくのだと思う。

ちゃんと技術を体系的にまとめておいて、後で引っ張り出して勉強しなおせるようにしておくようなことは必要だと思ったりする。

| | コメント (0) | トラックバック (0)

メールの容量

みなさんは、会社で与えられたメールの容量って、いくらぐらいありますか?

僕は今日調べてみたら、17MBしかなかったです(笑)

これはもしかすると試されているのでしょうか。

今のところギリギリ支障はないので、絶妙な割り振りとも言えるのかもしれません。

でも正直なところ、せめて100MBぐらいは欲しいです;_;

贅沢は言わないので。。

| | コメント (0) | トラックバック (0)

簡単なプレゼン資料のまとめ方

最近、仕事でよくプレゼン資料をまとめたりしている。

大体大筋は出来上がって、いざまとめようとするとなかなかまとまらない、頭の中である程度整理はできているのだけど、うまく伝わらない。

そういうときは、まず内容を区切ってまとめれば良いのだと思った。

まず大きなテーマがあって、その中にいくつかのテーマがあって、またさらにその中に・・・という具合である。

そして各テーマの間には、思い切って区切りのページを入れてしまえば良い。

目次のようなものを入れて、テーマが変わるごとに印を移動させていけば、聴き手もうまく頭の中で整理ができて、結果として「伝わる」プレゼンができるのである。

そうすることで、うちのマネージャにもうまく伝わって、和やかなムードでプレゼン練習を終えることができるのである。

| | コメント (0) | トラックバック (0)

良いことを考えた~Webアプリ開発編~

会社から皆が資格をとれるようにしなさいという命題をいただいた。

人の考えを変えるのは豚に空を飛ばせるより難しいと思う自分は、そんなことは最初から無理だとわかっている。

だから答えは、人を変えること、つまり資格を受けさせることではない、それはノーチャンスだと思う。

もっといえばこれから資格を受けようとしている人、将来受ける人を補助することだと思う。

そのためにどうするべきかというと、その答え、チャンスというのは無数にある。

だからそれが答えでもいいと思ったりする。

さらに突っ込んで考えると、我々の会社はシステム屋であり、自分もそのような道を目指している。

勧誘をしたり受験をサポートするのが仕事ではない、仕事はシステムを組むこと、ただそれだけである。

それに今年はWeb関連の勉強をしていこうという決め事があるわけで、そういったことから正しい答えを導出すると、資格取得をサポートするためのWebアプリを作成するということになる。

それでも答えはまだまだ無数にあって、SNSであったりグループウェアであったり、ブログ、イントラ、掲示板でも良いかもしれない。

その中でもグループウェアというのはこれから会社を上げて盛り上げていこうとしているところなので、必然的にグループウェアになるのかなと思う。

それで今年の目標は、「(去年度に引き続き・・・)Javaの技術を身につけて、資格取得をサポートするためのグループウェアWebアプリを作成する」。

そして実力を認められ、晴れてWeb開発の業務へ・・・というのが理想である。

がんばろう。

| | コメント (0) | トラックバック (0)

セミナーに参加してきました

ウェブ会議in高松」というセミナーへ行ってきた。

良いWebサイトとはどういうものか、それを作るにはどうやるかということについて、半日がかりで聴いてきました。

結論としては、規格を知ることで標準化を行うことと、継続した創意工夫が重要だという話だった。

アジャイル開発について触れていたあたりは、やっぱり都会だなぁと思った。

田舎でそんなこと言ってたら、たぶん変人扱いだ、っていうのは田舎への偏見かな。

質問はないですか?と聞かれて、誰も手を上げないあたりが香川県らしいなぁ、と思った。

東京でセミナーを受けたとき、質問時間一杯まで使って手が挙がっていたことを思うと、対照的だ。

そういうときに鋭い質問ができる上司がいたら、尊敬するだろうと思う。

でも香川県ではそういう人は敬遠されるかもしれないな。

それか、すぐに出世してお金のかからないセミナーなんか出てこなくなるのかもしれない。

今回、勉強になったのは標準化の重要さを認識できたこと。

これに尽きると思う。

| | コメント (0) | トラックバック (0)

応用情報処理技術者

昨日のことだけど、試験を受けてきました。

結果は自己採点で午前が71%、午後が59~62%という微妙なライン、部分点でも出ればあるいは、もしくは午前がいい分、午後に回してくれたりしたらいいのにと思う。

これがもし受かっていたら、次は念願の高度情報処理技術者を受けることができるようになる。

まぁ受からなくても受けるだけなら受けられるのだけど、自分の中でそういうルールにしている。

実務経験の乏しい自分にとって、ポイントは午後。

午前は暗記でなんとかなるから。

もし秋に再挑戦することになったら、100%受かるつもりで完璧に仕上げていってやろうと思う。

午前午後、ともに90%で受かるぐらいに、うひひ。

| | コメント (0) | トラックバック (0)

データ抽出方法変更の際の不整合

自分は普段、システムの方にデータ抽出依頼をしてデータを出していただいているのだけど、その抽出方法をある日突然変えさせてくださいという申し出があって、そのまま変更になった。

その後、以前と同じようにデータを使おうと思ったら、やっぱり抽出方法が変わっただけあってデータの形式が微妙に変化していて、結局すべての項目を洗いなおさなければいけないことになった。

なんていうか、データの形式とかは変えないでほしい、変えたら変えたところをちゃんと伝えてほしい。

そうするのが普通と思うけど、環境には逆らえない。

まだまだ自分が未熟だということで、もっと精進しなければいけないなぁと。

| | コメント (0) | トラックバック (0)

関数従属のまとめ

・部分関数従属

 主キーが複合キー(連結キー)で、AとBにより成り立つとき、複合キーBより決まる値Cがあるとして、BとCは部分関数従属する関係にあるという。

・完全関数従属

 主キー全体が決まらなければ一意に求められない関係で、複合キーABが決まるとCが決まるような関係。

・推移的関数従属

 非キーCが複合キーABだけでなく、特定の非キー項目Dからも決まるような関係。推移的に関数従属するという。

 

こういう用語を知っておいて使った方が、説明が楽なことに気づいた、ある日の夜。

| | コメント (0) | トラックバック (0)

【応用情報】回路と経路

「ある点から同じ点に戻る歩道が存在するとき、すべての辺が異なる小道であればそれを回路といい、すべての点が異なる経路であれば閉路という。」

わかるようでわからん。

どう区別したらいいのかがわからへん。

すべての点が異なる時点で、それは閉路ではないのではないかという疑問が解けない。

先生たすけて~。

| | コメント (0) | トラックバック (0)

【応用情報】第1正規形に関する所感

正規形は下記のように分類される。

・非正規形

・第1正規形

・第2正規形

・第3正規形

・ボイスコッド正規形

・第4正規形

・第5正規形

第1正規形の定義は「繰り返しを除いた表」である。

主キーやデータが重複して、無駄なデータがあるような場合、複数の表に分けてそれを排除したもの。

キーが複数あって第1キー、第2キーのように分類できる場合、まず第1キーに付随する情報をまとめたテーブルをひとつめのテーブルとして、さらに第1キーと第2キーを複合キーとして分類できるテーブルを作りふたつめのテーブル、第1キーと第2キーと第3キー、第2キーと第4キー・・・みたいにしてとにかく繰り返しを排除したテーブル群を第1正規形と言う。

その考え方で合ってるかどうかは知らないけど、その辺が自分の理解の限界。

繰り返しがないとはいえ、第1キーの付随情報以外はちゃんと繰り返しが存在するような不思議な状態なんだけど、主キーや複合キーによって情報を特定することはできるといった状態が、第1正規形だ。

ひとつのデータを修正しようとすると複数のデータ項目を修正しないといけなかったり、1個も売り上げがないような生きてないデータを登録することができなかったり、データを削除しようとすると連結した他のデータまで削除されてしまったりなど、DBとしては難あり。

その辺りの不都合については第2正規形に期待したいところである。

| | コメント (0) | トラックバック (0)

【応用情報】非正規形に関する所感

正規形は下記のように分類される。

・非正規形

・第一正規形

・第二正規形

・第三正規形

・ボイスコッド正規形

・第四正規形

・第五正規形

非正規形とは繰り返しがある表のことで、関係データベースでは管理できないと言われているけど、本当はちょっと無理したら入力はできる。

繰り返し項目をすべての行へ入力すれば良いと思うし、その辺りを踏まえながら活用することもできる。

でもそうしたら、主キーから特定の行を抽出することができなくなる。

そもそも繰り返しがあるのだから、そのキーは主キーとは呼べないものだ。

その辺りが管理できないと言われる所以だろうとは思う。

でも入力はできるのだ。

だから混乱する。

非正規形とは、「関係データベースに入力はできるが、繰り返し項目があって一意にデータを特定できない表」と理解しておこうと思う。

僕は仕事でそんな非正規形の表ばかり使っているので、グループ化したり条件で切ったりすることに慣れている。

キーが二つや三つ重複することは当たり前である。

そんな環境の中で、自分はよくやっている方だと思う。

| | コメント (0) | トラックバック (0)

【応用情報】トポロジカルソート

半年前に基本情報に受かったばかりなんだけど、今春は応用情報処理試験を受けようと思っている。

それで問題集をやっていたら、トポロジカルソートなる問題に行き当たった。

複数ノードからなる有向グラフがいくつも重なってひとつのグラフになるような感じ。

同じところをグルグル周回するような閉路ができてしまったら、アウト!

アローダイアグラムとよく似ていて、スケジューリングの問題などに適用できる。

せっかくこういう勉強をしているのだから、アローダイアグラムぐらい仕事で応用したいなと思う今日このごろ。

状態をノードで表して、作業をアークでみたいな。

| | コメント (0) | トラックバック (0)

【Access】mdbを読み取り専用にする

非常に簡単なんだけど重要なポイントというか、複数の人でmdbを共有するとき、テーブルのデータを変更されたら困るような場合があると思う。

そんな時、ファイルを右クリしてプロパティから読み取り専用のチェックをつけておくと良い。

それだけのことで、もうほんとメモ代わりなんだけど。

| | コメント (0) | トラックバック (0)

バックアップについて

仕事でちょっと問題があって調べていたら、Acronis True Imageというソフトを発見した。

完全バックアップ、増分バックアップ、リストアなど、やりたい作業はだいたいできる上に高速とのこと。

バックアップって普段役に立っているという実感がないし、疎かにしがちなことだけど、いざ問題が起きると、どうしてしてこなかったのかと後悔する。

安心して作業するためには、実効データ容量の3倍くらいの容量を使って、2重、3重のバックアップ体制が必要だと思う。

そして毎日帰る前にWindowsのバックアップを起動して帰ってもいいけど、7000円程度でそういうこともあまり意識せずに快適に作業できるようになるのなら、ソフトを使った方がぜったい良いと思ったりするのである。

パソコン初心者でも安心!簡単操作で完璧バックアップ!ラネクシー Acronis True Image 11 Home Acronis True Image 11 Home

販売元:ムラウチ

| | コメント (0) | トラックバック (0)

再利用性について考えること

今回のが最初で最後と思って、あまり再利用性を考えずに作業をすることがある。

同じ仕事を続けている限り、二度とやらない仕事なんてないと思うので、一度した仕事のマニュアルや、メモ書き程度でいいから重要なことを記録しておくことが、とても大事なことに気がついた。

たとえばExcelでリンクを貼らずに値コピーだけして済ませた場合、そのシートは再利用性のあまりないものになる。

単純なシート構成でもリンクを貼って値を入力する箇所を最小限にしておけば、やや難しげな感じにはなるが再利用性ができて、メモ書きやマニュアルと一緒に残しておくと、また同じような作業をするときに役に立つものができる。

まぁ難しいこと、面倒くさいことと再利用性はセットになっていて、その最初の壁みたいなものを越えないと再利用性は実現できない。

でも、後々のことを考えると、再利用性の高いものを作ることは最初の1回が20面倒くさい、あとのn-1回が1面倒くさいだとして、再利用性の高くないものを作った場合は最初の1回が8面倒くさい、あとのn-1回も5面倒くさいぐらいだと考えると、下記のような式が成り立つ。

再利用性高い:x1=20+n

再利用性ない:x2=8+5n

こんな感じで、4回以上同じ作業を行うなら、x1=24、x2=28で、再利用性を意識していった方が面倒くさくないことになる。

値は実験的に求めたものではなくて、適当なのだけど、だいたい雰囲気は理解していただけたと思う。

作業時間を考えると再利用性の1回目がもっと長くなったりすると思うので、どっちがいいとは一概には言えないけど、メモやはじ書きを残すクセぐらいはつけたいなぁと思う今日このごろ。

| | コメント (0) | トラックバック (0)

【VBA】再利用性の高いプログラム?

再利用性の高くないプログラムというものは人に迷惑をかける可能性が高いという話。

再利用性の高いプログラムを作るためには、プログラムを適切に部品化するということと、処理をできる限り簡潔に書いて機能化しておくということが大事なのだと思った。

難しいことかと思ったけど、これは心がけるだけである程度できると思った。

たとえばデータ抽出用のプログラムを作ったとして、データ全体から抽出しなくてはならないという条件だったのが、ある条件を含めて抽出してほしいというように仕様変更された場合。

仕事をしていて、何も考えずに書いた(If文の羅列のような)プログラムと、ある程度ちゃんと考えて作った(機能ごとに分けた)プログラムがたまたまできてて気がついたんだけど、何も考えずに書いた方は、たぶん関連する部分を網羅的に全て見つけ出して直さないといけなかったと思う。

実際、ちゃんと考えた方のプログラムを使って、考えてない方は捨てたんだけど、ちゃんと考えた方のコードはデータを抽出するためのWhile文が数行あって、それをIf文で囲むだけで抽出条件を設定できた。

もっといいのは、抽出条件を設定するためのFunctionか何かがあれば良いのだと思う。

人は人に迷惑をかけない限りは好きなように生きれば良いという人生訓を聞いたことがあるのだけど、再利用性の高くないプログラムはそれに反すると思ったので、できるだけ再利用性の高いプログラムを。

そのためには、日々の勉強を。。orz

| | コメント (0) | トラックバック (0)

Webアプリのセキュリティ

@ITの記事を読んでいたら、そのような記事に行き当たった。

Webアプリにとってセキュリティの問題は避けて通れない上に、世間的にはまだあまり評価されてない、たとえば転職サイトなどで「セキュリティできる人募集」なんて求人はないってことで、重要な割に損な役回り。

先進的な人たちだけの特別な技術といった感じになっているらしい。

でもセキュリティができたらWebアプリが走り出してからのコストが減るというメリットがあるわけで、なんでそれが評価されないのかとっても不思議。

Web関連の開発を行う会社だったら、セキュリティの専門家がいたら重宝するだろうなと思う。

そういう理解のもとに生きていきたいと思う、今日このごろ。

| | コメント (0) | トラックバック (0)

テストをラーニング中

先週、休出で他の課の仕事を手伝った。

プログラム開発工程の中の、テストの部分をやったのだけど、これが初めての経験。

課長がテスト仕様書を眺めて項目を読み上げる、僕たちはサンプルデータを見て該当項目にチェックをする。

ただそれだけなんだけど、勉強して知っているだけと実際にやってみたのでは大きな違いがあって、とても勉強になった。

どんなところが勉強になったかというと、テスト項目の考え方とか、用意するべきデータの考え方とか、そういったところに気を使わないといけないんだなぁと、漠然とだけどそう思えたこと。

単純作業の連続で、楽な作業ではなかったけど、経験できてよかったと思う。

自分の仕事にもたぶん生かせるだろうなぁと思っている。

自分は仕事でVBAを使うのだけど、そのプログラムの組み方というのが設計もテストもなくて、ただソースコードをいきなり書いて、適当にデバッグして、適当に結果を見てだいたい合ってるなぁと思って即リリースしていた。

そういうのが趣味のプログラマでもやらないようなことで、危険なことなんだと理解できただけでも良かったなと。

一歩前進。

| | コメント (0) | トラックバック (0)

【VBA】SubまたはFunctionがない

なんというか、しょうもないミスなんだけど、最初黄色の反転表示が文頭のSubについてて、「SubかFunctionがない云々」と言われたからてっきりそこがエラーの原因だと思っていた。

でも実際はそのSub自身ではなくて、そこから呼び出している青色の反転表示の部分がエラーで、それに該当するSubを見てみたら綴りが違っていた。

そんな勘違いに気づくのに、20分ぐらいかかった自分って何なんだろう。

| | コメント (0) | トラックバック (0)

【Java】エラーが出るとき

Javaの話。

理由はよくわからないが、ClassNotFoundExceptionなんかが発生するとき。

try-catch構文で囲んでExceptionを吐かせるようにして動かしてみると何事もなく動いたりすることがある。

どう解釈すれば良いんだろう、これは。

| | コメント (0) | トラックバック (0)

データ抽出と作表の仕事をしている

AccessとExcelの連携の仕方には色々あると思うのだけど、自分の場合、Accessのクエリでピボットテーブルの元を作っておいて、Excelに貼り付け、全選択してピボットテーブル作成と作表というのが王道である。

たとえばAccessのテーブルに主キー、氏名、日付、住所なんかが入っていたら、主キーをカウントしつつ日付と住所をデータにもってきて、Excelで氏名、日付別に件数を数えたりする。

だからどうなんだという突っ込みはさておいて、仕事ではそんな光景が一般的である、けれど、時々もう一歩踏み込んだ使い方がしたいなぁと思うこともある。

そこでVBAなぞ勉強してみたりするのだけど、やっぱり仕事に使うにはクエリとピボットテーブルで十分だったりする。

だからどうなんだと。

| | コメント (0) | トラックバック (0)

JSP関連のjarファイル

クラスパスが通ってなくて困っていたりする。

今日はJSPでカスタムタグを作りたくて、SimpleTagSupportというクラスを使おうとしたのだけど、クラスパスがどうも通ってないっぽくて、小一時間悩んだ。

挙句、WEBでそれらしい記事をいくつか発見して、そのうちのひとつが当たりだった。

SimpleTagSupportは、Tomcatの中にあるjsp-api.jarというファイルへクラスパスを通すことで使えるようになった。

それ以外にも、JSP関連のjarファイルと言えば、jsp-api.jarなのだそうだ。

覚えておいて損はないと思われる。

| | コメント (0) | トラックバック (0)

【Eclipse】クラスパスについて

パッケージが認識されない場合など、jarファイルにクラスパスが通ってない場合があるので設定を行う。

プロジェクト → プロパティ → Javaのビルドパス → 外部JARの追加

| | コメント (0) | トラックバック (0)

Eclipseで既存プロジェクトの読み込み

ファイル → インポート → 一般 → 既存プロジェクトをワークスペースへ

とりあえずプロジェクトは表示されたのだけど、

サーバー → 右クリ → プロジェクトの追加および除去

デプロイしようとしましたができませんよと。

間に何か必要なんだろなーと思いつつ、今日はこの辺でリタイヤ。

| | コメント (0) | トラックバック (0)

こんにちは2009年

2009年最初の出勤は帳票の年次の更新処理に追われたが、なんとか余力を残しつつ帰ってくることができた。

考えてみたら、まだこの会社へきて限界までは働いたことがないなぁと思う。

残業は遅くても4、5時間くらい。

帰ってお腹がすいたと思っていたら手巻き寿司だったので、気持ちを抑えつつ焦りつつ具を巻いて食べた。

お風呂に入って、ワキの匂い消しの石のことを思い出して、これのおかげで今日一日ワキ臭をさせず生活することができたなぁと思って感謝してまたスリスリする。

明日も残業かなぁと。

| | コメント (0) | トラックバック (0)