気象予報のキーポイントは「温帯低気圧」

私は以前、気象予報士試験を受験したことがあります。結果は不合格でした。しかし、非常に惜しかったのです。気象予報士の試験は、午前・午後に分かれて試験があります。その午前試験であと1問で合格にまで迫りました。

そのときの取り組み方など、情報を記載しておきます。
私は半年程度の勉強でそこまで行けました。ですので、この取り組みを参考にしてくだされば合格に近づくのではないかと思います。

受験の動機

まず受験の動機から。
私は当時、業務で気象関係のシステム作っていました。そのシステムは気象知識がなくても仕様に沿って作れば問題はありません。よって、社内に気象予報士の資格を有している人はいませんでした。

これはチャンスと思ったんですね。しかも「気象予報士」って名前がかっこういい。さらに、気象の知識を持つと、このWebページはどのような状況の時に使用するのかが分かって開発していて楽しめると思ったのです。


勉強への取り組み方

気象予報士の試験は1年で2回あります。私は2回受験しました。最初は合格しにいくというよりもどんな感じなのか様子見のつもりでした。

最初の試験の1週間前に対策を始めました。まずはネット(アマゾン)で人気のあった気象予報士試験の参考書3冊を購入し自習です。後になってわかることですが、参考書は何でも良いです。大体同じようなことが書いてあります。

このときの勉強時間は、1日の空いた時間にさらっと眺める程度でした。そして、最初の試験を受験。もうわけわかめ状態。さらに私はこのとき、シャーペンを忘れた。書くものが無い私は試験監督に鉛筆を貸してもらう事態となりました。みんなは注意しましょう。シャーペンは持参です。

結果はやはり不合格。このときはひどい点数を取った覚えがあります。大体の様子が分かったので、次回ももちろん受けるつもりでした。試験直後から次回に向けて準備していると、会社の管理職の方就業時間中に勉強してOKとの連絡が入る。これは非常にラッキー。

すかさず勉強計画書を提出しました。すると、社外の気象予報士資格を持っている方が勉強会を開いてくれることになりました。しかも就業時間中に。さらに結果としてマンツーマンでのトレーニングになりました。なぜなら勉強会への参加条件が次回の気象予報士試験を受験することだったからです。私は元々受験するつもりだったので、この条件はなんとラッキーなことか。

社外の気象予報士の資格をお持ちの方は、気象庁の博物館的なところでボランティアをしている。いわゆる説明員というものです。そういった活動を月一でなさっている実に意欲的な方。さらに、物腰柔らかで尊敬できる。大好きすぎて敬語じゃなくなって甘えちゃいそうなくらい。失礼ないよう気をつけるのが大変だった覚えがある。

かくして私は業務時間中に勉強が出来ることになったのです。勉強会の時間は1週間に2時間。勉強機会としては、次のとおり。
・勉強会の予習(勉強会の前日に自宅で)
・勉強会
・勉強会の復習(勉強会の翌日に自宅で)


1週間に3日。それぞれ2時間程度の勉強をしました。取り組み方は前回の勉強方法とは異なり、単元ごとに固めていきました。長期的な計画が立てられるひとは単元ごとに固めていった方が楽かと思います。予習ではさっぱりわからないことが多いので、質問事項をまとめて勉強会のときに質問する感じでした。質問の回答が理解できずに翌週も同じことを聞いたこともありました。

そうこうしているうちに試験の範囲は完了。まだ不安な単元はあるが、過去問に入ろうということになりました。このとき、試験はあと2週間ほどにせまっていた。せまっていても勉強のスタイルは変更しませんでした。それなりに業務も忙しかったので。結局、過去問は2年分しかできない状態で本番を迎えました。

以上が勉強の取り組みになります。

いかがでしたでしょうか。それほどたくさんの勉強をしなくても結果を残すことは可能かと思います。
私の場合は、相談役がいたのでなおさら楽でした。(合格していない人がいうセリフではない)






コンテンツアドバイザーでWebフィルタリングをする方法

今回はWebフィルタリングについての話題です。

社内SEの業務の範疇になるかと思いますが、社内SEのみなさんはWeb上でフィルターをどのようにかけていますでしょうか。

IE限定ですが、閲覧出来るサイトを管理者が簡単にコントロールすることが出来ます。その設定方法をご紹介したいと思います。

