Rubyな私、17日目。(今日は普通のブログ)

雨ですね。こもってプログラミングしていると、天気って全く感じないですね‥驚き。

さて、わたくしRailsのカリキュラムをガシガシ進めてます。

<p><strong><%= お嬢ちゃん、プログラミングに軽い気持ちで手を出したら火傷するぜ %></strong></p>

と思い始めた、Rubyな私、17日目です。

<% 何がCSSで何がHTMLで何がRubyでgemファイルにはどんな機能があるから、プログラミングしなくてOKなのか…。%>
#心の声だから非表示。

 

・学んだ技術。
・技術勉強会に行きたくなる理由。

の2本で参ります!(おまけあるよ)

---------------------------------------------------
学んだ技術
---------------------------------------------------
・コントローラー:ルーティングとビューをつなぐ。Railsの処理はルーティング→コントローラー→ビューで実行される。

・HTTPリクエスト:①get②post③delateがある。

①ウェブサイト閲覧(サーバ→ブラウザに情報返す)
②情報の登録etc(ブラウザ→サーバ→サーバ保存)
③アカウント削除etc(ブラウザ→サーバ→サーバ情報削除)

スクレイピング:ウェブサイトのHTMLから特定のデータを取得すること。

・ターミナルの操作
cd→pwd→ls→cd Desktop

・HTMLファイルのなかのRuby操作:
<%= 表示させる %>
<% 表示しない %>

・migrateファイル:1回つくって反映されたら、ファイルを消してもDB構成は変わらない。だから消してOK。

・command option i → 要素の検証



---------------------------------------------------
技術勉強会に行きたくなる理由:
---------------------------------------------------
キャリアコンサルタント時代(7年前?!)、土曜日の出勤がちょっと苦痛でした。
周りの大半は休んでいるのになぜわたしは出勤せねばならないのか。こんなに嫌なことなのに、なんでエンジニアの方ってお休みの日に勉強会に参加するんだろう、熱心だなー、技術好きなんだなー、すごいなーと当時は思ってました。

確かに技術好きな人は多いと思います。
きっとわたしがネイルやダンスが好きなのと同じ感覚で、好きだから勉強しに行く。

プログラミングをやってわかったことは、

よりサービスパフォーマンスがあがる技術はないのか?
効率的に開発ができる手法はないのか?

これがとても大事であること。

確かにググれば技術や方法は出てくることも沢山あるかもしれないけど、一生ググってたら時間がもったいないしそれこそ非効率。
情報はバラバラなところに少しずつあるし。
そもそも新しい技術だったらまだ情報すらないことも多い。

もっと仕事効率的にしたい!そう思ったら、勉強会に行ったほうがよっぽど仕事が早くなる、楽になる(※注釈)、楽になってもっといいものできる。

だから勉強会に行くんだなと、わかりました。

(前回HTML5オールスターズの勉強会に参加させて頂いて、目からうろこなことばっかりだった。これ使ったら楽になるじゃん!早く自分のサービス作れるじゃん!と感じる技術が沢山紹介されてました。)

「土曜日の勉強会 ≠ 仕事」「土曜日の勉強会 = 目指している姿に近づける情報の宝庫/仕事を楽にする魔法の会」

です。

※「仕事を楽にする」は語弊があるといけないので注釈致します。
同じアウトプットが出るなら、私は楽にアウトプットを出せる方を選ぶ。
こんなニュアンスです。

--------------------------------------------------
おまけ
---------------------------------------------------
おまけ1
先日うちのチームのエンジニアがティータイムのためにつくってきてくれた作品。
(なんと防腐剤まで入ってたYO)
さあ、❤パンダはどれだ?!

f:id:hhhiiirommmiii-o:20150618004040j:plain

 

おまけ2
今日お会いできた、前職の方に頂いたもの。
(ありがとうございます!お元気そうでよかった^^。またぜひ飲みたいっす!)

f:id:hhhiiirommmiii-o:20150618005100j:plain

リア充なわけではないです。むしろ必死w
もう30overなのに失敗ばっかりだし、皆さんにご迷惑かけまくっていて、自分が情けない。それでもやりたいし、やってたら、こうやっていいこともある。

