「ドットインストール」を含む日記 RSS

はてなキーワード: ドットインストールとは

2019-05-01

ただただ、途方にくれそうな令和初日

君たちはどう逃げるか

https://www.megamouth.info/entry/2019/04/29/200747

色々あり、今働いている職場8月末でなくなることが決まり建物ありきの仕事だったのでそのまま自分仕事もなくなってしま28歳男です。

4月頭に「前から興味はあったし、まずは勉強だけでもしてみよう」と思いmacbookairを購入。

ドットインストールとprogateのruby講座を一周して初学者向けのテキスト勉強中です。

ruby勉強楽しい」と感じていました。でも、「これでいいのか?」っていう違和感がやっと言語化した気がしました。

勉強はしているけども、「本当に28文系自分エンジニアになるのか?」っていう決断はしていなかったんです。

僕は今の仕事が大好きです。でも、少しの英語愛嬌があればこなせる接客系の仕事。どこか、「手に職」的なものが欲しいと思っていました。

あと、子どもが出来たら自分でも子育てがしたい。そう考えた時に「フリーランス」とか「リモートワーク」とか、そんな言葉はとても魅力的に見えました。

面白いくらい、上の記事で書いてある世間知らずそのままなんですよね。

どのスクールを見ても大体同じような事が書いてあります。「フリー高収入」的なやつ。もしくは「勉強して6ヶ月で月収50万」とか。

もちろん「んなわけない」という気持ちもあったので、きらきらサイバー会社で働いている子に質問したりしていました。

要約すると。。

・いきなりフリーなんて無理

・でも手に職ってのはまじ。

・年齢はあんまり関係ない、能力大事

・まずは勉強してどこか会社に潜り込んで修行したらフリーとかリモートの道もあるかも?

とのこと。

もしこれを読んで下さったwebエンジニアの方がいたら聞いてみたい。

・どうしてこの世界を選んだんですか

・上の要約はあなたにとっては実感通りですか

正直、ブログ記事を読んでいるとお腹が痛くなる様な事ばかり書いてあってつらい。

でも、どこかで「それでもやってみたいな」と思っている自分もいたりするんです。

今日仕事が終わったらmacbookを開いてチマチマと初歩の、本当の初歩のコードを打って「おー文字が返ってきた」とかやっていると思います

僕は絶望はしていないですが、「何も変わらない」ていう閉塞感がつらいです。

これを何とかしたくて勉強しているんでしょう。それが逃避にならないことを祈りつつ。

2019-04-27

Web講座(PHP)vs AI講座(Python)

前提条件

スペック

高卒アラサー女、飲食接客系と介護系というどうにもならない職歴しかない。

小中高とパソコンの授業はあったのでofficeソフトの基本操作はおそらくできるがパソコンを使う仕事したことが無い。

パソコンキーボードマウスは使えるってことですね。

 

難易度検討

どれをやっても仕事があるなら難易度の低そうなのから入りたい

上記の2つの講座を比べるなら、「実践Webプログラミング」の方が「AIプログラマー実践科」よりも簡単だと思います

簡単か難しいかという基準とは別に面白いかつまらいかという基準で考えた場合パズルとか謎解きが好きなら、AIは難しいけど面白いと感じるかもしれません。

 

AI

AIプログラマー実践科」http://www.pref.osaka.lg.jp/attach/532/00317524/c19_cur0702.pdf

Python応用 Yelp API等のPythonAPI活用する方法TensorFlow、scikit-Learn等のライブラリ利用、Windowsアプリの開発手法

人工知能画像認識 画像判別対象物識別するパターン認識技術

人工知能探索 幅優先探索深さ優先探索ヒューリスティック探索、AND/OR探索、ゲーム探索等の探索技術

授業内容を見ると、AIライブラリーを少し使う程度で終わると思われます

事前の説明会卒業生の進路を聞いて、どんな職種就職できたか確認してみてください。

AIとはあまり関係ない、普通Pythonプログラマーになってる人が多いかも?)

 

AIの教材

市販AI教材を事前に眺めて、AI勉強してみたいか確認しておきましょう。

 

数学の教材

AIを本格的に勉強し始めたら、高校から大学程度の数学知識必要になるでしょう。

 

Web

実践Webプログラミングhttps://sozosha-rs.jp/flyer/sanomiya6wp.pdf

Webプログラミング演習 ①PHPとWordPressの基本構文の作成 ②プラグインの導入方法 ③PHPJava-script活用

授業内容を見ると、WordPressWebサイトを作れる程度で終わると思われます

 

WordPressの教材

 

感想

PHPWordPressWebサイトを作れる人は掃いて捨てるほどたくさんいるので今さら感もありますが、自分自分Webサイトを作れるようになったら、それはそれで楽しいと思うので、ありといえばありでしょう。

AIWebサイト制作に比べて少し難易度が高いですが、将来性があり、純粋勉強して楽しいだろうと思います

 

個人的にはAI講座でどんな授業をやるのかちょっと知りたいので、人柱になってAI講座を受講してみて欲しいですw

まあそれは冗談だけど、いずれの講座を選ぶにしろはてなブログ勉強日記を書いてみてください。

 

追記

他の増田が書いてるけど、溶接とか機械工作面白そうだね。

自分自転車フレームとか作れたら楽しそうw

 

anond:20190427005837 なんでもいいか職業訓練がしたい

2019-04-05

anond:20190404034812

プログラミング勉強してみたくてドットインストールでじゃばすくりぷととかhtmlとかcっsとか一通りやったけど、結局それを活かす場がないと身に着けた端から忘れていくから意味がなかった

なにかをしたくてその手段プログラミングだったときにはじめて勉強するもんだと思うプログラミングって

エンチャントjsの本も清水さんにだまされて買っちゃったし

一通りやったけど意味なくて捨ててしまった

2019-01-02

anond:20190102190700

ドットインストールは確かにすごいね。有料会員になると有効になる速度設定機能価値を上げるためにわざと超早口で喋ってるのかと思っていた

anond:20190102185326

なるほど無音時間があると区切り判断されて割り込まれ環境があって、そこから伝染したのね。

