プログラミング作成承ります アプリで自動化をしたい方、プログラムでお困りの方是非

電気通信技術者勉強体験記(総括編)

f:id:yoshishinnze:20200219210006j:plain

電気通信技術者

2020年1月に受験した電気通信主任技術者ですが、なんとか合格しました。

 

今回から4話構成で勉強法の体験記を書いていきたいと思います。

(総括編→伝送編→専門編→システム・法規編の順で行こうと思います。1話にまとめるとグダグダになってしまうので・・・)

 

1. 受けてみた感想

受験範囲は広いため、勉強時間は結構かかりました。

私の場合は2019年の7月くらいからぼちぼちと初めて、11月くらいからペースアップして、直前で何とか合格できるラインまでもっていった感じです。

また、わたくし、電気通信のことは何も分かりませんという状態からのスタートだったので、初めの2か月は結構苦心しながらの勉強だったと思います。

また、参考書が総じて今一つ&参考になる情報が、比較的少ないということを考えて、次受験される方の役に立てば嬉しいという思いから体験談を書いていきます。

2. 勉強法

あくまで個人的なおすすめという感じで、人によってマッチする方法は違うとは思うのですが。

勉強開始時点では伝送を重点的に進めることをお勧めします。

以下のような理由のためです。

a. 4つ科目がありますが、専門は伝送の知識をより深く問う問題が多いです。このため専門の勉強前に伝送をやっておく方が基礎が出来て、結果、相対的な勉強量を少なくすることが出来る。

b. 電気通信システムは過去問と同じ問題が出ます。過去5年の1回目、2回目を確実に解けるようになれば、絶対合格できます。問題自体も高校物理の電気程度の問題が出てくるくらいの難易度なので、それほど、勉強に時間をかけなくても大丈夫。→試験2か月前くらいからぼちぼち勉強しても多分受かります。

c. 法規は暗記科目です。一つの問題集を3回くらい勉強すれば確実に合格できます。→試験1か月前から勉強すれば多分大丈夫です。

 

3. スケジュール立てることのススメ

また、勉強する開始時点では自分なりのスケジュール立てて進めることを、やはりお勧めとさせて頂きます。

こちらの理由は以下のような感じです。

a. 勉強の範囲が広いので、ペース配分を考えながらコツコツ進める必要がある。

b. ゴールを考えながら、どこまでに教科書を終えるか、どれくらいの期間から過去問を解き始めるかというのが、全体を見ながら考えることが出来る。

私の場合は、こんな感じでスケジュール表作ってやってました。

凄い小さいですけど(笑)・・・。

全体を教科書で勉強→見直し→過去問の流れに分けてます。

スケジュールとは大分変ってしまったんですけど、立てたおかげで、継続的にコツコツできたと思います。

 

因みに、2の勉強法で言っている電気システム、法規は直前から勉強で間に合うといっていることとは、全然異なり、全科目を7月ではじめてます。

今振り返ると、もう少し効率よくやるべきでした(笑)

 

4. 用語集を作ることのススメ

ここは書きかけですね。。。

電気通信主任技術者試験受けてきました。

大分経ちましたが、久々の投稿です。

 

今日は電気通信主任技術者試験を受験してきました。

その経過を日記みたくして。

 

私は愛知県民なので受験場所は名古屋を選択→名古屋学院大学のキャンパスでした。

この大学のキャンパスはコンパクトでしたけど、おしゃれです!

しかも、金山(名古屋市)の隣駅という好立地。

 

9:20くらいに最寄り駅に到着してそこからは徒歩でキャンパスへ。

途中、同じ受験者らしい人を見つけたので、ついていきました(道は分からなかったんですけど・・・)

キャンパスに到着したのが9:30くらいで、受験票見ると試験会場は10:00までに入室するようにとなっていました。

→お昼ご飯先に買っておこうということでコンビニに立ち寄り。(試験の時は食べすぎると眠くなるので、お昼は菓子パン2個にしました)

 

〇入室~試験まで

9:50くらいに入室してから、すぐに試験説明でした。

今日初めて知ったんですけど、午前中の2科目(電気通信技術者試験は全部で4科目あるんです)。

