Laravel関連のOSSをみんなで読んでみる会をやってみた

Laravel関連のOSSを読んでみる勉強会を最近やってみました。Laravelのコアのコードを読んだり、Laravelで書かれたOSSのアプリケーションを読んでみたり、Laravelに関するOSSだったらなんでもよくて、みんなで自由に好きなコードを読んでみるという会です。思っていたよりも、みんなでワイワイできて楽しかったので、そのときのことについて書いてみます。

connpass.com

きっかけ

Laravel MeetUp Okinawa で「LaravelのOSSの プロジェクトを読んで お勉強してみてる話」というテーマでLTをした際に、OSSを読む勉強会をしてみようという反響があったということがあり、嘉数さんと一緒に開催してみたというのがきっかけでした

speakerdeck.com

全体流れ

勉強会の全体的な流れとしては、40分コード読んで、20分読んだ感想戦して、10分休憩のセットを何回かするというような流れで進めてみました。感想戦の際、よくわからなかったところを教えていただけたり、他の皆さんが読んでわかったことなど共有してもらえたりで、合間合間でディスカッションっぽい雰囲気だったのがすごくよかったです(僕は教えてもらってばっかりだったので、もっと頑張ります!!!)

f:id:shimabukuromeg:20190618012248p:plain

雰囲気はこんな感じでした(会場はコードベースをお借りしました!いつもありがとうございます!)

やったこと

僕は、Laravel で書かれてるOSSのアプリケーションを読んでみてました。このgoodworkというアプリは、プロジェクトを管理するツールというような感じだったのですが、なんとなく今仕事で作ってるアプリで参考になりそうな気がしたので、選んでみたという感じです。

github.com

他の参加された皆さんは、

  • OSSで公開されてるLaravelのアプリケーション(ECサイト)を読んでみたり、
  • Laravelのコアロジックを読まれていたり(リクエストを受け取るところとか、バリデーションとか)
  • OSSで公開されてるLaravelのアプリケーションをいくつかローカルに持ってきて、それぞれ比較しつつ気になったところを考察してみたり

というような感じでした

学んだこと

  • Laravel のコアロジック。参加されてた方がbootstrapの部分やバリデーション部分を読んでいて、そのあたりを感想戦で解説していただけたりしたのですごく勉強になりました。Laravelのコアのコードの追っていきかたの雰囲気なども勉強になったので、その要領で自分も読んでいけるようになりたい

  • 自分がよくわかっていない領域がわかった。Laravel関連のOSSを読むことから、少し脱線しちゃうんですが、OSSのアプリを読んでいたというところで、Vue.jsのフロント側のコードも読んだりしていて、フロント部分の知識がかなり弱いというようなことを感じので、この辺りをもう少し勉強していこうという気持ちになりました

感想

みんなでワイワイコード読みながらLaravelトークするのはすごく楽しかったです。今度はLaravel本体のコードを読んでみたいと思ったので、ぜひまたやりましょう

あと、Laravel初心者の僕一人だけの企画だといまいち成り立たなかったイベントだと思うので、一緒に主催してくれた嘉数さんや飛び入りで参加していただいたおでんさん、すごく勉強になりました、ありがとうがとうございました!!!(もっとLaravel勉強します!!!)

RubyKaigi 2019に遊びに行ってきた感想

f:id:shimabukuromeg:20190422004810j:plain

プログラミングを学び初めて一年とちょっと経ち、今はLaravelでお仕事することが多くて、Rubyを書くことはほとんどないんだけど、プログラミングを学び始めた当初は、RubyRailsチュートリアルでWebの基本を学ばせてもらったり、福岡開催ということもあって(沖縄からも少し近いということもあって)、RubyKaigi 2019に遊びに行ってきました。その感想を少し書きます。(技術的なことはほんと全然わからなかったのですが....参加した感想です!)

rubykaigi.org

全然何もわからなかった

