社会人のIT学習:#1. プログラミングとDB

前回、”社会人のIT学習:企画の予算感を把握するには” の続きです。
企画の予算感を把握できるようになるための学習として、プログラミングとDBを学習するにはどうしたらいいか書きます。
(エンジニアとしてのスキルをつけるためには、ここに書かれている内容では足りないです)

 

概要

プログラミングを学ぶと、どうプログラムが動くのか、どういう機能が大変(コストがかかる)か、イメージしやすくなります。
プログラミングに必要なインプットや求められるアウトプットが分かり、また、インフラなど他項目の学習効率も上がります。
なので、最初にプログラミングをある程度学ぶのがいいと思います。

また、多くの機能では、データの保存と抽出 が処理の主要部で、DB(SQL)をプログラミングとセットで勉強することをお勧めします。

プログラミングとDB(SQL)は、最低限、実際に手を動かした方がよいと思います。
あー、こういう機能は作るのが面倒だな、とか感覚が掴めます。

では、具体的にどういう学習をしていけばいいのか、下記3ステップを推奨します。カッコは目安時間です。

 

学習ステップ

#1.1. SQLの学習 (15h)

#1.2. プログラミングの基礎的な学習 (40h)

#1.3. WEBフレームワークの基礎的な学習 (30h)

#1.1. SQLの学習

多くのWEBシステムではでDB(データベース)を用います。DBにも多くの種類がありますがまずはMySQLからでいいでしょう。(*1)
DBとやりとりする命令文がSQLです。

プログラムとDB(SQL)との関連性は、例えば、このブログについて考えると、下記のようになります。

ブログを投稿する機能
→画面で入力された内容を、DBの記事テーブルに保存する。

ブログのトップページを表示する機能
→DBの記事テーブルに保存されている中から、(下書きでなく)公開済みの記事を、新しい順に10件取得して表示する。

個別の記事を表示する機能
→DBの記事テーブルに保存されている中から、URLにある記事番号に該当する記事を取得し表示する。下書きなど、公開でない場合は表示しない。

このように、多くの機能が、DBと密接に関連します。
実際のプロジェクトでも、「DBにどういう形で保存するか」「DBにあるデータをどういう条件で取ってくるか」を考えて、それ容易かどうかで見積り額を調整をすることが非常に多いです。

弊社では、研修で下記本のレベルのSQL学習を一通りやってもらってます。

書き込み式SQLのドリル 改訂新版
https://www.amazon.co.jp/gp/product/4822296210

やさしいSQL、のような、基礎的なものでもなんでもいいです。
ポイントは、実際にSQLを書いてみて、
・こういう風に書いたらどうなるかな?
・こういうデータを取る場合はどうやって書くんだろう?
と知識をなるべく横に広げながら、テキストの内容を習得することです。
単にテキストの内容を、そのまま書いて想定どおりの結果となっても、身に付いてないと思います。
SQLは、次のプログラミング学習に必要となるので、優しい内容は身に付くまで学習しましょう。

 

(*1) DBにもいろいろな種類があり、主にパフォーマンス要件によって使うDBが変わり(あるいは併用し)、開発手法も変わってきます。
例えば処理がむちゃくちゃ速いDBや、大量のデータに強いDB、検索に優れたDBなど。
ただ、一般的には、RDBといわれるものが使われる事が多く、特にMySQLがWEBサービスでは主流です。RDB同士では少なくとも基礎学習においては大きな差異はないです。

 

 

#1.2. プログラミングの基礎的な学習

プログラミングは、さまざまな言語があり、大きく分けると、サーバで動くものと、PCやスマホなどの端末で動くものがあります。
まずはサーバで動くものからやるとよいです。
PHP、Ruby、Python、JAVA、C#、GOなど種類がたくさんありますが、どれか1つでよいです。最近はPythonやGOなどが流行っていますが、PHPかRuby(On Rails)あたりが、資料も多く学習がやりやすいと思います。Pythonもいいかも。

まずは、基礎的な文法を学びます。いろんな関数がありますが、どのみち使うときはググることが多いので、関数の名前などはそれほど覚えないでもいいです。

弊社では、下記本を新入社員にやらせてます。

やさしいPHP 第3版 (「やさしい」シリーズ)
https://www.amazon.co.jp/gp/product/4797380896/

こちらもポイントは、ただ本に書いてあることをやるだけでなく、
・こう変えたらどうなるのか?
・こういう場合はどう書くのか?
を意識しながら、ちゃんと理解してスキルを身につけましょう。でないと、見積りにいかせません。

 

#1.3. WEBフレームワークの基礎的な学習

WEBサービスを作るときには、大体の場合、WEBフレームワークを用います。WEBフレームワークとは、WEBサービスを作りやすくするために、便利な機能をセットで提供するもの、というイメージです。
Ruby on Railsが有名です。PHPだとLaravelとかCakePHPとか。年々進化してます。

