学びは一生!駆け出しプログラマー" ゆき "のブログ

プログラムや、Webのこと時々デザインのこと、発信していきたいと考えています。極稀にメンタル的な話をしています。ご覧いただけましたら間違いや、思われたこといただけましたら励みや学びになります。よろしくお願いいたします。

初心者プログラマー(エンジニア)

初心者プログラマーの皆様
お疲れ様です。
就活その他頑張っておられると思いますが
現状いかがでしょうか。

大阪の現状は、まだまだ未経験者のプログラマー採用や、案件は
厳しいとの営業さんの話です。

f:id:light_no_vel:20190708145131j:plain

「エンジニアは足りていない」とのことですが
ではなぜ、案件や就活が厳しいか。
それは、未経験でのスクール(TECH::EXPERTなどの)卒業者は腐るほどいるそうです。
どんだけ優秀でも、一人で開発できてもそのレベルが商業レベルでないと現状厳しいようです。
また、今後もその状況は今後も続くそうです。
そして、若い女性に関しては更に厳しいとのお話を伺いました。
「せっかく何年かけて育てても、結婚や出産で辞めてしまうので採らないし、採用しにくい」
だそうです。(昔からある話ですが、特に最近は安易に辞める人が多いとのことです)
では、ベテラン陣営はというとできるエンジニアはといいますと、
海外へ出る傾向にあるそうです。
それは、給与や勤務体系にあるそうです。
日本にいても賃金が安い、労働時間が長い。
とある国での話ですが、「日本は賃金安いし真面目に働く、質もいいから
日本企業にやらせておけばいい。」
との認識になっているとのこと。

f:id:light_no_vel:20190708145440j:plain

さて、大阪ですがやはりというべきですが、JAVAメインはまだまだ変わらないようです。
私も、JAVAなど勉強していますが、Rubyはいいですね、楽です。
こんだけのコードで動くなんて、素敵な言語 と身にしみて感じています。

話は戻りまして、
絶望的に感じますが、私自身は特に悲観していません。
そういう流れができているなら、必ず打開策というか、
必ず対策が採られてきたからです。

諦めず自分のできることを進めることが、自分のためになると信じて
共にがんばりましょう。

お仕事お待ちしております。
creater-luck.net

オブジェクト指向について(vol2)

オブジェクト指向の三大要素

オブジェクト指向について引き続き記載していきたいと思います。

おさらい:オブジェクト指向とは
オブジェクトをカプセル化することにより、仕様変更による影響範囲を極小にとどめて、
開発効率を高めるための方法論がオブジェクト指向です。

なぜかって?
私が今力を入れて復習しているからです<(v_v)>すみません(^_^;)

1. 継承
3. ポリモーフィズム

それぞれ、噛み砕いて説明いたします。

継承

特徴を共有すること

例えば、秋田犬の「ハヤテ」という犬がいるとします。
生物の特徴 
哺乳類の特徴
犬の特徴
秋田犬の特徴
「ハヤテ」
という具合に順に特徴を引き継ぐような形で進みます。
これが、継承

カプセル化

機能とデータの範囲を明確にすること

これは、すみません例えが浮かばなかったので、まんまお伝えすると、
モノにカバーをかぶせて隠してしまうことだそうです。
これには、意味があります。
オブジェクト指向では、オブジェクトの持つ属性(変数)を
外部から書き換えたり、参照されることは良くないこととされているため、
隠すべきところは隠さないといけないというわけですね。

ポリモーフィズム

使い分け

なにそれ、それだけ?
と思われるかもしれません。
という方のために、
qiita.com
をご覧いただければ説明されています。

例えばですね生徒(クラス)があるとします。
起立してくださいという命令をしましたら、
A君は勢いよく立つかもしれません。
B君は面倒だな〜と言いながら、のんびり立つかもしれません。
Cさんはスクッとしなやかに立つかもしれません。
同じ生徒でも動作の振る舞いに差が生じます。
この差のことを、ポリモーフィズムというんですね。

