【エンジニアにしつもん】JavaScriptでサメを守る!Ryojiさん

→約 < 1 分で読めるよ〜

環境保護 × ITで海洋環境の保護を加速的に支援していく」ことが目標、

そう話すのは、エンジニアの卵・Ryoji さん。

サメが大好きな学生さんです。

海の生物たちを守りたいという熱が、プログラミングを学ぶちからになっています。

Ryoji さんとは?

Ryoji さんは、エンジニアの卵です。

現在はJavaScriptを勉強中!

サメ研究中の学生さんですよ。

質問

プログラミングを始めたのはいつ?きっかけは?

実は、大学3年の夏休み前に少しprogateかじっていました。

ただ、HTML5、CSS3、PHPあたりをやっていくうちにただ写経してるだけで成長してるって感覚がないのが嫌になって

2週間くらいで飽きたんですよね。

その後、今年の5月ごろにえあさんのTweetで紹介されてた

「自動で功徳を積めるオート写経」のプログラムの記事を読んで

「僕もやってみたいっ」

って思ったのが本気でプログラミングを学習しだしたきっかけでした。

(↓このツイートですね)

https://twitter.com/air1p1/status/1130991256216121345

参考:「写経」を自動化し、オートで功徳を積める仕組みを作ってみたのでございます。 – Qiita 

このおもしろいプログラムを開発したyouwht氏に感謝!

勉強中はJavaScript?

はい。今はfreeCodeCampにてJavaScripを勉強中です。

ちょうどアルゴリズムのカリキュラムにめちゃくちゃ苦しみながら取り組んでいます。

ただ、いきなりfreeCodeCampでJavaScriptから始めているわけではないです。

その前はドットインストールでやはりHTML5とCSS3とJavaScript、

PHPあたりの基礎をサラッとやっていました。

ただ、

「やっぱり写してるだけってやんなっちゃう。なんか書いてみよっか」

と思っても、全く書くことができず、同じようにもう一周しても全く書くことができませんでした。

加えて、

「問題が欲しい。そう、あの頃の青チャートのような苦しみながら進めれるやつが!」

と思い、

「プログラミングスクールしかないかな。。。でもお金ないし。。。

このままドットインストールか、今はバイトに専念して、学習はほどほどにするか。。。」

とあきらめかけていたところ、freeCodeCampに出会って、

今は理想的な苦しみながら進めるスタイルを手に入れたという次第です。

参照:フルスタックなWeb開発が無料で学べるFreeCodeCamp – Qiita

freeCodeCamp!英語の勉強にもなりそうですね。

「サメの論文」気になるのですが、どんなこと書くの?

僕の興味としては、総括的にはサメが生態系において果たす役割を知りたいというものがあります。

そのうえで僕はサメの捕食様式と行動に関する研究を行いたいと思っています。

今大学ではイヌザメの卵を飼育しています。

実験を行うのは孵化してからの話になるのですが、卵の観察もかなり面白いですよ。

僕は小さい頃からいろいろな生き物を飼育してきたのですが、サメは初めてなので非常に刺激的です。

サメの卵・・・見たことない世界です。

一般的にサメは卵胎生です。

お腹の中で卵を孵化させ、赤ちゃんになってから産まれます。

対して、イヌザメなどテンジクザメ科のサメやトラザメ、ネコザメなど一部のサメは卵を産みます。

形は様々ですが多くの種の卵は海藻やサンゴ礁のベッドに優しく守られて孵化します。

この時、我々ヒトの場合、赤ちゃんは羊水の中で育ちます。

しかし、サメの卵の中身は、羊水ではなく海水です。

実は目に見えないくらいの小さな孔が開いており、赤ちゃんサメは生まれる前から海水を泳いでいます。

卵はいわば保護ケースのような役割をしています。

付け加えると、海水と羊水の性質は非常に似ています。

僕らの祖先が“母なる海”から進化してきた証明かもしれませんね。

卵の中は海水なのか・・・スパルタ!

卵の中身のサメちゃんですが、さすがは軟骨魚類とも呼べる特徴があります。

それは、卵を裏返すと、卵の中で回転運動ができることです。

卵の大きさは10cmあるかないかくらいで、

光を当てるとサメの赤ちゃんは尾鰭を丸めているのです。

それにも関わらずこのような動きは硬骨を手に入れた動物では絶対にできないでしょう。

そもそもの疑問ですが、

なぜ現代においても軟骨魚類が生存できているのかかなり疑問なのです。

サメの一番の特徴でもある血液に尿素を含んで体液調節を行うという仕組みは

現代に生きる魚はサメを含む板鰓類のほかに古代魚で有名なシーラカンスくらいです。

のどが渇いたときに海水を飲んではいけない話は聞いたことがあるでしょうか。

え、のどが渇いても海水飲んじゃダメなの?

これは、海水が体液よりも高張液であるために体内の水分が海水を薄めようとして奪われるからです。

海水魚も淡水魚も実は体液濃度はそう変わりありません。

なので、海水魚もこの問題に晒されています。

しかし、これを解決するのが腎臓や消化管の塩類細胞です。

海水魚は、塩類細胞を通して塩分を排出します。

しかし、サメなどは体内に尿素を備えて海水よりも高張液気味にしておくことで脱水を防いでいます。

このような不思議な形態であるにもかかわらずサメは今日まで生き続けてきました。