弊社ではマイナーなフレームワークを使うことが多いので、独自で研修プランを組んでいます。
本で学習するなら、10日で覚えるXX、のようなのでいいかと思います。

フレームワークは、お互い、持っている機能は似ていますが、やったことがないものだと学習コストがかかります。また、自由度の高いものや処理速度を重視しているものなど、それぞれ特徴があります。
フレームワークを勉強する際は、”はじめてフレームワークを使うときはこれだけ学習コストがかかる”というのを理解すると良いでしょう。

 

次回は、

#2. ネットワーク・インフラ・サービスレベル

です。

 

 目次

 社会人のIT学習:企画の予算感を把握するには

社会人のIT学習:#1. プログラミングとDB

社会人のIT学習:#2. ネットワーク・インフラ・サービスレベル

社会人のIT学習:企画の予算感を把握するには

先日、小学生向けにプログラミング教室 ArSchool(アルスクール)をはじめました。

その縁で、社会人のスキルとして、あるいは保護者の知識としてプログラミングを知りたい、勉強したいというお話をいただくことが多くなりました。
その中で質問されたことについて、一般的な内容なので深掘りしてここで紹介します。

質問 :

Web系サービスの立案で予算感を把握できるスキルを付けたいが、どういう学習をすればよいか?


回答 :

見積りに影響を与えるファクターは、思いつくだけで下記があり、条件次第で見積りはすぐ数倍の差がでます。
(分からない用語は読み流してください)

WHAT
・サービスの機能
・サービスのUI(デザイン等)
・ネットワーク/インフラ構成
・想定アクセス数、データボリューム
・パフォーマンス要件
・セキュリティレベル
・OSやブラウザなどの対応範囲
・SEOやOGPなどへの対応範囲
・納品物

WHO
・要件定義の粒度
・作業範囲
・発注側の熱意やスキル(リテラシー)

WHEN
・開始時期、納期

WHERE
・開発場所、開発環境

HOW
・プロジェクトの進め方(アジャイル、ウォーターフォール、承認フローなど)
・テストやQCの要求レベル
・運用保守への要求レベル(CIにどこまで対応するかなど)
・対象言語などの制約
・契約形態

WHY
特になし

 

これらを学ぶにはどうしたらいいか。

1つの方法として下記学習ステップを提唱します。カッコは、想定学習時間です。

#1. プログラミングとDB (85h)

#2. ネットワーク・インフラ・サービスレベル (30h)

#3. 開発フロー、運用フロー (20h)

#4. UI・デザイン概要 (20h)

#5. 契約やその他ファクター (20h)

#6. 市場の相場感把握 (?)

 

#2〜#5が少ないのは、手を動かさずに知識だけ学ぶ前提だからです。
#3, #5は特に、実際のプロジェクト以外で実習が難しいので。。

ただ、学習時間は学べる環境と個人のスキルで大きく左右されます。
特に#2〜#5は、きちんと学べる環境にいれば、おそらくこの6割くらい。

逆に、完全に独学だと、そもそも習得できるか微妙な上に、時間も倍くらいかかるかも知れません。
特に#6は、機密保持契約などにも絡んでくるので、学習が難しいです。

 

では、続いて

#1. プログラミングとDB

を書いていきたいと思います。

BBQ入門 この夏の第二弾、第三弾

BBQはこの夏、3回しました。初心者脱出なるか??

1回目は前回書いた、こちら(那須で子連れキャンプ(キャビン泊)超入門)です。

 

2回目は、お盆に、親戚(大人3人、中学生1人、小1、年少)で。公園でやりました。

身内ということもあって、色々実験しました。初心者は、ググっても、やってみないとよく分からないのです。

 

実験1: ホイルで丸焼き(さつまいも、玉ねぎ)

さつまいも

ググると、下記手順。

1. 新聞紙を水で濡らして、さつまいもに巻きつける

2. その上からアルミホイルを二重三重に巻く

3. 後は炭火にそのまま入れる

 

素人疑問。まず1. から。

新聞紙のインク、写らないの?大丈夫なの? > 不安だったので、キッチンペーパーにしました。

この水分で蒸されるのかな?けっこうビシャビシャでやった方が良さげです。インクはよくわからないし、新聞とってないのでキッチンペーパーでよいです。

 

2. は、普通のアルミホイル二重だと、トングで持ったときに破れました。

アルミは熱伝導がいいので、何重だろうと熱の通りはほぼ変わらないと思います。安全に三重くらいがいいのかなと思います。

 

3. は、ほんとにそのまんま(アルミのまま)放り入れて、焦げないの?あるいは炭が弱くならない?という疑問。

