Re:ゼロから始める文系プログラマ

未経験がプログラミングを通して人生を変える

【解説】プログラミング言語「JavaScript」

f:id:ShotaNukumizu_1000:20210612090942p:plain

おはようございます。Shotaです。

今日は数多くあるプログラミング言語の中で鉄板中の鉄板である「JavaScript」について簡単に解説していきます。

【目次】

JavaScriptとは

JavaScriptWebブラウザで動くプログラミング言語の一つです。Webページは一般的にHTMLが使われていますが、それだけでは文章や画像をそのまま表示されるだけで見やすいWebページが作れません。

JavaScriptを使えば、ブラウザ上で画像を拡縮したり、動画を再生したりするなど動的なコンテンツを実装することができます。

JavaScriptのメリット・デメリット

メリット

初心者でも学習しやすい

JavaScriptのプログラム構文は非常にシンプルです。そのため、プログラミング初心者でも簡単に理解することができます。

フレームワークやライブラリが充実

JavaScriptにはフレームワークやライブラリが充実しています。これらを活用することによって実装の時間を短縮できますので、効率よく開発を進められます。

フロントエンド開発・バックエンド開発両方とも対応

JavaScriptはフロントエンド・バックエンド両方にも対応しています。そのため一括して開発ができるので管理しやすいというメリットもあります。

OSに依存しない

JavaScriptはHTMLファイル上にscriptタグを付けるだけで実装できます。言語が動作するための環境開発が不要なのは一番のメリットです。

デメリット

処理速度が他の言語よりも遅い

JavaScriptは他の言語に比べて処理速度が遅いです。

ブラウザによって挙動が異なる

JavaScriptはブラウザ上で動作する言語なので、ブラウザの種類やバージョンによって挙動が異なります。異なるブラウザでも同じように動作させるためには、それぞれの環境でテスト行う必要があります。

JavaScriptでできること

f:id:ShotaNukumizu_1000:20210612093455p:plain

JavaScriptを使えば実現できることを6つ列挙します。

* ブラウザに表示された画面に動きを与えられる
* サーバと通信して情報を送受信できる
* Webページ上に複雑なアプリケーションを作れる
* スマホアプリを開発できる
* サーバサイトで動くアプリを開発できる
* スプレッドシートで業務効率化を図れる

(引用元:日本最大級のフリーランスメディア「Workship」)

自作のWebアプリを開発したい人、ブログやホームページのデザインや画面操作を実装したい人にとって、JavaScriptは最適のプログラミング言語だと言えるでしょう。

まとめ

JavaScriptは高度なWebアプリ開発、更にサーバサイドのシステムまで幅広い場面でJavaScriptは活躍しています。

JavaScriptは学習コストが非常に低く、勉強しやすいプログラミング言語なのでこれからプログラミング学習を始める人にもおすすめです。

【参考サイト】

mynavi-agent.jp

goworkship.com

【画像引用】

storyset.com

【毎週日曜投稿】本の要約・考察第11回 ~『News Diet』~

f:id:ShotaNukumizu_1000:20210612075434p:plain

おはようございます。Shotaです。今日は日曜日なので、本の要約・考察を書いていきます。今日紹介する本はロルフ・ドベリさんが書かれた『News Diet』です。

今回の記事では、紹介する本の要約を手短に説明した後に考察を軽く解説していこうと思います。

【目次】

本の要点

ニュースは自分の影響力の外側にある

伝説の投資家であるウォーレン・バフェットは「能力の輪」という素晴らしい概念を使って次のように説明しています。

人は、「能力の輪」の内側にあるものには習熟できるが輪の外側にあるものは理解できないか、ほんの一部しか理解できない。


バフェットは自分の「能力の輪」の境界を明確にすることを彼の人生訓にしています。「能力の輪」は、言い換えれば自身の影響力がある範囲と言ってもいいでしょう。自分の「能力の輪」に一貫してピントを合わせていれば、時間を大幅に節約できます。「能力の輪」の境界が明確になっていれば、注意を向けるべきものとそうではないものをその都度見極めなくて済むようになる。

同じことはメディアが発信する情報の選別にも大いに当てはまります。自分の能力の輪を知ることで、価値のある情報源と価値のない情報源を切り離す道具やメスが手に入ります。