2つをまとめて試験するというものでした。なので180分で2科目を回答するという、結構長丁場の試験になりました。

 

〇午前中の試験

法規と伝送設備の2科目です。

法規は過去問を、ほとんどそのままという問題が結構目につきました。

私、試験前に山を張っていたんですけど、ラッキーなことに、同じ問題が出ていました。

また、例年に比べると楽な問題が多く、素直に回答すればあまり手を焼かないかしらと思ったりしました。

法規はこれで良し。

 

その後、伝送設備に移ったんですけど。

結構難しい。。。

例年あまりウェイトが大きくない気がしていた光通信やアンテナ関係が結構目につきましたし、何より設備管理系の問題が難しかったです。

これは危ないなと思いながら、回答→全部回答してみました。

どれくらい時間余ったんだろうと時計見ると

残り100分!?

全然時間余るんじゃないですか!?

見直しをゆっくりやったんですけど、やっぱり時間が1時間くらいあまり、不完全燃焼ながらも回答用紙を提出しました。

 

〇お昼休み

次の試験まで、2時間くらいの時間が出来てしまいました。

お昼ご飯を食べながら、「コーヒー飲みたい」という欲求が。。。

朝、駅からキャンパスに向かう道を思い浮かべるとコメダがあったような気がしました。

お昼を食べ終わった後、荷物をまとめて、駅までの道をブラブラ。

ありました。

コメダコーヒー。(なんでこちらの地図リンクするのに、試験会場をリンクしないの!?という質問はなくしてですね)

 

コーヒー頼んですぐに着席。。。

いっ

さんっ

ばっ・・・(古いですね)

ん!?

寝ていたのか・・・

コーヒーは!?

ある。

時間は・・・13:30・・・。(午後の試験は14:20から)

ということで、寝坊しそうになっていました。

すぐコーヒー飲んで、会計。

慌てて、試験会場に戻りました。(着席したら、またもすぐに試験の説明だったんで、起きたタイミングは絶妙でした)

 

〇午後の試験

専門と電気通信システムです。

専門は・・・。

今年は簡単でした。

法規と同じく、ここ最近出た問題が再現されているではありませんか。

喜んで回答していました。

若干てこづったのはIPネットワーク系の問題とOpenFlowの問題です。

ここ以外は結構。

過去問がまま出てました。

 

電気通信システムは例年より若干難しいくらいだったような気がします。

とはいえ。

電気通信システムは簡単です。

ほぼ例年通りの出題パターンで大喜びしながら回答。

 

やっぱり時間が余ってしまいました。(午前と同じく100分くらいです)

見直しをして、おもむろに席を立ちました。

 

〇総括

ということで足掛け3か月くらい勉強してきた電気通信主任技術者は今日で一区切りです。

試験は伝送設備が、かなり悩ましい出来だったんですけど・・・。

どこかのタイミングで電気通信主任技術者の勉強法と結果をアップします。

今日は久しぶりに、ただの日曜日をエンジョイします(笑)

VBの構造体とは

こんばんは。

よっしーんです。

 

今日は暑かったせいで、所属するテニスサークル、全然人いませんでした。。。

4人でギリギリダブルスしていました。

コートもパサパサで、何故か自分の髪もパサパサになりました。

 

さて本題。

Visual Basicについて。

今回、クライアントのご依頼対応で使ってみたテクニックについてです。

一つの人データに所属や、属性の情報を一緒に処理したい箇所がありました。

これは・・・

 

C言語でいうところの構造体ですね。

 

VBにあるのでしょうか?

簡単に使えるのでしょうか?

答えは。

両方ともYesです。

あるし、楽です。

 

VBの構造体

定義の仕方は以下の通りです。

 

Private Type (名前。ここで付けた名前で今後使ってきます)

ここにファミリーメンバを書き綴ってください。

End Type

 

例えば以下みたいな感じですね。

 

Private Type Man
      Group As String
      Role As String
      Name As String
      Job As String
End Type

 

ちょっと気になるのが、データの型。Private?

これだとグローバルに使いまわせません。

調べた限りではPrivateじゃないと使えないようです。

 

◇使い方

構造体の定義をしたら、さっそく関数の中で使ってあげましょう。

 