会社ではOSをWindows。ブラウザをIE(インターネットエクスプローラ)。という環境で使用している方々が多いので、多くの方が使える情報かと思います。

閲覧可能サイトを制限しないと、次のような危険が考えられます。
・エロサイト見てウィルス感染
・2ch見てウィルス感染
・何かと趣味のページ見て時間浪費

このような自制を効かすのが難しい社員を社内SEは守らなければなりません。それが仕事の一つと言えるでしょう。さらに、このような行為に通信回線を圧迫されないようにしたい。そのために、この機能は簡単で便利に使えます。

その名も、コンテンツアドバイザーといいます。

設定方法の詳細はネット中にあります。ですので、ざっくりと説明するにとどめます。

1.「ツール」→「インターネットオプション」→「コンテンツ」タブを押下する。

2.「コンテンツアドバイザー」欄の「有効にする」ボタンを押下する。

3.「ユーザーアカウント制御」→「はい」を押下する。

4.「コンテンツアドバイザー」→「全般」タブを押下する。

5.「ユーザーオプション」欄の「規制されていないWebサイトを表示する」にチェックを付ける。

6.「OK」→「コンテンツアドバイザー」を閉じる。

7.「コンテンツアドバイザーが、有効になりました。」と表示される。

これでコンテンツアドバイザーが有効になった。

※規制されたWebページを閲覧しようとすると「コンテンツアドバイザーの設定により、このWebサイトを表示できません。」と表示される。



このコンテンツアドバイザーをAD(アクティブディレクトリ)なりでコントロールする。そうすることで会社内やシステム内でWebフィルタリングが出来るというわけです。

ちなみに、一般ユーザーでもADでコンテンツアドバイザーを設定することが出来ます。一般ユーザーに設定を変えられてしまっては管理者が大変ですね。

ですので、管理者しか設定できないように変更しておきましょう。ADでコンテンツアドバイザーを設定するには、インターネットオプションのコンテンツタブを使用します。ですので、そのコンテンツタブを表示してないようにしてしまえば良いのです。


以上。コンテンツアドバイザーでWebフィルタリングする方法についてでした。
いかがでしたでしょうか。これでいくらかのトラブルの種をなくすことが出来るかと思います。




「 VBScriptの説明 」 と 「 複数行を一度にコメントアウトする方法 」

みなさん「VBScript」って使用していますでしょうか。私はお手軽なのでたまに使用します。


今回の記事では 「VBScriptで複数行を一度にコメントアウト」する方法を記載します。しかしその前に、「VBScript」について多少の説明をしておきましょう。


・「VBScript」とは

「VBScript」はその名のとおりスクリプト言語です。いわゆるVB(Visual Basic)の簡易版です。では、どんなことが出来るのでしょうか。


「VBScript」はWSH、IIS、IE上で動作するそうです。私はWSH、IISというのは良くわかりません。わかりませんが、ブラウザ依存なしで独自画面を作成して作れることと認識しています。実際に「VBScript」でIEでない独自画面を持つことが出来ます。IE上で動作させたいとくにはHTMLファイル内に記載します。


「VBScript」を使ったプログラムを書くための特別な環境は必要ありません。スクリプト言語なので当然と言えば当然ですが。テキストエディタにソースコードを記載して、拡張子を.vbsとして保存。そのファイルをダブルクリックすることで使用できます。


それでは実際に、「VBScript」を使ったファイルを作成してみましょう。今回はテストとして「テスト」とポップアップ画面を表示するファイルを作成します。

テキストエディタを開いて次の文を書き込んでください。

MsgBox("テスト")


書き込めたら、次の名前でファイルを保存してください。

test.vbs

これで、「VBScript」ファイルが出来上がりました。では、この出来上がったファイルをダブルクリックしてみてください。

テスト と表示されたポップアップ画面が出ることでしょう。これでテストは成功です。




さて、「VBScript」とはどんなものなのかを解説してきました。ここからは「VBScriptで複数行を一度にコメントアウト」する方法について書いていきます。


「VBScriptで複数行を一度にコメントアウト」する方法


結論から言うと「VBScriptで複数行を一度にコメントアウト」することは出来ないようです。
でも、同じようなことは出来ます。常に実行しないようにすれば良いのです。コメントアウトのようなものなので次のように書きます。


If False Then
' 実行したくない処理
xx
yy
End If



これで、複数行を一度にコメントアウトすることが出来ます。