結論からいうと、全然だいじょうぶ。焦げない。炭も、元々そんなにぎゅうぎゅうで入ってないから大丈夫。

3,4人前のコンロだと、2,3本は入れられるかな。

 

で、20〜30分弱くらい待ちました。途中で1回、ひっくり返すといいらしい。

結論からいうと、かなりうまいです!石焼き芋の味。

かんたんだし、手が掛からないし、子供受けするので、おすすめです。(ただし時間が掛かるので、子どもの期待値を最初に上げないほうがよい。)

水加減、火加減次第だと思いますが、皮の近くが、干からびて食べにくかったので、細い芋より太い芋がいいと思います。

火が通るか怖くて、細いのにしちゃったけど。

これは定番昇格でいいですね。

 

玉ねぎ

そのまんま皮も剥かずアルミホイルでくるんで、炭火にポン。

20分くらい待って食べました。

うーーん、、美味しいんだけど、早かった。。

オニオングラタンスープのようなのをイメージしてたんですが、トロトロにはならなかった。

奥さんと、切れ目を入れたほうがいいかもね、という話になりました。胡椒とか書けてもいいかも。

どのみち、うちの子は食べなそう。今度はもうちょっと長くやってみたい。

 

 

実験2: アヒージョ

器に、オリーブオイル、にんにく、鷹の爪、塩を入れて具材を入れるだけ。

具材は、エビ、ブロッコリー、エリンギで実験。

結論からいうと、イマイチだったけど、次はうまくできそう、という感じでした。

 

失敗点

・先にオリーブオイルを加熱しすぎた

火にかけてからにんにくが見つからず。。温度が高くなってからにんにくを入れたので、すぐ焦げて、にんにくの香りを活かせなかった。

具材も、炒めてる感じになりました。

 

・塩が少なかった

結構多めに入れたほうがいいです。

 

あまり温度が高くないとこで、オリーブオイルを軽く加熱してからにんにくと鷹の爪投入し、香りが付いたら具材投入、これがいいと思います。

 

 

その他、学んだ点

・具材はコンロの近くに置く(置けるような机か棚があるとよい)

・焼けたものを取る大皿があった方がいい

どちらも、焼いてる途中に行ったり来たり、動線がぐちゃぐちゃになるし、せわしなくなります。

 

・キッチンバサミは使える

・鉄板はなくても、厚手のアルミホイルで十分(後片付けが楽)

7mmのアルミホイルとか売ってます。それはむっちゃ使える。アヒージョのお鍋にもなります。焼きそばの残りを鉄板ゴシゴシ、って大変よね。

 

・ウィンナーの消費が早い

・豚肉も結構人気

子どもは別に、牛じゃなくてもいいのよ。牛も好きだけど。

 

色々チャレンジしたいけど、怖いよねw

ということで、簡単そうなとこからレパートリー増やしつつ、効率的なやり方を覚えたい。

バタバタしてて、写真全然撮らなかったw

那須で子連れキャンプ(キャビン泊)超入門

パパは、なんとなくアウトドアをしたくなる。憧れる。

たぶん僕だけじゃなく、他の人も。

 IMG_0623

 

というわけで、7月に行った、ド素人の我が家のキャンプです。一歩踏み出してみようという方、ご参考になれば幸いです。

 

(1) ロケーション選び

■前提条件

・テントは怖いのでコテージとかキャビン的なの。(この時点でキャンプじゃない?)

・シャワーは浴びたい。

・BBQしたい。

・足りない道具など困ったときになんとかなる。

・東京から新幹線で行きやすい。(息子が鉄ちゃんなので。)

 

■結論

キャンプ・アンド・キャビンズ(那須)のカントリーキャビン・デッキプラスにしました。エアコンあり、電源あり。

IMG_0669

清潔、なんでもある、スーパー遠くない、子供が楽しめる施設充実。那須は他にも遊べるところがたくさんありそう。

なお、最後まで悩んだのが、初島アイランド・リゾート(熱海の近く) です。

土曜泊は混んでいるので、日曜泊にしました。(土曜は他のホテルに泊まって2泊3日)

 

 

(2) 夕食:BBQ

 夜は、メインイベント、BBQ。

新幹線だったので、ほぼ現地調達。細かくお金かかったので、車で持参した方が絶対トクです。調味料、食器、調理器具とか。

現地で買う場合、宿泊施設よりスーパーで買う方が安い。(ただ宿泊施設で買うと楽。。)

 

■宿泊施設の備え付け

コンロ、テーブル、椅子、炭用トング

 

■現地調達(レンタル or 購入)

網、鉄板、炭3kg、着火剤、チャッカマン、うちわ(なくても良かった)、椅子1脚(コンロ係用)

クーラーボックス、食器一式、包丁、まな板、ボール、食材用トング、マシュマロの串、ウォータージャグ(なくても良かった)