具体的な使い方は。

以下の1と2ですべてです。

1. 関数で以下のように定義

dim (適当な名前) as (構造体の名前)

つまり。

変数を構造体として定義するという意味です。

 

たとえるならば。

 

dim Man_belong as Man

 

こうすると。

Man_belongのメンバである      Group 、  Role、  Name、  Job が使えるようになります。

 

2. 関数内で宣言した構造体に対して、各ファミリーメンバを定義

 

Man_belong.Name="Kenji"

Man_belong.Group="Ninja"

Man_belong.Role="Ero"

Man_belong.Job="Home Defenser"

 

ということで、Kenjiさんと、Kenjiさんの周辺情報が定義できるようになりました。

 

◇構造体の配列

構造体の配列が凄い楽です。

ここはCやC++と比べると目から鱗が落ちそうになります。

 

即ち。

上記の使い方の1.で以下のように定義したらOKです。

 

dim Man_belong() as Man

 

そうです。

名前のところにさりげなく()を入れてあげてください。

もしくは()の中に、配列のサイズ(インデックスの個数)を定義してあげてください。

それですべてです。

 

ということで、今回はVBの構造体に凄い助けられました。

VBよ。有難う(上から気味に)

LU分解法-解法

こんばんは。

よっしんです。

 

昨日のLU分解について。

◇LU分解は何のためにある?

連立方程式を少ない計算量で解くためにあります。

(連立方程式は以下の形となります。)

f:id:yoshishinnze:20190804184310p:plain

基本的には以下のように行列Aを上三角と下三角の行列に分割することで、ほかの方法のような収束性の課題を抱えずに、連立方程式を解けるようになるということにメリットがあります。

 

f:id:yoshishinnze:20190804183426p:plain

f:id:yoshishinnze:20190804183459p:plain

 

◇計算のアルゴリズムについて

1. LとUの要素のうち、Lの0部、Uの対角成分と下三角の0部を定義する

2. LとUの非0の要素を1の条件を使って、ひとつずつ求めていく。

※パット見、非0の要素を綺麗に求めることは難しいように見えますが、実は可能です。その理由は、求める際に使う各項が1より1か0であることが保証されているから。

3. 連立方程式を以下のように書き換えます。

f:id:yoshishinnze:20190804184435p:plain

f:id:yoshishinnze:20190804184454p:plain

最終ほしいのは連立方程式の解xなんですが、その前にyを導入してしまいます。

その理由は4以降で分かります。

4. yを求める

Ly=bを解きます。

Lの形を見てください。上から△です。

つまり・・・

y1はl11×y1=b1で求まります。

y2はl21×y1+l22×y2=b2で求まるのですが。y1が上で分かっているので、実際にはy2も単なる1次連立方程式を解けば良いことになります。

これをyベクトル、すべての要素で繰り返します。

→yが全部わかります。

5. xを求める

Ux=yを解きます。

4と同じことが言えます。

上から求めていくと、単純な1次方程式を解き続ければ解までたどり着きます。

 

◇効果

計算量が圧倒的に少ないです。

他のガウス法がO(3)なのに対し、LU分解法はO(2)です。

連立方程式のサイズが大きければ大きいほど、効果は大きくなります。

LU分解法

こんばんは。

よっしんです。

 

本日は線形代数のライブラリをしこしこ作ってました。

LU分解は結構絶妙な内部構造になっていて、わたくし的には非常に好みです。

 

絵は入力したA行列とbベクトルからL、U行列を生成→LUを使って解を求めています。

f:id:yoshishinnze:20190803222610p:plain

 

明日時間あれば解説したいですね。(そんなの要らない!?)

電波を飛ばすこととは・・・

こんばんは。

今日は周りの市で花火大会がありました。

よっしんも意気揚々と花火大会へ・・・。

 

