第三級陸上特殊無線技士にチャレンジ

第三級陸上特殊無線技士にチャレンジしてみた。

この免許を取得すると陸上移動系の無線局の操作が可能になる。

 

では何故この資格にチャレンジしてみたかというと、それは最近話題のドローンにある。

日本では電波法の改正により既にドローンが専用で使用する周波数帯が設定されている。そしてその帯域を使用してドローンを飛ばすにはこの資格が必要になるということだ。

 

大学4年生になれば「卒論」が待っている。そこでドローンについて卒論を書きたいと今の時点では思っている。

この資格がその時実際に役に立つかどうかは分からないが、学生のうちに色々な事を学習しておきたいので試験日まで学習を続けていきたい。

 

将来の就職のことを考えても、資格のように形としてアピールできるものは積極的にチャレンジしたい。陸上特殊無線技士の場合は二級、一級とハイレベルになっていくので大学の勉強と両立を図り学習していけたら良いと思う。

 

 

C言語の学習がスタートした。

 

環境↓

Windows

サブシステム Linux WSL

エディタ Visual Studio Code

コンパイラ gcc&gdb

 

C言語を学習してみて感じた事は「Pythonよりやらなきゃいけない事が多いな」と言う事だ。

・プログラムの書き始め↓

int main();

ステートメント自体の分量
・ファイルのコンパイル

上に挙げた事がPythonの時より作業が必要になった事だ。
ステートメント自体の分量」に関しては、Pythonの時はモジュールを使用する時以外は「import」する必要が無かった。しかしC言語は毎回一行目に、まるで「import」しているかのように

#include<stdio.h>

と書く必要がある。他にも毎文の後には「;」をつける必要がある。これはJavaScriptでも必要だったので、慣れている。main(){}はPythonでいう「def〜():」のようだ。しかし意味が少し異なるらしい。Pythonではプログラムは上から下へと順番に動くがC言語は「main」と書かれたプログラムが一番最初に実行される。つまり「main」の前にどれ程プログラムが書いてあったとしても、「main」と書かれていれば一番最初に実行されると言う事だ。またステートメントが{}の中に書かれる点もJavaScriptに似ている。

「ファイルのコンパイル」はpythonでは「裏側で行われていたのかな」なんて考えたが、エディタのターミナルでプログラムを書き終えたら毎回コンパイルを行っている。授業では「コンパイルを行うことによって、プログラムを機械語に直している」と学習した。

 

 

ドルから円に両替します↓

#include<stdio.h>
int main(){
unsigned int yen,dollar,yen_per_dollar;
dollar=1000;
yen_per_doller=100;
yen=doller*yen_per_doller;
printf("%u yen\n",yen);
}

近年注目されているIOTサービス

近年IOTを活用した色々なサービスが注目されている。

 

ニュースでも話題になった「Uber

Uberとは、スマホのアプリケーションを利用してユーザーの現在位置へと個人が自らの自家用車を配車するサービスである。運賃の事は考える必要が無く、決済はアプリケーション内で行われるため、乗車時にお金のことを考える必要が無いのはスマートだ。

しかし、「白タク」という大きな問題点があるのは皆さんご存知。Uberに登録された車両の中には「白タク」と緑ナンバーの合法な車両が混在しているため、場合によっては法律上NG

 

f:id:btpbo4118:20180326194513p:plain

 

しかし、ニュースで話題になった際はライドシェアリング大手の米Uberの完全自動運転の実証試験中に死亡事故を起こしたというものであった。自動運転と画像検索すると、車内の座席が向かい合わせになった自動運転を搭載した車両の画像をよく目にするが、当分の間は運転席は進行方向を向いていてアクセル、ブレーキがついているという構図のままだろう。

 

宿泊の新しい形「Air bnb

Air bnbとは宿泊施設・民宿を貸し出すためのサービスだ。貸し出す側は「ホスト」と呼ばれ、自らの所有するスペースを宿泊施設として貸し出し、利用する側は「ゲスト」としてアプリケーション上に表示された施設を旅行の際などにレンタルするのだ。Air bnbではサービスの「安全性」「具体性」「信頼性」を保つために「匿名は信頼性を損なう」という考えのもと「ゲスト」「ホスト」両社の本人確認は徹底されている。

f:id:btpbo4118:20180326194436p:plain

 

IOTサービスのキーワードはシェアリングエコノミー

配車サービスや宿泊サービスで代表的なUberAir bnbについて書いてみたが、どちらも共通しているのは「個人の持ちうる余剰の物(車やスペース)を他者とIOTを用いてスムーズにシェアする」という点だ。

ネットワークによってあるサービスが世界中に広まり、国それぞれの異なる法律や状況によって様々な問題やニュースがあるようで、調べてみたらとても楽しかった。

