Progateが楽しい~学習記録~
初めはテキトーに興味のあるPythonや,なんか使えそうなコマンド,SQLなんかをやっていました。
しかし少し前からProgateのおすすめ学習コースに乗っ取って進め始めました。html&CSS→JavaScript→JQuery→Ruby→Comand line→Rails→Gitという感じです。
JQueryの書き方がなぜか頭に入って来ず、少し停滞してしまったのでブログを更新してみた次第です。
集中して取り組めば、ガンガン勉強できていって自然に書き方を覚えます。
僕はある程度英語を勉強して得意になったのですが、プログラミング学習は単語の暗記があまり必要ない語学学習(文法)って感じです。
アルゴリズムを考えるようなもう少し高いレベルだと、また違った話になるんでしょうけど。
そんなわけで新しい本も2冊借りてきました。最近本の感想をしっかり書けていませんが、本当に面白くて頭に入ったものに関してはきっちり書きます!!(宣言)
それでは。
- 作者: ジョン・マコーミック,長尾高弘
- 出版社/メーカー: 日経BP社
- 発売日: 2012/07/19
- メディア: 単行本
- 購入: 15人 クリック: 437回
- この商品を含むブログ (21件) を見る
(追記 171212)
この記事を書いた後すぐにLv.101まで到達しました。ゲーム感覚で楽しいです。
一通り終えたらpaizaとかcodeacademyとか、他のサービスも使って勉強を続けると同時に仕事をやっていこうと思います。html書けるだけでとりあえずクラウドワークスとかに仕事はあるみたいですし。
誰かプログラミングのアルバイトくださいー。笑
みんなのウェディング出張インターンの感想など
「TDDでWebサーバーを作ってみよう」
というお題でした。
はじめに会社の紹介やインターン生の自己紹介を軽く済ませて、テンポよく進んでいきました。
大事なことまず書いておくと、とても楽しかった!です。
Rubyを触るのは初めてで、TDDについてもなにそれ?って感じの初心者感満載なkousyでしたが、色々と学べました。
開発環境は
- Ruby2.42
- Git 2.15.0
- Atom
- Terminal
という感じで僕はやりました。
そして内容は
「テスト駆動開発とは」
「Webサーバーとは」
「HTTPとは」
などの基本を@1syoさんにご教授いただきました。
目次を引用しますが、その後はこんな流れでした。
- HTTPリクエストを受け取る
- パーサーを作る
- リクエスト行を解析する
- リクエスト行を配列で受け取る
- リクエスト行がない場合
- ヘッダーフィールドを解析する
- リクエスト行も一緒にする
- リクエスト行の格納先を作る
- 解析結果を格納する
- リクエストボディを扱う
- リファクタリングする
- HTTPレスポンスを作る
- レンダーする
- ファイルがない場合
- リファクタリングする
- レスポンスボディを表示する
- HEADメソッドか判定する
- ファイルサイズを動的にする
- 配信日時を動的にする
- ContentTypeを動的にする
- ファイルの情報を集約する
- Responseクラスから使う
- 手動テストしてみよう
- ネットワークに公開する
- デーモンにする
Ruby初心者には盛り沢山な内容でした。
この後にまたProgateでRubyIIやRailsを触ったのですが「あ、これインターンで説明してたやつだ!」って感じの発見があって、普段よりも学びが加速していた気がします。
やはりこういう場に参加していくのは大事ですね。
分からないところも多々あったのですが、mwed社のお二人やまささんやその周りの方に助けて頂いてなんとかついていけました。
正直自分の頭の中でコードとその挙動が一致していないところが多く、近いうちに完璧に理解してやろう!と思っています。
ところで、最近親戚が結婚したこともあって、ウェディング業界に少し興味をもってました。
新郎新婦専用のWebページがあって、そこで名簿を作ったり色々なリストを作ったりできるものがありました。僕はタイピングが速いということもあって、そのWebページを少し触りました。
エンジニアリングで効率化できる要素は色々とあるんだろうなーなんて思っていました。
そういう意味でもこのウェディング×エンジニアリングの組み合わせは面白いと思います。
懇親会で聞いた話ですが、ゼ○シィ一強のウェディング業界の構造はあまりよくなさそうです。
結婚式場は寡占状態のゼ○シィに掲載してもらうために高い掲載料を払っているそうです。
他にも、結婚式場の不透明な料金体系があるため、ユーザーとの間での情報の非対称性が生じているとか。
今はプログラミングの勉強ばっかりで、コード書くことに集中していますが、いずれはこういう大きな問題を解決していきたい!と思いました。
そんなわけでみんなのウェディングさん、学びの機会をありがとうございました。
みんなのウェディング 1日インターンが楽しみ過ぎるので更新してみる
どうも、みんなのウェディング1日インターンを1時間半後に控えたkousyです。
今回はまささんから直接お誘い頂いたこともあって特に楽しみです。
しかしkousy、、、Rubyを書いたことない!!
というわけで慌ててprogateで入門したなうです。
気になる今回の内容は、、、
Rubyでウェブサーバーを作ってみよう(全行程TDD)
2.2 レスポンスの構築
-
ネットワークに公開してブラウザで利用してみる
-
デーモン化して完成
オプション
・hamlを直接扱えるWebサーバにしてみよう
・クエリーストリングを解析してみよう
・POSTリクエストを実装しよう
って感じらしいです。標準入出力でhttpプロトコルの実装ってどうやるの??というレベルで果たしてついていけるのか、、、
情報工学科の人ばっかりそうでやや不安。。
しかし、やるしかないっ!
楽しんできまーす。
さぼさん(@saboyutaka)の講演「働く手段としてのエンジニア」を聞いてきたよ。
僕がISUCONを知ったのはハカチャンでのまささん(@Masah201707)の講演を聞いたことがきっかけでした。
そのまささんのお師匠である、さぼさんの講演です。発表資料はこちら。
本当にプログラミングやエンジニア業界のことを何も知らない人にも分かるような話でした。
自分のメモだけそのまま載せておきます。
- 既存の教育機関、大企業向け
→これは大学でも専門学校でもそうらしいですね。その教育機関から何名就職したかという数を教育機関は重視しているのでこうなってるそうです。
- サボさんの遊ぶ時間と学ぶ時間は?どれくらいで、何をしてるのか。
→これは実際に直接質問したのですが、答えづらかったみたいで申し訳なかったです。ただ、最近仕事ばかりしていると仰ってました。
エンジニア人生の最終的な目標、夢は??と言うことも聞いてみたかったですが、また答えづらそうなのでやめました。
- 収益の手段を複数持つ、時間配分次第、別々の収益構造で複数
→これは最近よく言われていることですよね。しかし本当に大事です。月10万円くらいの仕事をいくつも持っておきたい。
短いですがこんな感じ。研究、バイト、課題をこなしてプログラミングの時間を捻出するぞっ。
CODE BLUE TOKYO 2017に学生スタッフとして参加してみた
CODE BLUE TOKYO 2017
このイベントで学生スタッフの募集があったので、参加して来た。応募してみたら、採用された。まあ落ちた人もそんなにいないんだろうけど。
志望動機をしっかり書いておけば、技術力とは関係なく採用されるっぽいです。
正直、講演で話されてるレベルの技術に関する知識なんて全然なかったし、ハッキングコンテストにも太刀打ちできる実力もなかった。しかし、必殺コミュニケーション能力と、会話で出てくる言葉を推測してその場でググることで知識をだいぶ増やせた。それなりに有意義だったと思う。講演に関しては、IoT、自動運転関連のセキュリティの話が流行ってたなーって思ったくらい。それとセキュリティと法律は関係が深いってことを知った。
世の中には複数言語とプログラミングも出来て話も上手なんて人が、そこそこにいる。
僕が目指す、イケイケである。そんな人たちと少し話したり出来てよかった。
本題の情報セキュリティについての全体像は、各企業のブースで配ってパンフレットがよくまとめられていてとても分かり易かった。
暗号については高校生くらいの時から興味があったのでサイモンシンの「暗号解読」なんかを読んでいて多少知っていた。 むかーしテキトーに読んだ本の知識が活きたりするもんなんですね。
- 作者: サイモンシン,Simon Singh,青木薫
- 出版社/メーカー: 新潮社
- 発売日: 2007/06/28
- メディア: 文庫
- 購入: 30人 クリック: 216回
- この商品を含むブログ (234件) を見る
無駄におしゃれなカンファレンスとか、中身のない話で名刺を交換し合うようなやり取りは苦手だけど。人と会って刺激を受けることは大事なんでしょうね。
近況
ProgateはLv.51になりました。PythonとSQLが書いててしっくりきた。そんだけ。
もっと勉強せねば。
後期の講義だったり、Progateの進み具合だったりについて
#なう
やはりプログラミングもブログ更新も深夜が捗るなーなんて感じています。
静かで誰にも邪魔されない上に、他のことをしようにもコンビニくらいしか空いてないので出来ないのでこの時間帯が好きです。しかし、早寝して朝方の生活にも適応できるので便利な体です。
##近況
さて、ようやく後期の講義が始まりました。香港に旅行に行ったりしていたので、少し間が空いていますが、今期で卒業に必要な単位を全て揃える!そしてエンジニアになるための勉強になる単位も取得していこうと思っています。Progateはようやくレベル40になりました。最近はPythonがやはり書きやすいので2まで習得しました。この勢いで明日には3習得したいところです。
僕の所属学科の専門の講義は、本当に重箱の隅を楊枝でほじくるようなニッチな内容ばかりです。こんなこと学んでもお金にもならいし、自分が知りたいことでもないよなーなんて1,2年前はよく思っていました。しかし、最近エンジニアになることを決めたり、卒論のテーマが決まったしました。そうなってくると目的意識が生まれるので、ニッチな専門分野の講義でもココは聞いておこう!と思えます。意外な先生がRやPythonに詳しかったりするようなので、最後まで貪欲に学んでいきたいです。
###登録した情報工学の講義
- 情報英語
基本的にはTOEFL対策。前期にTOEIC対策の講義も取っていた。週に一度とは言えど、じっくり英語の勉強をできるので良い。先生は厳し目で、講義中に電子機器を扱っているのが発覚した時点で落単確定。紙とペンでじっくり英語に向き合うのも、悪くないです。情報工学の講義なのになぁ、と抵抗も感じましたが、自分は勉強内容として覚えたいことは未だに紙とペン派です。
OSとは?またその運用とは?などなど。課題がとても難しい講義。しかし、僕が密かにリスペクトしているイケイケ大手に内定した学生エンジニアの人からオススメされたので履修することにした。最近はVirtual Boxを使って、Fedora26というOSを入れてsshできるようにしてAnsibleからWordPressの環境を構築したりした。
- 情報理論
2進数やベイズ確率や情報エントロピーについて学ぶっぽい。こういうアカデミックな知識をしっかり習得していかないと、今後苦労しそうなので腰を据えて勉強したいと思う。
LINE DEVELOPER DAY2017の感想とかメモ
テキトーに書いていきます。詳細やスライド見たい方は公式ページ見た方がいいですよ。
- 1.オープニングのプレゼン、昨今のLINEのについて。
- 2.クローバーの技術について。
- 3.なぜwebトラッキングシステムがフロントエンド開発チームにより構築されたか。
- 4.ChatOps x LINE
- En 5.LINEの新卒採用試験 ズバリ問題解説Ja
- 6.人のブラウザでクロールする
1.オープニングのプレゼン、昨今のLINEのについて。
CTOのPark Euivinさんによるオープニングトーク。TLで見かけた去年も来た人たちに夜と1年前より日本語が上手くなっていたらしい。笑
Euivinさん、懇親会の時に気さくに話しかけてくださいました。
2.クローバーの技術について。
A会場2番目の話。クローバーの音声認識技術には日本語特有の難しさがある。アマゾンやグーグルもこの手のサービスは作っているけど、日本語特有の問題(ex:T,H,Kをはっきり発音しないなど)についてはLINEの方が強いのかも。
3.なぜwebトラッキングシステムがフロントエンド開発チームにより構築されたか。
これは一番真面目に聞いたので、メモをそのまま公開。
・NEWS TAB 週単位で新しい機能がついたり、コンテンツが追加されている。
・開発を速くするためにwebview上
・ただのwebアプリのように構築してしまうと、オフライン時に画面表示できなくなる。
・htmlをキャッシュしている
・JS SDK
・virtualレンダリング
・Coupon book,webviewでクーポン一覧見れる
・シンガポール限定のエラー、バグフィックス、シンガポールでGPSを使うと発生する問題だったので手元で検証できなかった
・世界中の全ての端末、全てのケースにはあらかじめ対応することができない
起こった時に対処する方法を!
・Collecting JS error log
・Dataチームと協力して大規模なエラーログ集計
・スクロールイベント、スクロール深度(どれくらいスクロールしたか)
・ニュース系のコンテンツ、トラフィック跳ね上がりやすい
・ラインアナリティクスMochigome(エラーイベントの可視化に特化したアプリ、サマーインターンの学生が大きく貢献!) official account system, machine learning色々あるけど中心にはweb tacking systemがある
4.ChatOps x LINE
多分Pythonでチャットボットを使えるよ、みたいな話。
5.LINEの新卒採用試験 ズバリ問題解説
非常に有益な情報を得られた。
6.人のブラウザでクロールする
よくわからなかったけど、話してる人が趣味を楽しそうに話していていいいなと思った。
本当はC HALLの最初のLTだったSwiftの環境構築とかについての話しは分かりやすかったです。Swiftも触ってみよう。
7.まとめ
LINE社の技術はスゴい
LINE社は非常にイケてる(イケイケを目指す身としては最も重要)
LINE社は非常にお金がある(?)
話の内容は分からないことも多かったけど、駆け出しエンジニアの僕が聞いてもスゴいって分かるくらいにスゴいコードがあった。見りゃ分かるけど、間違いなくお金かかるオシャレさだった(参加費とか取ってないしね)。バカみたいなまとめになってしまいました。笑
最後に余談、ちょまどさんがCustomVisionで松屋の牛丼とすき家の牛丼を見分ける機械学習のモデルを作ったそうです。
写真をアップロードして「学習」ボタンを押したら
— Madokaちょまど@松屋フレンズ (@chomado) September 28, 2017
機械学習のモデルが作れる& REST API から簡単に叩いて使える超簡単サービス https://t.co/rbnlrmPTzb の紹介!
私はこれを使い「松屋と吉野家の牛めしを見分けるアプリ」を作ったよ#LineDevDay pic.twitter.com/sVTZ3S011U
そのツイートを見て、すぐにヒカリエ11Fの無料カフェで同様の手法を試していたら隣の隣にちょまどさんが現れました。
様子を伺いながら、自分が席を離れる時に少しだけお話しさせて頂きました。嬉しかったす。笑
コウテイペンギンとオウサマペンギンを見分けようとしてたら、ちょまどさんが隣の隣に来てびびった。 https://t.co/ZRSwUVJX9v
— kousy (@kousy_) September 28, 2017
もう一つ余談、じゃんけんに勝ってWAVEもらった!!「持ってるな」ということで。笑