文系と理系の交差点

文系と理系の交差点

文系と理系を行ったりきたりして生活しているエンジニアブログ

逆三角関数の微分

f:id:Cardinal_Moon:20200912231701j:plain

今回は逆三角関数微分についてです.
そもそも逆三角関数とはなんぞや,というところから解説してきます.

 

目次

 

逆関数

逆関数三角関数が合わさったものが逆三角関数です.
三角関数はご存知の通り,sin{θ}cos{θ}tan{θ} を使った関数のことです.
では逆関数の方を考えてみましょう.簡単な例を挙げて説明します.

y = 2x

この式の逆関数は次のように定義されます.

x = 2y

そうです. xy を入れ替えてできた関数が逆関数です.
正確に言うと,y=f(x) を x について解き x=g(y) となった時の関数 g逆関数ということです.
上の式も,y について解くと,

y=\frac{1}{2}x

となります.これが逆関数です.
逆関数y=x に対して線対称になります.
図示するとこんな感じです.

f:id:Cardinal_Moon:20200913130157p:plain

 

点A , B が y=x に関して対称的であることが見て取れます.

これ以外に覚えておいた方が良いこととして,x=g(f(x)) となります.
どういうことかというと,y=2xx=4 を代入したとしましょう.得られる y の値は 8 です.
これを逆関数 y=1/2x に代入すると,y=4 となり,最初に代入した x=4 と同じ値が得られます.

これは逆関数の定義を理解すれば当然のことと言えます.覚えておきましょう.

三角関数の導入

さて,前置きが長くなってしまいましたが,三角関数逆関数について考えていきます.
まずは sin{x}逆関数を見ていきましょう.
定義に従って図示すると下図のようになります.

f:id:Cardinal_Moon:20200913184815p:plain

 

f(x) の取りうる値が [-1, 1] (-11 までの閉区間 ) なので,g(x) の範囲は狭くなります.
同様に cos{x} , tan{x} についても図で見てみましょう.

 

f:id:Cardinal_Moon:20200913185120p:plain
f:id:Cardinal_Moon:20200913185131p:plain

 

どうでしょう.イメージをつかんでいただけたでしょうか.

こんな関数もあるんだ,という理解で大丈夫です.

 

覚えておいた方が良いこととして,逆三角関数は異なる表記方法があります.

  • \arcsin{x}
  • \arccos{x}
  • \arctan{x}

のように,arc〇〇のような表記方法をする場合と,

  • \sin^{-1}{x}
  • \cos^{-1}{x}
  • \tan^{-1}{x}

の表記を取る場合があります.これだけは覚えておいてください.
ちなみに,どちらもアーク〇〇(例.アークサインエックス)のように発音します.

では前置きはこの辺にして,三角関数微分に入っていきましょう!

三角関数微分

はじめに逆関数導関数の求め方を解説します.
f(x)逆関数g(x) と置くと,

g(f(x))=x

なので,両辺を微分して,

g'(f(x))f'(x)=1

となります(合成関数の微分を使用しています).よって,

g'(f(x))=\frac{1}{f'(x)}

となります!なんと単純な!
上の式と三角関数微分で得た以下の公式を利用して,式変形していきます.

(\sin{x})' = \cos{x}

(\cos{x})' = -\sin{x}

(\tan{x})'=\frac{1}{\cos^2{x}}

まず sin{x}逆関数微分から見ていきましょう.

(\sin^{-1})'(\sin{x})=\frac{1}{(\sin{x})'}

=\frac{1}{\cos{x}}

=\frac{1}{\sqrt{1-\sin^2{x}}}

となります.ややこしいですが,g(x) の関数 g にあたる部分が sin{x}逆関数x に代入されているのが sin{x} という関係になっています.より一般的に書き直したいので,sin{x} = X と置くと,

(\sin^{-1}{X})'=\frac{1}{1-X^2}

よって求めたい導関数は,

(\sin^{-1}{x})'=\frac{1}{1-x^2}

となります.
続いて同様に cos{x}逆関数微分についても見ていきましょう.

(\cos^{-1})'(\cos{x})=\frac{1}{(\cos{x})'}

=-\frac{1}{\sin{x}}