言い換えれば、「能力の輪」の中にある情報がどれも価値がある一方で、「能力の輪」の外側にある情報はすべて無視しても構わないということになります。「能力の輪」の外側にある情報を消費するのは時間の無駄になるだけではなく、あなたの集中力を下げる原因に繋がります。

ニュースの情報は大半の人にとって「能力の輪」の外側にあります。

ニュースは「時間の無駄」

ニュースを消費することは時間の浪費に繋がります。著者は以下の3つの観点で「時間の無駄」ということを主張しております。

  • ニュースの消費そのものに時間がかかる点
  • ニュースによってそれた注意をもとに戻すには時間がかかる点
  • ニュースを消費した後、注意力がかなり下がってしまう点

著者は時間の余裕を生み出す上でいちばん重要なことは、「ニュースを消費することをやめること」だと結論づけています。


本の考察

情報がネット上で無数ある社会で生きるために必要な考え――「自分がコントロールできることや大事なことを明確にする」

今日紹介した本である『News Diet』のサブタイトルは「情報があふれる世界でよりよく生きる方法」です。

今はインターネット上で誰もが簡単に情報にアクセスできる時代です。その中には、私たちにとってどうでもいい情報が必ずあります。自分にとってどうでもいい情報を見抜くためには、まずは自分のコントロールできることや自分にとって大事なことを明確にする必要があります。そうすることで、「どうでもいい情報」の誘惑を絶つことができます。

私の場合は、Pythonや自分が読んだ本に関するブログは精読しますが、それ以外の情報は頭に入れないことを徹底しています。なぜならPythonが私の今後の人生においていちばん重要な物事だから。

「ニュース」を見ないようにする環境作り

今日紹介した本の具体的なアクションプランとして書かれている「ニュースを絶つこと」に必要なことは、「ニュースが自分の視野に入らない仕組みをつくること」です。まずは、あなたがいつも使うパソコンやスマホを「ニュースが見れない」仕組みにすることが大事です。

私の場合はブラウザの最初のページを「ウィキペディア」にしています。そうすることで、どうでもいいニュースの情報を強制的にシャットダウンしています。

何でもいいので、まずは「自分の視界からニュースをなくす仕組み」をつくることから始めてみてはどうでしょうか。


まとめ

【本日のまとめ】

《本の要点》

  • ニュースは自分の影響力の外側にある。「能力の輪」を明確にすることで、どうでもいいニュースの情報をシャットアウトできる。
  • ニュースを消費することそのものが時間の無駄である。

《考察》

  • 情報がネット上で無数ある社会にするためには、自分でコントロールできることや大事なことを明確にすること
  • 「ニュースを絶つ」ために最初にすることは「ニュースを見ることができない仕組み」をつくること

【参考書籍】

www.amazon.co.jp

【解説】プログラミング言語「Java」

f:id:ShotaNukumizu_1000:20210612070402p:plain

おはようございます。Shotaです。

今日はプログラミング言語の一つである「Java」について軽く解説していきます。これからJavaを勉強しようと考えている人は是非参考にしてみてください。

【目次】

Java」って何?

Javaプログラミング言語の中でも特に人気な言語の一つで、需要も高いです。習得したい言語として1位を獲得するほどに実績のある言語です。人気がここまで高い理由は次の通りです。

  • Javaは多くの環境で使われていること
  • 汎用的でOSに依存しないこと

OSに依存しないのは重要で、作ったソフトが動く環境を考えるのはプログラマーにとって大変な問題になります。JavaはmacOCやWindowsにも関係なく安定して動作する言語です。OSの問題を考える必要がなくなるので、人気が高いと言えるでしょう。

Javaのメリット・デメリット

メリット

処理速度が速い

数あるプログラミング言語の中でも、Javaの実行速度はかなり速いです。

オブジェクト指向である

実際の開発をモデル化してプログラムを作りやすく、カプセル化などの技術によりセキュリティコントロールも簡単にできます。

ライブラリが豊富

Javaには豊富なライブラリがありますので、システム開発を効率よく進められることができます。

デメリット

学習コストが高い

Javaは高いセキュリティを確保したり、安定して作動したりすることができますが、学習コストが他の言語に比べて高いです。

小規模のシステム開発に向いていない

個人で作るプログラムや小規模のシステム開発ではJavaは使えません。

個人で案件を獲得するためには、PHPJavaScriptというようなプログラミング言語をおすすめします。

Javaができること

Javaができることは主に次の4つです。

人気のクラフトゲーム『Minecraft』、SNSサービスの一つである「Twitter」はJavaで開発されています。

