java.lang.Objectクラスについて

◆全てのクラスの祖先である java.lang.Objectクラス

あるクラスを定義する際にextendsで親クラスを継承していない場合、全てのクラスはjava.lang.Objectクラスを親クラスとして継承したとみなされる。

 

 

java.lang.Objectクラスに定義されているメソッド

① equals()   //あるインスタンスと自分自身とが同じかを調べる

※等値と等価の違い

等値 (a == b)   とは、完全に同一の存在。

a = 25;

b = a;

この場合、a==b

 

等価 ( a.equals(b) ) とは、同じ内容である事。

String a = "a";

String b = "a";

この場合、a != b だが  a.equals(b)

但し、等価を正しく判断させるには、何をもって同じ内容であるかをオーバーライドして定義しなければならない。

 

② toString() //自分自身の内容の文字列表現を返す

※実際に文字列として表示させたい場合は、そのクラス内でtoString()メソッドを意図する形で出力するようにオーバーライドする必要がある。

フィールドの情報をまとめてオーバーライドしておけば、toString()でまとめてその情報を呼び出す事ができる。

 

 

◆Objectクラスが存在するメリット 

①全てのクラスの親なので、多態性を用いて全てのインスタンスをザックリまとめる事が出来る

②クラスの種類を問わず、常に同じ方法で内容を比較したり、表示したり出来る。

 

 

テンプレートな迷走

先週の初め、progateにてJavaScriptのコースを一通り終えた(理解したとは言っていない)頃、そろそろ自分がメインに学び、使用する言語を決めなければならないのではないかというありがちな感情が去来した。

 

しかし自分がプログラミングで具体的になにをしたいのかが現状まだ決まっておらず、また、どの言語がどういった際に使用されているのか、その辺りも全然全く理解していなかったのであった。

 

丁度その頃は、はてなブログのおすすめ記事やはてなブックマークPythonに関する記事が散見されており、読むと、その中でフロントエンドエンジニアと、サーバーサイドエンジニアという区分けがあり、Pythonはサーバーサイド側で使われると記述されていた。

要するにフロントサイドエンジニアとは、HTML、CSSJavaScriptなどを使い、webページの表側、利用者の目に入る部分を作るエンジニア。

対してサーバーサイドエンジニアというのは、JavaPHPPythonなどを使い、webページに入力されたデータなどをサーバーとやり取りしたりする部分、いわば裏側の部分を作るエンジニアの事をいうらしい。

 

(…書いてて思うけど、サーバーサーバーって知ってるように言ってるけど、具体的にサーバーってなんなんだ…どこにあるの…?)

 

サーバーサイドエンジニア、裏方、カッケェ…となった自分は、早速初心者にも学びやすく、将来性に溢れ、かつ職場に最寄りのTSUTAYAで書籍が豊富にあるPythonを自分の学ぶ言語と決め、progateでのPythonコースもそこそこに、『独学プログラマー』を手にとった。

数日間は『独学プログラマー』片手にPythonの基礎を学んでいったのだが、1ヶ月間ほぼ毎日HTML、CSSJavascriptの基礎をやっていた成果もあり、基礎の基礎の記述に関してはなんとなく対応できた気がしていた。

 

しかしそこで基礎ばかりやってきた弊害、「これは実際の実務でどういう使われ方をするんだ?」という疑問が頭をもたげてきた。

早速書店へ直行しPythonの本を探すと、機械学習、AI、スクレイピングexcelで自動化などの本しか無く、機械学習やAIの本をパラパラとめくってみたが、恐ろしく難解な数式が並んでおり、俺は何も手にとる事なく書店を後にした。

 

家に戻り情報収集してみると、

機械学習やAIの分野が急成長しており、それに伴い Pythonが使われる頻度が増え、サーバーサイドでも使われだしたが、日本はその限りではなく、Pythonを使うサーバーサイドエンジニアの求人は少ないらしい。 

 

日本でサーバーサイドエンジニアをやるのであれば、RubyPHPがとっつきやすいらしい。その他JavaやC、C++ってのも使われているようだ。

 

それでも自分はPythonを極めてやる…!

…とはならない所が弱いところで。なんとなくRubyってのは漲落傾向にあるらしく、聞き覚えのあるPHPを現在はProgateに戻って勉強中。

 

ただ、実際Pythonがすごく使われているのは間違いないらしく、いずれ『独学プログラマー』を開く日は必ずある事だろう。

 

今週はこんな感じで無駄にPythonに手を出し、ありがちに挫折した1週間です。

 

 

Progateの勉強の進め方

引き続きJavaScriptをProgateにて勉強中。

 

勉強時間は平日30分〜1時間。休日1時間〜2時間。

もっと勉強したいが、現状確保出来る時間はこの程度。

 