Dockerについて

インターンシップ先ではこれから「Docker」という物を使っていくらしい。

 

記事的には、「自分自身は全く触れたことが無いので予習をしておくべき」という表向きの意味もあるが、「IT系の話が好きで、分からなくても自分なりに調べてみてイメージを持ちたい」という意味合いもある。

答えが出た時にその自分が持っていたイメージと比較したりしたら楽しいからという事。

 

Dockerの特徴

  • dotCloud社
  • アプリケーションの実行環境の事
  • ソフトウェアの配布~導入運用まで手軽
  • 豊富なプレビルドイメージの提供が可能
  • 資源の効率的な利用がされる(Dockerコンテナ)
  • アプリ実行環境構築が容易
  • 設定間違い等の廃棄が容易
  • 対応OSはLinux

「手軽さ」という観点では「Docker」は仮想環境を立ちあげる際のディスク使用量が少なく、その作成や起動も速く性能劣化を抑えられるらしい。

PC、Windowsだけど大丈夫かな・・・

 

 

pythonでTo do list ②

前回は 「To do list」の製作において、「スタートラインに立った」という記事だった。今回は、前回何気なく口にしていた「仮想環境」とか「コード」について書いていきたい。

 

しかし、オンライン上に記事をアップする以上は適当な事は書けないので、書きながらワードの意味が曖昧であったりすると調べてみたりする。

 

仮想環境」について・・・

個人的な「仮想環境」に対するイメージは、「作業環境の維持に効果的

例えば将来自分の使っていたライブラリがバージョンアップして、自分の書いたプログラムとの互換性が無くなった場合でも新たな仮想環境を同様に構築すれば作業環境を維持しながら、新しい環境を共存させることが出来るという事。

 

仮想環境にはライブラリやパッケージをインストールして利用する。

f:id:btpbo4118:20180223224811p:plain

 

前回に仮想環境を構築した際の画像だが、コマンドを確認してみると

「pip install Flask」

とコマンドが記述されている。これによって最初は環境に無かった「Flask」がインストールされたのだ。

 

学校ではデータ解析だったから「numpy」とか「spicy」、後は機械学習、深層学習で「scikit-learn」「tensorflow」とかインストールしたっけ・・・

 

実際に「PythonでFlaskをどう書いたのか」という話

f:id:btpbo4118:20180223225057p:plain

↑これが実際の記述。

 

1行目→ライブラリをインポート(Flask)

3行目→appという名前でインスタンス

5行目→Webアプリケーション用のルーティングを記述

6、7行目→indexにアクセスしたときの処理

9,10行目→デバッグモードの有効化

 

Flaskを書いていて感じた事。

Flaskが軽量フレームワークと呼ばれる所以を痛感した。学校ではDjangoだったので、MVCのパターン全てを記述する必要があった。Flaskのようにルーティングの記述などは出来なかった。URLディスパッチャにURLを正規表現で書いてviewに紐付ける必要があった。

 

pythonでTo do list

一年間、大学で勉強してきてそろそろ簡単なWebアプリケーション位作れたほうが良いと思い、チャレンジしてみた。

 

大学の授業ではpythondjangoを使ってWebアプリケーション制作を行った。

しかし、今回はdjangoではなく、Flaskを使ってみたい。

 

f:id:btpbo4118:20180223224811p:plain

仮想環境立ち上げて、Flaskをインストール

 

環境構築が整ったので、恒例の「Hello,World」を行う。

「Hello、World」は自分の作業が反映される第一歩

f:id:btpbo4118:20180223225057p:plain

 

f:id:btpbo4118:20180223231336p:plain

無事にメッセージが返されている。

 

FlaskでWebアプリケーションを作るスタートラインに立てたという感じ。

ざっと書いてみたので次はコードに関して細かく触れようと思う。

CLIについて

CLIについて
CLIコマンドラインインターフェイス」→キーボードからコマンドを打ち込んで機器を操作する。


CLIというワードを調べているとGUIというワードが出てきた。

GUI=グラフィカルインターフェイス」→画面上のアイコンやボタンをクリックしたりメニューから選択することによって操作を行う。

 

 

CLIGUIの関係性は・・・?
調べてみた感じからすると、CLIGUIの関係性は個人的にわかりやすく表現するなら「ユーザーの主体性の位置」だと思う。

CLIはコンピューターを自らコマンドで手で打って操作する。しかし、GUIはグラフィック(あり合わせの物)としてコンピューター上に用意されたものを選択して操作するからである。

 

コンピューターを操作するどの段階からユーザーの主体性が見られるか・・・って考えた。コマンドプロンプトで0からコンピューターに命令出していくか、画面から有り合わせの機能を選択するか、

 

 

次はこれらのワードに対してもっと深く調べていこうと思う。