それは仕方ないし事情は分かったけどほとんど独り言みたいな講義動画(ドットインストールとかUdemyとか)でもやってんの本当にやめてほしい。

「えーえー」言われるとそいつが何回「えーえー」言ったのか頭の中でカウント始めちゃって何も頭に入ってこなくなるんだよ。俺の脳の病気なのかもしれないが。

せっかく知りたくて聞いてるのに本当にどうでもいい理由で聞けなくて悲しくなる。

2018-12-07

自分Githubをみて悔し泣きした

自分ディレクトリが散らかるのが嫌で、その時に便利と気がついて使い始めたGithub

正しい使い方はわからないが、複数プロジェクト管理している。


今日、昔作ったプロジェクトを見ていると、自分プロジェクトからブランチが出ていた。(数ヶ月前の変更)

確認したら2日でやめたバイト先のエンジニアだった。

説明を読んで、コード確認した。

内容がすごくて、ちょっと泣いた。コードの変更点を例えるなら

3歳児が塩コショウだけで必死に作ったグチャグチャの卵料理を、

シェフがたった数分で聞いた事もない調味料料理方法を駆使して完璧料理に仕立て上げていたようなものだった。

ぐうの音も出ないほど完璧だと思う。20回コミットしただけでできるなんて、悔しいけどすごいと認めざるを得ない。

こんな人の元で働けたのに、勿体無いなって自分でも思うけど

正直、人格ゴミクズで「親の七光りの子俳優が良い年した感じ」な奴だった。

業務必要な話はしないし、適当ワガママで短気、個人能力に全振りで協調性ゼロから、当然得られるものもなく2日で辞める結末に至ったのだ。

人格はどうでも良い、この人のその才能は素晴らしいと思う。

でも、授業じゃやってくれなかったあの書き方も絶対どこかで習ったはずなんだ。

自分の独学じゃ絶対理解できなかった効率手法や考え方もどこかで習ったはずなんだ。

見れば見るほどにわかコードの書き方の違いに嫉妬すら覚える。

クレヨンを握り潰したような俺の絵と、補助線を入れた美術部みたいなアイツの絵

酷い差だった。

コードの書き方のクセのようなものが人には色濃く出ると思う。

俺の場合は同じようなものがゴチャゴチャ書いてて非常に醜い。

俺の友達Qiitaコピペで謎のプログラムがゴチャゴチャ酷い。

アイツのは必要なところだけ残して、コメントまで添えてて良かった。

増田には、彼のようなエンジニアがたくさんいるんだろ…?

しかすると、人格もそれ以上の人まで

俺に教えてくれよ

どうしたらあんなに自由自在コードを書けるんだ?

どこでそれを得ることが出来たんだ…?

認知理解に追いついていないから、ゴミクソみたいなカス質問しかできなくて申し訳ない。

プロゲートとか、ドットインストールとか見ても、仕事などでされているものと違っている気がして参考にならなくなってきた。

それに本やドキュメントを読向けど、文章がまるで理解ができない。理解できた瞬間やできなかった時の対処も知りたい。

2018-11-26

python教科書読んだ後、なにするの?

特に作りたいものもなくプログラミング勉強を始めてしまった。

Progateとかドットインストールとか、本とか読んで、ほんのちょっとだけpython使えるようにはなった。

でも、ここから何をしたいのかまったく思い浮かばない。

仕事に活かすって言っても、そんなに数字をあーだこーだいじくる仕事じゃないし、そもそもエクセルですら簡単計算しか使ってなかったし。

完全副業と割り切ってWebサービスでも作るつもりで頑張るべきなのか。

なんか面白そうなの無いかね。

2018-10-20

増田プログラマー養成講座 その8 OOPの仕組み(後半)

前回に続いて、今回もオブジェクト指向プログラミングOOP)の基本的な仕組みを見ていこう。

 

教材は、ドットインストールPHP入門です。

OOP関係してる#18から#24までのうち、後半の#22から#24までを一緒に見てみよう!

 

#22 staticキーワードを使ってみよう

動画でこんな用語が出て来た。

 

 

static

クラスベースOOPオブジェクトを使う場合普通は「クラスからインスタンスオブジェクトの具体的な実体)を作ってから使う」と説明した。

実は、newでいちいちインスタンスを作らなくても、クラスメンバープロパティーやメソッド)を直接呼び出して使える仕組みも用意されている。

それが「static」(静的)という仕組みだ。

 

「静的」(static)という言葉は、「動的」(dynamic)の対義語になっている。

newでインスタンスポンポン作っていくのが「動的」なら、new無しでコッソリとメンバーを呼び出すのが「静的」というかんじ?

 

PHPでは、インスタンスを作らなくても、直接(静的に)呼び出せるメンバーには「static」という目印を付けておく、という文法になってる。

さらに、

 

それではstaticなメンバーを入れたクラス定義してみよう。

class User {

 // プロパティー:インスタンス変数(staticなし。newした後じゃないと使えない)

 public $name;

 // プロパティー:静的変数(staticあり。newなしでいきなり使える)

 public static $count;

}

 

文法的には「static」という印を付けるか、付けないかの違いしかない。簡単だ!

次は、staticなメンバーの呼び出し方を見てみよう。

 

::演算子

ちょっと待った!「演算子」という言葉は初めて出てきたね?意味確認しておこう。

1+2は3になる等、対象(1とか2とかの数値データ)を操作(=演算)して、3という結果を得られる。

 

「::」はスコープ定義演算子とか、ダブルコロンと呼ばれている。PHPマニュアルでは以下のように説明されている。

static, 定数 およびオーバーライドされたクラスプロパティメソッドアクセスすることができます

静的メンバーを呼び出す専用の記号として「::」という演算子記号)が用意されている、というわけだ。

まり、「::」という演算子を使うことで、静的メンバー操作できる。

 

それでは、「::」を使って、静的メンバーを呼び出してみよう。

class User {

 // プロパティー:インスタンス変数(staticなし。newした後じゃないと使えない)

 public $name;

 // プロパティー:静的変数(staticあり。newなしでいきなり使える)

 public static $count;

}

 

// new無しでいきなり使える!