Rubykaigiは、Rubyの処理(言語系)やライブラリの話など、Rubyにまつわるコアなセッションがたくさんあって、参加する前から難しい話が多いんだろうなーとは思っていたけど、やっぱり難しくて、全然何もわからなかった…。わからないなりに、出てきたワードを適当に調べてみたりしたけど、いろいろよくわからなかった。今はわからないけど、あの時のあれはそういうことかー!という日がくるよう頑張りたい。あとは、Rubyでお仕事してみたいってめっちゃ思った。

英語大事

海外から来られているかたも多く、登壇されている方も海外の方が多くて、英語わからないとそもそも土俵に上がれない感がめっちゃあった。最近,、英語勉強しようと思っていたところだったので、ますますやらないとなーと感じた。あと、一緒に行動してたカンナくんが、登壇者と普通に英語でコミュニケーションを取ってたのを横でみてて、こうやってコミュニケーションを取れるのめっちゃいいじゃん、うらやましいと思ったので、もっと頑張る。

そこにいる人たちがみんなすごくかっこよかった

Rubyという言語を作っている人たちやライブラリを作ってる人たち、みんながRubyのことを好きで、Rubyという言語やコミュニティーをよりよくしていこうとしている空気感がすごく伝わった。「みんなで作っていきましょう」というようなことを、登壇されていたみなさんが、よく話していたことも、すごく印象に残っている。こういうのすごく良いなあと思った。かっこいい。

福岡最高

福岡の美味しい食べ物食べたり、空港からの移動がすごく楽だったり、福岡のロケーションすごく良いなあと思った。また旅行か何かで遊びにきたい。

f:id:shimabukuromeg:20190422005244j:plain

まとめ

すごく熱量ある3日間で、学習意欲が刺激されたので、戻ったらコード書いたり、英語やったり、頑張ります。

今週の振り返り(4/8-4/14)

今週は Laravelでプロトタイプを作ったりだとか、Azure FunctionsをPythonで書いたりとかを取り組んでた。Python書いたことなかったり、APIを叩いて情報を取得したりするのも今まであんまりやったことなくて、パラメーターを渡したりするに苦戦したりで、いろいろ学んだ一週間でした。ざっくり振り返る。

やったこと

  • Azure functions
  • Python
  • APIを叩いて情報を取得してDBに登録する
  • Laravel (いまはLaravelというよりかは、どういうサービスであるべき?みたいことを考えることが多いので、Laravel関連のことは保留。サービス設計についてもっと勉強しなければ.....)

学んだこと

何回も検索かけたことのメモです。主にPython

辞書型と文字列(JSON)の変換
  • json.loads で変換できる
    text = '{"aaa": "123", "bbb": "456"}'
    di = json.loads(text)
組み込み関数 type()

デバック

requests

DB接続、pyodbc

次やること

  • python自体の勉強をもう少ししたい。API叩いてDBに保存するみたいのを自分でも作ってみるとかしてみたい

まとめ

  • API叩いて、情報取ってきて、DBに登録するってだけで簡単そうとか思ってたけど、やってみるとAPIのアクセスの方法、正しいパラメーターの渡し方、返ってきた値の操作方法、DBへのアクセス方法、登録方法とか、そもそもpythonわかってないとか、いろいろわかってないことが多くてあまり簡単じゃなかった…。途中から慣れてきて少し楽しくなってきたけど、もうちょっと勉強しいこうと思う。
  • 前にさぼさんにlambda使うのも、rails、laravel使うのも、基本は全部同じだったりするというのを教えてもらったことがあって、その時はあんまりピンとこなかったんだけど、実際に Azure functionを書いてる時に、httpリクエストを受け取って、後続の処理書いて…ってしてると、なんかlaravel書いてる時と似た気持ちになったので、その辺りも初めてazure functionsを書いてて勉強になってよかった。

ギークハウス沖縄に入居して1ヶ月たったので振り返ってみる

3月からギークハウス沖縄に入居して1ヶ月が過ぎた。この1ヶ月かなり充実して楽しかったので、ギークハウスでの生活を振り返ってみる。