プログラミングだってこのあとCAMP終わったら一人でできるのか、ちょー不安。
(やらなかったら超絶恥ずかしいw)
だけど、応援してくれる人がいる、作りたいものがある、だからやる。

改めて身近な人たちがHAPPYになれるような世界を創りたいと思った。
身近な人 ≠ これまでの世界。身近な人は増えれば増えるほど幸せな世界。だから、これからも身近だと思える人を増やしたい。
お付き合い頂ける方に、ご指摘頂ける方に、本当に感謝。

 

おまけ3
教えることが上手な人は素敵と思う。
理由:

①教える自分が十分に理解していない(噛み砕けていない)と、教えられる人に本質的に教えてるのは難しい。
②相手の立場、状況を理解していないと適切なアドバイス・加減で伝えるのは難しい。
※TECH::CAMPの先生は長けてる、上手。
CAMP、つかの間の10分休憩。そのときに先生が出してくれるお菓子(ひとりぼっちな私に話しかけてくれる優しい先生がいます。おせんべい食べやすいように割ってくれてる)。

f:id:hhhiiirommmiii-o:20150618010509j:plain

Rubyな私、15日目。(今回は勉強会レポートなり)

Rubyな私15日目。
Rails難しくなってきたよーーーー!(覚醒するまで頑張る、覚醒するまで頑張る×100…)

先週土曜日はHTMLHTML5の勉強会に同日開催された、2本参加させて頂きました!
のでレポート致します!


そもそもなぜ2本も??
皆様御存知かとは思いますが、少し説明。
2015/06/13土曜は、htmldayという日で、日本全国各地でhtmlの勉強会が同時開催された日だったんです!

www.htmlday.jp

 

わたしが参加させて頂いたのはこちら。

eventdots.jp

eventdots.jp

当日は同じ会場で2本立て続けに行われる勉強会!
これまで何度かIT勉強会の運営をお手伝いさせて頂きましたが、始めての経験でしたw
今回は発表をちゃんと聞くことができたHTML5オールスターズの発表についてレポート!

【前置き】
なんちゃら(今回はHTML5)オールスターズ:
数名の方にご登壇頂いて、最後にベストプレゼンターをリスナー全員の投票制で決定するというもの。

今回はご登壇者8名によるプレゼンをプログラミング経験2週間のわたくしが、ご登壇を聴いていてわかったことをメインにレポート致します!
(ご登壇者の方、もし本ブログを見かけてしまったら内容ご容赦ください…来年はもっとイケてるレポートできるようにPGスキルUPしてます!)


川田 寛氏
モバイルwebについてのお話。
PCよりもモバイルwebのほうが需要が高くなってきた近年。
モバイル環境のこと、考えて開発しないといけない。

大事なワード:
モバイルの消費電力を抑えるには、1バックライト、2ネットワークインターフェース。



安田 絹子氏
紅一点、子育て中のママエンジニア。
日曜から出張に行かれるとのこと。子育て+エンジニア+ご登壇までこなされていて、とても素敵だなーと思いました。安田さんのような方がご登壇されるとそれだけで、女性エンジニアにとっては励みになりますね。

API、をまだちゃんと理解していないわたしなのでレポートは以下となります。
大事なワード:
Servise Workerから色々なAPIが出ている!画期的なAPI
(ちょっとこれはごめんなさい、、勉強してから出直します)

 

吉川 徹氏
オフラインwebアプリケーションについてのお話。
注目ワード:application_cache
色々な歴史があるようで、期待値高く世に出たものの一度こけて期待値下がって、今また注目されている技術。
画期的な技術:
lovefield…SQLライクに操作できる。
プログラミング始めて2週間のわたしでも便利そうだなと思ったツールだった。

 

小松 健作氏
Polymer:現在のver.1.0。
 特徴

  →ウェブコンポーネンツを使いやすくする。
  →クロスブラウザでも使えるようになった。
  →タグを宣言することによって、楽にコンポーネントとして追加することができる。

 すごいこと
  →高速化が図れる。
  →35%LESS CODE


増井 雄一郎氏 
HTML5オールスターズ、ベストプレゼンターを受賞されました。

