iOS開発未経験だけどiOSDC当日スタッフしてきたよ!
この週末でiOSDC Japan 2018 Day3, 4の当日スタッフとして参加してきたので、そのレポ
なぜか申し込む
普段RubyとJSしか触ってないけどゆるふわバスケメンバーと話してるとiOS界隈楽しそうとか、元ぺちぱー的にとむぞうさんがやる運営は楽しそうすぎでしょ、ということで機運が高まり当日スタッフに申し込んでみた。
そしてなぜか当たる
当選メール↓
【タイトル】 iOSDC Japan 2018: 当日スタッフ ご応募ありがとうございました 【本文】 BCCにて失礼いたします。 iOSDC Japan 2018実行委員会です。 こんにちは。 先日はiOSDC Japan 2018の当日スタッフへのご応募、ありがとう ございました。 スタッフにて検討した結果、 当日スタッフをお願いしたいということになり、ご連絡させて 頂きました。 (中略) それでは、よろしくお願い致します! -- iOSDC Japan 2018 実行委員会
たぶん検討とかしてないよね
スタッフ顔合わせ
という名の飲み会
当日に向けて士気を高めた!
なぜかRubyの話ばかりしてた笑
Day3
主に受付をやりつつ、ヘルプの要請あればそこに入る、という動きをしていた。
朝からどんどんドーナツ
コーヒー職人の朝は早い
完璧なるドブ漬けオペレーション
バドワイザーがトビウオのよう
選びぬかれたQAチーム
お弁当めちゃうま!
懇親会
ビール瓶開けスキルがupした。
これがiOSでぃーすぃーだ!
もちろんクラフトビアも
いいにく
ネットワーク系ミサンガ
いいお寿司台
ハイタッチでお見送り
Day4
2日目ということ少し余裕ができ、 スタッフ業の合間に発表をいくつか聞いてみた。
iOSのことはよくわからないので知ってる人の話でも、ということでakatsukiさんの発表を聞いてみた。 自分にもかなりわかりやすかったし、記事をみると事前準備あってこそあの良い発表ができあがるのだな、とすごく参考になる。 akatsuki174.hatenablog.com
あとアンカンファレンスにいつもrebuildに登場するhakさんがいらして、とむぞうさんと古今東西ゲーム機談義をしてたのがめちゃくちゃ面白かった。
朝ごはん
止まらないゲームハードネタ@アンカンファレンス
クロージング
まとめ
iOSDCのことよくわからないまま参加したけど、スタッフ&参加者みんなで楽しいカンファレンスを作り上げようという雰囲気を感じつつ、楽しい2日間を過ごせました! 来年もまた参加したいです。
【LTしてきた】WEBエンジニア勉強会 #08
タイトルどおりLTしてきたのでそのまとめ
8回目のWEBエンジニア勉強会に参加してきた。会場はアクアミーティングスペース渋谷
今回もテーマを決める前に勢いで5分枠に申し込んだ。LT駆動開発
web-engineer-meetup.connpass.com
発表について
www.slideshare.net
今回のテーマはGoogle Apps Script(GAS)とSlackの連携アプリ
最近仕事で業務知識について答えてくれるBotが欲しいな、ともんやり思っていたので、 週末にまず遊びで作ってみたものをまとめて発表した。
デモ
今回のLTでは初めてデモに挑戦してみた。 著作権的なアレがあるためアップロードスライドからは抜いたけど、 ポケモンのイーブイネタでSlackbotの動きをみせた。
今回はあらかじめ下のようなスプレッドシートを用意した。
デモした画面をそのまんまキャプチャ
デモではSlackの投稿を利用した「一覧表示」「説明取得」だけみせたけど、実は「登録」もできたりする。
GASのソースコード
後で載せる予定
実装中あるある
- トリガーワードを登録し忘れて反応がなく焦る
- Slackへの投稿にトリガーワードを入れてしまい無限ループ
- リンクを含めた投稿にサムネイルが表示されない→参考
みなさんの発表
ハッシュタグがメモ代わり #webエンジニア勉強会08 hashtag on Twitter
あとはいつも通りOSCAさんブログの勉強会レポートで!
すでにレポート書かれた方がいて、今回の感想を書いていただいてた。ありがとうございます!
まとめ
発表やると打ち上げのビールがうまい(・∀・)
参考
@zuckey_17さんのブログ
これを読めば速攻で最初のアプリ作成までいけるので、まずは作ってあとで自分色に染めましょう
Google Apps Scriptを利用したSlack Bot作成の" Hello, World!! " Google Spreadsheet + Google Apps Script で Slack KPT Botを作ってみた
おまけ
はてなブログのアイキャッチ設定とTwitterへの更新反映
PHPer目線のRailsチュートリアル学習メモ#2
#1はコチラ
続けて雑に書いていく
ソースコードはチュートリアルから引用
DBまわり
ORMについて
- RailsではActive Recordを採用している。
Active RecordのオーナーはPostgreSQLに対するメンテは熱心だが、MySQLに対して冷たい(kamipoさんがMySQLのために日夜コミットされている。感謝)
CakePHPではEntityがあったがRailsではどうか?
- LaravelのORMはEloquent
ほか
- Controller名は複数形、Model名は単数形になるのはCakePHPと同じ
- 同じくマイグレーションもある (そもそもRails->CakePHPだけど)
- グヮッ https://youtu.be/2Ag8l-wq5qk
7.1.2 Userリソース
https://railstutorial.jp/chapters/sign_up?version=5.1#sec-a_users_resource
例えばUserモデルを作成済の場合、routes.rbにresourcesを記述するだけで、RESTfulなリソースに必要なアクションを利用できるようなる。
config/routes.rb
.
.
.
resources :users
Railsのルーティングについてはコチラ
7.1.3 debuggerメソッド
https://railstutorial.jp/chapters/sign_up?version=5.1#sec-debugger
byebug gemを入れるとdebuggerメソッドを使い直接的なデバッグを遂行できる。
例えば下記のように書いて/users/show/:idにアクセスすると、debuggerが差し込まれた時点での状態を確認することができる。
class UsersController < ApplicationController def show @user = User.find(params[:id]) debugger // ココ end def new end end
例えば下記のようにdebugger時点でのuserが持つ属性を確認することができる。
@Railsサーバを立ち上げたターミナルのbyebugプロンプト上
(byebug) @user.name "Example User" (byebug) @user.email "example@railstutorial.org" (byebug) params[:id] "1"
- CakePHPだとDebug Kit - 3.6はあったけど、debuggerは用意されてないはず(IDE使えばできるけど。PhpStorm + Xdebugとか)
PHPer目線のRailsチュートリアル学習メモ#1
雑に書き残す。
下記、コードはRailsチュートリアルから引用
自分のバックグラウンド
プログラミング歴約1年、フレームワーク歴はCakePHP半年ほど
Rubyはすべてオブジェクト
って書いてあるけどメソッドは違うらしい。
言語の歴史的経緯として下記の違いがある。
- Rubyは端から純粋なオブジェクト指向を目指して作られている
- PHPは後からオブジェクト指向に対応
記述を短縮できるところはガンガンやっていき
4.3.2 ブロック
https://railstutorial.jp/chapters/rails_flavored_ruby?version=5.1#sec-blocks
symbol-to-proc記法
>> %w[A B C].map { |char| char.downcase } => ["a", "b", "c"] >> %w[A B C].map(&:downcase) => ["a", "b", "c"]
4.3.3 ハッシュとシンボル
https://railstutorial.jp/chapters/rails_flavored_ruby?version=5.1#sec-hashes_and_symbols
- ハッシュはPHPでいうと連想配列のこと
- ハッシュのキーを次のような形式でかける(シンボルという)
- Rubyではハッシュのキーは文字列よりシンボルを使うのが一般的
例えばuserというハッシュを作る場合、
これが
user = { "name" => "Taro Yamada", "email" => "aaa@aaa.com" }
こうなって、
user = { :name => "Taro Yamada", :email => "aaa@aaa.com" }
こうなる。
user = { name: "Taro Yamada", email: "aaa@aaa.com" }
4.4.5 ユーザークラス
https://railstutorial.jp/chapters/rails_flavored_ruby?version=5.1#sec-a_user_class
attr_accessorでシンボル指定しおくと、自動でgetter/setterが定義される。
各々定義したい場合はattr_reader/attr_writerを使う
- attr_reader -> getterを定義
- attr_writer -> setterを定義
class User attr_accessor :name, :email def initialize(attributes = {}) @name = attributes[:name] @email = attributes[:email] end def formatted_email "#{@name} <#{@email}>" end end
【参加レポート】#しがないラジオmeetup 1 とTwitterライブ
参加者の皆さんのレポートがはやすぎて完全出遅れだけど、せっかくなので書きます。
昨日いつも聴いているPodcast「しがないラジオ」のミートアップがあり、ちょこっと運営お手伝いもしつつ参加してきました。
レポート的なあれこれ
この記事を書いてる今も続々と参加レポートがあがってきているので、当日の雰囲気はそちらを見て頂ければと思います。
とりあえずハッシュタグ貼っときます。
ハッシュタグのTLを追いきれんwという方もいると思うので、 そんな人はVTRyoさんの素晴らしすぎるまとめ記事と、 てぃーびーさんのブログにレポート記事リストがあるのでそちらを御覧ください。
全員分のLT、Tweet実況交えて書きました!よかったら振り返ってみてくださいな。今日はありがとうございました!https://t.co/MYjkDLl7C6
— VTRyo@5/23しがないラジオmeetup (@3s_hv) May 23, 2018
#しがないラジオmeetup
Meetupの不参加レポートをはじめて書いた!→
— てぃーびー 📺 (@tbpgr) May 24, 2018
しがないラジオMeetup1の不参加レポート - Tbpgr Bloghttps://t.co/JdCvGSok9v
愛されがつよい
今回参加しててすごく感じたのですが、パーソナリティの2人の愛され感がすごいなと感じました。
会場にいないてぃーびーさんからの遠隔LTがあったり
#しがないラジオmeetup pic.twitter.com/GWXk2mrORR
— 渡り鳥🐥今年2度めのGW中 (@migrateur_k) May 23, 2018
OSCAさんのLT中、パーソナリティ2人とのやりとりがあったり、
シャイなずっきーさんに質問、Podcastやっていると言うと周りはどんな反応?->知らない人にはiPhoneの紫のアイコンのやつw #しがないラジオmeetup
— いけ (@otty_375) May 23, 2018
また、LTの発表内容がしがないラジオの影響を受けて行動を起こしたら環境が変わって感謝いっぱいの内容だったり。
あと、今回地味にすごかった点として登録者の出席率が9割超えしてたのもすごかったです。
Twitterライブで得たTips
あまり表立って告知されてなかった気がしますが、 今回は当日参加できない遠隔地のゲストさん&リスナーさん向けにTwitterライブをやっていました。
普段から写真や動画を積極的に撮る方ではないのでiPhoneあれば何とかなるだろ〜とほぼ準備ゼロでやった結果、 色々つらみと発見があったので今後はじめてやる方向けに書き残しておきます。
ポジション大事
ライブ撮影する上であらかじめ見通しの良さを考えておいた方が良いなと感じました。
たまたま運が良かったのですが、今回はプロジェクタに向かって椅子が並んでいて真ん中を通れるように通り道があったおかげで、 一番うしろからでもプロジェクタ全体を写しやすい状態でした。
雑に書くとこんな感じです↓
ぶっちゃけ撮り慣れてる人的にはポジション取り大事なのは常識なんだと思いますが、 特に発表の動画撮影は場所を固定することが多いと思うので会場レイアウトを考えるときに考慮しておいた方が良いなと感じました (小並感)
三脚あった方が良いよ
単純に手持ちで撮ると腕がプルプルになるよねという話だけではないです。 今回自分で撮影した動画を見返してみると、結構ゆらゆらして自分で見返して酔いそうになったので、 固定は大事なんだなと思いました (小並感)
Periscopeアプリ入れとこう
今回ハッシュタグ上で動画を流そうと思ってTwitterの公式アプリ上でライブ機能を使いました。
ツイートするときに表示されるライブってやつですね↓
実はこの表示、下記のようにテキストを入れてる状態だと表示されません。。 (当日はライブスタートと同時にずっきーさんにリツイートしてもらい対処してましたw)
当日は時間もなくテンパってたので見つけられなかったんですが、写真マーク押したら普通に出てきますw
で、あとはさっきと同じくライブボタンを押すだけでしょ?ってなると思うんですが、 なぜかこの場合「Periscopeアプリをインストールしますか?」とメッセージが出てきて中々撮らせてくれません(怒
というわけで、事前にインストールしておきましよう(`・ω・´)
アプリインストール済だとまずストリーミングの初期化が始まり、
完了すると撮影開始できるようになります。
下の例だとハッシュタグのみですが、もちろんコメントやリプライを入れることもできます。 ちなみにライブを止めると自動的にツイート投下されてしまうため、コメントは先に入れておきましょう。
撮り終わったら右上のバツボタンを押してライブを止めましょう。
VTRyoさんも書いてますが、ライブ撮影以外も遠くから参加できない方向けに他にも色々できることありそうだな〜と思いました。
第2回は、リモートの人も巻き込めるような会がいいな。弊社はリモートの会社なので、ぼくはどうしても遠隔の人たちのことが気になる #しがないラジオmeetup
— VTRyo@5/23しがないラジオmeetup (@3s_hv) May 23, 2018
というわけで、、
楽しかったよ!
【LTしてきた】WEBエンジニア勉強会 #07
タイトルどおりLTしてきたのでそのまとめ
今回は7回目のWEBエンジニア勉強会に参加してきた。会場はYahoo! LODGE
前回の参加がきっかけで運営をお手伝いすることになり、そのまま勢いで発表申込みしたのが背景。
web-engineer-meetup.connpass.com
自分の発表
イベントが公開されたのはだいたい一か月前。その時はまだ発表内容も決まっていなかったため、とりあえず「初心者Webエンジニアを支える技術」といういくらでもピボットできそうなタイトルで申し込んだ。GWも挟むし何とかなるだろう、とわりとお気楽な感じでに申込みボタンを押した。
じつのところ発表テーマが固まったのは勉強会の3日前くらいだったんだけど。。
というのも、最初はわりとエモめな内容を考えていてストーリーラインも何度か推敲して形にはなっていた。だけど自分の中で「せっかく勉強会で発表するんだからお気持ちだけで発表するのはもったいない」「ちゃんと技術寄りなことで発表したい」「せっかくだから新しくインプットしたことを整理したい」という悶々が続き、直前になりSQLじゃね?っと腹が決まりそこから内容を考え直した。
テーマが決まったら次はどんな流れにするか?
基本的には業務中に自分がハマったことベースで、その時には時間優先で終わらせたことに対してちょっと原理的なところを深堀してみたり、多言語・フレームワークに視野を広げてみたりと厚みをつける方向で情報を整理していった。
お勉強方向に深堀りしすぎると眠くなるので、ある程度のところで参考文献の紹介に留めて具体例も盛り込んでいった。 Webの世界はオープンですばらしい参考文献が転がっていて、感謝感謝と念じながらふんだんに引用させていただいた。
スライドの基本ができたら何回か見直して、説明が飛びすぎな部分にページを追加したり、プレゼンを楽しんでもらうためのお気持ちページを入れた。 あとは細々したところを調整したつもりだったんだけど、発表後に見返してみると色々粗がみえてきたので次に活かすということにしてそっとブラウザを閉じた。
というわけで出来上がりがコチラ↓
www.slideshare.net
発表を振り返ってみると、ゆるさを意識しすぎて説明が雑だったなと思う。あとは端折るつもりのところを全部しゃべりきったのでたぶん時間すぎちゃってた。もうしわけない
SQL改善例のおねだりしたら #WEBエンジニア勉強会の方でいくつかコメント頂いてて、ありがとうございます。
SQLのパフォーマンスチューニングなら、Bulk InsertとON DUPLICATE KEY UPDATEも... #WEBエンジニア勉強会07
— 小林 拓 (@taptappun) 2018年5月18日
MySQLはMySQL Workbench、PostgreSQLはpgAdminを使えばグラフィカル的に実行計画が見れるんですよね。 #WEBエンジニア勉強会07
— 神田 佳積 (@kazumiks) 2018年5月18日
みなさんの発表
色々テンパっててまとめきれてないので、詳しくはOSCAさんブログの勉強会レポートで!
運営お手伝い
事前にslackでやりとりしてたけど、実働は当日のみなのでサクッと書く。
詳しくはOSCAさんブログに書いてあるけど、今回は会場がYahoo! LODGEでのリベンジ開催ということでOSCAさんの熱を感じる仕事ぶりを間近(リモートだけど)で見ることができた。職業柄ってのもあるかもしれないけれど、すごく周到な準備をされていてとても勉強になった。
そんな姿を見ていたので、当日は気づいたことがあれば何でもやるぞ!ということでちょろちょろと動き回っていた。
まとめ
運営&発表やると打ち上げのビールがうまい(・∀・)
おまけ
今回Slideshareに資料をアップロードをするときハマったので、下記リンクも貼っておく。
KeynoteのスライドをSlideShareにアップロードすると日本語が表示されない問題
基本的に日本語サポートをしてないらしい。。