生活

  • 7:00 起床。9:00-23:00 仕事とか勉強とかご飯とかいろいろ過ごす。24:00 就寝。みたいな1日の流れ。
  • 2階のフロアが作業場になってるので基本的にそこで作業してる。
  • ご飯は周辺の飲食店が充実してるのでその辺りでご飯食べることが多い。
  • シェアハウスの暮らしは、一緒に暮らすメンバーにかなり関係してくると思うけど、この1ヶ月暮らしてみた感じ、入居されてる方にエンジニアさんが多くて、仕事とか技術の話とか、かなり治安良く生活できてる

f:id:shimabukuromeg:20190407155321j:plain

交流

  • ギークハウスに住んでると、ルームメイトのかたを始め、いろんな人が訪れたりするので、みんなでわいわい交流できて面白い。個人的に、入居前は共同生活やっていけるのだろうかと思ってたけど、入ったら意外と大丈夫だった。
  • 入居者にリモートワークしてる人が多くて、リゾートホテルのラウンジに行って、みんなでリゾートワークしたり、週末はコザの夜の街に飲み行ったりして、かなり沖縄を満喫した(僕自身沖縄は地元なんだけど、県外からきてる人たち一緒に行動したりするとあらためて沖縄良いわーって気持ちになってよかった)
  • ルームメイトのみなさんと一緒に生活してると、ご飯の時の何気ない雑談から面白い話が聞けたり、Webのお勉強の話とか、学びが多い
  • ざっくり印象深い学んだこと
    • 労働は諸悪の根源
    • 酒を飲めないと行動できないような男はだめ
    • 初見プレゼン。3割しか知らないで、10割知ってるように話すコスパの良さ
    • レビュー力大事(ご飯食べて感想が普通とかしか言えないようじゃダメ)
    • ギャル
    • Webの仕組み
    • Laravelデザインパターン(全然まだ理解できてないけど)
    • 他にもたくさんありそうだけどパッと思いつくのをあげてみた。

  • ギークハウス、いろいろ面白そうな本がたくさんあるのもいいなと思っている(まだ全然読めてないけどいろいろ読みたい)
  • 技術書とか経営の本とか沖縄の歴史の本とかキングダムとか
  • 技術書とかまあまあ高くて、買うのためらったりするけど、自分の興味のある本がこうやって気軽に手に取れる環境めっちゃ良い

飲食店

  • ギークハウス沖縄の周辺の飲食店めちゃめちゃ充実してる
  • 徒歩圏内にまあまあお店あってすごく良い。
  • 菊田さんが完璧にまとめてくれたギー沖周辺の飲食店情報。すごい

ギークハウス沖縄情報

まとめ

  • 多分3月だからというのもあると思うけど、花粉で県外のエンジニアさんが入居されてたり、春休みで大学生が入居されてたりで、いろいろみんなでワイワイできて楽しい1ヶ月だった。かなり青春を感じた(またお会いした際は飲み行きましょう!)

  • Webの勉強したい人とか沖縄に住んでみたい人にはかなりオススメなので、気になる人いたら是非。

ここ2ヶ月の近況

f:id:shimabukuromeg:20190323100734j:plain

ふと、最近ブログ書いてないのに気づいたので、ここ2ヶ月のことを簡単に振り返ってみる

イベント

  • 2月

    • 前職クロージング
    • 新プロジェクトJoin
  • 3月

https://twitter.com/20092014/status/1101721652373544962

  • Laravel 勉強会でLTした

最近やってること

  • Laravel
  • プロトタイプ作り

技術

  • この2ヶ月で、どれぐらいのスキルが上がったか

    • 基本的にLaravelばかりやってる
    • 具体的に答えられないから、もう少し日々の取り組みを見直そう
      • やったこと・学んだこと・次やることみたいな振り返りを週単位でやろう..。振り返りブログとか書かないと、自分が何やったかすぐ忘れる...よくない
  • 足りないと思ってること

    • Laravelでいま足りないと思っているところここ
    • Laravel使ってるけど、モデル、ビュー、コントローラー、routing、フォームリクエスト(validate)の雛形を使ってそこに簡単なコード乗せっててるだけで、DIとファサードとか疎結合とか理解できていない。良いコードを読むのが一番勉強になりそうな気がするので、色々探して読んでみたい。読む->真似する->オリジナルを作る