HTMLとCSSを勉強していた頃は微妙な配置のズレに悩まされたが、JavaScriptでは、関数の辺りからスライドを見て実際の入力の画面に移動してもやり方が分からず、答えを見てしまう事が多くなってきた。

 

毎日勉強出来る時間がコマ切れの為、前のやり方を踏まえて進めるべき所で肝心の部分が思い出せないのである。

 

そこで、一回毎の勉強の進みは遅くなるが、スライドの内容をノートに取りながら進めるやり方を試してみた。

このやり方はある程度効果はあったと思う。ただスライドを流し見して入力画面に移動した時よりやり方が頭に残っていて、すぐに戻って確認する事が減ったし、次の日にも完璧にではないが、前日分の記憶を踏まえて進めるようになったと感じる事が出来た。

 

しかし如何せん自分は字が汚いのでノートを見返すのが苦痛だ。

特にコンマやピリオドなどの記号系の読み取りが困難である事、Youtubeでプログラミングは兎に角手を動かせと言っていた事を思い出し、現在は一回に進める内容を増やし、理解出来るまで同じコースを復習する、といったやり方で勉強している。

 

意外にも一回目には全くわからん…となっていた部分でも、もう一周してみると、ああ、ここはこういう事ね、とサクサク進める事が出来たりした。

 

この段階でつまづいている初学者は自分くらいだろうが、勉強方法を模索しながら地道に毎日続けていきたいと思う。

 

これもあるYoutuberの方が言っていたのだが、プログラミングは挫折する人がかなり多いらしい。

気持ちは大いにわかる。自分もHTMLとCSSをやっていた際に飽きた。

これは多分あるあるだと思うのだが、今やっている内容(自分であればHTMLとCSS)を完璧に理解するまでは次になんて進めない…!と考えてしまうのである。でも同じ事ばっかりやってて飽きる。そうなると段々モチベーションも低下し、もうここまでか…となる。

 

全くそのパターンで挫折しそうになったが、HTMLとCSSはそこそこにJavaScriptの勉強に移行する事でまたやる気を取り戻す事が出来たので、次に進んじゃ駄目だなど考えずに新しい事に挑戦してモチベーションの維持を優先した方が良いなと感じた。

また頃合いをみて前の内容を復習すれば良いわけで、勉強自体をやめてしまっては意味がない。

 

 

話題があっちこっちに行くが、今週からビジネス書の読書を始めた。

これもモチベーションの維持を考えての事であるが、自分がビジネス書を買うだなんて事は、以前は全く考えられない事だった。

 

まず、ビジネス書なんて代物は意識高い系(笑)が読むものだし、そんなのに感化される奴とかしょーもな(笑)と馬鹿にしていた。

意識低い系である。

斜に構えるのがカッコイイ、勉強とかダサいっしょ(笑)、といった具合である。

 

これは結構マジな話早めに気づいて良かったと思うのだが、自分のような奴は世の中にはゴマンといると思うし、そんな人たちの中の幾らかはいずれ自分が大嫌いなクソみてーに使えないオヤジになるし、もしくは自分の在籍している会社では仕事出来るかもしれないけど、外では全く通用しないような奴になってしまう。

ないし、ずっと気づけないで人生が終わってる人もたくさんいると思うとゾッとする。

 

勉強した方が良いなって27で気づけてよかった。

アブネー。

 

 

 

 

初投稿

初投稿になります。

よろしくお願いします。

 

宮武といいます。

 

27歳会社員。男性。不動産屋の事務方で働いています。

 

Progateにてプログラミング勉強中。ブログにてアウトプットしながらの学習が捗る、と目にして開設しました。

 

現在HTMLとCSSをひと段落し、JavaScriptを学びはじめた所です。

 

これまで長い間仕事以外でパソコンに触れず、家ではスマホTwitterまとめサイトを巡回し続けていました。 依存症レベルで。

 

仕事して帰ってきてスマホいじってゲームして、寝る。

本とか読まんし、勉強とかめんどくさいわ。

ただ職場の文句はいっちょまえに言うぞ。

 

それが、引越しをキッカケに家でもパソコンを触るようになりました。

おもしろ。水溜りボンド。(毎日動画を見るのが現在のルーティーンです。)

ヒカキンも好き。

なんかやたらと意識の高いYoutuberもいるぞ。

パソコンで仕事してる人ってかっこいいな。

 

昔からパソコンに詳しい人に憧れを持っていました。

CPU?メモリ?パソコンて何買えばいいの?っていう感じ、

ショートカットキーなんてひとつも使ったことないし、よくわかんないし。

しかしそんな自分でも、職場ではパソコンの先生。

 

まずい…このままでは完全に世の中から取り残される…

 

と感じた私は、憧れていたパソコンに詳しい人になる為に勉強することを決意したのでした。

 

 

ただ、私は異常に飽きっぽい性格です。病的に。

そんな生き方にも終止符を打ちたいので、ブログの更新と併せて、頑張りたいと思っています。