=-\frac{1}{\sqrt{1-\cos^2{x}}}

cos{x} = X としてまとめて,

(\cos^{-1}{X})'=-\frac{1}{1-X^2}

よって求めたい導関数は,

(\cos^{-1}{x})'=-\frac{1}{1-x^2}

最後に tan{x}逆関数微分についても見ていきましょう.

(\tan^{-1})'(\tan{x})=\frac{1}{(\tan{x})'}

=\cos^2{x}

=-\frac{1}{1+(\tan{x})^2}

tan{x} = X としてまとめて,

(\tan^{-1}{X})'=\frac{1}{1+X^2}

よって求める導関数は,

(\tan^{-1}{x})'=\frac{1}{1+x^2}

以上です.お疲れ様でした!

NAIST入学体験記 〜初年度春まで〜

f:id:Cardinal_Moon:20200912165324j:plain

※この記事は,2019年夏頃に書いたものです

さて,早いものですでに入学から2ヶ月ほど経過しました.
漸く諸々に慣れ始めてきましたが,毎日ものすごいスピードで過ぎ去っていきます.
気を抜いていると,うっかり卒業という事にもなりかねないくらいです.

合格体験記も書きましたが,今回は受かった人向けに,
こんな生活が待っている,もしくはこんなことをしておけばよかった,
ということを少しでもお伝えできたら嬉しいです.

入学準備


恐らくここが一番大変かと思います.
現在大学や高専に通っている人は,卒論などで忙しいと思います.
社会人出身者は,会社と話し合いの時期でしょうか.

面倒ですが,一つ一つこなしていくしかないです.
頑張りましょう.


さてさて,合格した場合は書類が送られてくるので,
それに目を通し,返信を忘れないようにする,
という生活が結構続きます(入学まで忘れないようにしましょう).

寮に入れるかどうかという通知が来るまでは,
下宿先も予約できない人が多いと思います.

何月に何をしたというのは忘れてしまいましたが,
不採用通知が届いてからは一気に人気の部屋が埋まります.
早め早めに行動しましょう.

寮に入れなかった場合,
生駒駅周辺に住むか,UR団地に住むかの2択になる気がします.
稀に高の原周辺に住んでいる人もいましたし,シェアハウスも探せばあるようです.

いずれにしろ通学に時間と費用がかかってしまうので,
その点は頑張りましょう.
ただし,自分の部屋があるのはいいことだと思います.

奨学金は申し込み期間が決まっているので,
それだけ気をつければ大丈夫です.

社会人出身者や自分の収入がある人は,
早めに調べたり,大学に相談しましょう.
私は5月まで会社に在籍していたので,
秋頃から申し込む予定です.

※春と秋によって採用内容や募集数が異なるため,
可能であれば春に奨学金を申請することをお勧めします.

入学後の生活


入ってしまえば,なんとでもなります.
自分から話しかければ,だいたいの人とは友達になれます.
まあ,みんなそれくらいできる年齢でしょう.

みなさん気になる研究室配属ですが,
(情報系では)希望通りにならない人はいなかったと思います.

確か99%くらいは希望通りのはずです.
年によって変わりますが,平均このくらいのはずです.

まあ,NAISTならどの研究室も楽しい研究できそうですが…


最初は序論科目という一般教養のような授業が少々続き,
その後にようやく基盤科目・専門科目が始まります.

ここから一気に忙しくなります.
課題と毎日戦い,遅くまで残ることもしばしば…

特に非情報系出身者は,初めて遭遇する概念を理解するのに時間がかかるはずです.
私の場合は,土日にも課題をやったり予復習をしていますが,
それでも理解できない点が残ってしまいます.

研究が好きで,勉強が嫌いな人には正直しんどい期間かもしれません.
私は勉強するためにNAISTに来たので,非常に楽しい毎日です.
※勿論研究もしたいと思ってます.


身の回りの生活は,住めば都というもので,慣れます.
外食できる店は少なく,スーパーまで遠いという人もいると思いますが,
そこで生活するようになると,自然と受け入れられるはずです.

土日は必ずオフの時間をとる,という人もいますし,
大阪・京都まで遊びに出かける人も多くいます.

