スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

動的にスタイルシートを切り替える

JavaScriptでスタイルシートを動的に切り替える方法。

切り替える方法には2通りあります。

1.スタイルシートファイルを切り替える
2.スタイルルールを追加する

1.スタイルシートファイルを切り替える


スタイルシートファイルを指定するときは<HEAD>タグ内に

<link rel="stylesheet" href="xxx.css" type="text/css" />


とします。

これをJavaScriptで別のファイルに切り替えるときは、
以下の内容の関数を作って実行する。

function ChangeStyle(file){
 if(document.all && document.getElementById){
  document.styleSheets(0).href = file; //スタイルシートファイルを切り替える
 }
}


しかし、この方法は<HEAD>タグ内にある<link>タグを書き換えるので
事前に設定しておく必要がある。
設定していない場合はエラーになるので注意。

2.スタイルルールを追加する


JavaScriptで以下のコードを実装する。

var ss = document.styleSheets[0];
if (document.all) {
 // IE
 ss.addRule("body", "color:blue");
} else {
 // FireFox
 ss.insertRule("body {color:blue}", ss.cssRules.length);
}


IEとその他ブラウザではメソッドが違うので注意。

IEだと要素名と値だけを引数に渡すことで出来るが
その他ブラウザでは挿入位置を引数に渡してやる必要がある。

この方法だと動作中に必要な要素だけ指定できるので便利。


で、どっちがいいの?



ファイルを切り替える方法は結構使い勝手が良くほとんどこちらの方式が
使われているようです。
ですが、必要最低限の要素だけを追加できる方法もJavaScriptをライブラリ化した場合に
意外と使えます。

指定する要素数が多い場合は、ファイル切り替え方式。
少ない場合は、ルール追加方式。
という風に使い分けてもいいと思います。
スポンサーサイト

SJC-WC合格

予定より2ヶ月も遅れて受験してきました。SUN認定 Webコンポーネントデベロッパー。

