おふとんの中から

その辺に転がってるエンジニアの備忘録

CodeRetreatに行ってきた #coderetreat #geekbar

ゆいなです。

GW前まで仕事が忙しくブログを書く余裕が全然なかった上、GWは祖母の帰省の運転手で時間の余裕が全然なかったのでご無沙汰してしまいました。

今回は5/12に行われたCodeRetreatに行ってきました。
CodeRetreat @ 名古屋ギークバー

CodeRetreatってなんぞや?

簡単に言えばひたすらコードを書くイベント。
詳細はCoderetreat ~プログラミングのスキル向上に効果的な教育プログラム~を見たほうがわかりやすい。

参加してみてどうだった?

参加してまず感じたのは、私って全然コード書けないじゃん…って奴。
コード書くのは好きだけれど思い立ってすぐ書けるかと言われたら違ったという。

あとはテンパってしまったなってのはあります。
正直ペアプロをしたのは初めてで、なにをしたらいいのかよく分からないし、とりあえずコードかけばいいのか内容を理解する所からスタートするのか、どんなモジュールを作るか決めるのか、人によって様々。

とりあえず各セッションを簡単に振り返ってみます。

1セッション目

使用言語:C#

どういう動きをするのかを理解することに重点を置きました。

動きは理解できたので、実装にだいぶ課題がありそうという感じ。

2セッション目

使用言語:C#

画面を作る途中で終了。全然実装できませんでした。

基本すら怪しいなとだいぶきつい感じが出ていた頃。

3セッション目

使用言語:C# + NUnit

テストコードすらまともに書いたことがなかったので、ここではテストコードの書き方を理解する感じで進めました。
NUnitで環境作ってテストを動かすところまで。

テストコードの書き方はわかっても実際にどうやってやっていけばいいかがいまいちよく分からない感じに。

4セッション目

使用言語:C# + NUnit

画面は作らず、ロジックをTDDで作っていく感じで進めていきました。完成には至らず・・・。

ここでやっとTDDがちょっと分かった気がする。

5セッション目

使用言語:Ruby + RSpec

こちらも画面は作らず、ロジックをTDDで作っていく感じで進めていきました。こちらでも完成に至らず。
RSpecの名前は知ってましたけど、実際に使うのは初めてで書き方をペアプロで教わった感じ。

Rubyのテストフレームワークといえば、minitestは触ったことあるくらい。 RailsTutorialで触っていたが簡単なテスト以外は書ける状態じゃなかった・・・。 RSpecが書き方が独特で1テスト書くだけで結構時間使っちゃいました。

6セッション目

1〜5セッション目で大分心折れたので、モブプロに混ざりました。

言語はjavaでしたが、TDDについては何をしていくのか大体わかってきました。

今回の収穫は?

自分がコードを全然かけなかったことと、テストコードをまともに書かずにやってきたことがここまで響くとは・・・って感じです。

これまでテストコードを書くような開発をほぼしてこなかったことはありますが、個人ですらほぼかけていなかったことにだいぶ反省。

このイベントの後に一人で時間をかけて作りきったのは反省から学んだ一つかなとも思います。
だってできないの悔しいじゃない?

自分が全然できないことを痛感して、どんどんコード書いていかなきゃって思いました。

slackbotをちょこちょこ作ってるなう←

ゆいなです。
最近Qiitaに書いているSlackBotの話をちょっと書こうかなと思います。

なんのSlackBotだよ

電車の運行情報を通知してくるSlackBotです。
特定の時間に通知と、スラッシュコマンドで即時通知を行ってくれるようにしています。

大体の内容はQiitaに書いてあります。

SlackBotで電車の運行情報を通知してもらう
SlackBotで電車の運行情報をスラッシュコマンドで通知してもらう

ブログで書くのはこのQiitaの投稿の間のお話。

で、何があったん?

最初の記事のときに課題がいくつか有りました・・・

  • 即時知りたいときに何かしらのアクションを受け取るようにする必要がある。
  • 路線を指定して通知できるようにする。
  • トークンがベタ書き ← 緊急

そうなんです。トークンベタ書きだったんです。
あかんやつ・・・

ということでこれをとりあえず対策することにした訳です。

どうしたん?

初心者がGASでSlack Botをつくってみた - CAMPHOR- Tech Blog
こちらを参考にしました。

ソースはプロパティからトークンを取得するように修正。

var slackAccessToken = PropertiesService.getScriptProperties().getProperty('SlackAccessToken');

function doPost(e) {
  〜
}

これでトークンが直接表に出てこないので、そのままのソースでGitHubに上げられるようになりました。

次は何を改修するん?

次の改修は路線を指定して通知できるように修正する予定でいます。 但し気が向いたときにちょろっと改修するレベルなので、多分また1ヶ月後になるんじゃないかな・・・

カイゼン・ジャーニーを読みました

ゆいなです。

カイゼンジャーニーを読み終わったので、毎度恒例読書感想を書いてみようかと思います。

だからどんな本だよ

業務改善の手法、アジャイルをベースとしたチームマネジメントをストーリー形式で解説していく本。

手に取った理由は単にTwitterで話題になってたからって理由ですw

読んでみてどうだった?

まず最初の部分で今の自分と全く同じ状態でした。
今の勤務先に先がないのを感じて外部で色々と動いてる状態。

外部の勉強会に行くことには何も問題ない。むしろ外から刺激を貰うことは大事なこと。

現職が派遣契約のエンジニアなので自分から変えることはできないのもあります。
与えられた作業を行うだけ。それ以上の動きを咎められる状態です。
今の案件が前職の関連の案件だから特になんですが…。

それでも問題意識はあるし、こうしたらもっとよくなるんじゃないかっていう考えもある。