User::$count = 1; // 1を代入する。

echo User::$count; // 1と表示される。

 

実験で以下のコードも追加してみよう。

// staticが付いてないインスタンス変数(new無しで使えない)を呼び出す。(本来は呼び出せない)

User::$name = "yamada";

echo User::$name;

実行すると

PHP Fatal error: Uncaught Error: Access to undeclared static property: User::$name

というエラーメッセージが表示された。

「staticなプロパティーとして定義されてないから、アクセスできないよ!」と怒られた~~~(涙)

staticじゃないメンバーには、ちゃんとnewしてインスタンスを作ってからアクセスしないと、使えないんですね。(面倒)

 

キーワード「self」

オブジェクトメンバープロパティー、メソッド)に、オブジェクトの中のメンバーアクセスするとき

という使い分けになってる。単にこれはPHP文法なので、特に悩む余地はない。

 

this=インスタンスメンバー操作する場合

class User {

 // 普通プロパティー:インスタンス変数(staticなし。newした後じゃないと使えない)

 public $name; // ←この$nameをこの下にあるをhello()から使いたい

 // 普通メソッド

 public function hello() {

  echo "Hello, " . $this->name; // this->で指定する

 }

}

$taro = new User;

$taro->name = "Yamada Taro";

$taro->hello(); // Hello, Yamada Taro

「this」が自分自身オブジェクトを指し示す。

$this->nameで、オブジェクト(この場合インスタンス)内の$nameアクセスできる。

 

self=クラスの静的メンバー操作する場合

class User {

 // staticなプロパティー:静的変数(staticあり。newなしでいきなり使える)

 public static $name; // ←この$nameをこの下にあるをhello()から使いたい

 // staticなメソッド

 public static function hello() {

  echo "Hello, " . self::$name; // self::で指定する

 }

}

// new無しでいきなり使える!

User::$name = "Suzuki Hanako";

User::hello(); // Hello, Suzuki Hanako

「self」が自分自身オブジェクトを指し示す。

self::$nameで、オブジェクト(この場合クラス)内の静的な(staticな)$nameアクセスできる。

言ってる意味、分かる?(説明が分かりにくい?)

 

スコープとは?

「this」とか「self」とか、いちいち使い分けていて面倒くさいなーと思うだろう。

なんでこんなことをやってるか?というと「スコープ」という仕組みが関係してる。

ドットインストールPHP入門でも、#16でちょっとスコープについて説明してあった。

PHPスコープの種類は3種類しかありません

  1. ローカルスコープ
  2. グローバルスコープ
  3. スーパーグローバル

 

スコープ有効範囲

スコープ」(scope, 可視範囲)は、元々は潜水艦に付いてる望遠鏡(潜望鏡)のこと。

プログラミングでは、あるデータ変数とか)がどこまで見えるか、覗けるか、という範囲のことを「スコープ」と呼んでる。

変数関数がどの範囲まで有効なのか、使えるのかは、その変数関数スコープで決まっている。

Wikipediaで「スコープ」の説明を見ると、ゴチャゴチャ書いてあるけど、要するにスコープには、広い範囲や狭い範囲があるってこと。

 

thisやselfをわざわざ使い分けているのは、範囲を指し示すときに、

それとも

という場所の違いをハッキリと区別するためなんだ。

 

クラスオブジェクト設計図)を眺めたときに、

thisを使ってたら、「ああ、newしてインスタンスを作らないと使えないんだな」と分かる。(インスタンスの中の話)

staticとselfを使ってたら、「newしないで、静的に使えってことだな」と分かる。(クラスの中の話)

 

太郎の$nameとか、花子の$nameとか、インスタンス場合は、各インスタンスメンバーは、明確に分かれていて、両者が混ざることはない=別々のスコープになってる。

クラスの静的メンバーは、そのクラスに1個しかないので、そのクラスをnewしないで(インスタンス無しで直接呼出しときは)、いろんなところから呼び出されても、共通の中身になってしまう=スコープが1個、同じスコープになってる。

 

インスタンス変数クラスの静的変数は別物なので、thisとselfで使い分けてる、というわけだな!

 

ここまで読むと「staticって面倒くさいやつだな!なくてもいいじゃん!」と思っただろう。その通り!

staticは使わなくて済むなら、なるべく使わない方がいい。

「static 欠点」で検索してもらえば、staticを使った場合問題点が紹介されている。

どうしてもstaticじゃないと実現できないこと、staticの方が便利な場合だけ、staticを使うようにしよう。

 

(参考)PHPのstaticの使い方

 

#23 抽象クラスを使ってみよう

動画でこんな用語が出て来た。

 

 

抽象クラス

これはドットインストール説明そのままでOKですね。

 

具象クラス(今まで勉強してきた普通クラス)だけではなく、「抽象クラス」という特殊クラスを作る仕組みも用意されている。

抽象クラスは、継承してその子クラスを作るとき、「必ずこのメソッド自分で作れよ!」などと強制できる。

まりクラスの利用方法継承とか)について、プログラマーに指示を出せる働きがある。

 

抽象クラスの特徴として、具象クラス(通常のクラス)との違いを挙げます

 

1. 抽象メソッド定義する事ができる。

抽象メソッドとは、実際の処理を自身にではなく子クラス記述させるためのメソッドです。

この抽象メソッド記述できることが、抽象クラスの最大の特徴です。

抽象クラス継承したクラスは、この抽象メソッドを必ず「オーバーライド」しなければなりません。(オーバーライドしないとコンパイルエラーとなります。)

 

2. 抽象クラス単体でインスタンスを生成する事はできません。

抽象メソッド定義している。

まり、実際の処理を記述していない訳ですから当然インスタンスを生成して使用する事は出来ません。

JavaPHPも同じですね。

 

#24 インターフェースを使ってみよう

OOP継承には、「単一継承」と「多重継承」という種類がある。

普通は、「単一継承」といって、親クラスからクラス継承して作るとき、親クラスは1個だけしか指定できない。(1:1)

クラスA、クラスB、クラスCの3つを親クラスとして、クラスZという子クラス継承して作る仕組みは、「多重継承」という。多重継承可能場合、子クラス複数の親クラスを持てる。(多:1)

 