ReactJSについてのお話。
個人的にツールをつくったりもされている、IT芸人と呼ばれているとても面白い方でした。(大ファンになった!)

ReactJS
※これがすごい!!!今まで(といっても2週間だけど)わたしにはなかった視点の技術だった!
JSのなかにHTMLが直接入ってる。コードペン(増井ドライブに入ってるよ。)
特徴
 →必ずテンプレートからしか呼び出せないので、差し替えをするときに調査しやすい、楽。
 →プログラムを簡単に書いて、簡単に修正することができる。
  この概念は息の長いプロダクトをつくる際に大事なこと。

実際にデモを見せてくださり、技術の特徴や今日から使えそう!というイメージが沸くプレゼンだなーと感じました。

 

若狭 正生氏
ハードウェア怖い、話。

f:id:hhhiiirommmiii-o:20150615230754j:plain

色んなHW出てきているけど、全部これまでのITサービス、技術と連動してくるよ、というお話。
確かに。これまでなかったHWが開発されると当然アプリケーションと連動してくるわけで…ソフトウェアだけではなくHWの知識も今後身につけなくてはいけない〜。
ibeacon
温度とかも送信できる。
NodeJSはとても簡単。

BaaS+IoT
ハードウェアから直接送信できる

カードボード
unityなどの組み合わせ?

イープモーション
HPのPCにも内蔵されている
leap.js 触らなくても手の位置とかがわかる装置?

CREATIVE(PCに内蔵)
言語認識、表情認識、心拍センサーなどが取れるマシーン。
JSとかで実装して使えるようになる。

ポイント:
どんなデータが飛んでくるのか、入ってるのかを知らないと結局webに綺麗に見せることができない。


物江 修氏
1本目のご登壇からご異動頂いて、発表ギリギリのお時間、ぶっつけ本番でご登壇された物江様。そんな大忙しな物江様、めちゃ素敵な技術ご紹介頂きました。

Universal Windows Platform:色んなアプリケーションと接続が可能。
↓↓これすごい技術!と今回の勉強会で一番感動したもの↓↓
Visual Studio Code 30以上の言語対応してる、どのOSでも動く、GitHubでソースコントロール。
Ruby勉強してるわたしですが、多言語への移行ってできるものですか?と数十人のエンジニアに聞いたところ、本当にPGを理解していないと難しい、と言われてガクーンとなっていました。
でもこれつかったら、大丈夫なんじゃないの?!やった!と思ったテクノロジーです。
(実際はこの技術を扱えるようになるまでに時間がかかるかもしれないけど…)

 

泉水 翔吾氏

https://image.slidesharecdn.com/begin-ecmascript6-150613080322-lva1-app6891/95/ecmascript-6-1-638.jpg?cb=1434183163

すみません、わたくしが当日の運営をしていた関係で泉水様のご登壇を伺うことはできませんでした><

が、2本目のご登壇の前にわたくしが空き時間でRubyの勉強をしていたところ、
Rubyやったことない、とおっしゃりながら、色々と問題を解決くださいました。
やっぱりテクノロジーに長けている方は、感覚的におわかりになるんですね、素敵です。

今回は、スポンサードがついていたこともあり、懇親会もとてもゴージャズ!
(食べ物も飲み物も充実していて、最後にはスウィーツも出たよ(^o^))

f:id:hhhiiirommmiii-o:20150615231943j:plain

 

今回のベストプレゼンターはIT芸人、増井さん!!!

f:id:hhhiiirommmiii-o:20150615232023j:plain

 

ということで、とても盛り上がった勉強会でした。
いつかわたしも登壇できるくらいのエンジニアになるんだ!と心に誓った日となりました。

f:id:hhhiiirommmiii-o:20150615232129j:plain



Rubyな私、12日目。

誰ですか!
「HTML・CSSは簡単なプログラミングですからねー」と言ったのは。
ぜんっっっぜん簡単ではございませーーーん。奥深すぎです。


RubyGirl10日目には、codeテストあったのですが、ちんぷんかんぷんで心折れそうになりました。
でも昨日すっかり立ち直りました!!!(早い♪)

 

そんな、Rubyな私、12日目。


・学んだこと(わたしの備忘録)
・初心者にとってプログラミングとは「中学受験である」(プログラミング始める方へ)

