potatotips #19 いってきた
ただのメモ
Potatochips #19
@gfx
- RxAndroidの先行きが不透明
- RxJavaユーティリティを突っ込みたい
AndroidSchedulers
- RxAndroidと同じ
Schedulers
- ベストプラクティスあんまりわかんない
- とりあえずthread2つでよさそう
AndroidCompositeSubscription
- 同じinstanceをfinalで持ってる. 再利用可能
OperatorFilterLite
- もうすこし軽く. objectを作り過ぎないようにしたい
RxAndroid/RxBindingの動向をみまもりたい
@yuseinishiyama
静的にもっと書きたい話
UIViewController
- 例えばStoryboardとのヒモ付け、同じ情報を何箇所にも書かないといけない
- 1Storyboard / 1ViewControllerがオススメ
- global funcでstoryboard instantiateする関数
型名の抽出
- 一般的な方法、nest classには使えない
- mirror typeつかう
- swift 2.0では selfのdescritionでおk
IndexPath
UITableCell
- class name == nib == class identifier
@futaboo
push通知周り
GCM
- registoration idを保存
- 送信
注意
- 再起動するとregistration idが変わることがある
RECEIVE_BOOT_COMPLETED
- GooglePlayの自動アップデートが効かなくなるのが問題
GCM診断
- idを入力すると過去に届いたかどうか、その一覧がでる
問題
- Dozeモード
- 省電力
@kitasuke
- fastlane meetupにいったよ
- 日本語ガイドに紹介されてうれしい
- Clipper = suika
- Meetupいくといいよ
メソッドを外部から叩く技
- c88 tech boosterに寄稿したよ
- Method Http Exporter: つくったよ
- 開発用のバックドア
仕組み
- アノテーションを付けておく
- aptで解析
デバック
- センサ系の操作に便利ですよ
Core Graphics
- @shu22
watchOS2
- 線、UIBezierPath、円、gradationのかける
- 手書きできない
JS native間のmessage
htlm5 web messaging
- 送信用ポート、受信用ポート
mWebView.postMessage()
html5標準なのでよさそう
- いまはpreview 段階. M Preview
New Library for CoreData
- Hiroshi Kimura
新しいデータストアライブラリつくってる
- CoreStore
よいところ
- swift
- thread管理
- mainthreadはread only / 書き込みはbackground
- sqlite fileが複数使用可能. configでわけられる
- sqlが結構シンプルに書ける
- fetchの記述がシンプル
- VCとの連携が簡単
- migrationが充実
swift2.0対応中
はじめよう Data Binding
- @sys1yagi
Android開発の課題
- View周りが煩雑
View Binding
- RoboGuice / ButterKnife
- 助かるんだけど、全然足りない
Google IO Data Binding Library
- com.android.databinding:dataBinder:1.0-rc0
- minSdkVersion 2.1-
Layout XMLの記法を拡張してくれる
- root要素にlayout書くだけ
- compileの時にコードを吐いてくれる
- view with idsでview holder
- automatic setter
- observable...
View With IDs
ViewHolderいらずに・・・
layout書くとViewHolderが出来上がる
実際に試すと超楽しい
- ViewHolderの代わりにくらいからやると良さそう
夏コミ
- c88でデータバインディングライブラリについて結構書いてる
Cookpadではすでにリリース済み
iOSの画面遷移と私
@tokorom
紀元前: Storyboard登場まえ
- 紀元後: Storyboard登場
self.presentViewControllerでやる
storyboard時代の遷移
- prepareForSegue
- 超嫌だ
watch kitの contextがよい
- 疎結合 anyobject
- 遷移後・遷移前で依存関係ができてない
- interfaceで何でも渡せる
ライブラリつくった
- SegueContext
NavigationController/TabController挟んでもへっちゃら
Breaking changes for Foundation API in iOS9
- @kishikawa
- Relm
- meetup T-shirtくばるよ
NSMutableDictionary
- (void)setObject:(nullable ObjetType)obj forKeyedSubscript:(KeyType <NSCopying>)key
破壊的な変更なので要注意
- nilを渡すと要素が削除される => xcode7
- xcode6.x時代は NSInvalidArgumentException
GCM Topic Message
- @mochicon
- KAYAC inc
- Lobi
- C88 東A-39a
GCM Topic Messagin
- グループユーザに送信
- Topicに登録した100万件までに送信
- ニュース配信とかに使える
GCMのGoogle APIsの利用方法が変わった
新しい方式
- app/直下にconfigファイルをおいておくと、勝手にpluginがidを生成してくれる
UTI
- hatena
extension / mime / uti
UTI
- Uniform Type Identifier
mime type -> extensionを作れる
- ライブラリある
UTI(mimetype: "image/jpeg").extension
DeepLinkDispatch
- wasabeef
- CA
- ameba tv
DeepLinkDispatch
- airbnb
- deeplink schema 起動が楽
- simple
- anotation base
Activity
@DeepLinks({"wasabeef://deeplink/{id}"})
public class MainActivity extends Activity {}
- Bundleにidが入ってる
Method Annotationも使える
- static, returnでintent
ApplicationにDeepLinkCallbackをimplementするとエラーがくる
Test
adb shell am start -W -a android.intent.action.View -d "wasabeef://"
iPad Multi Tasking
- @mpon
- 参加レポートを1日づつかいた
Picture in Picture
- 動画を再生しつつ操作できる
- Youtubeとか
Slide Drawer
- 引っ張ってくとSplitViewになる
- Device Orientationを全部対応すればできる
iPadアプリ
Flow, Mortar, Dagger2 Tips
- @tai2
Fragmentのライフライクル問題
- IllegalStateException
Flow
- View主体の画面遷移、データはコンストラクタに渡して遷移すればOK
Mortar
- getSystemServiceを拡張
- Viewの永続化がBundleでできる
Dagger2
画面ごとにObjectGraphを作る
- @WithComponent、画面に対応するobject graphを指定する
サンプル作った
- github.com/tai2/flowmortardagger2demo
CookPadはRoboGuice使ってる
Teitenってアプリをつくった
- @nakajijapan
- pepabo
- NKJxxx をたくさん作ってるよ
teiten
- 自分を10秒毎に撮り続けるアプリ
- osxあぷり
previewをdrag&drop -> LGTMできるようにしたい
- NSTableView -> drag&dropに必要
- NSDragOperation
- NSPasteboardWriting
github / qiitaでclipboardにcopy&pasteできるのいいよね
APT
- @izumin5210
Annotation Processing Tool
- aptはjava7でdeprecated
- もとはコマンド
- Pluggable Annotaion Processing API
構成
javacのための入り口
- autoservice
あがめよう
- JavaPoetで生成するとよい
- testはGoogleのCompile Testingをつかうとよい
小並感
- cookpad 良いオフィスだ
- dataBinderおもしろそう、導入しようか
- DeepLinkDispatchもよさそう
kotlinことはじめ
kotlinでアプリを書き出すようになったので、勉強がてらメモ。
static method
基本staticは無いらしい。class objectで記述するみたい。
いつものアレをconvertしたらこうなった
public class SomeFragment : Fragment() { companion object { public fun getInstance(): Fragment { return Fragment() } } }
val var
swiftのletにvalが相当する。変更不可能な値。 varは変更可能な値。
getBytes()
Stringに生えているgetBytes()はdeprecatedになっていた。 代わりにtoByteArray()をつかえとのこと
ByteArray
Basic types - Kotlin - Confluence
Arrayで配列を表現するみたい。 primitive型も対応する型が用意されているみたい。
Test
src/test/kotlin/PKG/HogeTest.kt
package hoge import kotlin.test.assertTrue import org.junit.Test public class HogeTest { Test fun hoge() { assertTrue(true) } }
Annotationは@を外してつかうっぽい
butterknife
kotterknifeがあるっぽい
repositories { maven { url "https://oss.sonatype.org/content/repositories/snapshots" } } dependencies { compile 'com.jakewharton:kotterknife:0.1.0-SNAPSHOT' }
import butterknife.bindView public class MapFragment : Fragment() { val mMapView: MapView by bindView(R.id.map) }
Parameter specified as non-null is null
Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter savedInstanceState
というエラーがちょくちょく発生する。コレはoverrideしたjavaの関数にて、optionalを気にせずoverrideしてると呼び出し元の関数からnullが渡ってきてエラーが起きる。 java関数をoverride するときには、optionalかどうかを厳密に考えよう・・・。
traitはdeprecated
かわりにinterfaceをつかう。
data class
data public class Hoge(val name: String, val createdAt: String)
みたいな感じでデータ宣言できる。
Signleton
object Singleton { fun hello() { println("Hello") } }
object declarationで簡単にかけるっぽい。
Game Graphics Groove #3 いってきたメモ
『パズクエにおけるUXテストとその結果&対応』
- 細川奈々恵
UX Testの実施について
- 9回くらいリリースまでに実施している
3つ決める
- テスト目的 : 理解できるか?面白いか? 操作しやすいか?
- テストスコープ: 初回起動、プレイ時間
- 被験者要件: 誰にやってもらうか?
社内UXテストで観察した例
- バトル画面 / フィーバー画面にすんなり入れるか?
- 非開発系の部署 3人 (1人課金層, 2人無課金層)
- ダメポイントがたくさんあった
発生頻度高い&重要
- 召喚方法、フィーバータイムの条件、..
- 負けた理由がわからない
観察
- 敗北して初めてルールを考えだす
- 負けたときにやり方を教えるのが有効っぽい
チュートリアルの分割
- 必要なときに必要な要素を表示する
- 敵の弱点など考えなくても進めてられるように
まとめ
- testerは少なくてもいい
- test目的が大事
ちょっと早口でわかりずらかったかも...
『Spineメッシュアニメーション応用編』
- 二宮大輔
Spine
- Cocos2d / Unityに対応してる Boneアニメーションツール
- Meshアニメーションもできる
- 動作が意外に軽い
不満点
- パースごとのループができない
- マスクが未対応
- Scriptが打てない
うねる柔らかさ
- Meshいいかんじだ
- 先端から末端に伝わるときに遅延させるとよい
3Dっぽいこと
- 3dの各頂点に対応するMeshポイントを中につくる.
- 鍵マークをつけると移動できる
丸くても揺れるよ
まとめ
- 柔らかさの表現できるよ
- 3Dの表現も出来るよ
- Live2Dを越える表現も
『ハコスコとUIとご飯』
- 鈴木 匠太
- 矢羽田 和徳
VR市場は1500億ドル?
バーチャルボーイうれなかった
- ハードウェア価格高い
- 一人でしか遊べなかった
- コンテンツでない
VRの問題..
- エロで攻めすぎ
ハコスコのいいところ
- 安い
- ケーブル不要でどこでも
- いろんなスマホサイズに対応
- デザイン自由。ファッションにできる
- 開発難易度が下がった VRはUnityで開発できる
- ARも可能
- 普及している
未来
- 女子高生 「今日スコッとく?」
個人的にはCardboard派だ...
操作
- 首振る
- 視点移動
- 上下にふることで歩く操作
- ponと叩いて写真を撮る
- Vufolia SDKでARで撫でる、触る
新しい操作方法が必要
- チャンスかも知れない
SPAJAM
- 寂しい食卓: 幻想飯
- ご飯を容易
- ARカード (和、洋、中、...)
- ちゃんと画面が曇る、かなり豪華感ある演出
- みんなVR発表してた。EpicはLoad of the Ringとか?
- 期待感ある
『乖離したことから始まった、本質への回帰』
- 窪 洋一
パネルディスカッション
UIデザイナについて
- アニメーションはあんまりつくってない.
- 内製のエフェクトツール使うことが多い.
企画ってどうやって決めてる?
- 企画コンペやってるよ. 出した人がオーナーになる (クロスサマナー)
- プロデューサーが何つくろっかーって決める
- IPものは天上人が多い
クリエイティブ周りの決定権、誰が持っている?
- プロデューサー.
- ...
作りたいもの作れてる?
- motionがきれいな格闘ゲームつくりたい
テストから見えてくるGoogleのソフトウェア開発
読了したのでFBした。
久々のプレゼン資料、作成がつらい。。 3ヶ月くらいダラダラと発表を避けてきたけど、なんとか形にできてよかったー。
本の感想
本の内容は面白かった。 のだけれど図とか絵がもっとあってもいいのになーとところどころ思う。(活字疲労が・・ インタビューやらテストエンジニアの職種の内容が本の中ではメインコンテンツになっいるんだけど、 退屈だったのでFBの資料からはバッサリ省きました。 それでも話し足りない量の内容がつまっているので、気になったらぜひ買って読んでみるのが良いと思います。
最後に。 本のプレゼントしてくれた @masasuzu さん、ありがとうございます!
CAOS 2015 Summer メモ
CAOS 2015 Summer 〜開発効率のツール開発とオープンソース活動〜 のめも
Webponizeの紹介
Author
- @1000ch
WebP
webpに変換してくれるくんをつくったよ
STF
Smartphone Test Farm
- https://openstf.github.io/
- mac からadb でつないでサーバー上からリモートに端末を操作できるくん
詳細
- c/c++で非公開APIをつかってSocket通信している
- framebufferを使っている。(いろいろ問題あり)
- まともにやると0.5fpsしかでない
- screenrecordのbackend apiは4.2から
- minicapをAOSPから取ってきてビルド、全ターゲットで動くようにsharedlibrary作る
- 2.3 - 4.1 : ComposerService::getComposerService()->captureScreen()
- 4.2 - : SufaceComposerClient::createDisplay()
- jpgでencodeしてclientに送信してる
- 170 device / 3 device segmentation fault => メーカが非公開APIをカスタマイズしてるから
- 40fpsくらいはでる
- x264 をつかってhardware encodeすればもっとパフォーマンスでる
管理者モード
- 上上下下右左右左EnterEnterで管理者になれる
duck
グルーピングしてリアルタイム通信したい & platform化したい
運用
- 2ヶ月前から運用してる
- 2game
- c4.2xlarge x 3 instance on AWS
- 今同時接続2000人くらい
- 1.2 billion message / month
- まだ数すくない
TBC
- githubには公開予定
ImageHayabusa
psd をおいたまま配信できるサービス
- http://hayabusa.io/
- 作業時間: 1day -> 30minに
- workflowが早くなる
- デザインの確認すぐできる
input
- psd, ai, png
output
初期リクエストで変換 -> そのあとキャッシュされる
- urlはデフォルトパラメータが設定されてる
- 差分情報のみurlに反映する
食戟のソーマのレシピ再現がんばった 04-06
最近料理のレパートリーが広がらず悩んでいる。 やっぱり意識的に新しい料理にチャレンジしていかないと・・・! というわけで今季は食戟のソーマの料理を頑張った。
アリスのミルクセーキ pic.twitter.com/DgtxFgocEY
— めしてろ (@mustankatti) 2015, 6月 23
女王のエッグベネディクト? pic.twitter.com/mXleeFyauS
— めしてろ (@mustankatti) 2015, 6月 14
リンゴ粥リゾット、ビシソワーズ pic.twitter.com/pvMMeePGdy
— めしてろ (@mustankatti) 2015, 6月 13
昔ながらのナポリタン、じゃがいものポタージュ pic.twitter.com/5x62Xjx6dd
— めしてろ (@mustankatti) 2015, 6月 8
昔ながらのナポリタン、サーモンのカルパッチョ~梅バルサミコソース pic.twitter.com/dE8aAOp6BU
— めしてろ (@mustankatti) 2015, 6月 6
シューファルシ pic.twitter.com/fDKkj58JfA
— めしてろ (@mustankatti) 2015, 6月 1
インサラータ・フリッタータ pic.twitter.com/I0wUdXCngP
— めしてろ (@mustankatti) 2015, 5月 27
インサラータ.フリッタータ pic.twitter.com/igTLryuUur
— めしてろ (@mustankatti) 2015, 5月 26
お柿揚げ pic.twitter.com/G5g8SNc4Gu
— めしてろ (@mustankatti) 2015, 5月 20
銀ダラとホタテのおかき揚げ pic.twitter.com/6uvZWIN2sM
— めしてろ (@mustankatti) 2015, 5月 19
田所特製3種のおにぎり pic.twitter.com/UlrxXPKhK9
— めしてろ (@mustankatti) 2015, 5月 11
鶏もも肉の香り焼き〜緑のソースを添えて〜、トマト味噌汁 pic.twitter.com/6B5K38mgGG
— めしてろ (@mustankatti) 2015, 5月 10
化けるふりかけご飯 pic.twitter.com/9WYa1vgfxT
— めしてろ (@mustankatti) 2015, 5月 7
スフレオムレツ pic.twitter.com/gRfK2kWeEh
— めしてろ (@mustankatti) 2015, 5月 4
シャリアピン丼 pic.twitter.com/jErntMNmGe
— めしてろ (@mustankatti) 2015, 5月 4
鯖バーグ pic.twitter.com/A3SBUzX9ng
— めしてろ (@mustankatti) 2015, 4月 22
さわら🍙茶漬け、焼き茄子 pic.twitter.com/W4pexLd3dV
— めしてろ (@mustankatti) 2015, 4月 20
さわらの山椒焼き春キャベツのピューレ添え、ポトフ pic.twitter.com/naQJNmIAYb
— めしてろ (@mustankatti) 2015, 4月 19
なんちゃってローストポーク。オーブントースター入れすぎた感 pic.twitter.com/KHPP6ceojU
— めしてろ (@mustankatti) 2015, 4月 18
以上16品。1-3刊は制覇。あとは難しい料理をおいてまちまちという感じ。
振りかえり
16品なので毎週何かは作れていたかなという感じ。 かなり見た目が下手くそなのもあるが(ローストポーク、ベネディクト...)、ひと通りレシピ試せたのは楽しかった。
美味しさの順で言うと、
- シャリアピンステーキ
- さわらの山椒焼き春キャベツのピューレ添え
- 田所特製3種のおにぎり
シャリアピンステーキの梅醤ごはんはうまいので超おすすめ。 さわらの山椒焼きはどくどくの風味が出て美味しかった。 田所ちゃんのおにぎりは、豚肉のにんにくはちみつ味噌漬けがご飯のススム美味しさだった。
難しさの順で言うと
シューファルシは茹で過ぎ中が硬くなって肉々しくなってしまうので、レギュムの魔術師感を出すには調理時間をきちんと守ったり、🍖詰め過ぎないようにしたり、キャベツを甘みの出る品種にしてみるとかちょっと工夫しないとダメかも。
エッグベネディクトは1人前でケチってオーランドソースを少なくしたり、湯煎しすぎたりすると失敗する。あと新鮮な玉子で水溶性卵白を少なめにしないとポーチドエッグがうまくできないかも。
ローストポークはベーコンをケチったり、焼き過ぎたりしちゃダメ。 思ったよりエリンギでカサが増すので分量注意が必要。