PHPJavaでは、多重継承ができない代わりに、「インターフェース」という仕組みが用意されている。

インターフェースを使うと、多重継承と似たようなことができる。

 

↑ここにクラスインターフェースの相違点がまとめられてたので、参考にしてみてください。

 

インターフェースの使い方、文法を見ておきましょう。

  • class」の代わりに「interface」を使う。
  • 「extends」の代わりに「implements」を使う。
  • 継承する」という代わりに「実装する」という言い方をする。

interface sayHi {

 public function sayHi();

}

interface sayHello {

 public function sayHello();

}

class User implements sayHi, sayHello {

 public function sayHi() {

  echo "hi!";

 }

 public function sayHello() {

  echo "hello!";

 }

}

$taro = new User; // コンストラクターに渡す初期データがない場合「new User();」みたいに「()」を付けなくてもOK

$taro->sayHi(); // hi!

$taro->sayHello(); // hello!

 

PHPOOP機能

#22から#24までを見て、PHPOOP基本的な仕組み~使える機能について見てきました。

PHPには、他にもいろんなOOPで使える機能が用意されています

 

その他のOOP機能

Javaなど他のプログラム言語には、PHPにはないOOP機能も用意されています

オブジェクトを利用するときの仕組みとして、いろんな方法が考えられてます

 

使う機会があれば調べてみましょう。

 

ここまでで、やっとOOP基本的な仕組み、用意されている機能テクニックを学びました。

次回は、なぜこんなOOPの仕組みが考え出されたのか?どうやってOOP活用していくのか?を見ていきましょう。

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマー養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマー養成講座 その2 プログラムデータ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマー養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマー養成講座 その4 子ども向け教材「Scratch」で構造プログラミング練習

anond:20181017161003 増田プログラマー養成講座 その5 オブジェクトとは何か?

anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備

anond:20181019181549 増田プログラマー養成講座 その7 OOPの仕組み(前半)

anond:20181020230044 増田プログラマー養成講座 その8 OOPの仕組み(後半) ←★今ここ★

anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう

anond:20181023184616 増田プログラマー養成講座 その10 OOP参考書

anond:20181024214737 増田プログラマー養成講座 コンテンツ一覧

2018-10-19

増田プログラマー養成講座 その7 OOPの仕組み(前半)

前回は「オブジェクトとは何か?」を説明した。

今回はオブジェクトの使い方=オブジェクト指向プログラミングOOP)で用意されている仕組みを見てみよう。

とりあえずPHPで仕組みを学習してみよう。(PHPJavaより簡単なので理解やすい)

OOPでは用語概念がたくさん出てくるので、まずは用語意味を押さえよう。(英単語ばっかだね。日本語にして欲しいね。)

 

注意点:文字化けエスケープ)について (修正済)

以下の説明で、半角文字の「>」(不等号の記号)が「>」という表示に変わってしまっている。

「->」となってるところは「->」(>は本来は半角文字)なので、読み替えてください。

 

ドットインストールPHP入門でOOP学習

 

元増田は、もう一通り全部見てくれたかな?

OK、それじゃOOP関係してる#18から#24を一緒に見てみよう!

 

#18 クラスインスタンス理解しよう

動画でこんな用語が出て来た。

 

 

クラスとは?=オブジェクト定義

クラスベースOOPJavaPHPなど)は、オブジェクトを作るときに、「クラス」という仕組みで用意する。

プロトタイプベースOOPJavaScriptでは、「プロトタイプ」という仕組みで用意できる。=別の機会に使ってみよう)

 

クラスベースOOPで「オブジェクト」と言った場合クラスインスタンスの両方を指し示すことができる。

 

 

クラスメンバー

クラスには「プロパティー」(データ)と「メソッド」(処理)を入れられる。

も作れる。

クラスの中に入っている「プロパティー」や「メソッド」のことをまとめて「メンバー」と呼ぶ。

からメンバーってのは、クラス構成員だね。プロパティーやメソッドメンバーになれる。

 

// クラスオブジェクト設計図オブジェクトデータと処理をまとめて入れられる箱。

class クラス名 {

 // プロパティー(データ)の部分

 public $name = ''; // 名前 // ※「public」の使い方は後で説明

 public $age = ''; // 年齢

 // メソッド(処理)の部分

 public function get_name() { // 名前を取得する

  return $this->name; // ※「this」の使い方は後で説明

 }

 public function set_name($new_name) { // 名前を設定する

  $this->name = $new_name;

 }

}

 

コンストラクター

コンストラクター」は特別メソッドで、クラスからインスタンスが作られるときに、自動的に呼び出される。

コンストラクターを使えば、インスタンスを作るとき自動的に実行しておきたい処理(下準備=初期化とか)をやらせられる。

class User {

 // プロパティー(データ)の部分

 public $name = '';

 public $age = '';

 // コンストラクタークラスからインスタンスを作る(new)とき自動的に実行される特別メソッド

 public function __construct($name, $age) { // PHPコンストラクター名は「__construct」と書く。

  $this->name = $name;

  $this->age = $age;

 }

 // メソッド(処理)の部分

 public function get_name() {

  return $this->name;

 }

 public function set_name($new_name) {

  $this->name = $new_name;

 }

}

 

デストラクター

説明には出てこなかったけど、コンストラクターと反対に、デストラクターという仕組みもある。

 

インスタンス

インスタンスクラスオブジェクト設計図から作ったオブジェクトの(具体的な)実体のこと。

インスタンスは「new」で作る。

$taro = new User('taro', 20); // name='taro', age=20コンストラクターでセットしたい。

これで「太郎」(顧客の1人)という具体的なインスタンスが、User利用者クラスから作られた。

太郎($taro)というインスタンスを作った後は、これで太郎に関するいろいろな操作ができるようになる。

 

アロー演算子

インスタンス太郎」の中にあるメンバープロパティーやメソッド)を使いたい場合アロー演算子「->」(矢印)で指定する。

 

echo $taro->name; // 太郎nameを表示せよ

$taro->name = 'yamada taro'; // 太郎nameを「yamada taro」にせよ