一人からすることで周りがどうでも自分が変われるなら。
まずは一人から始めていくべきと思いタスクの可視化等を実践しています。
作業見積もりもあまり上手いわけではないし。

私一人だけでも課題・問題は多い状態。
まずは自分の課題・問題を解消していかなければいけないなと思いました。

さて本の中に戻りまして、2章以降は自分の会社に当てはまるような物ではないアジャイルの話。
一つの体験だと思って読むことができました。
こんなこともあるんだっていう知見になったような感じです。

それでもアジャイルな開発に憧れてしまいますね。
短いスプリントで一つの物を作り上げる。大変なことですが、その分自分も成長できると確信しています。

これからどうしてく?

  • タスクの可視化
  • 見積もり方法の学習

この2つについてはエンジニア以外でも必要な内容。セルフマネジメントです。

まずはセルフマネジメントから。そして外へ。
これができるなら一番いい道に進めるかな思っています。

とりあえずやってみるの精神でやってみて自分なりのやり方にしていければ。

インフラ勉強会に登壇してちょっとDBの話をしてみた #インフラ勉強会

ゆいなです。

先日、インフラ勉強会にてDBについてお話させて頂きましたので、纏めておこうと思います。

そもそもインフラ勉強会とはなんぞや?

Discord上で行っているインフラ系の勉強会。
インフラとは言っているが、インフラエンジニアのためならある程度何でもアリな所もあるかも。 ほぼほぼ毎日何かしらの勉強会をやってます。

インフラ勉強会ポータル

どんな話したん?

「今から始めるOracleDatabase」というタイトルで、OracleDatabaseをベースにRDBについてお話しました。

勉強会議事録(インフラ勉強会Wiki)

どうだった?

今回初めて技術的なことを話させてもらいました。
主に初心者向けとして話をしたこともあり、一部至らない点もありましたが、
お話したいことは伝えられたかなと思っています。

やっぱり発表するのは難しいですね。 今回Discord上でオンラインの声だけだからこそ話しやすいところもありました。 対面でってなると今回のような話しやすさは減るのかな・・・。

勉強会等でLTはまだしたことがないため、実際にやってみたらちゃんとできるのかなって不安がちょっと・・・。

今後はどうしたい?

勉強会などで対面でのLTを次はやってみたいと思っています。 何で話すかってのもなかなか難しい部分はありますが。

正直LT駆動開発(勉強)もありかもとかww

ひとつひとつできることからやっていければと思います。

SOFTSKILLSを読みました

ゆいなです。

先日「SOFTSKILLS」を読了したので久々の読書感想でも。

どんな本?

SOFT SKILLS ソフトウェア開発者の人生マニュアル

SOFT SKILLS ソフトウェア開発者の人生マニュアル

何かの技術書ではなく、ライフハック本というのが正しいかと。
技術の学習法なども書いてありますがまさかの恋愛のことまで書いてあるとは…。

そもそもこの本を手に取ったのは、
私自身が大分迷走していて今後が全く見えず、どうしていくのがいいんだろうかという悩みが。
少しでもこの悩みを解決する足掛かりとなればと思ったのが理由だったりします。

読んでみてどうだった?

今まで迷走しながら色々動いてきたけれど、動き方がマズかった部分が見えて大分反省することとなりました。

何かを勉強しようと思ってちょっと触ってみるけれど、分からない所が出てくるとすぐに挫折してしまうことが多々…
でも挫折で止まってちゃいけないなと思いました。 そりゃ、初めてやるんだもの。引っかかってなんぼでしょ。
むしろ引っかかったことを解決することが学ぶ一歩じゃないかなと思うようになりました。
自分が引っかかったところで誰かも引っかかるかもしれない。
ならそういう人のために、そしてここで引っかかったってことを自分で残しておくためにもブログに書いておく。Qiitaに書いて残しておくってことをしていくのは様々な方面でも得をすると思います。

そして、この本で自分に足りない大きな内容がありました。
それは、

セルフブランディング

そりゃ色々学んでなんでもできるよってのもジェネラリストとしてブランディングするならアリかもしれないですが、そのせいでやりたくないことをずっと続けるのは嫌。
ジェネラリストとして進んでいくにしても、やはり一つ専門分野を持っておきたい。
一つの技術や言語だけでも深く知って、この技術を使う仕事がしたい。でもこんなことも知ってるよって言えるなら、それはそれで価値を上げることになるんじゃないかなと思っています。

こうやって考えてはいますが、私自身はこれ!っていう自信を持って出せる物が現時点で何もない。
専門学校の時からこの業界に入っていても、何もできてない。
単に平凡なその辺のプログラマになってしまった。
今、会社の首切られたら、資格はあるけどなんにもできない人になってしまって今以上の劣悪環境でしか働けないんじゃないかと思っている。

なら、今関心を持ってやれることは何か?

DB、クラウド系。

元々興味はあって学生時代に勉強していたこと。
でも前までは今の仕事が重要だからと放置していたこと。

プログラミングも深く知りたい言語がある。

C#Ruby

Ruby自体は今まで触ったこともないけれど、自分と同い年だと知った瞬間なんかやってみたいと思った。
C#は3ヶ月だけ関わった業務アプリケーションで使っていた。今まで使っていたC以上に色々できて感動した経験がある。

こういうちょっとした興味から、ちょっと深く勉強してみようってするだけでもアリかなとふと思ってみたり。

じゃあこれからどうしていく?

DB、クラウド系の技術について、触っていこうと思います。
クラウド系といえば、先日参加したCogbot勉強会はAzureを使っているし、まずはAzureを触ってみようと思っています。
それにBotServiceはめっちゃC#だなと。
あ、DBもあるやん…。

なんかAzureを触れば学んでいきたいこと学べる気がしてきた←