それぞれ、三大要素と言われるのですから、重要なので
きちんと特徴と名前を覚えておきたいと思う”ゆき”なのでした〜!

ところでなぜ、オブジェクト指向は、理解しにくい、わかりづらいのでしょうか?

それはですね、オブジェクト指向は「概念」や「思想」のことだからですね。
概念や思想は「モノそれぞれの考え方」を表しているので、それを理解していくには
難しいのです。
噛み砕いて言えば、自分以外の友達や家族が何を考え、どのように感じている
のか、完全に把握し理解することは難しいですよね?

しかし、プログラムにおいて概念や思想を理解することは大切なのでがんばりましょう。

ではではまた、いつも短くて申し訳ございません。

こちら面白い記事ですので参考に!
paiza.hatenablog.com


お仕事お待ちしております。
creater-luck.net

オブジェクト指向について

オブジェクト指向って?

 今日企業様に行きお話を伺った。
「近頃、スクールに通って就職活動されている方多いよね、
スクールでどういうカリキュラムしているかわからないけど、
正直使い物にならないよね。うちでも何人か採用して従業員にもいるけど、
結局オブジェクト指向がわかっていないから、そこから教えるんだよね。」

というお言葉をいただきました。
何というタイムリーな話題。

実は、そこにものすごく疑問を持った私は先日大手書店にてオブジェクト指向
書籍を購入し読み始めたばかり。

オブジェクト指向wikiペディアより)

オブジェクト指向(オブジェクトしこう、英: object-oriented)は、ソフトウェア工学理論の一つであり、ソフトウェア設計とプログラム記述の際に用いられる考え方である。元々は特定のプログラミング・パラダイムを説明する為に考案された言葉だった。object-oriented programmingのように修飾語として用いられるのが常であり、それ単体で扱われる事はない漠然とした設計構想でもある。

・・・うーん、わかるようなわからないような・・・。

ちなみに、
・オブジェクトを説明してください。
・クラスを説明してください。
それぞれ紙に書き出してみてください。

どうですか?
かけました?

私は、なんとか書き出せました。
私が書き出したもの。
・オブジェクト
「モノ、個、名前、概念、物体、区別などなど」
・クラス
「種類、総称(かたまり)、種別」

われながら、ボキャブラリが少ない・・・。

書籍によると、

・オブジェクトはモノ
(プログラミングの対象すべて)
・クラスは分類

だそうです。

こうとも書いていました、
オブジェクトは

実体のある「モノ」

実体のない「モノ」(概念)

クラス例:(3つの要素)

名前(クラスそのものの名前)

データ(属性)

振る舞い(動作)


勉強になりますね。

ご存知の方は、サラッと「こいつ超初心者だな、」って感じで流してくださいね。

なんで、こういうことを今更言うか?
お話させていただいた方いわく、
オブジェクト指向がしっかりわかっているのとわからないとでは、
JAVARubyを学んでからの吸収能力に差がででるんだよね。」
とのこと。

同じスクールに通っていた方に上記質問しても答えが出てきませんでした。
ちなみに、カリキュラムは終えています。

お話しいただきましたIT企業の社長様、お忙しい中お話ありがとうございました。

ITエンジニア不足のお話、取り組みの話。
何より社員を一番に考え、育てることで自社価値をあげて一緒に幸せになるという姿勢。
努力する方へのサポートは惜しまない考え。
感銘受けました。
夢物語ではなく現実的に勧められている行動力も含め、
口だけではないというところものすごく感動いたしました。

お世話になることがございましたらよろしくお願いいたします。


などと、プログラムに関することは少なかったですが少しは有意義なお話ができたならば幸いです。

本日はここまでで失礼おば。

ありがとうございました。

お仕事お待ちしております。
creater-luck.net