食材一式(調味料含む)、ポップコーンクッカー(材料付き)

 

■その他現地調達

蚊取り線香、ろうそく、花火

 

■持参

コーヒー入れる道具(小さいケトルとか)。コーヒー好きなので。

バナー、小さい鍋(登山用に買ったもの)

チャコールスターター

 

■献立

焼肉(牛&豚)、焼き野菜(しいたけ、玉ねぎ、にんじん)、焼きそば、ウィンナー、ホタテ焼き、ニジマス焼き、ポップコーン、マシュマロ、サラダ

ほぼ焼くだけ。!特に凝ったことなし!でも十分!

 

■ポイント

以前、火おこしに苦労したので、調べてチャコールスターターを持っていったけど大正解!全然手がかからない。

うちわも不要だった。火おこしさえハマらなければ、BBQはぐっと楽になります。

 

子供がじゃぶじゃぶ池で遊んでる間に、奥さんが下準備を全部してくれていたので、焼きはじめてからとてもスムーズでした。

火おこしも準備も順調で、子供も食べたし、良かったです。

 

 

(3) お風呂と宿泊

施設にきれいな大浴場があり、お風呂はまったく問題なし。コインシャワーもあります。

宿泊も、エアコン付きの清潔なキャビンなので、 問題なし。

2段ベッド+セミダブルで、ビニールでカバーされたマットレスのみだったので、奥さんだけ枕&ブランケットを借りました。僕と子供は普段からなくて寝てるので。。

僕は喘息持ちだったので埃っぽいの苦手だけどまったく問題なし。

IMG_0679

 

(4) 朝食

翌朝の朝食は、前日買っておいたパンと、バナーでお湯沸かして、カップヌードル。炭は面倒なので使わず。

電気ケトルもレンタルできるので、バナーとかない人でも何とでもなる。

 

 

(5) イベント

到着日のランチは、ハンバーガー作り体験があって、とても美味しかった!ソフトクリームも機械から自分で作れたり、いろいろ楽しめる。

日中はじゃぶじゃぶ池でずっと遊び、夜は花火。他のお客さんと子供同士仲良くなって遊んでた。

IMG_0651 IMG_0662IMG_0685

(6) 感想

足りないものがあったらどうしようとか、BBQの買い出しで経験がなく色々悩んだりしましたが、結果、大成功でした。

アウトドアやってみたい、でも不安、という我が家にはちょうどいいプランでした。

慣れてきて不安がなくなれば、もっともっと楽しめるはず。まずはBBQが余裕になって、工夫しだすと次のステップかな。

その次は、テント泊にチャレンジしたい。あと、車で行ったほうが絶対楽だな。。鉄ちゃんの息子がいる場合は要注意。。

(7) おまけ:他に那須で遊んだとこ

南ヶ丘牧場

入場無料。アイス作り体験(要予約)、ニジマス釣り(or 掴み取り)、うさぎの散歩、乗馬、動物に餌やりなど、色々楽しめます!おすすめ!

IMG_0641IMG_0611

ホテルエピナール那須

初日に宿泊。比較したホテルサンバレー那須が、良いプランがなかったのもあり、ここに決定。

プールがあって、ご飯はビュッフェ形式でおいしく、子連れには非常に良いです。

ただ、プールは、140cm(だっけな)未満は両腕にアームリング(浮き輪)を着けないとダメ 。

那須とりっくあーとぴあ

楽しかったけど、見て驚くってより(これを期待してた)写真に撮って楽しい感じ。全部で3館あるうち1館だけだったけど、ちょうど良かったかな。

[育児] 感性の開放、夢中

幼稚園の先生のお言葉を頂いて考えさせられました。

ご本人の許可を得ていないので、僕の言葉で書き直します。

IMG_0739
=====
・あまり難しそうでない遊び
・周りの友だちがやっている遊び
・お勉強に近い遊び

そういった遊びを知らず知らず選んでしまう子供になっていませんか?
子供本来の「○○(虫とか電車とか)が好き!」という気持ちが弱くなっていないでしょうか?
もしそうなら、何がその気持ちを弱らせるのでしょうか?

親に、周囲の方々に悪気はないのでしょう。
でも、(本人でなく)親が良いと思って”与えられた”おもちゃ、(やりたい放題でなく)”限られた時間”で遊びが終わらせられる環境で、子供が自分の感性を開放できるでしょうか。
集中して何かに夢中になることに、蓋をしてしまうのではないでしょうか。

1つのこと、好きなことに”集中”して”夢中”になる素晴らしさを今一度考えてみましょう。
=====

ぶっちゃけ、親もカツカツ、テンパりまくってますよ。親こそ、そんな環境が必要でしょ、って思ったり。
と正論に愚痴りつつ、やっぱり子供の環境を今一度考えてみようと思いました。