・心折れずに続ける方法(プログラミングスタートした方へ)

-----------------------------------
学んだこと(備忘録)
-----------------------------------
覚えることがありすぎる!
(でもTECH::CAMPの先生達は「Ruby開発は大体2ヶ月でマスターしました」という人たちが大半だからわたしも頑張る。

ちなみに先生(メンターと呼ばれてる)達は学生さんが多い。一方でその辺の社会人一年目のビジネスマンより敬語の使い方や応対が丁寧、何より「受講者を理解させる」ことへのコミットがとても高い。個人的にはテクノロジー的な部分だけではなく、そういった面でも学びになっています。)

CSS・HTML

・画面で右クリック→要素の検証でチェックできる。
CSS <div>→CSSでレイアウトや装飾をするときに使うブロック要素。
CSS <p>→(paragraphの略)段落を示すもの。

・HTML <h2 class="subtitle">ようこそタイトル名</h2>
                 <h3 class="subtitle">名前</3>
   CSS       subtitle {
                    color: red;
                  }

Rails
・処理の仕方:ルーティング→コントローラー→モデル→ビュー(=MVCと呼ばれる)
・部分テンプレート:同じHTML構造の部分を共通化することにいより、無駄なくビューファイルを作成することができる。
・rederメソッド:部分テンプレートを呼び脱すときに利用するメソッド。reder partial
Ruby code :<%=   radio%>  sublime text の拡張子は.erbのとこに書く。
・@〜:で箱をつくる(クラス)

ショートカット
・command+T:新しいタブを開く。
・command+shift+F:文字を入力するとどこにあるか探してくれる(sublime text)
・option+command+U:プログラミングを表示する。

 

Gem

・devise:ログイン昨日を簡単に作成することができる。

 

Sequel Pro
・アソシエーション:モデル間の関連付けを管理する機能。
          モデルをまたいだデータの呼び出しをより簡単に行うことができる。
・レコードとカラム:横のラインがレコード、縦の箱がカラム(図書きたい><)

         

-----------------------------------
初心者にとってプログラミングとは(プログラミング始める方へ)

-----------------------------------
結論:中学生受験である。

唯一高校受験だけは経験がないわたくしですが、プログラミングを例えるなら大学受験でも小学校受験でもなく、絶対中学受験。

小学校受験
ぶっっちゃけよくわからんw
でんぐり返ししたりジャングルジム登ってみたり…かと思えばお父さんの職業言わされたりする。
いつも黒い画面に緑色の文字が浮かび上がっているコンピュータに向かっている父を見ていたわたし。
Q;お父さんの職業は?
A;小説家
全然違うw

中学受験=
鶴亀算とか植木算とか、漢文とか作文とか・・・解を導くためのHOWの用語をまず覚える。そしてどのHOWをつかっても導けた解が正しければ、正解。最悪手計算でもOK、だけど時間がかかるし、それは極めてカッコ悪い、美しくない。

大学受験(文系)=
兎に角、詰め込み。inputinputinput…ひたすらインプット!沢山単語が入った引き出しをひたすら頭の中で作り続け、試験当日はその引き出しから解答を取り出すだけ。(理系は違うのかな?)

 

プログラミングは、まず専門用語やメソッドのインプット(ここわたしにとって、第一の壁)。
そしてインプットしたものをつかって解を導き出す、その方法は多数。でも解を導き出すHOWが美しい美しくないで定義できる。
だからやっぱりプログラミングは中学受験。
私の記憶では中学受験は最初泣きながら勉強してた、でも覚醒してからはすごい楽しかった。たぶんプログラミングも一緒、このあと覚醒するんだ!

 

-----------------------------------
折れずにプログラミングを続ける方法(プログラミング始めた方へ)
-----------------------------------
昨晩まで折れそうだった私が、プログラミングへのメラメラが復活した理由。

・つくりたいものが明確になった。
   ∟絶対つくりたいから、頑張れる。
・知人で、同じ言語で開発している人を見つけた。
   ∟開発にまつわる「あるある」を話せたり、開発文法をつかって会話したりすると単純に楽しい。何か世界が広がった感じ。