$taro->set_name('タロウ'); // 太郎のset_nameメソッドで「タロウ」という名前を設定せよ

等という操作ができる。

 

レシーバー

OOP用語で、

$taro->set_name('タロウ');

この「$taro」の部分=「->」の前の部分を「レシーバー」と呼びます

後で「this」とか「self」というOOPで使う汎用的なレシーバーが登場するので、記憶の片隅に「レシーバー」という言葉を覚えておいてください。

 

#20 クラス継承してみよう | PHP入門

動画でこんな用語が出て来た。

 

 

extends(継承

OOPでは、あるクラスオブジェクト設計図から、別のクラスを作りだすことができる。これを「継承」と言う。

 

// 元にするクラス

class User {

 // プロパティ

 public $name;

 public $age;

 // メソッド

 public function hello() {

  echo "Hello, " . $this->name;

 }

}

// 継承して新しく作るクラス

class Special_user extends User {

 // プロパティ

 public $point; // 特別会員のポイント

 // メソッド

 public function your_point() {

  echo "あなたポイントは".$this->point."点集まりました。";

 }

}

 

上記の例だと、基になった「User」が親クラスUser継承して新たに作った「Special_user」が子クラスとなる。

 

オーバーライド

オーバーライドとは「上書き」という意味

継承して新しい子クラスを作るとき、親クラスにあるメソッド機能を一部改造したい場合がある。そんなときは上書きして、中身を入れ替えることができる。

オーバーライド簡単で、単に同じ名前メソッドを用意すればいいだけ。新たに用意したメソッドで中身が上書きされる。

 

// 元にするクラス

class User {

 // プロパティ

 public $name;

 public $age;

 // メソッド

 public function hello() {

  echo "Hello, " . $this->name;

 }

}

// 継承して新しく作るクラス

class Special_user extends User {

 // プロパティ

 public $point; // 特別会員のポイント

 // メソッド

 public function your_point() {

  echo "あなたポイントは".$this->point."点集まりました。";

 }

 // 親クラスにあったメソッドと同名のメソッドを用意すれば、上書きして中身を変更できる。

 public function hello() {

  echo "こんにちは、".$this->name."様";

 }

}

 

final

オーバーライドして中身を変更されてしまうと困るメソッドがあった場合オーバーライドできないように設定しておくこともできる。

その場合は、メソッド名の前に「final」と書いておけば、最終的な決定形となり、オーバーライドで中身を変更できなくなる。

その他、finalの使い方はマニュアルも参考にしてください。

 

#21 アクセス権について理解しよう

OOPでは「カプセル化」といって、オブジェクトの中にあるメンバープロパティーやメソッド)を外から見えない(操作できない)ようにすることができる。

 

隣の家の窓を想像して欲しい。

カーテンによって、3段階で覗けるようになっている。これと同様のことがオブジェクトメンバーにも設定できる。

 

メンバーアクセス権を設定してやれば、オブジェクトの外からの見え方を設定できる。

 

大雑把に言えば、オブジェクトカプセル化プロパティー(オブジェクトの「状態」)は見えなくして、メソッドオブジェクトの「操作」)は見えるようにしてやれば、だいたいうまく使えます

これは「副作用(予期せぬ変化)の隠蔽化」といって、「オブジェクトの中身を外部から守る」という考え方です。

アクセサー」(ゲッターセッター)という「オブジェクト操作用のメソッド」を用意してあげて、中身の操作制限を加える方法があります

 

区切り

まずは、ここまでの内容をドットインストールサンプルコードなどを実際に動かしてみて、仕組みをよく理解するようにしてください。

#22から#24は、今の段階では「こんな機能も用意されているのか。へー」ぐらいでもOKだと思います

 

多分、素朴な疑問として、「OOPのために、こんな仕組みが用意されているのは分かったけど、何が便利なんだろ?」と訝しく見えるだろうと思います

OOP基本的文法機能を知った後、実際にOOPを使ってみる演習をやってみれば、使いどころや便利さが分かるようになると思います

次回は、残りの#22から#24までの説明を見てみましょう。

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマー養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマー養成講座 その2 プログラムデータ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマー養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマー養成講座 その4 子ども向け教材「Scratch」で構造プログラミング練習

anond:20181017161003 増田プログラマー養成講座 その5 オブジェクトとは何か?

anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備

anond:20181019181549 増田プログラマー養成講座 その7 OOPの仕組み(前半) ←★今ここ★

anond:20181020230044 増田プログラマー養成講座 その8 OOPの仕組み(後半)

anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう

anond:20181023184616 増田プログラマー養成講座 その10 OOP参考書

anond:20181024214737 増田プログラマー養成講座 コンテンツ一覧

2018-10-17

増田プログラマー養成講座 その6 OOPの種類、PHPの準備

前回は、オブジェクト説明をした。

今回は、オブジェクトの使い方=オブジェクト指向プログラミングOOP)を学ぼう。

 

OOPの種類

オブジェクト指向プログラミングには、

  1. クラスベースJavaC++など)
  2. プロトタイプベースJavaScript、Ioなど)

などの分類があります

ここではクラスベースOOPを取り上げる。学習時間を短縮するために、Javaよりも簡単PHPOOPの基本を勉強してみよう。

 

PHPとは?

PHP (プログラミング言語) - Webページ作成のために用いられることの多い汎用プログラミング言語一種

PHPは誰でも手軽に使えるように工夫された、軽量なプログラム言語です。

 

PHPの準備

WindowsパソコンPHPを使うために、XAMPPというソフト無料)をインストールしよう。

 

XAMPPはいくつかバージョンがあるけど、ここではUSBメモリに保存できる「ポータブル」を使ってみよう。

↑このページにある「xampp-portable-win32-7.2.10-0-VC15.zip」をダウンロードして、ZIPファイルを展開します。

解凍して出てきた「xampp」をCドライブ直下コピーしてください。

これでPHPの実行環境XAMPP)の準備は完了です。

 

XAMPPの起動

Port(s)が「80,443」と表示されたら、XAMPP上のApacheWebサーバーソフト)が起動して、PHPが使える状態になってます