いかがでしたでしょうか。今回の記事では次の2点を解説しました。
1.VBScriptとは何なのか
2.VBScriptで、複数行を一度にコメントアウト

スクリプト言語なので簡単に実験できて理解しやすいですね。


batファイルtips ~まとめ~

みなさんお仕事でbatファイルは使っていますでしょうか。windowsを使っている方しか使用できませんが、非常に便利なので今回の記事でご紹介いたします。

batファイルtips

今回のまとめでは次のとおりのtipsをご紹介します。

・条件分岐 if~else の 秘密
・条件分岐 IF文 AND条件
・入力を受け付ける方法
・FOR 文の書き方2つ
・改行せずに出力する方法
・変数 の扱い方
・複数行をコメントアウトする方法
・sleep させる方法


・条件分岐 if~else の 秘密


「batファイル」の「if~else」には秘密があります。
括弧"("または")"の両側には必ずスペースが必要だということです。


if "ABC" EQU "ABD" (
echo "この文字列は同じ"
) else if "ABC" NEQ "ABD" (
echo この文字列は異なる
)


両側にスペースがないと、「構文が間違っています」だとかなんだか言われます。
スペースを入れてくださいとかならすぐわかるのに、ぶっきらぼうな指摘をしますね。



・条件分岐 IF文 AND条件


「batファイル」の 「AND条件でIF文」を作りたいときに、他の多くのプログラミングとは少々異なる書き方をします。


IF %A% == 1 IF %B% == 2 (
echo "A is 1 B is 2 "
) else (
echo "not A is 1 B is 2 "
)


このとき要注意するのは、「else」内の処理に入る条件でです。if条件のうちのどちらかが「false」もしくは両方が「false」になったときにだけ「else」内の処理に入ります。詳しくは実験して試した方が理解しやすいかもしれません。この記事のソースコードを使用して確かめてみてください。




・入力を受け付ける方法


batファイルで入力を受け付ける場合、以下のように記載します。
以下のように書くと、yと入力したら処理を実行。y以外を入力したら終了する処理となります。


ECHO 処理を実行しますか? (Y/N)

SET /p c=
if "%c%"=="Y" GOTO CONTINUE
ECHO "Yじゃないの入力したので終了"
EXIT

:CONTINUE
ECHO Yを入力したので処理を実行します




・FOR 文の書き方2つ


batファイルのFOR 文の書き方を2つご紹介します。次のどちらのソースコードも意味は一緒です。意味としては次のとおりです。

意味:
ConnectList.txtを","区切りでを第3引数まで一行ずつ最後まで読み込んで処理するという意味です。


FOR /F "tokens=1,2,3 delims=," %%a IN (ConnectList.txt) call test

:test
処理1
処理2
処理3


もしくは


FOR /F "tokens=1,2,3 delims=," %%a IN (ConnectList.txt) Do (
処理1
処理2
処理3
)


なお取得した引数はFOR文内では、次のように使うことが出来ます。上記でも使用していますね。
第一引数=%%a、第二引数=%%b、第三引数=%%c




・改行せずに出力する方法


batファイルで改行せずに出力するには以下のように記載します。これで、testと改行されずにコマンドプロンプトに表示されます。


set /p x=test




・変数 の扱い方


batファイルでも変数を扱うことが出来ます。変数は、%変数% または !変数! として使用します。
setlocal ENABLEDELAYEDEXPANSION を宣言すると、%変数%と表現するところを !変数! と表現するようになります。

%変数% と !変数! は微妙に動作が異なるようです。動作は次のとおり。

%変数% :
その行が実行される前に、変数の内容に展開されてから実行される。

!変数! :
その行の!変数!部分が実行される時に、変数の内容に展開される。

詳細は、set /? でヘルプを表示して、確認しましょう。




・複数行をコメントアウトする方法


batファイルで複数行をコメントアウトするには次のとおりにします。


if 1 == 0 (

処理1
処理2
処理3
処理4

)


とすると、処理*をコメントアウトした時と同様になります。




・sleep させる方法


batファイルでsleepはありません。しかっし似たようなことなら出来ます。これは私がサラリーマン時代に教えてもらった方法です。これで、何も表示せずにping送信4回分の時間待ちます。


ping localhost -n 4 > nul





以上。「batファイルtips ~まとめ~」でした。



2013年頃に感じていたことまとめ。

この記事は昔の日記を元に記載します。これは2013年目のころに書いたものです。27歳のころですかね。