まとめ

【本日のまとめ】

  • Javaプログラミング言語の中でも特に人気な言語の一つで、需要も高い。
  • Javaは実行速度が速く、かつライブラリも豊富でシステム開発に向いている。しかし、小規模の開発には向いていない。
  • Javaは他の言語と比べて学習コストが高め。
  • Javaはアプリ・システム開発、ゲームやWebサイトの設計に向いている。「Minecraft」や「Twitter」はJavaで開発されているサービスの一つ。

【参考サイト】

www.sejuku.net

www.sejuku.net

techacademy.jp

【注意】身近にいる関わってはいけない人TOP3

f:id:ShotaNukumizu_1000:20210611060355p:plain

おはようございます。Shotaです。

今日はいつもと嗜好を変えて、人間関係について話をします。今日話すことは、「身近にいる関わってはいけない人TOP3」です。このトピックを取り上げた理由は、人間関係は私たちにとって大事にするべきことの一つだと考えているからです。それだけではありません。私たちの悩みの原因の大半は人間関係にあるからです。これを逆に言えば、人間関係を改善すれば私たちの悩みを少しでも軽減してくれることを意味します。本日の記事は私が考える、「身近にいる関わってはいけない人」をランキング形式にまとめました。

本日の記事が、人間関係を改善するきっかけになってもらえたら幸いです。

【目次】

第3位:求められていない人に対してアドバイスする人

こっちは求めていないにもかかわらず、何故か積極的にアドバイスをする人がいます。このタイプの人は、自分より年上の先輩に結構多いです。それだけではありません。その殆どが悪気なく無自覚にやってしまっています。

本当にあなたの立場になって考えている人は、あなたの価値観を尊重している人です。求められていないアドバイスをしてくる人は、結局自分の価値観を他人に強要しているに過ぎません。ガンガン自分の話をしてくる人は、結局あなたのことはなんにも考えておらず、ただ単にマウントが取りたいだけです。

特にこの言葉には要注意です。

「あなたのために言っている」

求められていないアドバイスでマウントを取ってくる人は関わらないようにしておきましょう。

第2位:愚痴を言う人

本ブログにおける愚痴は、「自分は何も行動せずに特定の人や組織への不満を見えないところで言うこと」と定義します。愚痴を言うのは、最も手っ取り早く自分の承認浴を満たせる手段です。

例えば、あなたがある人に理不尽な理由で注意を受けたとしましょう。そしたら、自分の能力や人格を否定されたような気分になります。でも、自分からその人に意見を言うのは勇気が必要です。そこで、最も話しやすい人に「私は悪くない、悪いのはあの人だ」という愚痴をこぼします。

愚痴を言う人の周りには、その人の愚痴に対して「うんうん、そうだね」と肯定的な態度でその人の愚痴を聞く人が多いです。もしあなたの周りに愚痴を言っている人がいれば、聞き役に絶対にならないようにしてください。万が一愚痴を聞いてしまった場合は、「そのように考えているんですね~これからどうしようと考えていますか?」とこれからの行動を質問するようにしましょう。

ちなみに私の場合は、自分がいるコミュニティの中で愚痴を言った人はすぐに排除します。

第1位:暴力的な態度を取る人(キレる人)

感情をコントロールできない人は今後の人生において絶対に関わってはいけません。

もちろん人間なんで、嫌なことがあったら自分の感情が動いてしまうのはよくわかります。ところが、問題なのは「キレる」ことです。ぶちぎれて怒鳴ったりやつあたりする人は、暴力で相手を威圧しようとしています。キレる人はそもそもコミュニケーションが成立しません。

すぐに相手に対してキレる人は相手のことを一切考えていません。もはや「相手を力で屈服させること」が目的となっています。

暴力は最もレベルの低いコミュニケーションの手段です。

今あなたの関わっている人にこのような人がいるなら、絶対に縁を切ることを強く強くおすすめします。もしこのような人と出会ってしまったらすぐにその人からは離れるようにしてください。

まとめ

【本日のまとめ】

本日の記事では、身近に関わっていけない人TOP3を発表しました。

  • 3位:求められていないアドバイスをする人
  • 2位:愚痴を言う人
  • 1位:キレる人

本日の記事で紹介したタイプの人は、今後の人生で関わらないようにしましょう。

自分の人生は自分の選択でいくらでも改善できます。

RubyとPythonの徹底比較