最近考えること

  • 何か機能を作ったり実装するとき、まず考えるのが自分が過去やったコードの書き方をどう利用するかってところな気がしていて、そうすると良いコードを書くには、たくさんいいコードを読んで、書いて、自分が過去やった書き方のパターンをたくさん増やしていくのがいいかもしれない。今の自分に足りないのは、コードをたくさん読んでみることな気がする。

  • あんまりコードかけるようになってる実感がないんだけど、最近聞いて心に残ってる話で「コードをかけるようにはいつかなりますが、コードをかけるようになったときにコードをかけるだけじゃ生きていけない世の中になっていたら意味がないのです。だから、数手先の事を考えていきていく必要があるし、そもそも数手先を考えて実装を考える仕事です」というのがあって、コードかけることの価値が低くなった世界がきても生きていけるよう、そんな世界をもう少し想像できるようにしたいと思った。とはいえ、まずはコードかけるようなるよう頑張る

まとめ

  • ここ2ヶ月はいろいろ生活に変化が多い期間だった
  • 特にギークハウスに住み始めて、いろんな人と出会いがあって面白い
  • 改めてブログを書いていこう(週単位の振り返りとか、最近やってみた技術の話とか、読んだ本の感想とか)

今週の振り返り(1月第3週)

今週の振り返り。仕事、イベント、勉強したことなど

やったこと

  • 月曜日
    • いまやってるProject(laravel)のIssue消化(3h)
  • 火曜日
    • いまやってるProject(laravel)のIssue消化(5h)
  • 水曜日
    • イベント
  • 木曜日
  • 金曜日
    • いまやってるProject(laravel)のIssue消化(6h)
    • 県立図書館初めてきた
  • 土曜日
    • いまやってるProject(laravel)のIssue消化とその勉強(5h)
  • そのほか
    • python勉強始めた
    • azure勉強始めた

いまやってるProject(laravel)のIssue消化

取り組んでて考えたこととか、学んだこととか、振り返る。

  • 過去にやったことあるけど、すぐ忘れてる問題。これ前やったことあるけど、どうやってやるんだっけ?どういう仕組みになってるんだっけ?ってなることが多いと感じた。忘れないように定期的に復習しないいけないな…という気持ちになった
  • 例えば、次のようなことを忘れてた。

    • ポリシーの仕組み

      • laravelの認可の仕組み。どのファイルに定義するんだっけ?とか、この書き方あってるんだっけ?とかすごく記憶飛んでた。一度書いたパターンと全く同じ感じでかけるんだったら、似たように書けばいいんだけど、なんか少し違うみたいなとき、そもそもポリシーの仕組みってどうなってるんだっけ?みたいになったので、復習する。
      • ポリシーについて勉強した時の記事。復習する http://shimabukuromeg.hatenadiary.jp/entry/2018/12/02/145305
    • クエリビルダ 、Eloquent周りのメソッド

      • view側に渡す配列を考えるとき、配列の操作でクエリビルダ のメソッドとかEloquentのメソッドとかを使ってデータを取ってきて、配列を作るんだけど、このデータ取ってきたいとき、どのメソッド使えばよかったんだっけ?とか、もっと効率的にできるやつなかったけ?とかスムーズに出てこなかったので、復習する

      • https://blog.capilano-fw.com/?p=727

      • https://readouble.com/laravel/5.5/ja/collections.html
  • ログインするユーザーのタイプによって、ログイン後のリダイレクト先のトップページを変更するやり方を学んだ。

    • 最初、laravelの認証周りのコード(AuthenticatesUsersあたり)を追いかけてて、全然わからず、これどうやってやるんだろって、めちゃめちゃ悩んでたんけど、結果的には、トップコントローラーみたいなコントローラーを作って、ログイン後のリダイレクト先をそこにして、そこで、ログインしたユーザーのタイプによって、それぞれのトップページへリダイレクトするようにした。知ってしまえば、そんなに難しくないんだけど、自分の中だけでは、そういう発想が全く出てこなかったので、勉強になった。今回の例に限らず、こういう状況はよく出てきそう。いろんなProjectのコードをみたり、他の方のコードをみたりして、もっと学んでいきたい
  • 結局以下リンク辺りのコードはあまり知らなくてもできたんだけど、ちゃんと理解できるようにしたい。認証周りのコードむずい