~

好きな女性のタイプ

好きな女性のタイプを聞かれることがあったので考えてみました。

私は好きな女性のタイプは言葉に気を配る人です。容姿は大事。だけど一番大切にしたいのは言葉ですね。言葉は本当に大事だと思うのです。人生が決まるくらい。

私が女性に対してこんな言葉を投げかけたとします。
「一日おつかれさま、今日はどんな日だった?」

そうしたらぜひ前向きな言葉を返してほしい。
「最高だったわ。明日楽しみ」

後ろ向きな言葉を言うだけでなんだか疲れてくる気がするのです。
「疲れたー。明日めんどくさい」

どうでしょうか。同じ人間でも言葉ひとつで人生が変わると思います。
こういった前向きな言葉のある女性と共に人生を歩んでいきたい。きっとチャンスはあるはずだから、掴めるように自分自身の人間を磨こうと思います。

実際に何するかって、まず寂しいからって変な女性を誘惑しない。されない。そして自分が前向きな言葉を発することです。
魂は連鎖するような気がするもの。自分がそうであれば、そのような人が近くに来るはず。


したい仕事。したくない仕事。

したくない仕事は、納得もしていないのに上から指示されてやらされる仕事。これでは、なんでやっているのかわからなくやりがいを感じづらい。

したい仕事は、人の役に立つ仕事。感謝される仕事。自信を持てる仕事。人生をかけた、真剣勝負な仕事がしたい。

書いていて、ふと考えた。したくない仕事の「上司に頼まれて分けわからずやる仕事」とあるが、それをすることによって上司は喜ぶのではないか?誰かを喜ばせる仕事をしたいのだったら叶えられる気がするけど。


お金について。

「お金を稼ぐ方法は2つしかない。誰もやりたがらないことをするか、誰にもできないことをするか」という言葉を誰かから聞いた。あるいは本で見た。出典は不明だがたしかになと思う。

誰もやりたがらないわけではないけれどサラリーマンとして働くことは中々大変なことだと思う。そして中々のお金をもらえる。

社会人として働くにあたってこんなことを言われた覚えがある。指導の理由を、「社会人としての常識」としか説明できないのだとしたら、それは「黙って言うとおりにすればいいんだよ」と押さえつけているのと一緒。これも確かになと思う。しかし全てを一度に説明するのは難しいよね。


医学部再受験について

最後に、これは医学部再受験に成功した友人が話していたこと。
医学部受験とは、下りエスカレーターを駆け上がるのと似ている。一気に駆け抜けるべし!
どんどん忘れていくからね。という意味らしい。しかしこの友人は5年間も浪人生活をしている。実際に身を持って感じたことということだろうか。

~


以上、やりたいことや所感などをざっくり記載してある日記でした。このころは環境に恵まれていたので、要望が高いですね。今は生きるのに精いっぱいで要望など無く目の前のことで頭が一杯といった状況です。これは脳的にはあまり良い状況ではないらしいので、自分の能力をきちんと発揮できるように頭の中を整理しようと思います。具体的にはマインドフルネスというものにトライしてみようと思っています。


それでは。


「HTMLヘッダ」や「web.xmlのタグ」の解説。オマジナイのようだけどそれだけではありません。

今回の記事では「HTMLヘッダ」「web.xmlのタグ」の解説をします。それらは、オマジナイのように受け継がれているもの。しかし、それだけのものではありません。

きちんとした理由があれば開発も楽しくなることでしょう。それではさっそく始めます。

HTMLヘッダ

HTMLのヘッダというかスキーマというのか、一番最初に書く文ありますね。
それについて厳密に何なのか知らずに書いていたのです。まるでオマジナイのように。
ずっと気にはなっていたのですが中々きちんとした情報を得る機会がなくて。

今回、それ調査しました。それをかみ砕いてご紹介いたします。
これがわかればHTTP通信の基本的なことは理解できるのではないでしょうか。

みなさんHTML書くときの型として、こんな感じのものを書きますよね。

<!DOCTYPE html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja" dir="ltr">
<head>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<link href="./style.css" rel="stylesheet" type="text/css">
<link rel="index" href="./index.html">
<title lang="ja">タイトル</title>
</head>
<body>
本文
</body>
</html>


これらは一体何なのか。それぞれについて解説していきます。最初に必須か任意かを書いておきます。

