一人で初めて初心者向け勉強会に行ってみたら全く付いていけなかった話。
先日、初めて勉強会というものに参加してきました。
参加させていただいたのは、『【勉強会】【初心者向け】外部ライブラリを一切使わずサーバーと通信するiOSアプリを作ってみよう』です。
結論から言うと、全くついていけず、知識を習得することができませんでした。つらみ。
参加当日の僕
〜参加する前〜
僕:(初めての勉強会緊張するな〜。付いていけるかな〜。Swift勉強始めたばかりだけど、初心者向けって書いてあったし今ある知識でも何かしら得られるものはあるはず!)
〜勉強会〜
講師:〇〇が××で△△で〜
僕:・・・(聞いたことある言葉はあるけど全然付いていけない。。。)
講師:何かわからないことありますか?何でも聞いてください!
僕:・・・(何がわからないかもわからないから何も聞けない。。。)
〜懇親会〜
講師と参加者:(わいわい)
僕:・・・(他の方が何の話をしているのかわからない。。。)
〜帰宅中〜
僕:・・・(何しに行ったんやわしは。。)
勉強会中、全く質問しなかったわけではありませんが、内容とは関係ない基本的なことや、開発している人なら誰でもわかるようなことを聞いてしまったりしたことで他の参加者の方の時間を奪ってしまって申し訳ない気持ちでいっぱいになりました。
懇親会にも参加させていただきましたが、ここでの話にも付いていけず、今回の内容において得られた知識はほとんどありませんでした。何しに行ったんだって感じですよね。
学んだこと
そんな何しに行ったんだ状態の僕でしたが、この会を通じていくつかのことを学ぶことができました。
・初心者向けとは何も知らない無勉マン向けのことではない。
いくら初心者とは言っても、参加ページに載っている内容が理解できない、わからないのであれば、わかるようになってから参加した方がより多くのことを吸収することができるはずだと思いました。初心者にすらなれていない僕のようなただの無勉マンはただ時間を浪費するだけになってしまいます。。。
・勉強会の参加者は本気で学ぶ意欲があって来ている。
他の参加者の方が発表の合間合間に活発に質問をしていて、勉強するために、何かを得るためにここに来ているんだなということが伝わりました。
勉強会って講師の方のお話を聞いてメモを取ったりするイメージだったんですが、参加者と一緒に進めていってみんなで学んでいくのが勉強会なんだなーと思いました。確かにただ話聞くだけなら勉強会とは言わなそう。
・勉強会のレベルが自分に合っているかをしっかり考えて参加するべき。
講師の方が想定してる参加者レベルと自分のレベルがかけ離れていると学べるものも学べなくなることがわかりました。逆に言えば一致していればいるだけ多くのものが得られるんだと思います。何でも参加すればいいというわけでなく、出来るだけ自分のレベルに合ったものを探すことが大事なのかなと思いました。当たり前のことなんですけどね。
収穫
僕がこの勉強会で得られたものは、
・得られたはずの知識が得られなかったことに対する悔しさ
・「初心者向け」なのに付いていけなかった自分への不甲斐なさ
です。
正直自分のレベルが足りなさすぎて参加した意味はなかったと思っていましたが、これらが得られたことでこれまで勉強しなければいけない、もっと知識をつけたいという気持ちになったので、行った意味はあったのかなと思います。
というより、このために参加したと言っても過言ではないと思ってます!!
自分がどれだけ甘々で考えていたかを知るきっかけになったんですから!!(泣)
月並みではありますが、この悔しさを忘れずに勉強続けていこうと思います。
がんばるぞい。
以上、ないぱかでした!
わからんのがわかった。(BONFIRE Backend #2 イベントレポート)
先日仕事終わりにLODGEで勉強会していたらイベントが開催されていたので、飛び入りで参加してきました!
人生初のIT系イベントだったのもあるので、ここにレポートを残しておこうと思います!
といっても内容がわからなすぎたのでレポートになっていないと思いますが、自分の備忘録として残しておきます。
参加の動機
・イベントがどんな感じなのか知りたいな。
・少しでも得られるものがあればいいな。
参加の目的
・イベントの雰囲気を知る。
感想
しっかりとした目的もなく、内容も把握していなかったのもあって、
発表の内容がほとんどわからなかった。
けど、わからないところがわかったのが自分的には収穫。モチベも上がったし。勉強会、イベントってすごいな?
成果
・イベントの雰囲気を知った。
・発表へのモチベが上がった。(同じ世代の人が発表してるのをみて)
・わからない単語がわかった。
以下から内容についてのお話ですが、ほぼ自分のためのメモになります。
内容
前述の通り正直内容はさっぱりでした。なので、今回は自分が知らなかった言葉についてまとめたいと思います。調べてる過程で思ったこともコメントとして残しときます。
一人目:Apache Kafkaパフォーマンスの低下の社内事例とその解決方法
最初の方はついていけたけど、途中から日本語どこいった状態になった。
Apache
世界でめちゃくちゃ使用されてるWebサーバーソフトウェア。僕が生まれた年にできた。
(Apache…なんか聞いたことある。あ、自分で作ったプログラムをWEB上で見たいときに使ったApache tomcatってのはローカルサーバーソフトウェアなのかな?ローカルで動かしてたし。)
Webサーバーソフトウェア
Webサーバーを構築するためのソフトウェア
(そのまんまやな。つまりApacheさんをつかえばWebサーバーが構築されるのか。)
Apache tomcat
Web上で動くためのプログラムであるJava Servletを動かすためのサーブレットコンテナ。
(ほう。思ってたのと全然違った。Java専用なのね。こいつを使うとWeb上で書いたJavaソースコードが動くんや。)
クラスタ
集団、群の意。また、ネットワーク上にあるコンピュータを1つのコンピュータに統合したシステムのこと。可用性(障害が起きても他の待機用のコンピュータでなんとかなる)高めるタイプと拡張性(処理を分散させて、全体の処理速度を上げる)タイプがある。
(あー!情報処理試験勉強の時見たな。)
バッチング
…バッティングのこと(多分)。
(バッチングっていう何かかと思ったけど、予定がかぶった時とかに使われるバッティングのことかな。処理がバッティングする的な。)
ラウンドロピン
複数の処理を実行するために、実行時間ごとに順番に割り当てること。
(あー!これも情報処理試験勉強でやった!結構忘れてるなぁ。)
二人目: Better Docker Image
どのように速く、小さくするかの話。
…まずDockerってのがわからなくて詰んだ。
わからなかった単語
Docker、Docker Image
三人目:Akka streamを用いた集計に優しいログ送信フローについて
ログ出力はこの前会社でちょっと勉強したからいけるのでは?!…って思ったけど案の定ダメでした
わからなかった単語
Donalyst、Adtech Studio(発表の資料に使われてた)、マルチリージョン、S3
donalyst
サイバーエージェントが出してるスマートフォン用ダイナミックリターゲティング広告
(だいなみっくりたーげてぃんぐこうこく。。。)
ダイナミックリターゲティング広告
ユーザーごとに最適な広告バナーを表示する広告。
(サイバーエージェントの人の講演聞いた時これからは広告が欲しいときに来るようになるって言ってたの思い出した。)
Adtech Studio
"サイバーエージェントグループのアドテクノロジー分野におけるサービス開発を行うエンジニアの横断組織"
A(あー。パワポ的なサービスの名前かと思った。写真加工アプリとかでついてくるアプリの名前みたいな感じのやつかと。)
マルチリージョン
(複数の範囲、領域ってことかな。)
参考文献
・Apacheとは?Webサーバーの仕組みと人気サーバーソフトを徹底解説 | カゴヤのサーバー研究室
https://www.kagoya.jp/howto/rentalserver/apache/
・【社内勉強会】ApacheとTomcat(2017/03/09) - Qiita
https://qiita.com/yuji38kwmt/items/267d4ce618e80785f03d
・Apache Tomcatとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
https://wa3.i-3-i.info/word12843.html
・クラスター | IT用語辞典 | 大塚商会
https://sp.otsuka-shokai.co.jp/words/cluster.html
・ラウンドロビンとは - IT用語辞典
http://sp.e-words.jp/w/%E3%83%A9%E3%82%A6%E3%83%B3%E3%83%89%E3%83%AD%E3%83%93%E3%83%B3.html
・Docker入門(第一回)~Dockerとは何か、何が良いのか~ | さくらのナレッジ
https://knowledge.sakura.ad.jp/13265/
・Dockerイメージとは?【Docker解説】 | 学生エンジニアのプログラミング
https://student-engineer.net/docker-image/
・サイバーエージェント、アドテクノロジー広告「AMoAd」「Dynalyst」「Smalgo」がFacebook広告と連携 | Web担当者Forum
https://www.google.co.jp/amp/s/webtan.impress.co.jp/n/2014/11/08/18637%3famp
・CyberAgent AdTech Studio | アドテクスタジオ はインターネット広告、ロボット、人工知能領域など、サイバーエージェントのテクノロジー開発部門です
https://adtech.cyberagent.io/
"=="とequalsとコンスタントプール【Java】
Java初心者が一度は持つ疑問、それは…
「"=="とequalsって何が違うん?!」
最初は違いわからなくてString型の変数を"=="で比較しようとしたり、int型の変数をequalsで比較したりしてしまったものです。
この違いを尋ねられた時にスラスラ〜と説明できるように一度ここで整理しておきます!
まず、簡単に説明すると、
==:同一性を確認する比較演算子 equals:同値性を確認するメソッド
となります。
同一性というのは「参照しているインスタンスが同じかどうか」というものです。
Sample sample1 = new Sample(); Sample sample2 = new Sample(); Sample sample3 = sample1; System.out.println(sample1 == sample2); // false System.out.println(sample1 == sample3); // true
sample1とsample3には同一性がありますが、sample1とsample2には同一性はありません。
同値性は「オブジェクトの中の値が同じかどうか」というものです。
プリミティブ型と言われるint型などはオブジェクトを生成しないので、equalsで比較する事ができません。
String str1 = "ないぱか"; String str2 = "あるぱか"; String str3 = "ない" + "ぱか"; System.out.println(str1.equals(str2)); // false System.out.println(str1.equals(str3)); // true
ここまで説明すると、String型では同一性の比較ができないんだな〜となるんですが、
実はString型でも場合によっては"=="で比較することも可能です。
例えばこんな例。
String str1 = "A"; String str2 = "A"; System.out.println(str1 == str2); // true
これはコンスタントプールというものが働いているために起こります。
コンスタントプールとは、同じ文字リテラルがプログラム内に再び登場すると、定数用のメモリ空間にある文字列インスタンスへの参照が使い回しされることです。これにより、参照を比較する"=="で値を比較することができるんです。
じゃあStringも”=="で比較したっていいじゃん!と言いたい気持ちはわかるんですが、どんな場合でも"=="で比較ができるというわけではありません。
複雑な処理になるとコンパイルさんが同じ文字リテラルがどうかを判断するのが難しくなって別の参照が作られてしまい、"=="で比較することができなくなります。
なので、Stringの比較にはequalsメソッドを使っておくと覚えておきましょう٩( 'ω' )و
まとめ
参照、値を比較するときには ⇨"=="、 オブジェクト内の値を比較するときは ⇨equalsメソッド
あるぱかに!!おれはなるっ!!!
1. プロフィール
2. 仕事と私生活
3. ブログの目的
ブログの目的は以下の3つです。
①アウトプットする機会を増やしたい!
僕はこれまでの人生で、人前で発表する機会や人に説明する機会ををとことん避けてきました。そのせいで他人よりアウトプットの経験が少ない伝えるのが下手っちょマンになってしまい、何かを説明したり伝えようとしても上手く伝わらなかったり「ちょっと何言ってるかわかんないっす」って顔をされたりする経験を何度もしてきました。
でももう惨めな思いはしたくない。。。伝えるの上手マンになりたい。。。
そのために、本ブログでのアウトプットを通じて伝える力を鍛えたり、自分の考えを整理したり、知識を定着させたりしていきたいのです。
②自分のいいと思ったものを広めたい!
自分がこれいいな〜って思ってるものを勧めたとき、相手が「この前勧めてくれたあれめっちゃよかったよ!」って言ってくれるのってめっっっっっっっちゃ嬉しくないですか。人間に生まれてよかった〜〜〜ってなるレベルで嬉しくないですか。
前述の通り伝えること自体は苦手なんですが、人にオススメしたり何かを教えたりすることは好きなんですよ。ブログでもこの喜びを味わいたいッッッ!
③色んなエンジニアさんと繋がりたい!
4. ブログの内容
5. どうなりたいか
つまり、"ないぱか"から"あるぱか"に進化したいんです!! (タイトル回収ッ)
・・・言いたかっただけです。すみません。