laraweb.net

qiita.com

イベント

沖縄のスタートアップ企業で働くエンジニアのリアルというイベントに参加した。県内のスタートアップ企業で働いてるエンジニアさんの話が聞けてすごく勉強になった。懇親会で参加されたかたといろいろお知り合いになれたりとか、高校時代の同級生がめちゃめちゃ活躍されてるのを知ったりとか、すごく面白いイベントで参加できてよかった。ここで登壇されてたエンジニアさんたちと同じ土俵で話ができるレベルになるよう頑張りたい。

togetter.com

arakaji.hatenablog.com

次週やりたいこと

  • いまやってるProjectで、自分が担当してないIssueのコードを読んでいろいろ勉強、キャッチアップする
  • azureとpythonコツコツ勉強する
  • このブログで復習するって書いたやつをコツコツ復習する

Azureのサービスを色々知りたくなったので触ってみた話

Azureのすごく基本的なサービス(リソースグループ作って、ネットワーク作って、仮想マシン建てて....とか)は、よく使うけど、そのほかのサービスについては、あまり触ったことがなかったので、気になったサービスをいろいろ触ってみた。

Microsoft 公式の無料の学習コンテンツ集を見つけたのでそれを参考にした。(このコンテンツ集めちゃめちゃわかりやすかった)

docs.microsoft.com

やったこと

サーバーレスとサービス間の接続についての2コースをやってみた。

サーバーレス アプリケーションの作成

Azure Functionを使ってみたかったので、とりあえずこのコースをやってみた。トリガーの種類や、バインディングというものの概念を把握できたのがよかった。(バインディングとは、特定の接続ロジックをコーディングしなくても、データリソースに接続できる仕組み)あと、Azure Functionまわりの他の登場人物たちもいろいろ知れて勉強になった。

docs.microsoft.com

サービスの接続

クラウドサービスを使う際に面白いところは、簡単にいろんなサービスを連携できたりするところとかだと思ってるので、このコースをやってみた。Azure Queue Storage、Azure Event Hubsあたりの勉強になった。イベントとかメッセージについての概念やイベント配信システムというものについてもあまりよくわかってなかったので、すごく勉強になった。サンプルコードがC#だったのは、めちゃむずかった

docs.microsoft.com

学んだこと

  • 実際のAzureのコンパネから操作してハンズオン形式で学ぶということで、操作感が掴めたこと

    • サービスごとに、どこに何があるのかって、慣れないと操作しづらいと感じることが多いので、ぽちぽち手を動かしながら操作感を掴めたのはよかったと思う
  • サービスを使う背景

    • どこコースを選択しても、このサービスを使う背景が細かく設定されていて、何のためにこのサービスを使うのかを把握できてよかった。例えば、ソーシャル ネットワーク サイトを運営してる人だったり、美容院の顧客のスケジュール管理を作ってる人だったり、エスカレーターの温度監視してる人だったりの立場に立ってハンズオンを進めるみたいな感じだったので、何のためにそのサービスを使うのかがイメージできて、勉強になった。

次やること

他のコースもやりたい。きになるやつ
  • SQL Server触ったことないので気になる

docs.microsoft.com

  • BIツール気になる

docs.microsoft.com

  • リソース管理は基本的なところだけど、ちゃんと体系的に勉強したことなかったので、気になる

docs.microsoft.com

この学習コースで学んだサービスを組み合わせて実際に使ってみる
  • パッといいアイディアが出てこないので模索中。この学習コース使っただけだと、サービス使いこなせるようにはならないと思うので、もう少し触っていきたい。ネットにあるやってみた記事を参考にやってみるとか、考えてみる。

感想

  • コンテンツ集、わかりやすいし面白いので他のコースもやっていきたい

  • 時間かかりすぎな感じもあるので、テンポよく進められるよう頑張る(コース毎に学習目安時間が提示されてる)

  • まだ簡単な操作感と概要みたいなのを把握できただけなので、実践していけるようコースを応用した何かを作ってみるとかしてみる