<!DOCTYPE html public "-//W3C//DTD HTML 4.01 Transitional//EN">
必須。文書の型を宣言している。

<html lang="ja" dir="ltr"></html>
任意。「国」と「左から右」に読むことを設定している。(left to rightですね)

<head></head>
任意。この中に色々と要素を詰めますよね。

<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
必須。文字コードを記載する。

<link href="./style.css" rel="stylesheet" type="text/css">
<link rel="index" href="./index.html">
必須。文書間の関係を明示する。

<title lang="ja">フォーマット</title>
必須。タイトルを記載する。言語の登録があればなお良し。

<body></body>
任意。本文や表示したい画像などを記載する。


ということでタグの解説完了です。タグの意味がだいぶ見えてきたのではないでしょうか。


web.xmlについて

Apache TomcatでWebページ作るときにweb.xmlというファイルを作りますね。
これは厳密には何なのか知らない方も多いのではないでしょうか。その意味と使い方を知ることで便利な機能を使えるようになることでしょう。

web.xmlはざっくり言うと「Webアプリケーションの動作を定義する」ファイルです。
どんな動作かというと次のとおりです。
・サーブレット定義
・セッション定義
・認証設定
・ウェルカム・エラーページ設定
・などなど

では実際のファイルに記載されているタグを解説していきましょう。

<?xml><!DOCTYPE>
最初に記載されているの上記2つのタグではDTD宣言の設定しています。

<servlet>
servletタグでは、サーブレットクラスの名称を定義しています。使用するJavaクラスの名称に名前つけてるということですね。

<servlet-mapping>
先ほど名付けたサーブレットクラスの名称とURLをマッピングしています。

<security-constraint>
ここでは認証の設定をしています。

<login-config>
ここでは認証方式を設定しています。基本認証、ダイジェスト認証、など色々ありますね。

以上で基本的なweb.xmlのタグについての解説は完了です。いかがでしたでしょうか。web.xmlのタグはわりとたくさんあるので、随時追加していきたいと思います。そのときにはここにリンクをはりますので是非覗いていってください。


そういえば昔、サラリーマンやってたころにプロジェクト内でログイン画面が必要になったことがあったのです。で、リーダー的な活動をしていた人が「私が作る」とか言ってたのです。

私は協力したほうが良いのかなと思いつつも放っておきました。以前、その人に協力したら邪魔者扱いされたことがあったし物言いがキツイからです。

しかし、その後一向に連絡がなく1ヵ月は過ぎていたころにギブアップ連絡が第三者から入りました。結局納期に間に合わないのと仕様に明記されていないとの理由から、ログイン機能なしの方向になりました。しかし上記機能使えば簡単に出来そうですね。


SQL文の高速化

ハイバーネイトのようにツールを使用すると、比較的楽にDBアクセスの処理が書けるかと思います。

しかし、ツールの安全性や保守性を考えると導入できないシステムは多いかと思います。
安全性第一の大規模システムなどは、その典型的な例と言えるでしょう。

膨大な処理を書かなければならず、大変ですよね。
私も以前このようなシステム開発にかかわったことがあります。


そのシステムは24時間運用でしかもデータ量がかなり多く、レスポンスが遅くてズルズルと処理が遅れていくっていうパターンに陥りがちでした。運用時には手動でデータを処理することで対処していました。

そのときにゴリゴリSQL文書いていて、困ったことがあったので書いておきます。



そのときにボトルネックになっていたのが、DBアクセス時の処理なんですね。
この処理が遅くデータ更新や作成などが出来ていなかったりしたのです。

その解決に向けて今回は次の方法で実装してみようと思います。
さて、どのくらい早くなるでしょう。

・indexをつけること
・「SELECT」や「FROM」は大文字小文字混同しないこと。



ちなみに、以前システムバージョンアップの仕事に関わったときには、PCのスペック的にダメだったのか知りませんけど検索だけ作られていて、更新/削除/作成処理がダミーなんですよね。全部alert文で失敗しましたって出るだけでした、社会には色々なシステムがあるものですね。


それでは今回はこの辺で。






上司がクソ野郎になってきた

上司がクソだ。 全然勉強していなくて話が通じなくてクソ REST知らないってどういうことなんだろう。弊社標準になってから久しいJavaをまともに組めないってのはどういうことなんだろう。 計画上では詳細設計フェーズが半分を過ぎようというときに要件定義できていないってのはどう...