Apacheを止めるときは、「Stop」ボタンクリックします。)

 

PHPスクリプト作成

phpとは - はてなキーワード http://d.hatena.ne.jp/keyword/php

↓こんなかんじのサンプルコードがあるよね。

<?php

print("Hello, world!");

?>

プログラムソースコード増田に直接書くと、エスケープされて違う文字になるので、上の例では一部文字を置き換えてある。)

上記の表示の中で、全角文字の不等号「<」「>」を半角文字の不等号に置き換えて下さい。)

増田プログラムコード貼付けられないのか。不便だな!)

以上で、PHPプログラミングの準備と動作確認ができた。

 

PHPの基本文法

PHPの教材は、本やネット上の記事動画などたくさんある。自分で分かりやすものを探して読んでみよう。

ここではドットインストールPHP入門を参考にしてみよう。

 

3分程度の動画が30個=90分。最初は内容を理解できなくてもいいから、とりあえず全部一通り見てみよう。(1巡目は雰囲気だけつかめOK

 

「つまづきノート」の作成

2巡目以降は分からないことがあったらノート等にメモして、後で1つずつ解明していこう。

著者あとがき

 

私はGitを学ぶのに、実はとても苦労しました。それと同時に、「きっと同じように困っている人が他にもたくさんいるはずだ」と考えました。「理解するのに数日かかることを、短い時間でパパッと学べるコンテンツを作りたい」そう思いつき、「マンガでわかるGit 第1話」個人サイトにて公開したところ、いきなり、はてなブックマークで800ブックマークされました。

 

“つまづきポイント”を先回りするために

私は、Gitを使い始めて以降、わからないことがあったら「つまづいたこノート」に書いてきました。なお、本書の執筆にあたっても、日々勉強しながら解説を書くという形でした。わかばちゃんが「なんでこうなるの?」と疑問に思う部分は、私が過去につまづいた部分です。

 

ドットインストール PHP入門
(1) PHP利用の準備

 

(2) 構造プログラミングの基礎知識

 

(3) オブジェクト指向プログラミングの基礎知識

 

(4) その他、Webサイト作成一般的知識

 

(今回は、PHPの準備、PHPの基本文法理解までで終わってしまったorz

URLリンク10個以上貼ると、日記が書き込めないみたいなので、増田では記事を分割せざるを得ない。)

次回は、OOP関係している内容(#18~#24)を一緒に確認してみよう。

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマー養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマー養成講座 その2 プログラムデータ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマー養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマー養成講座 その4 子ども向け教材「Scratch」で構造プログラミング練習

anond:20181017161003 増田プログラマー養成講座 その5 オブジェクトとは何か?

anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備 ←★今ここ★

anond:20181019181549 増田プログラマー養成講座 その7 OOPの仕組み(前半)

anond:20181020230044 増田プログラマー養成講座 その8 OOPの仕組み(後半)

anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう

anond:20181023184616 増田プログラマー養成講座 その10 OOP参考書

anond:20181024214737 増田プログラマー養成講座 コンテンツ一覧

2018-09-16

職業訓練IT系)に半年通った感想

(※半年といっても7月後半〜8月まで夏休みでした)

私は20代半ば手前の者です。

昨年仕事第一次産業)を辞めてしまい、学歴スキルもないのに何やってんだろ...と引きこもりかけたところ、

ハローワークで長期の職業訓練を見つけたので応募してみました。

それは専門学校委託される2年間の訓練でした。その間失業保険支給は、期限が過ぎても延長してもらえます

要するに入学料・授業料タダ、お金をもらいながら勉強でき、専門卒になれるチャンスというわけです。

(本当に有難い制度です。就職したら、きちん税金を納めて世の中にお返しするつもりです)

どうやら希望者は少なかったようで、筆記(中学レベル知識大丈夫でした)と面接はすんなり通りました。

受講するコースIT系を選びました。

(他には、介護系・看護系のコースがありました)

訓練の様子

専門学生に混じって授業を受けます

同じ訓練生は1割程度です。(30~40代の方が2人おられます

ほとんどは地元高校卒業したばかりの18才の子たちです。

ワイワイやる人が3割、静かな人が7割ぐらい? といった印象です。

男子100%ですが、ホームルームだけは女子100%のコースと一緒にやります

悪い人はいない感じで、授業が荒れて成り立たないとか、そういうのはなくてよかったです。

ただ、バイトが忙しいのか授業中イビキかいて寝ちゃう人や、全然授業について行けなくて辞めちゃうはいます

この辺の雰囲気大学1〜2年と似たような感じですかね。

授業内容とか

Office(前期のみ)

word,excel,powerpointを一通りやりました。PC操作に慣れていない人も多いので、

手取り足取りゆっくりやる感じでした。自分仕事で使ったことがあったので、課題を早く終わらせて

自学をしたり、隣の子に教えてあげたりしました。

C言語

terapadコマンドプロンプトを使っての授業です。(コンパイラborlandです)

SE先生(本人曰くCOBOLer)の説明聞いてから課題をこなしていく感じです。

入学前に、RubyやらJava参考書を一周してみたり、ドットインストールC言語動画を見たりしていたので、

授業にはついていけています

ただ授業だけだと完全に足りなさそうなので自学を頑張ってます

基本情報技術者試験対策

分野ごとに授業があります教科書を読んで先生が板書・たまに問題集プリントを生徒にやらせるといったスタイルです。

ただ試験対策なので、問題演習を重視した方が良いと思いました。

授業を聴きながら(たまに当てられるので)、ひたすら過去問をやっています

ちなみに学校は12月の修了試験合格すると本試験の午前問題免除)→来年4月の本試験 を前提にカリキュラムを組んでいますが、

私は年も食っているし、合格就職活動に間に合わないので、来月受験します。

就職指導先生応用情報技術者も取っておけ、と言われましたが、必要ですかね...?

勿論取らないに越したことはありませんが、Railsチュートリアルとか他の技術書時間をさいたほうがいいかな、と思いました。

アルゴリズム(前期のみ)

フローチャートや疑似言語を使って、バブルソート基本選択法など初歩的なアルゴリズム勉強です。

