[iOS] iPhone Dev Sapporo 勉強会 に参加してきました!

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

sangyoshinko0

2016年1月30日(土)、札幌で、iPhone Dev Sapporo (以下DevSap = デブサップ)主催の iOS 勉強会が開かれました。

iPhone Dev Sapporo勉強会 Jan, 2016 #devsap on Zusaar

会場は、札幌市営地下鉄・東札幌が最寄りのインタークロス・クリエイティブ・センター(ICC) Cross x Garden

当日は、20名近くの方々が参加されていました。

スタート

devsap0

はじめに、DevSapを主催する、rakko entertainmentの若林さんから、開会の挨拶がありました。

devsap1

続いて、Fangの福江さんから、今回の AirPlay を使ったスライドの投影方法等について説明がありました。

菅原 祐さん - 画像の圧縮について考える

IMG_8960

Picosの菅原さんからの発表からスタート! 様々な種類のフォーマットの画像について、Twitter API サーバに対してどのような画像を送るすべきか、といった考察を話されていました。ただし、最近の Twitter の仕様変更により、ほぼすべての画像が JPEG になったそうですので、つい最近までの仕様ということになりますが、考察方法など含め、興味深い内容となっていました。

  • Twitterクライアント Aplos for Twitter でどのように画像を扱うか
  • Twitter に画像をアップした時にどのように圧縮されるかの検証
  • ツイート画像の仕様
    • PNG, GIF, JPEG, WebP
    • アップは 3MB まで可
    • 3MBを超えると JPEG に再圧縮
  • 何ピクセルの画像をアップすべきか
    • 各フォーマットで圧縮アルゴリズムが違う
    • 元画像により圧縮率が変化し、事前の計算が困難
    • 確実に 3MB を超えない
    • 処理コストを抑える
  • 結論
    • 1辺が1024ピクセル以下のPNG, GIF, JPEG, WebPは3MBを超えることはない (透過PNG(PNG32)なら886ピクセル以下)
    • 圧縮により無圧縮よりサイズが大幅に大きくなるのは考えづらい
  • ただし、最近仕様が変わり、ほぼすべての画像がJPEGに変換されるように仕様変更された(PNG32を除く)

sugawara0

岸川 克己さん - Xcode7 コードカバレッジ

IMG_8992

次は、Realm岸川さんから、Xcode 7 におけるコードカバレッジ機能について、お話がありました。 岸川さんには昨年、クラスメソッドが開催した勉強会に参加いただきました。

iOS 9 週連続 Bootcamp 1週目 レポート #cm_ios9 | Developers.IO

  • Xcode 7 でのコードカバレッジの基本
  • xcodebuild コマンドを使ったコードカバレッジ有効化の方法
  • xcrun コマンドを使ったカバレッジ結果表示方法
  • 外部サービス Coveralls - Test Coverage History & Statisticsを使ったコードカバレッジ表示方法

続けて、Realmの遅延ロードの仕組み等についてお話されました。

IMG_8993

山崎 誠さん - 技術書を書こう Re:VIEWの紹介

IMG_9010

Realmウフィカの山崎さんから Re:VIEW のお話がありました。Re:VIEWは、独自のマークアップ言語をもつ電子書籍生成ツールです。

GitHubリポジトリ kmuto/review: Re:VIEW is flexible document format/conversion system

当日のスライド: Re:VIEWで技術書を書こう // Speaker Deck(当日のスライド)

IMG_9015

熊谷 友宏さん・リテラルと型について

IMG_9039

熊谷さんは、EZ-NET プログラムステーションで積極的に情報を発信されています。また昨年、クラスメソッドが開催した勉強会に参加いただきました。

iOS 9 週連続 Bootcamp 6週目 レポート(UIKit & Xcode 7) #cm_ios9 | Developers.IO

当日は、Swift のリテラルと型についてのお話がありました。

  • リテラル自体に型はない
  • リテラルだけでは値は出来ない
    • let value = nil
      • [error] Type of expression is ambiguous with more context
      • [ok] let value = nil as Int?
      • [ok] let value: Int? = nil
  • 型がリテラルを引き受ける

  • (IntegerLiteralConvertibleの例)
// IntegerLiteralConvertible を表明していれば
enum MyVariant: IntegerLiteralConvertible {
}
// 整数リテラルを受け入れられる
let value: MyVariant = 10

IMG_9045

能登 要さん・iPhoneアプリの宣伝ムービーを作る

IMG_9049

いります電算企画能登さんからは、ご自身が作成された、プロモーションムービーを作成するための、オープンソースな iOS アプリについてお話がありました。

IMG_9055

  • 端末のバッテリー量管理アプリGloriousBatteryのプロモーションムービー用に作成
  • アプリのウォークスルー的な画面を容易に作成可能
  • リソース画像を入れ替えれば、自分のアプリの画面を適用されたものを作成できる
  • アプリ動作画面を QuickTime Player などで録画すれば、プロモーションムービーが簡単に作成可能
  • GitHubリポジトリ PromotionForGloriousBattery

若林 大悟さん・Apple TV Tech Talks レポート

IMG_9064

1月21日に東京都内で開かれた、Apple TV Tech Talks について、お話されました。

wakabayashisan-hilton

田宮 宙比己・LaunchKit + 近況報告

田宮からは、iOSアプリのリリース周りを管理できるウェブサービス LaunchKit についてと、普段クラスメソッドで、だいたいどのように働いているか等の、近況報告をお話しました。

DevSap飲み会!

IMG_9067 IMG_9068 IMG_9069

アプリのことから仕事論、そして人生に至るまで、率直で貴重な意見を頂きました。私も長年参加させていただいていますが、改めて、DevSap は飾らずエキサイティングで貴重な場所だなと思いました。次回は3月に開催予定だそうです。ぜひ一度参加してみてはいかがでしょうか!