f:id:ShotaNukumizu_1000:20210603061116p:plain

世界で人気のプログラミング言語の中に、「Ruby」と「Python」があります。両者とも人気・需要の高い言語ですが、今からプログラミング言語を勉強しようと思っている方の中には

どちらを勉強したらいいかわからない

言語にどのような特色があるのかわからない

という方もいらっしゃると思います。

そこで本日の記事は、RubyPythonを両方とも徹底比較して、読者であるあなたの目的からRubyPythonのどちらを身に着けたほうがいいかがわかる記事を書きました。

今回の記事をプログラミング言語選びの参考にしてもらえたら幸いです。

【目次】

RubyPythonそれぞれの特徴と得意分野

Ruby

Rubyは日本人であるまつもとゆきひろ氏によって開発された、習得を簡単にするために工夫されたプログラミング言語です。日本人によって開発されたので、日本語での解説が多く理解しやすい言語です。

とても汎用性が高く、以下の通り様々なものを作れます。

  • Webサイト制作
  • ショッピングサイト制作
  • SNS開発
  • Webアプリケーション開発
  • スマホアプリ開発
  • チャットボットの開発
  • AIの開発

数多くある言語の中でもWebアプリケーション開発に一番向いており、クックパッド食べログなどのたくさんの有名サービスがこれまでRubyを使って開発されてきました。

Python

Pythonはオランダ人のグイド・ヴァン・ロッサム氏によって開発されたプログラミング言語です。今世界で人気と需要両方とも高まっている言語です。

Python機械学習人工知能のイメージがめちゃくちゃ強いですが、Pythonは汎用プログラミング言語なので様々なものを作れます。

  • Webアプリケーション
  • デスクトップアプリケーション
  • ゲーム開発
  • 機械学習

以上のようなサービスをPythonで作ることができます。YouTubeInstagramなどの人気サービスもPythonで開発されています。

それだけではありません。文法がシンプルで書きやすいため初心者でも学びやすいことも人気急上昇の理由の一つになっています。

RubyPython、どっち?

プログラミングは言語によってできることが全く違います。そのため、あなたの目的に合った言語を選ぶことが非常に大事です、

様々な角度から比較してみて、目的に沿った言語を選びましょう。RubyPythonどちらを学ぶべきなのか簡潔にまとめていきます。

Rubyを学ぶべき人

Webアプリや、プログラミングの全体像をまずは理解したい人はRubyから学習に入るのがおすすめです。

理由はたくさんありますが、一つとして考えられるのは日本語の説明がPythonと比較して豊富であるということです。「なんとなくPythonが人気高いから」などという曖昧な理由でPythonを学ぼうとしている人はRubyから学んだほうがいいと思います。(PythonでもWebアプリを開発できますけどね。ちなみに管理人は「Pythonのほうが楽しい」という安直な理由でPythonから始めました。)

Pythonを学ぶべき人

Pythonを学ぶべき人は、機械学習に興味がある、あるいはデータ分析をしてみたいなどの明確な目的を持った人です。

人気は急上昇していますし、今後の需要が伸びていくのは間違いないのですが、それだけで選んで興味のないものを開発するのは困難だと思います。

明確なビジョンを持っていない人はまずはRubyから学んで全体像を掴み、Pythonの求人がもっと初心者にも流れやすくなってきたタイミングでPythonの学習を始めてみてもいいと考えます。

まとめ

【本日のまとめ】

  • Rubyは日本人が開発したプログラミング言語なので、日本語での解説が多く学びやすい。Webアプリケーション開発に向いている。

  • Pythonはオランダ人が開発したプログラミング言語である。そのため、日本語での解説はRubyと比べて少ない。しかし、文法がシンプルで学びやすいことから世界中で人気を集めている。機械学習に強い。

  • Pythonで実現したいことがあるならPythonを勉強しよう。機械学習を勉強するならPython一択。しかし、何も目的がなければRubyを勉強しよう。

今回の記事ではRubyPythonを目的別に比較してみました。日本ではPythonよりもRubyを採用している企業の方が多いようです。(Pythonしか勉強したことない管理人にとってはある意味残酷な真実

ところが、機械学習を極めたい人はPythonを勉強したほうがいいと思います。

結論、どちらも勉強しておいて損ではない言語と言えるので、これを気にどちらかの言語を勉強してみてはいかがでしょうか?

【参考サイト】

www.sejuku.net