Active Strage というGem

 いや〜便利便利と思っていますが、Gemについては情報を
入れておくべきですね。
世の中のことについてもしかりですが、
「無知は罪なり、知は空虚なり、英知を持つもの英雄なり」
とはよく言ったものです。
もう少し、Gemについては調べて学ぶべきだと思いました。

さて、「ActivStrage」なるものですが、

Active StorageとはAmazon S3Google Cloud Storage、Microsoft Azure Storageのような
クラウドストレージサービスへのファイルのアップロードとそれらのファイルを
Active Recordオブジェクトに添付することを容易にするもの。
今までやっていた、「carriwave」の仕事をパワーアップして簡単にしたもの?
多少語弊はありますがご愛嬌でお願いします。

何が便利なのか、ドラッグアンドドロップや複数画像の保存が安易にできてしまうあたりでしょうか。

参考になるサイト:
railsguides.jp
qiita.com
Rails 5.2新機能を先行チェック!Active Storage/ダイレクトアップロード/Early Hintsほか(翻訳)
Rails 5.2で追加予定のActiveStorageを使ってみる - ユニファ開発者ブログ
Rails5 Active Storageを使って画像アップロード機能を実装する - 真夜中エンジニアリング

そうですね、上記サイトだけでとりあえずの実装を行うことができました。
まだまだ、問題があるGemですが今後改良がなされ便利になるのではと思っています。

画像アップロードGem Carriwave:
github.com

もし、駆け出しプログラマーにおすすめGemがございましたら、
ご一報いただけましたら幸いです。

今日はここまでではでは。


お仕事お待ちしております。
creater-luck.net

技術系のブログってどうなの?!

技術系のブログ

(IT言語系〜WEBデザインまで)
世の中には、言語からデザインまで本当に多くのブログがあります。
もちろん、このブログもしかり(まだ、技術に関しては書いていないに等しいですが)
「まだ、本気出してね〜し!」
ということで、私もとても助けられました。
でも中には古すぎて、使えないもの(5年前など)や
明らかに、間違っているものも
悲しい話ですが存在しています。

「だったら、私こそが正しいコード書いてやんよっ!」

ゴメンナサイm(_ _)m
駆け出しプログラマーのオイラには、そんな素敵なコードかけるわけもなく…。

Qiita

qiita.com
Qiitaとは・・・
[ Qiitaは、プログラミングに関する知識を記録・共有するためのサービスです。 ]
と書いてあります。

はてなブログ

b.hatena.ne.jp
[ 言わずとしれた、こちらのブログエンジニア系に大人気! ]

TECHFEED

techfeed.io
[ 技術者の情報系サイト? ]

LIG

liginc.co.jp
[ 個人的にお気に入りの会社系ブログ ]

WEBクリエイターボックス

www.webcreatorbox.com
[ WEBサイト制作会社勤務時からお世話になっており、とても素敵なブログ! ]

他にも上げればキリがないですが、ほとんど個人的な趣味で選んでますが、
参考にしていただければと思います。

今日はここまでで失礼いたします。


「正しくきれいなコードは、プログラマーの名刺がわりになる。」
師と仰ぐかたの言葉で、ずっと覚えているありがたいお言葉。


お仕事お待ちしております。
creater-luck.net

Rubyの "V" のお話 Vol1

 いきなり、こんなところからと思われるかもしれない、
そこはご愛嬌で…お許しくださいませ

Haml と Slim 覇権争い!

大げさに書きましたが、正直どうでもいいですよね?
そう、どうでもいいんです。
本当に。

しかし、僕はHamlで書くことにメリットを感じないんです。

Hamlとは・・・

Hamlは「マークアプは美しくあるべき」という原則に基づいて開発さた
Viewファイルを「綺麗に」「読みやすく」「生産的に」作成するためのもの。

Slimとは

Hamlよりもシンプル。
あとはHamlと同じ…すみません…。

erbファイル

