サムライズムさんがもくもくイベントっぽいのやるということで参加してきました!
4月9日(木) ふくろうJava #ikemoku
色々書こうかと思ったけど、まめピカさんが大体書いてくれてた。
サムライズムさんにお邪魔してきました!#ikemoku
僕の言いたいことはまめピカさんが大体言ってくれている、すごい働きやすそうだなぁーと思いました。
サムライズムへのアクセス
池袋駅から10分ぐらいかなぁ、体感。GoogleMapにもちゃんと登録されているので
検索すれば出てきます!(着いてから知った)
これか! pic.twitter.com/iyToXz5kBu
— やんく (@yy_yank) 2015, 4月 9
間違えた。
こっちか! pic.twitter.com/72spm8hI82
— やんく (@yy_yank) 2015, 4月 9
こっちだ。
迫力ある pic.twitter.com/o6HyONOc7T
— やんく (@yy_yank) 2015, 4月 9
ビルの一室にサムライズムはありました。
ドアの前でにやにやしながらTwitterしてたらyusukeさんが開けてくれました
yusukeさん、何回か会ったこと(というか一方的にお見かけしたレベル)はあるんだけど
やっぱ毎回イケメンだなぁーと思う。何の話や。
もくもく開始!
もくもくして軽くLTすると聞いてたので、とりあえずIntelliJ IDEAを開いて(保身)
Twitter4Jを使ってなにかつくろうと思った(媚売り)。
その時の僕の様子
— やんく (@yy_yank) 2015, 4月 9
ハーゲンダッツもろた
ずっとサムライズムでハーゲンダッツを食べたかったので、夢かなった瞬間である。
ハーゲンダッツ ? ハーゲンダッツ +
🍺
:
🍺 pic.twitter.com/NIoQOBNQmS
— やんく (@yy_yank) 2015, 4月 9
もくもく後のビールとピザタイム
うまかった(写真なし)。 雑談もほどほどに、、参加者全員の自己紹介をしました。こんなことしててーとか
あんなシステムあったよねーとかそんな話だったような。
僕の自己紹介
ぼく「珍しい苗字なんですよ。ググるとすぐ紐付いちゃうので普通の名前が良かったですね。
よくある苗字とかでよかったですね。森のなかの葉っぱになりたかったですね」
yusukeさん「森のなかの葉っぱですサーセン」
みたいなやりとりしてなんだかdisったみたいになってしまい
違うんや違うんやと内心必死に弁解したくて弁解しそこねました。
もくもく個人進捗
・build.gradleの依存関係にTwitter4J追加できた
・libGDX + KotlinでTwitter4J使ってTwitter検索出来た
・アプリ起動2回しただけでrate limit出た
・yusukeさんをちょっと困らせた
ぼく「Rate Limitがー」
イケメンさん「ちょっとPC貸して…カチャカチャ
え、これvim?」
ぼく「はい、ideaVimです。あとすみませんJavaじゃなくてKotlinです」
イケメン「あれショートカット効かない、IDEA 14.0ですか?」
ぼく「スミマセン」
— やんく (@yy_yank) 2015, 4月 9
もくもく結果
サムライズムでモニターに僕のよく分からないデモ映像を写してアベンドして解散となった
— やんく (@yy_yank) 2015, 4月 9
LTについて
sueさんのLTは普通にしっかりしててすごかった。 具体的にはこれの発表してくれました。
enkins GitLab Logo Plugin をリリースしました - くりにっき
コマンド一発でリリースしてブランチ切ってくれるjenkinsプラグインって言ってたと思います。
すげーってただただ感心しました笑
テストはGroovy製のSpockを使ったらしく、BetaMaxってライブラリが面白そうだった。
ざっと見た感じだと、sueさんはHTTPレスポンスをymlに書いてモックとして使ってる感じでした。
僕はというと、見事に失敗しましたが、原因は分かりました。
Twitter APIにはRate Limitというものがあり、APIとの時間あたりの通信回数制限みたいなものがあります。
僕が今回作ったてっきとーなアプリでなんでいきなりRate Limitなんかひっかるのかなぁと思ったら
LibGDXのライフ・サイクルを理解しておらずrenderイベントでめちゃくちゃリクエスト飛ばしてました笑
実際のくそみたいなコードがこんな感じ
package sample import com.badlogic.gdx.ApplicationAdapter import com.badlogic.gdx.Gdx import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.graphics.GL20 import com.badlogic.gdx.graphics.Texture import com.badlogic.gdx.graphics.g2d.BitmapFont import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.scenes.scene2d.ui.Skin import com.badlogic.gdx.scenes.scene2d.ui.TextField import twitter4j.Query import twitter4j.QueryResult import twitter4j.TwitterFactory import twitter4j.conf.ConfigurationBuilder public class KotlinSample : ApplicationAdapter() { var batch: SpriteBatch? = null var img: Texture? = null var font: BitmapFont? = null override fun create(): Unit { batch = SpriteBatch() font = BitmapFont() font?.setColor(Color.BLACK) font?.setScale(2f) } override fun render(): Unit { println("hello") System.setProperty("twitter4j.loggerFactory","twitter4j.StdOutLoggerFactory") val cb = ConfigurationBuilder() cb.setDebugEnabled(true) .setOAuthConsumerKey("ナイショ") .setOAuthConsumerSecret( "ナイショ") .setOAuthAccessToken( "ナイショ") .setOAuthAccessTokenSecret( "ナイショ") .setDebugEnabled(true) val factory = TwitterFactory(cb.build()) val twitter = factory.getInstance() val query = Query("#ikemoku") query.setCount(1) val result = twitter.search(query) val builder = StringBuilder() result.getTweets().forEach { builder.append("@${it.getUser().getScreenName()}: ${it.getText()} ¥n") } Gdx.gl.glClearColor(1f, 0f, 0f, 1f) Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT) batch!!.begin() font?.draw(batch, builder.toString(), 200f, 200f) batch!!.end() } }
ついでに言うと、gradle runで標準出力がコンソールに出ないって問題もあったんだけど
これについてはみけさんに解決してもらいました。ホントありがとうございます。
やんくさんがKotlinアプリケーションをgradleで走らせたけど、スタンダードアウトが出てこないと騒いでいたので調べたけど、っgrksだった件について - mike-neckのブログ
ググります。
まとめ
・サムライズムはエンジニアにやさしい働きやすそうなところでした
・sueさんがLT鮮やかでした
・JJUG幹事はなぜかJJUG幹事業をしてた
・yusukeさんはイケメン
・johtaniさんは気さくな感じ
・ググります
ホントに色々ごちそうになったり教えてもらったり、居心地良かったです!
おじゃましました!ありがとうございました!
0 件のコメント:
コメントを投稿