行っていないです(´;ω;`)

ううう。

 

今日は無線LANについてです。

(来年くらいにある資格の勉強で出てきた内容なんですけども)

 

〇生い立ち

IEEE 802.11で規格が設定されました。これがスタートです。

初期の頃は2.4GHz帯の電波を使用していました。その当時の伝送速度は11Mbps。今日の時点を考えると、凄い遅いんですけど、当時はびっくりするほど早かったらしいです。

その後、IEEE 802.11aによって規格がバージョンUPされました。

この時になると5GHz帯域を利用して、54Mbpsまで伝送速度は向上しました。

2009年にはIEEE 802.11nにより更に技術的な進歩がありました。このころには伝送速度が600Mbpsを超えるようになってきました。これならば今日の無線通信の速度と比べても遜色ないですよね。

 

無線LANの仕組み

信号を変調→アンテナで情報を電波として飛ばす→受信機でキャッチ→復調して信号に戻す。

 

〇変調方式

変調とは電気信号を搬送波に乗せて運ぶための前処理みたいなものです。アナログの方式、デジタルの方式が存在します。

基本的には電気信号の波形に対して、振幅、周波数、位相のどれかを、一定のルールに基づいて変形します。

 

無線の場合、情報がきちんと伝わったかそうでないかということを確認する術が有線のように直接的に見ることができません。

そこで登場するのが、アクセスポイントです。アクセスポイントが信号の信号路整備の役割を果たすことで情報の伝達を制御できるようになります。

 

難しい。。。

これは便利(交差検証法)

こんばんは。

よっしんです。

 

今日は台風のおかげで一日中家でした・・・

外に出れずムズムズする感じでしたが。

 

おかげ様で一つ発見です。

python sklearnライブラリにあるcross_val_score。

凄い便利です。

 

何が便利かというとですが。

モデルデータ、特徴量とラベルデータを渡すと、その適合精度を自動的に算出してくれるんです。

通常ならば。

1. 訓練とテストに使うデータを分割する。

2. モデルに特徴量のデータを与えて、ラベルを予測 VS 本来のラベルデータを比較して精度を算出する

という手順を踏まなくてはいけないんですが。

これは、それを自動でやってくれます。

 

今回はこんな感じで使っていましたね。

 

criterion='accuracy'

Estimator=RandomForestClassifier(n_estimators=100,random_state=0)

Estimator.fit(X,Y)

 

#評価関数で評価。因みに[0]が評価指数の値
result=cross_val_score(Estimator,X_ohe_selected,Y,scoring=criterion)

X:特徴量

Y:ラベル

Estimator:ランダムフォレスト(分類器)

 

 

 

 

今まで、わざわざサブルーチンを持ってきて、えいやとしてたんですが、一発で精度検証できたので、凄い楽に感じてしまいました。

 

詳しい使い方は以下が分かり易いです。

www.randomlyforest.com

 

んんん。便利。

これ、kerasやchainerで使えるのかしら?

ということでデータ沢山スクレイピングしてみました

こんばんは。

よっしんです。

 

嫁様と夕飯中の隙間時間でチョコチョコ・・・。

データ沢山いただきました。

(休みの今日でしたらサイト閲覧する方も少ないでしょうし。)

f:id:yoshishinnze:20190721184229p:plain

 

あくまで「データ分析」のために使わせていただきます。

(pythonとBeautufulSoupのペアは良いですね・・・とった後のデータに処理をする必要すらなく。楽々であります)

 

スクレイピングの違法性について

こんにちは。

よっしんです。

 

本日は午前"be"テニスプレーヤ後、選挙の投票してきました。

ミンミンしている、投票所付近ったら、暑い暑い。。。

 

タイトルの件について少し考えてみました。

結論から言うと以下の3つ。

3つのどれかに該当したら違法性あり。

それ以外の場合は、解釈次第で違法ということになる可能性があるということになりそうです。

1. 執拗なスクレイピングによって、サーバーに負荷をかける。→結果、公共の迷惑になる。

2. 利用規約で、会社と「スクレイピングはしません」で合意している。

3. 著作権の侵害をする。

 

1. 執拗なスクレイピングによって、サーバーに負荷をかける。

インターネット経由で、スクレイピングをすると、当然、対象となるサーバーにアクセス負荷をかけることになります。

負荷が限界を超えて、一般の利用者のアクセス性が悪化したり、アクセスできないということが発生したら黒です。

この場合は、取り出したデータの利用用途が白でも、スクレイピング行為自体は、黒ということになってしまいます。

2. 利用規約で、会社に「スクレイピングはしません」に合意している。

サービスを提供している会社と、利用規約を交わすことがよくあると思います。長文なため、すべて目を通す方ってあまりいらっしゃらないと思いますが。

このドキュメントの中に、「サービス利用期間にスクレイピングしてはいけない」と記載があった場合です。

利用規約の内容を理解した、理解していないにかかわらず、合意にチェックを入れた場合において、スクレイピングをした場合、黒です。

これは。。。しょうがなし。

3. 著作権の侵害をする。

スクレイピングでとったデータの使い道の問題かもしれませんが。基本的に、取得したデータには著作権があります。取得したデータを、そのまま人に売ったり、譲渡したとなると黒です。

OKなのは、スクレイピングによって知りえた分析情報を活用すること。但し、この情報で、もともとの情報ソースを持っていた会社が損してしまった場合は、解釈次第では分析情報の活用だけに絞った利用でも黒くなるやもしれません。

 

総括

スクレイピングする前に、

スクレイピングする対象と過去約束事をしたか。

スクレイピングする対象が公共性の高いものではないか。

取得したデータは何に使うか。

ということはよくよくご注意下さい。技術、スキルは人の為のものであり、悪用するものではないということを念頭にしたいところです。

統計検定準1級とったりました

おはようございます。

よっしんです。

 

この前受けた統計検定準1級合格しました。(凄い、だからーという感じかもしれませんけどねー)

思い立って勉強したので、事実、1月半くらいの勉強期間だったのですけど。。。

良かった・・・(終わった後はあかんかも思ってヒヤヒヤやったんす)

f:id:yoshishinnze:20190720080210j:plain

 

次は、いつか1級受けたろー。

取り敢えず来年以降になるやろう思いますけどね。

迷路の探索

こんばんは。

よっしんです。

 

今日は迷路の探索問題です。

 

この絵の迷路をS(スタート)からG(ゴール)まで行くための道筋を探索してやりました。

f:id:yoshishinnze:20190715211654p:plain

 

Oは経路、Nは行き止まりになってしまう道です。

f:id:yoshishinnze:20190715211733p:plain

 

にや~。

これで方向音痴な僕でも、迷路は必ずゴールまで行けるようになりました。

我ながらうまくいった(kerasの学習)

こんばんは。

よっしんです。

 

久しぶりにkerasで機械学習しました。

手書きの訓練文字データとラベルを使ってモデル学習。

からの

手書き文字データが、なんの数字かを当て当てします。

 

我ながらうまくいったなー・・・

まー。

ハイパーパラメータは、ほとんどデフォルトみたいなもんなんですけどね。。。

こちらがテストで読み込みんだデータ(モデルの成果を見るテストデータです

 

f:id:yoshishinnze:20190714215706p:plain

下は学習モデルが、上の画像を見て判断した予測値です

f:id:yoshishinnze:20190714215720p:plain

まだまだクライアント様のご依頼が・・・

眠いぃぃぃ

 

追伸

嫁様へ

今日はお出かけにも関わらず、自分が手持ちの仕事があるからと、早めに切り上げてくれてありがとう御座いました。

こんなダメ旦那ですが、いつも無理聞いてくれて有難う。

ご利用は計画的にて候

こんばんは。

よっしんです。

 

クライアント様から会計関係のお仕事頂きました。

今日はそっちの対応に奔走です。

 

これは、エンジニアな自分にとっては未知のお仕事です。

税のことを調べたり、長期的な視点で儲けがでるかを調べたり・・・。

 

そして一つのことに気づきました。

 

お金かかることは、何年か先のことを知らなくてはいけない。

 

知る!?という感じなのですが。。。

身通しを立てるという方が正しいのでしょうか。

 

支出と収支のバランスを考えて、目先で儲かっているように見えても、何年か先だと決して良い条件ばかりではないので。

そして、「ものを持つ」=性能が落ちていくものを資産として持つことになるわけです。

綺麗に使っていても、問答無用で価値は下がっていきます。

 

ということで。

大きなお金を使う場合、ご利用は計画的にしてきましょう。(ちゃんと根拠を持ってくださいねー)