<!DOCTYPE html>
<html>
<head>
  <title>SlimTest</title>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>
</head>
<body>

<header id="header">
  <h1 class="title logo">Slim Test</h1>
</header>

<%= yield %>

</body>
</html>


Slimファイル

DOCTYPE
html
  head
    title SlimTest
    = stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true
    = javascript_include_tag 'application', 'data-turbolinks-track' => true
    = csrf_meta_tags

  body

    header#header
      h1.title.logo Slim Test

    == yield

では、
Hamlファイルです。

# app/views/layouts/application.html.haml
!!! 5
%html
  %head
    %title HamlTest
    = stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true
    = javascript_include_tag 'application', 'data-turbolinks-track' => true
    = csrf_meta_tags

  %body

  = yield


いかがでしょうか、どちらがシンプルで書きやすいかは、一目瞭然!

現に、Slimのほうが速度が早い少しですが…。


こちらの記事では技術的な説明は割愛いたします。
他の方が、いっぱい書いていますので。

qiita.com
こちらを、参照にSlimを導入してみるのも良いかと思います。

haml.info
Haml本家

slim-lang.com
Slim本家

実は学んだのはHamlだったんです。
いまでも僕の中では、なぜHamlを学んだのか。

しかし、個人的にいろいろなブログやら、なんやら、
拝見いたしまして、自分なりにかんがえました。

結論、Slimにたどり着いて学んだ次第です。


次回からも、プログラミングお伝えいたします。


お仕事お待ちしております。
creater-luck.net

TECH::EXPERT との出会い

web の仕事を約10年してきました。
ずーっと考えていました。
自分で仕事をしてみたい。
いや、企業でやっていくことも少し考えています。
しかし、どちらにせよ技術力が足りないと考えた私は、
やっとの思いで、まさに清水の舞台から飛び降りるつもりで
通いました。

f:id:light_no_vel:20190510105849j:plain

いろいろな、IT系学校にプログラムを学びたいと思っている方の
参考になればと書いてみました。

TEHC::EXPERT
侍エンジニア塾
デジタルハリウッド
TechAcademy

それぞれの、学習系企業(教育機関ではありません)について
「何でもは知らないわよ。知ってることだけ」
ってな具合で語ります。

TEHC::EXPERT

tech-camp.in


言わずとしれた⁉
通い系 
就職、フリーランス
場所と独自のカリキュラムで、
勉強する癖とやりかたと少しのプログラム(脱初心者くらいまで)
を学べるのではないでしょうか。
チーム開発などもあり、意識高い仲間も
獲得できるのでおすすめです。
本人次第的な部分も多いので、そこはやり方次第
意識が高くないと入らないほうが良い。

デジタルハリウッド

school.dhw.co.jp


通い系(オンラインあり)
就職、知識、その他
場所と独自カリキュラム、半分以上は動画での学び
特に学校の授業のように粛々とやる感じ、
仲間はほぼできない、自主性が9割しめます。
また、教えてくれる方も企業の社長だったりするので
あまり教えることに特化していないし気分でやっている部分もある。
グラフィック系特化している気がする。

TechAcademy

techacademy.jp



オンラインスクール
就職、知識、その他
メンターがつき、質問時間も長い。
メンター次第なところもあり、
メンターは副業中心のため、メンター次第では
あまり…おすすめできない。
自主的に学ぶことができない方はお金が勿体無い。
カリキュラムは、有限に見ることできます(存在する限り)

侍エンジニア塾

www.sejuku.net


無料体験?
その時点で、何故かキレられる。
メールもひどいこと書かれた。
マンツーマン、案件保証フリーランス向け。
通っている方から聞いた。
マンツーマンの講師?(メンター)次第
一般書籍をベースに教えている。
掛けができる、お金持ちさん向け。



少しでも参考になれば幸いです。

今後は、アウトプットできればと考えてます。

長々と失礼いたしました。