・近くに趣味でプログラミングを始めてサービスつくった人がいて、話を聞いてもらえた。
   ∟悩むポイントとか共感してくれる、そして解決策をいくつか提示してくれるからストレスフリーになる、不安がなくなる。あと良い目標になる。


今日はこれでおしまい。

Rubyな私、8日目。

TECH::CAMPに通い始めて8日が過ぎました!(一旦1週間乗り切ったw)

 

今日は

 

・(自分の備忘録として)これまで学んだ技術的なこと

・はじめてプログラミンをして気づいたこと

・このブログを読んで頂いている皆様へのお願い

 

について書きます。

 

------------------------------------------

これまで学んだ技術・言葉

------------------------------------------

 

基礎的な専門用語(なかでもなかなか覚えられなかった言葉):

 ・変数→オブジェクトを格納するための入れ物。

   ex)string="Hello World"  String=変数

 

 ・メソッド→プログラミングにおける何らかの処理をする命令群。

 

 ・while文→繰り返し処理を行う方法(exitで無限ループをとめる)

   while true do

              exit

          end

 

 ・引数→プログラムでメソッドなどに渡すことができる値。

   def mixier(fruit)           #mixier=メソッド (fruit)=変数

              puts "#{fluit}を細かく砕く”

      return "#{fruit}ジュース"     #return=返り値を返すためもの

          end

         puts mixer("りんご")       #("りんご")=引数

 

  ・to_i→文字列を数値オブジェクトに変換

 

  ・gets→入力を待つ

 

  ・ディレクトリー→コンピュータ上で風数のファイルを整理するためのファイルの入れ物。

 

5日間で学んだ技術:

Ruby でアプリケーションを作る。

 →Sublime Textをつかってひたすら例文を写経し、結果をターミナルで確認。

・HTML、CSSをつかってwebページを作成する。

 →同じくSublime Textwつかってひたすら例文を写経、結果をローカルで確認。

Railsの開発環境を構築する。

 →OSのバージョンUP、MySQLのダウンロード、MySQLの管理ツールSequel Proのダンロード。

 

------------------------------------------

 

プログラミングを学んで気づいたこと(めっちゃある):

------------------------------------------

1)「新しい言語の習得のために自宅で勉強した」という人が業務ですぐにアウトプットを出せるのか、問題について。

 (特にエンジニアのヒアリングをするキャリアコンサルタントの人に参考にして頂けるかと思います。)

 

結論、色んな言語でゼロからサービスつくってきた経験が何度かある人、もしくは自分で習得した言語を使って新しくサービスをつくった人じゃないと業務ではアウトプット出せないと思う。

  ∟これは自分のこれまでを反省するために書いてます。

   現在私はひたすらサンプルコード写経しているわけですが、それでも意味わからん!となることが多いので、前提自力で新しい技術を勉強を重ねている人は素晴らしいと思います。でもサンプルコード(=正解)があるものをつかってアプリケーションを作る、ことはめちゃ頑張ればできる。

   新しく企画したもの(企画されたもの)を、実際にどのメソッドを使ってプログラミングをするのか、それはその言語の概念や特性理解などをしていないと相当難しいと思う。実際に自分は少しかけるようになったけど、自分でこのアプリつくってみよう!となって、さあ設計しよう!・・・ん?どういう設計にしたら綺麗にできるの?と全く浮かびませんでした。

   先日とある方にアプリのソースをちらっと見せて頂きましたが、複雑に色んなメソッドで囲まれまくっている文字列を見て驚嘆しました。。

   

というわけで、もしわたしが今キャリアコンサルタントになって「自宅で学習した」という人に出会ったら、何を見てどんなアウトプットを出したのか、を明確にする質問を投げかけると思います。

※これまで「自宅で学習した経験がある人だったら未経験でもOK」という求人に応募して頂いたCDTの方が「スキル不足でお見送り」となってしまう理由がわかりました。

 

2)「椅子(働く環境)が重要!」問題について。(これは働く環境整える業務の方に伝えたい><)

現在お世話になっているTECH::CAMPさんには様々な椅子があるのですが、自分の身体にマッチした椅子じゃないと非常に肩が凝る!そして集中力がなくなってプログラミングミスをしてしまう。