実際のプログラムコードの方がわかりやすい気がしますが、基本情報技術者試験対策なので仕方ないですね。

今も現場ではフローチャートや疑似言語は使われているのですかね?

そんなの古い現場しか使ってないよ、という意見はよく聞きますが...

HTML/CSS

先生意向でなぜかメモ帳推奨。(他のエディタを使っていたら嫌な顔をされた)

素人がいうのも何ですけど、ミス気づきにくいし、使いづらくないですかね...

案の定何でもないところでハマる人がいて、授業はよく止まってしまます

ブラウザ開発者ツールの使い方を隣の子に教えてあげたら、喜んで使ってくれていましたが、

やっぱり変なもん教えるなという目を先生から向けられちゃいました...

データベース実習(後期〜)

Accessを使った授業です。テキスト通りにやっていきます

Accessは初めて使いましたが、Mysqlをちょこっと触ったことがあるので、要領はなんとなく掴めました。

これも授業は遅いので、先に教科書の内容は家で一通りやってしまいました。

今はVBAの本をやっています

就職指導

ビジネスマナーや、ちょっとしたゲーム、話し合いなど。

グループワークとかやめてください死んでしまます、と思ったけど、意外と楽しめました。

ただ、喋らない人たちしか居ないグループだと、何を話しかけても反応が薄かったので、ちょっと辛かったです。

訓練(学校)の不満なところ

(勿論、アンケート等で学校側に伝えています

・授業で使うPCはメモリ4GBでもうちょっと欲しいなあと思いました。

エディタAtomUSBに入れて使っていましたが、カクカクでよくフリーズしました...

(VSCode大丈夫でした。)

モニタも19インチ正方形で、ウィンドウをたくさん出したい時は不便ですね。

どんな職場に行ってもどんな環境でも何とかやれ、という訓練ということなんでしょうかね。

そんな感じです。

1年生後半にRubyの基礎、インターンシップ強制)、就職活動の開始

2年生からは、Java,Rails,サーバ構築, データベース構築あたりの授業、という流れで進んでいきます

来年卒業します。

年齢が20後半になるので、周りの若い人たちと何かしら差をつけないといけないので大変ですが、

地元企業SE(Web系を希望しています)で採ってもらえるよう頑張ります

アドバイスがありましたら、いただけると嬉しいです。

追記

拙い感想文にいろいろと反応いただきありがとうございます

>>学費取れないぶん設備が劣るのは仕方ない気もするが

もっともです。私は皆様の雇用保険から学校に通わさせていただいているので、文句言う立場じゃないですね...

ただ、年100万近く払っている一般生徒の方は、不満に思っているかもしれませんね。

>>田舎で数年間無職してるけどIT系就職訓練無くて最悪 羨ましい 田舎ゴミ 

そうですか... 私の住んでいるところも地方都市ではない田舎なのですが、

近隣にIT企業進出してきていることもあってか、今年からIT系が訓練の対象となりました。

都市部ではない地域も、もっとIT系の訓練が拡充されると良いですね。

>>otihateten3510 基本情報さえ取ればどっかに潜り込めるだろうから、そこで3年くらい真面目にやれば結構いけるとおもう。

>>コード書けると良い。/授業はまあそんなもんだよね。現役の人に聞いたほうが正しい。/東京のほうがイージー

ちょっと精神的に病んで前の仕事をやめてしまったので、家族サポートを得て、地元就職しようという情けない有様でございます

なんとかしてこちらの企業に潜り込みたいと思います

仕事事情は、やはり現役の方に聞くのが一番ですね。企業訪問インターンで色々聞いて見ようと思います

2018-07-12

windowsが正解

どうせ流行りに流されてプログラミング勉強しよう!とかいきって

素人Mac買っても、ドットインストールを眺めて飽きて辞める率99割だし

2018-06-14

anond:20180614215056

ドットインストールみたいなシステムを国が積極的支援して全部無料開放したらいいのにとか思う

ドットインストールが良いという話ではなく

2018-05-14

Qiita意識高い系に刺激されて勉強しようとするも

から手をつけていいのか解らず

とりあえずドットインストールを眺めて終わり

2018-03-28

ハッキングを学べるサイトが欲しい

SNS個人アカウント他人PC仮想通貨取引所へのハッキングを学べる、ドットインストールコードアカデミーのようなサイトが欲しい。

なんでないの?そういうサイトがあればセキュリティーについて学べるし、ハッキングプログラミングスキルを磨いて優秀なプログラマーになる人が今より多く出てくるだろうし。

良いことしかないのに、なんでハッキングを学べるサイトがないの?

2018-03-19

ITエンジニアは大変なのか?

ただ単に自分能力に見合ってない仕事をするから苦しんでるじゃないかな。

あと、SNSメディアに踊らされすぎ。

給料が低い、海外に比べて休みが少ないとか)

有名だから、将来的に安泰しそうだから大企業に行きたいとか、技術力が低いのに将来性のあるユニコーン企業に入りたいとか。

大企業からって華々しいことはほぼほぼない。

メディア事業部でもイチエンジニアであるだけで、ニュースサイト名前がでることはないし。