駐車場が見つからず試験時間に遅れそうになったりしましたが、無事に試験会場に到着。
事前にチェック。ご利用は計画的にですね(笑

試験スコアは、合格ライン62%のところ71%でなんとか合格。
実は結構自信があってもう少しスコア取れると思ってたんで、ちょっと残念。
まぁ合格したので良しとしときます。

今後、SJC-WCを受験される方へ試験の傾向などをメモしておきます。

まず自分が勉強の為に買った本は以下の2冊です。
Webコンポーネントディベロッパ(SJC-WC) (SUN教科書)Webコンポーネントディベロッパ(SJC-WC) (SUN教科書)
(2006/07/11)
米山 学

商品詳細を見る

徹底攻略Webコンポーネントディベロッパ問題集―310-081対応徹底攻略Webコンポーネントディベロッパ問題集―310-081対応
(2007/04)
吉田 豊岩崎 正嗣

商品詳細を見る


教科書の方は、各章丁寧に書かれて最初に読むには向いていると思います。
ただ、いくつかは説明が簡単なところがあるのでネットなど調べるのがよいでしょう。
試験直前のチェックシートが付いてますので結構役に立ちました。

問題集は、章分けされていて内容も十分なのですがSCJ-WCは全体ボリュームが多いせいか、
各章のボリュームが少ないように感じました。(1章12問くらい)

お金に余裕があれば別の問題集をもう1、2冊購入することをオススメします。


実際に試験を受けて感じたことは、問題がより実践的な内容になっていたことですね。

問題内容が実際の開発者を題材にしている問題が多々ありましたので
質問内容をよく呼んで理解してやらないと間違う可能性があります。

上記の問題集の反復ではカバーできないところなので、
実務でJavaのWebアプリを行っていない人には難しいかもしれません。
(自分もかなり悩みました・・・・)

暗記だけでは結構キビシいかもしれない。


最後にまとめると
・勉強で問題をより多くの種類を解いておくこと。
・実務経験が無いと理解するのに時間が掛かる問題が出てくる。
・事務で使ってない人は、自分でWebシステムを作って覚えよう。
・試験時間に間に合うように家を出ましょう(笑 あと駐車場を事前にチェック


とにかく無事に合格できたので、しばらく遊びまーす(笑

SJC-WC試験

SJC-WC(SUN認定Webコンポーネントデベロッパー)の試験予約をしました。
5月24日に受験予定です。

これから受験を検討している人向けに試験予約までの流れを紹介。
ちなみにこの流れはSunの全試験共通です。(一部適用できないものもありますが・・・)

1.Sunのバウチャーチケットを購入
  試験を受けるためにはバウチャーチケットが必要です。
  今はネットで購入すると安いです。
  定価:25,200円
  楽天市場 22,860円

2.プロメトリックで試験予約
  予約にはプロメトリックIDが必要なので取得しときましょう(無料)
  
3.試験会場・受験希望日を決める
  プロメトリックで最寄の試験会場を検索し、受験希望する日時を決めます。
  会場によっては土日受験できないところもありますのでご注意を。

以上の流れで試験予約します。

あとは試験日までに苦手項目をつぶして挑みましょう。


・・・苦手項目が多いので不安です。。。。

Seaser Project S2JSFの導入メモ

日本製 DIコンテナSeaser2を開発している事で有名なSeaserProjectがリリースしている
S2JSFを導入してみたのでメモ

DIコンテナとは

「DI(Dependency Injection:依存性の注入)」と呼ぶデザインパターンに基づいて作られたコンポーネント群を集中管理するためのソフトウエア


JSFとは

Java EEアプリケーションにおいて、優れたユーザーインターフェースを実現するためのフレームワーク。MVCモデルに基づいている。
Strutsのようなアクションベースではなく、GUIアプリケーションのようなイベントドリブンによる開発方法が特徴。



S2JSFはSeaserProjectのホームページからダウンロード
http://www.seasar.org/index.html

Javaプロジェクト → Presentation.Java → S2JSFからダウンロード

・S2JSF 1.1.2
 S2JSF本体のみ

・S2JSF Blank 1.1.2
 S2JSFアプリケーションを構築できるように構成されたもの
 
・S2JSF Example 1.1.2
 S2JSFのサンプル

最初から構築する場合はS2JSF Blankを導入したほうが早く構築できる。
すでに構築済みのアプリケーションに導入する場合は、S2JSFがよい。

ただ、S2JSF Blank 1.1.2 に含まれているJTAのjarが古くエラーになるため、
geronimo-jta_1.0.1B_spac-1.0.jarをgeronimo-jta_1.1_spec-1.0.jarに置き換える必要がある。

geronimo-jta_1.1_spec-1.0.jarはS2JSF 1.1.2かS2JSF Example 1.1.2に含まれている。

遅延評価勉強法

「遅延評価勉強法」という勉強方法について。

ロケスタ社長日記のけんすうさんがこの勉強方法についてまとめられていたので
じっくりと読ませていただきました。

自分は学生の頃から勉強が苦手で成績も悪く、いつも学年最下位を争っている様な感じでした。
ですが、自分が興味あることについては納得するまで調べ上げるという局所的またはマニア的な面が
あるらしくて好きなことに関しては結構知識があるほうだと思います。

今はプログラムやプロジェクト管理に興味が向いていて勉強していますが、
このけんすうさんのブログをみると意識せずに「遅延評価勉強法」を実践していたなと感じました。

けんすうさんのお言葉を借りると「必要になったら、必要なところだけ勉強する」
自分の言葉に直すとはこれが「興味ある所から勉強する」になります。

プログラムの勉強とかって、「何々がやりたい」とかから始まることが多いでしょ?
まずはやりたいことを調べながらプログラムを組むってのが
目標があってモチベーションが高いからどんどん頭に入ってくるんですよね。

ネットで調べてソースをコピーして動かしてからでも、いいと思います。
まずは動くものを作って「あー。こんなんで出来るんだ」と思うことが大事かなと。

そこからあれもやってみたいこれもやってみたいと興味が出てくれば、
また調べて組んで動かしてとどんどん知識が蓄積されていきます。

試験勉強とかも似たような感じですが、
自分はこんな感じで勉強しています。

・試験範囲を章立てする
・章の中から興味があるもしくは知っているところから勉強する。
・問題集を買ってきてこっちも章立てする。
・興味ある章から問題集を解く。
・一通り全章解いたら苦手な章を洗い出す。
・苦手な章は理解するより試験問題に慣れる。


章立てすることで試験範囲を区分けして管理しやすくします。
ほとんどの参考書・問題集は章立てしてあるのでそれにそってするのがほとんどです。

1章問題集を解いたら結果をメモって苦手な章を洗い出します。
そうすることで重点的に勉強しなければいけないところが分かってきます。

苦手な章は、参考書とかネットで調べてある程度は理解しておかなければいけませんが、
どうしても克服できない所は問題集をひたすら解いて問題の傾向とかを覚えるようにします。

理解しないとダメじゃないか!と言われますがまずは試験に合格することを優先しときます。
苦手なところは完全に理解するまでは時間が掛かるので
その時間を問題を覚えることに使うことで正解率をあげるようにします。


まずは、試験問題を解いて正解率を上げることで自分のモチベーションを高めることが大事です。
そーしないと「あー。分からんー」ってなって勉強がいやになりますし。
正解率が高くなって「お。オレできるじゃん」って思えればがんばれますよね。


この「遅延評価勉強法」は、とにかく好きなところからやっていれば
その他の知識はあとから着いてくるってことですね。


最初からすべて分かるつもりでやらないで、ラクに取り組んでいきましょうー。

MySQL導入メモ

開発中のシステムでMySQLを使うのでメモ。

■MySQLのインストール

MySQLのダウンロードサイトからインストールパッケージをダウンロード
MySQLダウンロード

ダウンロードにはユーザー登録が必要。(無料)
Windows系の場合は、「Windows ZIP/Setup.EXE 」がオススメ。
Linux系はRPMが使えるディストリビューションならRPMで。
それ以外は、Linux (non RPM packages)よりダウンロード。

Windows系のインストール方法
http://y-kit.jp/saba/xp/mysqlinst.htm

Linux系のインストールについてはこちら
http://www.atmarkit.co.jp/flinux/rensai/mysql01/mysql01.html


■データベースの作成

※rootユーザーで実施

windows系の場合は、
MySQLインストールディレクトリのbinフォルダでDOSを開いて

CREATE DATABASE データベース名


linux系は

mysqladmin create データベース名


ちなみにキャラクタセットを指定する場合は、

CREATE DATABASE データベース名 CHARACTER SET utf8;


指定できるキャラクタセットは、utf8、ujis、sjis。

■ユーザーの作成

GRANT priv_type [(column_list)] [, priv_type [(column_list)] ...]
  ON {テーブル名 | * | *.* | データベース名.*}
  TO ユーザ名 [IDENTIFIED BY 'パスワード']
   [, ユーザ名 [IDENTIFIED BY 'パスワード'] ...]
  [REQUIRE
   [{SSL| X509}]
   [CIPHER cipher [AND]]
   [ISSUER issuer [AND]]
   [SUBJECT subject]
  ]
  [WITH GRANT OPTION]


priv_typeについて

ALL PRIVILEGES(*):すべての権限。(ALLと同義語)
ALTER(*):ALTER TABLE構文が実行できる権限。
CREATE(*):データベースとテーブルの作成が行える権限。
DROP(*):データベースとテーブルの削除が行える権限。
FILE(*):LOAD DATA構文とSELECT ~ INTO OUTFILE構文を実行できる権限。
PROCESS(*):mysqladminコマンドのprocesslistとkill命令を実行できる権限。
RELOAD(*):mysqladminコマンドのreload、refresh、flush-privileges、
flush-hosts、flush-logs、flush-tables命令を実行できる権限。
SHUTDOWN(*):mysqladminコマンドのshutdown命令を実行できる権限。

DELETE:DELETE構文を実行できる権限。
INSERT:INSERT構文を実行できる権限。
SELECT:SELECT構文を実行できる権限。
UPDATE:UPDATE構文を実行できる権限。

INDEX:インデックスの作成と削除が行える権限。
REFERENCES:テーブルのリファレンスが参照できる権限。
USAGE:すべての権限がない。("no privileges"と同義)


ユーザー名について

ユーザ@ホスト名
  ユーザ:登録するユーザ
  ホスト:登録するユーザは、どのホストからMySQLサーバにアクセスするのか
    (localhost | ホスト名(IPアドレス) | "%"(ワイルドカード))



例:

GRANT ALL ON *.* TO ユーザー名@% IDENTIFIED BY 'パスワード'


すべてのデータベースのテーブルに対してすべての権限が使用できる。
また、すべてのホストからのユーザーアクセスを許可する。

MySQLのクイックリファレンス
http://www.bitscope.co.jp/tep/MySQL/quickMySQL.html

要件定義での注意事項

システム開発プロジェクトでの要件定義について
思うことがあったのでメモ

要件定義書に開発側の意見を入れてはいけない。

要件定義書は顧客の要件事項を定義し、
この要件を満たすようにシステムを開発しましょうという
意識合わせに使うべきものである。

ここのシステム開発側の対応などを載せてしまうと仕様書との境界がぼやけていく。

要件定義はユーザーがシステムに求める要求の一覧であること。

どのように実現していくのかは、基本設計で検討すべきなのでここでは考えないようにする。
実現できるか出来ないかは要件定義の段階では判断せずに基本設計を進め、
顧客と要件定義の見直しを図るべきである。

また、要所要所で要件定義の見直しを行うことで顧客の本来の要求が見えてきて
要件が鮮明化してくる。

上流工程での要件定義→基本設計はウォーターフォール型ではなく、
スパイラル型で進めるべき。

スケジュールを作成する際も要件定義と基本設計は分けて考えないほうが良い。

仕事中でのRSSチェック

日々新しい技術が生み出され、進歩し続けているこの業界で
どうやって流れに取り残されずに波に乗っていくか・・・

自分が考えるのは、常に技術に対してアンテナを張っておくことだと思います。

例えば技術系ブログやニュースサイトをチェックしておくこと。

毎日新しい情報やチュートリアルなどが紹介されているのでかなりタメになります。

仕事中にはなかなかチェックできない人には、RSSリーダーがオススメ。

気になる記事などがあったら、保存しておいて休憩時間なんかにチェックするとか出来ますし。

自分は職場のメーラーを使ってRSSを購読しているので、
他から見たらチェックしているのがバレません(笑

Mozilla Thunderbirdなどには標準でRSSリーダーが内蔵されいますが
会社によってはメーラーが決められていて使えない場合もあります

職場でも同じように決められていてMicrosoft Outlookを使っていますが
RSS Popper」を使えばメールを見ているようにしか見えません。

これは結構オススメツールなので、上司や同僚の目が気になる人は試してはいかがでしょう

メンバーとの情報共有

社内でシステム開発をしていると、ユーザー部門との間に情報のズレが
生じてくることがあります。

根本的な原因として、情報共有のルールが徹底されていないと大方そう言われますが、
今の職場での情報共有の方法はもっぱらメール

確かにメールは便利だし、メンバーのほとんどは常時メールクライアントを立ち上げているので
メールが到着すればすぐ見れる。

だけど、メールは即読性はあってもあとからの検索が困難になるケースが多い。
人によってはきっちりとフォルダ分けして管理している人もいるが、
大きなプロジェクトになると飛び交うメールの数がすごいことに。

フォルダ分けのルールをプロジェクトメンバー全員に徹底させようとしても
人それぞれにやりかたもあるし浸透しない。

こんな理由で自分はメールでの情報共有はオススメできないです。

ということで、情報共有の在り方について。

基本は、シンプルイズベスト


  • メールでの共有は最小限に

  • 情報は一箇所に集約



よく議事録とかメールに添付して送ことが多いけど、
本文にダラダラと長く書いていたら読む気もなくなります。
あとから読もうとフォルダに突っ込んで、他のメールに埋もれて探すのに苦労します。

議事録などの共有が必要な情報は一箇所に固めておいて、
そこへのリンクを本文に貼ってあげるだけでよいと思います。
メールを紛失しても保管している場所さえ知っていればよいだけですし。

とにかく共有したい情報は一箇所に保存しておくこと。

あと、一箇所に保管しておいた場合に同じようなファイル名がずらずらーとあって
「どれが最新版!?」となることも多々あります。

そんな場合はバージョン管理機能がある文書管理システムを導入すること。

ファイル名にバージョンを書くなんてナンセンス。

社内にすでにそういうシステムがあれば利用するし、
なければオープンソースで結構出ているので導入を検討したほうがよいです。

社外との情報共有であれば、セキュリティ・情報漏えいの問題があるので
信頼ある企業のサービスを利用するとよいです。

とにかく情報共有はシンプル&スマートに行うのがベスト。

プロフィール

DJコーク

Author:DJコーク
地方で細々とSEまがいの仕事をしています。

楽天ブック
最近の記事
Feed
月別アーカイブ
スポンサードリンク
グラビス|gravis ノーマディック|nomadic ヴィブラム|vibram ロープロ|lowepro
MoMA STORE
MoMAstore
MoMAstore
MoMAstore
MoMAstore
MoMAstore
リンク
カテゴリ
サイト
ランキング
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。