以前「まあずっと座ってパソコンに向き合っていたら肩こるよなー」とくらいにしか思ってませんでしたが、パソコンに向き合っているという表現より、パソコンと攻防戦を繰り広げている、ほうが表現としては正しいイメージ。ソースを考えたりエラーを探すのは1点に目を集中させるのはかなりの戦い。

出来る限り、身体にマッチした(もしくはリラックスできる環境)で開発することが重要であることを体感致しました。

 

------------------------------------------

これを読んで頂いている皆様へのお願い

------------------------------------------

・オススメのサンプルコードなどがあればご教示いただきたいです。

  ∟上記通りひたすら写経しているわたしですが、まだまだ量が足りてないのでもっと書きて身体で覚えたいと思ってます。何かオススメのRubyサンプルコードがあれば教えてくださいませませ。(これからRailsに入りますので、Railsをつかったものでも問題ございません!)

 

どうぞ宜しくお願い致します!

 

今日は以上です。

 

 

 

 

Rubyなわたし、第一歩。

6月1日新しい仕事を始めました。

ITエンジニアのための技術勉強会サイト運営者、というこれまでのHR一本のキャリアとは全く違う世界に飛び込んだんです。

で、なんでブログ??

 

「なぜブログを書くのか」

 

これまで:

社会人9年目。ITエンジニアのキャリアコンサルタント(転職相談)7年、IT会社の人事1年半、ITエンジニアが常に近くにいるビジネス人生を送ってきました。

社会人になったらすぐ結婚して家庭はいろーと思っていた自分がまさかこんなに働くとは。 

 

気持ちの変化:

社会人になるまではエンジニアリングがどんな世界であるのか、全く知らなかった私。この業界の人って暗そう、とか安易な想像をしてました。

でもキャリアコンサルタントとして2000人のエンジニアの方々のお話を伺い、エンジニアって本当に学び続けてアウトプットし続ける大変な仕事、私には到底真似できないんじゃないか、すごいなーと思うようになりました。

そんな尊敬できる人たちを支えたい!という気持ちから、これまでの経験を生かしてエンジニアの人事に転身。更に1つの会社のエンジニアだけではなく、IT業界全体を盛り上げてIT業界に貢献したい!という気持ちになり、今の自分に至ります。

 

(本題)なぜブログを書くのか: 

そんなキャリアをアップダウンしながらもそれなりに楽しんでいたのですが、ここ2年ほど上司や色々な知人から「何がしたいのか、自分で自分の基準を決めなさい」とよく言われるようになりました。

確かにもうビジネスマンビギナーではないし、自分の軸を自分の中にしっかり持たないと辛くなるのは自分ということはわかっていたのですが、なかなか定まらない。

同じような言葉を投げかけられる度に悲しくなっていきました。

それから活躍している30人くらいの人に「モチベーションの源泉なんですか?」と聞いて回りました。その方々のお話と自分を突き合わせた結果、わたしも本当はとっくになりたい自分はあって、それを表現・公言できていないだけ、とわかりました。

公言すると自分に課されることにもなるため、逃げてきてんだと思います。

ただ自分に課さないといつまでたっても逃げ続けることになる。

 

だからブログ書きます。

 

目指している姿:

・周りの人(比較的身近な人、尊敬出来る人)が幸せである状態を作り出すこと、

周りの人が(気休めではなく心から)HAPPYになる原動力であれること。

・強くしなやかな女性であること。

 

そのために

①目指している姿をより具体的にしつつ②そのために何をするのか、

③結果どうだったのか、をこのブログで公言していきたいと思います。

 

で、タイトルと繋がります。(ここまで長かった。。)

 

②そのために何をするのか

尊敬しているエンジニアの会話がわかるようになりたい、想いとかも深く理解したい、

じゃあエンジニアになったらいい!

ということで、Ruby始めました。

まずは1ヶ月がっつりTECH::CAMPプログラミング100時間にチャレンジ!

次回からは勉強した内容をここに書きたいと思ってます。

 

どうぞよろしくお願い致します。

 

 

※ちなみにこちらにお世話になってます(先生めちゃ優しい♪)

tech-camp.in