Personal Factory

Personal Factory

iOSエンジニアの技術ブログ

書評:現場のためのSwift4
iOS

書評:現場のためのSwift4

こんにちは。たけしです。 今回澤田さん(@takashings [https://twitter.com/takashings] )さんより「現場のためのSwift4」を献本いただきました。 やっと読み終わったので書評していきたいと思います。 一言で感想述べると「サービスに関わる全てのiOS開発者全員におすすめしたい本」と思いました。 とてもためになるものでした。 この本の特徴 私、常々エンジニアも全体を見通すことが大事だと思っています。 機能を追加するにしても、その機能が「なぜ作り」「どういう問題を解決するのか」を考慮にいれて開発するべきだと思っています。 しかし、開発チームが部分最適化されすぎて、なんのために開発するのかが疎かになることもよくありがちです。 5年前受託会社に働いていたときは言われたことを作ることが優先されて「なぜ」の部分がないがしろにされていた現場でした。けっきょく合わないので辞めてしまいましたが。 「現場のためのSwift4」の主題は開発の工程全体を把握することです。 p2からの引用です。 > 本書では「プログラミング」以外の工程にも着目し「開発の全
3 min read
Bonfire iOS #4に行ってきた
イベントレポート

Bonfire iOS #4に行ってきた

本日はYahoo!Japan社が開催するiOS勉強会Bonfire iOSに行ってきました。 Bonfire iOS #4 [https://yj-meetup.connpass.com/event/86651/] 今回のテーマはUIです! > 第4回のテーマは「UI」です! UI、それはアプリ開発と切っても切り離せない関係…… どうやって保守しやすくUIを定義していくか どうやってユーザビリティの高いUIを作っていくか どうやって多人数で協力してUIを作っていくか どうやってツール(Auto Layout, Storyboard, …)と向き合っていくか どうやって非同期処理と連携していくか どうやって新しい分野(AR, VR, …)でのUIを作っていくか などなど、それらのどれもが昔から、そして現代においても重要なテーマです。 今回はUIという大きな課題に対して、各々どう向き合っているのかを話のネタに交流し、気づきを得られる夜にできればと思っています。 健康なStoryboardを考える 〜 Auto Layout、UIStackViewともっと仲良く! 最初はゆこ
8 min read
iOS

iOS11 Core NFCを使ってみた

iOS11になって、Core NFCというフレームワークが追加されました。 これはNFC(近距離無線通信)を利用したタグとの通信が出来るフレームワークです。 現状では読み取り専用で、しかも専用のアプリを起動しなければいけないそうです。 Androidアプリでは「NFCタグを端末に近づけるとアプリを起動する」といったことができますが、iPhoneではまだそのようなバックグラウンドからNFCの検知イベントでアプリを立ち上げるなどはできません。 ですが、長年さまざまな人が待望した機能ではあります。 実験する価値はあると思っています。 今回はCore NFCを使ったサンプルのアプリの紹介です。 コード量はすくないですが、ハマリポイントもあったので皆さんのお役に立てればと思います。 動作環境 * Xcode9.2 * iPhoneX iOS 11.1.2 NFCタグをゲットする Core NFCを利用したいなら兎にも角にも最初はNFCタグをどこからか入手しなければ行けません。 幸いAmazonで10枚入りのモノが売っていたのでそちらを購入します。 サンワサプライ NFCタグ(10
4 min read
go(golang)勉強会 #1をしました
イベントレポート

go(golang)勉強会 #1をしました

2018/02/13(月)、@tikidunpon [https://twitter.com/tikidunpon]さんとKazuki Ohara [https://twitter.com/yamoridon]さんと一緒に運営するgo(golang)勉強会が始まりました。 https://go-golang.connpass.com/event/78316/ レポートしたいと思います。 勉強会概要 Go言語の基本的な文法を公式ドキュメントA Tour of Go [https://go-tour-jp.appspot.com/welcome/1] を読みながら進める勉強会です。 時間は80分程度で気になる所を質問したり、一緒に手を動かしてgoの知識を深めていきます。 ただの講義形式ではありません。 ファシリテーターの説明を受けて疑問があればその都度質問を受け付け、実際にコードを書いてどんな動きをするのかを見ていく勉強会です。 今回のファシリテーターは@tikidunpon [https://twitter.com/tikidunpon]さんでした。 内容はgo
3 min read
Node.js

nobleでお手軽BLE通信(構築編)

nobleというNode.jsのパッケージがある。 公式のGithubページは以下です。 noble [https://github.com/sandeepmistry/noble] これをいれれば、自分のパソコンをBLEの発信機にすることができるすごいパッケージなのです。 今回はGithubのサンプルを試して見ようと思います。 ですが、久しぶりにNode.jsを触ったのでインストールに手こずりました。。 RubyとかNodeとか、環境構築に一番時間がかかる気がする。。 Gemとかnpmが一発でインストールできた例がない。。 では行きます! 実行環境 今回は、以下の環境で試しました * OS X El Capitan 10.11.6 * ✗Node.js v6.9.1 -> ◯v4.7.2 最初一番新しい安定バージョンv6.9.1で試したら動かずv4.7.2で試したら動いたというのが今回のあらましです。 Githubのサンプルを試す 最初node.jsのバージョンはバージョンv6.9.1で試しました。 Githubのリポジトリーを見る限りexamplesディレクト
3 min read
【iOS】新年明けたので、画面に花火を散らしたよ

【iOS】新年明けたので、画面に花火を散らしたよ

2017年になりました。 新年あけましておめでとうございます。 新年一発目のUIトレース会を1月12日に株式会社オハコ様にて行いました。 【朝活】iOS_UIトレース会 #7 [https://ios-app-developers.connpass.com/event/48038/] 2017年の元旦にFacebookが面白いイースターエッグを実装していました。 ポストをするとその文字に「あけおめ」や「Happy New Year」などの特定の文字があるとボタンになって、それをタップすると花火のアニメーションが打ち上げられるのです。 以下のYoutube動画で動きが確認できます。 これをお題募集アンケートに出したらぶっちぎりでFacebookが一番になりました。 https://www.facebook.com/groups/407821455988195/permalink/1196346283802371/ 今回の記事では、朝活で私が実装した例を紹介したいと思います。 -----------------------------------------------
2 min read

Swift3でFacebookログインをする

FacebookのSDKがSwift3になってからいろいろ変わっていたのでまとめました。 実施環境 この記事は以下の環境で確認しています。 * Xcode8.2 * Swift3 * Cocoapod 1.1.1 * Facebook Swift SDK 0.2.0 -------------------------------------------------------------------------------- 目次 1. Facebookデベロッパーでアプリを作成する 2. CocoapodでFacebookのSDKをインストールする 3. info.plistの設定 4. AppDelegateの設定 5. ログインボタンを作成しログインする 6. ログイン中のユーザー情報を取得する -------------------------------------------------------------------------------- Facebookデベロッパーでアプリを作成する Facebookと連携したアプリを作るには
3 min read
かえる秋祭りに参加してきました
イベントレポート

かえる秋祭りに参加してきました

先月2016年10月30日に、かえる好きのかえる好きによるかえる好きのためのイベント「かえる秋祭り」に出展者として参加してきました。 このイベントは「かえる友の会 [https://twitter.com/kaerutomonokai]」が主催のイベントで第17回目を迎えるそうです。 Yahooニュースでも記事が載っていました。 中野で「かえる秋祭り」開催へ 「カエル」グッズ作家一堂に、高山ビッキさん講演も /東京 [http://headlines.yahoo.co.jp/hl?a=20161027-00000008-minkei-l13] カエルタベル出展してきました。 私は、去年の冬に作成したカードゲーム「カエルタベル [http://kaerutaberu.info/]」を出展してきました。 「カエルタベル」ははえが動いてカエルが食べる新感覚カードゲームです。 友達と、恋人と、親子とさくっと遊べて、もっと仲を深められるカードゲームです。 設営の様子。 今回からフィールドマットを追加しました。これでもっと遊びやすくなりました。 ゲーミフィジャパン [h
2 min read
Automatorで快適なキャプチャ生活をおくる
Tips

Automatorで快適なキャプチャ生活をおくる

ブログを書く上でけっこう手間なのが、画面のキャプチャです。 技術ブログを書く上で、現状PC上の画面を共有するためにMac標準のプレビューアプリで画面をキャプチャしています。 しかし標準のプレビューアプリ、デフォルト設定だとなかなかかゆいところに手がとどかない仕様になっています。撮影した後色々と手間を掛けないといけないのがつらいです。 具体的には * デフォルトでは画像の保存先は~/Desktopになっています。このままだと取る度に画像が増えて~/Desktop が散らかるので私はブログ用の保存フォルダを作成していちいち画像を移動していました。 * 画像のサイズがとてつもなく大きいです。PCのディスプレイ解像度が上がっているので仕方がないのですが、1つのウインドウをキャプチャしただけで数千ピクセルの画像が出来上がってしまいます。このままブログにあげても無駄ですのでいい感じにリサイズをしたい。 * デフォルトでは画像形式はPNGになるので、容量を減らすためにJPEGで保存したい そこでいろいろ解決策を考えていたところ、Automatorというアプリを使えば楽に自動化でき
4 min read
Javascript

東京Node学園祭2016 参加レポート

昨日、2016年11月13日、Node.js日本ユーザグループが主催する日本で最大のNode.jsのカンファレンス東京Node学園祭に参加してきました。 渋谷のマークシティーで行われ、Javascriptそのものやその周辺のツールを開発方が直々に登壇するという大変豪華なカンファレンスでした。 以下が登壇者の一覧です。 Douglas Crockford 氏 * ECMAScriptの仕様化団体の一人であり、JSONの開発者です。 James Snell 氏 * WhatWG Social Activity WG の仕様化を進める一人であり、 Node.js core committer Bradley Meck 氏 * ECMAScript 仕様化団体の一人であり、 Node のモジュールエコシステムの今後の鍵を握る人物 Cheng Zhao 氏 * デスクトップアプリ開発が可能な Electron の作者 Yoshua Wuyts 氏 * React/Redux をベースに次世代の フロントエンド開発フレームワークである choo の開発を進める人物 今回の
3 min read
Swift

Playground でURLSessionを試す(GET編)

iOSの標準ライブラリーだけで通信処理をすることになったのでこの基にURLSessionの使い方をみてみる 環境 * Xcode8 bata4 * Swift3 * Playground サーバーはWebAPIをとりあえず試せるサイトhttp://httpbin.org/を使用します GETで実行 //: Playground - noun: a place where people can play import UIKit import PlaygroundSupport //Construct url object via string var url = NSURL(string: "http://httpbin.org/get") let config = URLSessionConfiguration.default let session = URLSession(configuration: config) var req
1 min read