NAISTには若干の公認サークルがあり,
ここで活動している人もいます.

運動施設もありますし,
テニスやフットサル,バスケなどをすることもできます.

意外と不自由を感じることは少ないかもしれません.

入学前にやっておけばよかったこと


少しでも勉強しておくこと
収入源を確保しておくこと
あげたらきりがないので,この2点に絞ります.

まず勉強はしておいて損はないです.
入学後よりも入学前にしておいたほうが遥かに余裕が持てます.

特に数学や情報系の知識(情報理論や専門に関係する分野(自分の場合は機械学習など)の知識)があれば,
入学後に時間をとって勉強する必要がなく,自分の研究をする時間を確保できます.
時間というのは大切な資産なので,有効に使用できるよう努めたいものです.

2つ目の収入面については,みんな苦労すると思います.
奨学金だけでは生活が難しいという人もいます.
これは寮に入れなかった人の感想ですが,実際(無利子の)奨学金だけでは苦しいと思います.

アプリ開発やブログ,受託開発,株,ビットコインなどなんでもいいので,
稼ぐ方法を身につけていると,安心して暮らすことができます.

これらが難しいと感じる人は,
貯金をある程度作っておくといいかもしれません.

しかし実際追い込まれたら人間なんでもできます.
奨学金も数多く用意されているので,入学前に焦らなくてもなんとでもなります.

私は大学院できちんと勉強・研究すれば卒業後に良い待遇が待っていると思うので,
お金を借りることに対しては抵抗がないです.
バイトするよりは勉強して,研究して,自分の力をつけて,最終的に多く稼げるようになりましょう.

こんな感じでしょうか.
何はともあれ,NAISTに来てくれたら嬉しいです.

Python入門の道標 ~AnacondaインストールからJupyter Notebook利用まで~

先日Macbook Proを購入してきました!(リンクはこちら

 

ということで、一から環境構築することになりました!

良い機会だと思い、Pythonの環境構築に関して記事を書いてみたいと思います。

 

目次

 

MacBook環境について

モデル:MacBook Pro 2018

OS:High Sierra (10.13.6)

  

Anaondaとは、、、

Anacondaはデータサイエンス向けに作成された Pythonパッケージで、科学技術計算などを中心とした数多くのモジュールやツールが独自の形式で同梱されています。 

Anaconda - python.jp より引用

 

上記の通りです(笑)。

これ一つで環境構築が完了する場合もあるので、Python初心者の人はまずこの環境を用意しておけばよいでしょう。

 

上級者になると、Anaconda環境ではできないことが多くなるかもしれません。

そうなってきた場合は、自分で環境構築をする必要がありますが、

自分の技術が高くなってきた証拠でもあります。自信をもっていきましょう! 

 

まずはAnacondaを入れよう

Anacondaのダウンロードは以下のサイトから可能です。

www.anaconda.com

 

 自分のOSを選択して

f:id:Cardinal_Moon:20181028232335p:plain

 

ダウンロードします。

バージョンは、Python 3.7 version を選択します。(2018年10月現在)

Pythonには2系と3系がありますが、基本的に3系の方が主流となっています。

2系の方はサポート終了などの問題もあるため、分からない時は3系を選択しましょう!!

 

f:id:Cardinal_Moon:20181028232557p:plain

*環境によっては、ダウンロードに超時間かかります。お気をつけ下さい。

 

ダウンロードが完了したら、パッケージインストーラーを起動します。

f:id:Cardinal_Moon:20181029205852p:plain

 

はじめに  から「続ける」ボタンを押す作業を繰り返します。

 

f:id:Cardinal_Moon:20181029205902p:plain

f:id:Cardinal_Moon:20181029205906p:plain

f:id:Cardinal_Moon:20181029210329p:plain

カスタマイズやインストール先を変更するのは自由です。

f:id:Cardinal_Moon:20181029210407p:plain

f:id:Cardinal_Moon:20181029210549p:plain

VSCodeのインストールも自由です。 

f:id:Cardinal_Moon:20181029210806p:plain

 

これが完了すれば、インストール完了です!!

せっかくなので、Jupyter Notebook を使って確認しましょう。

 

 

Jupyter Notebookとは、、

Jupyter Notebookとは、ブラウザ上でコードを実行することができるアプリです。

ブラウザ上と言っても、スタンドアロンでも使用可能です。

 

開発者の間では、Jupyterと略されることも多々あります。

まとまったコードを実行できるので、とても便利です。

開発に重宝すること間違いなしです!

 

 

Jupyter Notebookの使い方

代表的な起動方法は、Anacondaから起動する方法 と ターミナル(コマンドプロンプト)から起動する方法 があります。

 

◯Anacondaから起動する方法

f:id:Cardinal_Moon:20181030210533p:plain

Anacondaを起動します

f:id:Cardinal_Moon:20181030210541p:plain

Jupyter Notebook の Launch を選択します

f:id:Cardinal_Moon:20181030210937p:plain

これが Jupyter Notebook の入り口です

ーミナル(コマンドプロンプト)から起動する方法

以下のコマンドを入力して、前述ど同様の画面を起動させることができます。

Jupyter notebook

これだけ入力して、Enterを押せば大丈夫です。

 

◯肝心の使い方

f:id:Cardinal_Moon:20181030214105p:plain

右上のNewからPython3を選択します

これで新規のPythonのコードを書けるようになります。

f:id:Cardinal_Moon:20181030214448p:plain

In の中にコードを記述します

f:id:Cardinal_Moon:20181030214121p:plain

コードを書き終えたら、Shift+Enter を押して、実行結果を表示させます。

以上が簡単な操作内容の説明です。
だんだんとコードの量が増えてきても、分けて書いたり、少しずつ実行できたりするのでとても便利です。

みんなでPythonしましょう!

MacBook Pro 2018モデルを購入したときの話

f:id:Cardinal_Moon:20181023174335j:plain

ついに、ついに、やっと、、、

 

MacBook Pro を入手しました!! 

 嬉しい。(←単純)

 

ついこの前までWindows7のPCを使用していたので、性能の差に驚いています。

まだまだ使い始めたばかりですが、、

 

記事の内容としては……

  

について書いていこうと思います。

 

買うまでに迷ったこと

f:id:Cardinal_Moon:20181023193947j:plain

大きく分けて2点迷っていました。

MacにするかWindowsにするか、Linuxにするか

②その端末の性能

 

①に関しては、Windows以外の端末も触ってみたいという好奇心と、

Macで開発しているエンジニアが周りに多く見受けられたため、

Macにする決断をしました。

 

あとカフェとかで、Macカタカタやってみたかったというミーハーなところもあります。

やっぱり見た目大事!!

f:id:Cardinal_Moon:20181023194554j:plain

↑私は高い机が好きですが、イメージはこんな感じでしょうか(??) 

 

②次に性能ですが、これは非常に悩みました。

カスタマイズすると高くなるし、

けどこれから機械学習とか仮想環境でアプリのテストすることを考えると、

メモリとCPUは欲しいし、データ保存しておくのにある程度用量がほしい、、、

 

 

AWSをどの程度使用するかということも考えはしましたが、

やはり単品での性能も確保したいということから、カスタマイズを決意しました。

 

CPU:2.9GHz Intel Core i9

メモリ:32GB

SSD:1TB

 

とがんがん積みました(通常仕様+10万円くらい)。

使いこなせるか分かりませんが、これからの活躍に乞うご期待ください。

 

開封の儀(見た目について)

 

f:id:Cardinal_Moon:20181023173900j:plain

やっぱり ”MacBook Pro” の文字がかっこいい

f:id:Cardinal_Moon:20181023174335j:plain

外装もシンプルで良い

f:id:Cardinal_Moon:20181023173915j:plain

開けてみるとこんな感じ

f:id:Cardinal_Moon:20181024070638j:plain

取り出して

f:id:Cardinal_Moon:20181024070938j:plain

起動!!

f:id:Cardinal_Moon:20181024071732j:plain

ちなみにケースはこれを買いました



見た目は文句なし!

 

Windowsユーザーから見た使用感

今回キーボードをUS仕様にしただけに、

  • タイプし辛い!(←自業自得)
  • 各種設定箇所が分からん!(←自業自得その2)
  • 設定に時間かかる(←自業自得その3)
  • 電源ボタンどこ?(←指紋認証のとこ長押しで強制終了らしい)

 

という具合に、まるっきり慣れていない感じですが、

起動はだいぶ早くなった気がします(Windows10とかでも、最近は早いけど)。

 

おしゃれさはグンと上がった気がする(嬉しい)。

 

 

Pythonなどの使用感は今後追記していくことにします。

 

これから開発がんばります!!

資格合格体験記 ~LPIC LEVEL1編~

LPIC LEVEL1 取得しました!

ということで、受験までに行った対策と試験の結果について、

備忘録をまとめたいと思います。LPIC受験をされる方の一助になれば幸いです。

 

f:id:Cardinal_Moon:20180930165918j:plain

 

また、LinuCという新しい資格試験も開始されたということで、

その違いについても書いていきます。

 

LPICを受験したきっかけ

DeepLearningなどの(とてもとても)重たい処理をするのに、

Linuxは必要不可欠だと感じたからです。

 

 

実際の数値を記録していなかったので、なんとも言えませんが、

体感で5倍以上性能が違いました。

自宅で使用しているPCでは、30時間以上かかったDeepLearningの処理が、

6,7時間程度(←うろ覚えです)になった気がします。

Amazon様のAWSを利用しました。

 

おそらく、もっともっと重たい処理をさせれば、

性能の差は歴然となったことでしょう。

 

Linux(サーバ)での処理は、基本的にコマンドで行いますが、

このときすらすらと書くことができると、作業がスムーズに進みます。

 

ひとつひとつリファレンスを引いていると、とても時間がかかってしまいます

 

AIエンジニア、機械学習エンジニアの募集要項で、Linuxの作業能力を項目として取り上げている企業様は多くいらっしゃると思います。それだけLinuxが必要とされているということだと思います。

 

以上が1番の理由ですが、

そのほかにも現在のお仕事(保守運用業務)でサーバに関する知識が欲しい、

と思ったことも理由のひとつです。

 

前置きが長くなってしまいました。。

それではLPICについて解説していきます。

 

LPIC とは、どんな試験なのか LinuCとの違いとは

LPICとは、Linux Professional Institute (LPI) によって運営されているLinux技術者の技術者認定資格の名称(LPIC - Wikipedia より引用) のことです。

 

Level1~3までの階級が用意されており、Level1から順に取得する必要があります。

Level1には101,102という2つの試験があり、それぞれに合格する必要があります

Level2も同様です。Level3は専門的な分野から1つ選択して受験することになります。

 

配点などは公表されていませんが、約65%以上の正解率で合格するといわれています。

1回の受験料が15000円と少々高めなので、一発合格を狙いたいところです。

 

 

LPICは世界各国で実施されているということもあり、Linuxの資格として広く認められています。

対してLinuCは、LPI-JAPANが運営する2018年から開始されたLinux技術者認定試験です。

日本や周辺国の市場によりマッチした問題を出題するとされています。

現在(2018年10月)では、LPICと問題は変わりありませんが、

翌年(2019年)から、少しずつオリジナルの問題を取り入れていくとされています。

 

どちらを受験するかはご自身の仕事の方向性(海外の可能性など)を考慮して選択する必要があるといえるでしょう。 

 

余談になりますが、LPI(Linux Professional Institute)とLPI-JAPANは別組織です。

LPI日本支部という組織があり、LPIC関連の発信はこちらから行われるようです。

LPI日本支部twitterでも情報発信しているそうなので、載せておきます。

twitter.com

 

どちらの資格が浸透していくかについては、見守っていくことにしましょう。

 

受験対策

受験対策期間は2ヶ月で、101,102の試験にそれぞれ1ヶ月ほどかけました。

使用した参考書は以下のとおりです。

 

中島能和『1週間でLPICの基礎が学べる本』インプレス 2014年1月

f:id:Cardinal_Moon:20181004221857p:plain

 

題名のとおり、これを1週間でやっつけました。

次に紹介する豆本が最初だと、頭に入っていかない人が多いと思います。

Linux初心者の方は、この本から入るのがお勧めです

 


中島能和『Linux教科書 LPICレベル1 Version4.0対応』翔泳社 2015年6月

f:id:Cardinal_Moon:20181004222528p:plain

 

ご存知の方も多いと思いますが、定番の豆本です。

名前のとおり、小豆色です。

 

基礎を事細かに紹介していて、練習問題もついていて学習しやすいです。

実際にコマンドを打ちながら勉強していました。

101,102分野にそれぞれ2週間ずつかけて2~3回読み直しました。

 

1週間前に模試をやってみて、合格点が取れた次の週に実際の試験を受けるようにしました。

 


有限会社ナレッジデザイン , 大竹 龍史 , 山本 道子 『Linux教科書 LPICレベル1 スピードマスター問題集』翔泳社 2013年2月

f:id:Cardinal_Moon:20181004223232p:plain

 

豆本が一通り終わったら、こちらで問題演習を繰り返しました。

最低でも5回はやり直しました。

結構難しい問題もあります。最初は答えだけ見て覚えるという感じでした。

 

結果は、、、

101試験 : 700点 / 800点

102試験 : 680点 / 800点

 

※500点で合格点です。

 

(2ヶ月かけたので、、)結構余裕がありました。

 2週間程度で取っている方もいらっしゃいますが、しっかり身に付けるには2ヶ月程度時間を取った方がよいと思います

 

認定書が送られてくるまでに1ヶ月少々時間がかかると思いますが、

PDFは1~2日で届くと思います。

 

やっと試験から開放されたので、 

次はLPIC LEVEL2!!

人工知能を哲学する - 序章

f:id:Cardinal_Moon:20180901085838j:plain

 

世間で何かと話題にされている「AI(Artificial Intelligence):人工知能」ですが、

現在正確な定義は存在していません。

 

Wikipediaを見てみると、次のように書かれています。

 

人工知能(じんこうちのう、英: artificial intelligence、AI)とは、「「計算(computation)」という概念と「コンピュータ(computer)」という道具を用いて「知能」を研究する計算機科学(computer science)の一分野」を指す語。

「言語の理解や推論、問題解決などの知的行動を人間に代わってコンピューターに行わせる技術」、または、「計算機(コンピュータ)による知的な情報処理システムの設計や実現に関する研究分野」ともされる。 

人工知能 - Wikipedia  より引用(2018/9/1 参照)

 

では人工知能とはどのようなものをさすのでしょうか。

 

現在人によってその境界線が様々で、

エアコンが人を検知して的確な空調機能を提供することをAIのおかげだとする人もいれば、

Alexa(Amazonが発売しているAIスピーカー)であっても、AIとはいえないという人もいるでしょう。

 

「AI家電」とも言われるように、AIという言葉はなんにでもつけられます。

iPhoneを使用されている方なら、Siriのことを思い浮かべたかもしれません。

 

将棋や囲碁が好きな人は、最近人間より強くなった、

AIソフトのことを考えているかもしれません。

 

 

 

人工知能が持つべき特性・性質とはなんなのでしょうか。

・言葉を理解すること?

・人間の代わりになってくれるもの?

・人間と同様に振舞うこと?

・自分で判断をするシステムのこと?

・では人間との違いとは?

・友人や家族として認められる?

・ペットのようなもの?

 

このような問題について自分なりに検討していけたらと思っています。 

 

また人工知能が人間の知性を超越し、現在の生活に大きな影響を与えるであろう

転換点をシンギュラリティ呼びます。

 

それほど人工知能は発達するのでしょうか。

人間を超越した存在になるのでしょうか。

 

加えて倫理的に そのようなもの

(人間のクローン(デジタルクローンと呼ばれます)となるようなものや、

人間の能力を超えた知能、つまりは人間を支配するような人工知能

を生み出してよいのでしょうか。

 

疑問は深まるばかりですが、

続きはこれからということで、、、

 

Python入門の道標 - そもそもPythonとはどんな言語なのか

f:id:Cardinal_Moon:20200912175422p:plain

 

今回はPython入門者の方向けの記事になります。

私も昨年から少しずつ勉強を始めたので、どこまで詳しく書けるか分かりませんが、

備忘録も兼ねて少しずつ記事にしていけたらと思います。

 

今回のテーマは、「そもそもPythonとはどんな言語なのか」です。

 

Pythonの歴史

意外にもPythonの歴史は古く、

1989年にオランダ人のグイド・ヴァンロッサム(Guido van Rossum) 氏が

開発に着手した言語です(1991年に初期バージョン公開)。

↓ 彼のHPです。

Guido's Personal Home Page

 

グイド氏は、国立情報工学・数学研究所 (CWI)という機関で働いていました。

仕事では、CWIで開発された「ABC」という命令型汎用言語を使用していましたが、

この言語使用に疑問を抱き、不満を解消できる言語を自作しようと考えました。

そしてクリスマス休暇を利用して開発を始めます。

Pythonの始まりでした。

  

そしてPythonは、Amoeba("アミーバ"と読みます)という分散OS

システム管理に活用され、成功を収めます。

 

彼の熱意と技術力の賜物です。

 

それからPythonは USENET(”ユーズネット”:ネット上の複数のサーバを使用して

主にテキストデータを配布するシステム)へと投稿され、多くの支持を集めて

コミュニティを形成しながら成長していきました。

 

現在でもコミュニティ活動は活発に行われており、

日本でもPyConなどのイベントが開催されています。

 

 

ここから余談、、、

 

Pythonという名前の由来は、「Monty Python's Flying Circus」

(モンティ・パイソンの空飛ぶサーカス)という番組に由来しています。

Monty Pythonは英国のコメディグループで、

英国BCCで1970年代に放送されていました。

 

グイド氏は短くて、ユニークで、ミステリアスな名前にしたいと考え、

同時期に番組の台本集を読んでいたこともあって、

Pythonという名称を選択したそうです。

 

ちなみに「Python」という言葉自体には「ニシキヘビ」という意味があり、

参考書の表紙に蛇が描かれているのはこのためだと思われます。

 

 

※参考(中久喜健司『科学時術計算のためのPython入門』技術評論社、2016) 

 

Pythonの今

Pythonは今アツい言語だと思います。

カバーしている領域は広く、科学技術計算全般をカバーしています。

NumPyやSciPyといったライブラリが有名です。

 

もちろん、Webアプリやデスクトップアプリ開発も行うことができます。

Web開発ではDjangoや Bottle、Flask といったライブラリが有名です。

 

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

皆さんご存知の、YouTubePythonで作られているそうです。

またGoogleの3大言語(C++javaPython)としても知られています。

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

 

そして何と言っても、人工知能関連技術のDeepLearing自然言語処理

といった技術も簡単にコードにすることができます。

 

その扱いやすさから、プログラミング初心者が最初に扱う言語としても

人気が高まってきています。

 

 

エンジニアの視点から見るとどうでしょう。

 

近年(2018年現在)発表されているプログラミング言語別年収ランキングでも、

常に上位に位置している印象です。

特に日本では、Pythonを扱えるエンジニア数が少ないことも、

年収を押し上げている要因と考えられます。 

 

 

実際の案件の割合は日本全体の1%にも満たないでしょうが、

仕事を見つけることができれば、高価格帯の収入を得ることが可能です。

 

Python講座やセミナーの数も増加し、

参入するなら今がお勧めの状況です。 

 

Pythonを勉強する方へ

少しはPythonという言語について知っていただけたでしょうか。

最近(2018年になってから)はPythonの参考書の数も増えてきたように思います。

 

私が最初に取り組んだのはこれです。

大重 美幸『詳細! Python 3 入門ノート 』ソーテック社、2017

 

分かりやすく、入門編にふさわしい内容でした。

 

注意していただきたいのは、Pythonは更新頻度が非常に高く、

参考書で紹介されているコードが現環境で動作しないこと(エラーになること)があります。

 

発行年数をチェックするなどして、最新の参考書を入手することをお勧めします。

 

なんだかんだ言ってきましたが、

みんなでPythonやろう!!

 

参考

中久喜健司『科学時術計算のためのPython入門』技術評論社、2016

 

大重 美幸『詳細! Python 3 入門ノート 』ソーテック社、2017