しかし、そんなサメたちも現在絶滅の危機が心配されています。

参照:サメ17種が絶滅の危機、珍味として乱獲される種も レッドリスト最新版 写真1枚 国際ニュース:AFPBB News 

サメが絶滅危惧種って知らなかった〜。

問題の多くは、海洋の環境変化です。

環境の変化による感覚器官の情報変化はすさまじいです。

例えば、現在汚水や淡水などが大量に流入したり、

温暖化でサンゴが白化(==死)したりといろいろな問題で海水のpHが下がってきています。

pHの低下はこれまたサンゴの白化を招くだけでなく、魚類の嗅覚を混乱させます。

実際にサウスフロリダ大学の研究チームがサメで実験して捕食様式の変化、

捕食の失敗率の増加といった研究結果を報告しています。

同じような実験は硬骨魚類でも確認されていますが、

硬骨魚類は捕食の方法を変化させられる捕食可塑性を備えるため、

環境変化を克服できるかもしれないことが示唆されています。

しかし、板鰓類では骨格的に不可能なようです。

サメは海洋の食物ピラミッドの上位に位置しています。

もし、サメが地球からいなくなるとそれにつられて絶滅する種類も現れるでしょう。

もしかすると、僕ら人間も怪しいかもしれません。

Ryoji 先生の授業、興味深いです!

今後の目標は?

ちょっと面白いプログラムの他に

もっといろんな人に海洋生物に興味を持ってもらえるようなゲームや、

水族館で使うととより楽しくなるようなサービスっぽいもの、

好きな言葉とか名言とかを自由に投稿できるサービスを作ることを目標に勉強中です!

後々は「環境保護 × ITで海洋環境の保護を加速的に支援していく」ことを使命としています。

これの問題は軍資金がネックであることです。。。。。

それともう一つ、かなり個人的な話ですが、僕の彼女は中国人女性です。

今すぐにでも会いに行きたいです。

しかし、たとえこのまま会いにいっても、お金を稼ぐ手段がないならすぐにまた離れ離れになってしまいます。

それがたまらなく嫌なんです。

なので、エンジニアならプログラミング言語は世界共通だし、

リモートワークなら日本にいなくても仕事ができるんじゃないかっていう甘い考えがもとで勉強してるって面もあります。

なのでもう一つの目標は「世界中どこにいても働けるようになる」ってことがあります。

これなら彼女とも一緒に過ごせて海洋環境の保全活動もできるかもしれません。

場所さえ限られなければ、

週6一日8時間とかでも仕事する時があるかもしれない覚悟は決めています!

目標がしっかりしていますね。

エンジニア(特に駆け出し)に、何か伝えたいことはありますか?

僕は、スクールを使うか迷ったのですが、freeCodeCampでとりあえず学ぶことにしました。

どうしてもTwitterで他の駆け出しエンジニアの方を見ると、

「やっぱりスクール通わないとダメかな。」

って不安になってプログラミングの勉強を後回しにしてしまうと思います。

僕も正直不安ですし、余裕ができたらウェブカツ入部したいなって思ってます。

しかし、だからと言ってプログラミングを後回しにする理由にはならないと思うんです。

遠方で地方で金欠なためにエンジニアインターンとか参加できていないで本当の実務は知らないので偉そうなことは言いにくいのですが、

つよつよエンジニアな方って学習のはじめは独学だったり自分でなにかしらやってみたって方が多いと思うんです。

だから、スクールに通わないとできないみたいな他人任せだとただいいお客さんで終わるんじゃないかって震えます。

プログラミングの学習を始める動機はいろいろあると思います。

サービスを作りたい、楽して稼ぎたい、いろいろだと思います。

サービスを作りたいのにサービスに使われて消耗するのってなんだか馬鹿らしくないですか?

僕もまだ初めて2か月くらいで正直わからないことだらけですが

それでも自分で進めてみることで明確になってきた部分も多いです。

たとえば、

“プログラミングを学んで結局自分が何をしたいのか。

とかですね。

それにプログラミング“言語”といっても語学のように3歳で母国語が決まるわけないじゃないですか。世界中探しても生後一年以内にしゃべった初めての言葉が

「ママ」とか「パパ」じゃなくて、

「 ‘use strict’

function FirstLangage(){

var word =[“ママ”,”パパ”];

//0か1をランダムに表示

var result = Math.floor(Math.random() * word.length)

document.write(word[result]);

}

FirstLangage()」

※JavaScript

が第一声な赤ちゃんいるわけないじゃないですか。

だから、いつ始めても絶対できるようになると思います。

僕と一緒に頑張っていきましょう!!

最初は誰もが赤ちゃん言葉から始まるもんね。

アカウント情報

Twitter

ブログ おすすめ→「お金がない!それでもプログラミングを学びたい!初心者の僕がとっている勉強戦略!! | URoblog

まとめ

Ryoji さん、ありがとうございました。

サメへの愛が止まらない(*´∀`*)

「プログラミングを通して何をしたいのか?」という目標がしっかりしていれば、

迷うこと無く進めるんですね。

応援しています!

ここでしか読めない!話題のやめ太郎さんへの質問

Qiitaに投稿する度、話題になる!
やめ太郎さんが、面白おかしく記事を書けるのは
前職がコールセンターだったから??
Twitterも要チェック☆

ほかにも50名以上のお話が読めるのは、このブログだけ!