あってもプロデューサー部長クラス(稀に、美男美女エンジニア

インフラならなおさら

例えば自己紹介する時に、「ニュース運営してます」のと「インフラしてます」のでは悲しいかな雲泥の差。

説明しても「なんか大変そうだね」「難しそうだね」が関の山である。社内でもこれ。

お金面でも結構シビア

年功序列ではないので、評価によって昇給する。それが年に1,2回。

会社によってかもしれないが、業績は反映されない場合、下手したら1,2年も昇給しないなんて場合も有り得る。

そーなるとどーなるか。

残業代で賄おうと考え出す。そこが地獄の一丁目だとも知らずに。

ユニコーン場合、例えば上場目標VCから「ウン十億の資金調達」というニュースが流れているとしても、

そのお金あくまで借りているだけ。いつかは投資家の方々に返さないといけない。

そのためにも会社利益をださないといけない。

エンジニア的には質は大事だけど、兎に角サービスを出さないと利益がない。

スピード利益(エンジニア価値)”のようなもの。(この時点でサービスとして出せるなら質など二の次

ここに技術力の低い人が入ると、「ブラックだ」と言い出す。(それを見抜けない人事もあれだけど)

ただ、一概に上司が悪いともいえない。

会社は人を雇っている。

雇っている人の生活を守る義務がある。

守るためには、利益をださなければいけない。

このためには、社員に無理をさせなくてはならない場面もある。それが本意でなくとも。

ただし、これがいつまでも改善されないようであれば、組織としてやばい気がするので早めに逃げることをオススメする。


じゃあ、どーするか。

自分能力に見合った会社に行くしかない。

または能力を上げるか。


今なら、学校なら就職窓口があるし、転職なら転職エージェントもある。

相談すれば自分にあったところをピックアップしてくれるだろう。

そこで自分では見つけられなかった企業出会えるかもしれないし、幅も広がる。

エージェントは出来れば個人がいいかも。大手は。。まぁね。。

但し、「何をしたいか」はやはり考えておいたほうがいい。

面接でもそうだが、相談時に「どんな仕事に就きたいですか?」と聞かれるので。

技術力を上げるなら方法は腐るほどある。

ITエンジニアなら以下の知識を付けておいたほうがいいと思う。

英語

 ・TOEIC:応募資格に書かれていることもあるし、技術書やプログラムを書くうえでもあって損はない。

資格

 ・各種情報処理系:業務ではあまり使わないが、基盤となる知識になる。

プログラミング

 ・AtCoder,TopCoder,GoogleCodeJam:プログラミングする上での必要知識を学べる。特定の処理を行うためには複数パターンがあるが、それらを知る機会にもなる。

あと、選考の一つとしてこれを取り入れている企業も増えてきている。

ツール

 ・フレームワークなど:ドットインストールUdemyなど技術サイトであれば色々勉強できる。必要であればお金を払おう。ググるより効率的だし、価値もある。

そんなに頑張りたくないけど、とりあえずITエンジニアであればいい人はどうしたらいいか

どうしたらいいですかね?派遣SES

玉石混交なので月5-60万(≠月収)契約であればいくらでもある気がする。

これが悪いとは全然思わない。むしろ幸福度は高そう。

だって、がんばらないで自分にあった仕事ができるかもしれないんだから


要は、上も下も周囲の雑音も聞かずに自分にあった仕事ができればITエンジニア世間で言われてるほど大変な仕事じゃないはず。

まぁ、それができれば苦労はしないだろうけどね。

2017-11-23

Webサイト制作日記 WinSCPの動作テスト

ファイル転送ソフトWinSCP」でサーバー接続して動作テストを行ってみます

XREAサーバー接続情報

XREAレンタルサーバーアカウント作成したとき

  1. アカウント名(FTPユーザー名):masuda
  2. パスワード        :123456789abc
  3. FTPサーバー      :s1004.xrea.com

のような情報提供されます

 

確認方法

XREAサーバー管理画面 → サイト設定 → FTP設定 で確認できます

https://cp.xrea.com/site/ftp/

 

WinSCPの起動

WinSCP.exeダブルクリックします。

ログイン」画面が表示されたら、サーバー接続情報入力コピーします。上記の例だと、

  1. 転送プロトコル:SFTP(またはSCP)
  2. ホスト名: s1004.xrea.com
  3. ポート番号:22
  4. ユーザ名: masuda
  5. パスワード:123456789abc

になります

 

サーバー接続ログイン

WinSCPログイン画面でサーバー接続情報入力したら「ログインボタンクリックします。

接続されると、WinSCPの右半分がサーバー側のディレクトリーになります

「public_htmlフォルダの中が、Webサーバーの公開フォルダになっています

 

アップロードテスト

  1. 中身を適当に作った「index.html」や「test.html」等といったファイルを用意します。(HTMLファイルの作り方は「ドットインストール」等を参考にしてください。)
  2. WinSCPの左半分がローカル自分パソコンの中身)側になってます
  3. WinSCPの左半分側で作成した「index.html」があるフォルダに移動します。(WinSCPの上にあるフォルダの表示をクリックすると、フォルダを移動できます。)
  4. WinSCPの左(ローカルから右(サーバー)へ「index.html」をドラッグドロップすると、ファイルアップロードされます。(または、ファイル右クリックして「アップロード」をクリックしてもアップロードできます。)
  5. 右側のサーバー内に「index.html」が表示されたら、アップロード成功です。

 

これでWinSCPによるファイル転送確認できました。

WinSCPの詳細な使い方は、Google検索して解説記事を探せばOKです。)

2017-10-25

ドットインストール課金

月額いくらみたいな感じだけど、動画一本何百円みたいな課金もやってほしい。

あんな多岐にわたるジャンル勉強する必要なくて、見たい動画はごく一部だわ。

まあ、見たいときだけ課金ユーザーになって、見終わったらすぐ退会すればいいんだけど。

昔はやたらプログラミング学習サイトドットインストールすすめられてて確かによかったんだけど、無料で見れる動画がこう少なくなっちゃうとあんまりおすすめしづらくなっちゃった

あれ?さっきは第4回以降はプレミアムじゃないと見れないみたいな動画あったと思ったのに今全部みれる・・・なんでだろ

2017-10-10

anond:20171010140558

ない

そういうのはアビバがやってるステマです

最近は若年SIerを騙ってドットインストールで頑張ってますとかもよくある

2017-10-08

anond:20171008132156

正直ドットインストールとか付属チュートリアルなぞったからってどうなるもんでもないと思うんだけどな

もう一段階登ってからいろいろ考えたほうがいいと思う

2017-09-18

anond:20170918180013

土:仕事

日:午後まで寝て髪だけ切りに行った

今日台風なので篭もる。TWAで遊んでドットインストールHTML5のところ途中までやった。飽きたのでCSGOやる←イマココ

2017-06-12

anond:20170612184606

気持ちはすごく分かる 初中級の橋渡しをする役割が圧倒的に足りないと思う

とりあえずドットインストールでどうだろう 無料さらっとできる

jQueyぐらいならなんかあるだろう 調べてないけど

http://dotinstall.com/

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん