サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 17
qiita.com/susieyy
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? リバーシリファクタリングチャレンジ koherさんが公開された、このFat View Controller、あなたはリファクタリングできますか?チャレンジに参加しました。 本チャレンジは、 Fat View Controller として実装されたリバーシアプリをリファクタリングし、どれだけクリーンな設計とコードを実現できるかというコンペティションです(ジャッジが優劣を判定するわけではなく、設計の技を競い合うのが目的です)。 GitHubのソースコード Qiitaの解説記事 Swift Zoomin' チャレンジ #1 チャレンジ Swi
この記事はFOLIO Advent Calendar5日目の記事です。 前日は @odakyoka さんの1ヶ月で1万人のフォロワーを増やしたデザインマーケティング戦略議事録でした。 株式会社FOLIOというテーマ投資型オンライン証券サービスを提供している会社で、iOSエンジニアをしています、 @susieyy です。 絶賛開発中のアプリのアーキテクチャにReduxを採用しました。iOSアプリでどのようにReduxを活用しているのかをご紹介いたします。 Reduxとは iOSエンジニアには、Reduxに馴染みのない方も多いのではと思うので、まずはReduxの解説から。 Reduxは3つの原則(Redux Three Principles)を遵守するよう設計されています。 Single source of truth State is read-only Mutations are writ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? これは Swift Tweets の発表をまとめたものです。イベントのスポンサーとして Qiita に許可をいただいた上で、このような形(ツイートの引用)で投稿しています。 Twitterのハッシュタグはこちら Swift Tweetsオーディエンスの皆様こんばんは!Tweetupという新しい試みに参加させていただきとてもワクワクしています。本日は「Swift時代に悩ましいUIViewControllerをどう扱うか」についてご紹介させていただきます。よろしくお願いします。 #swtws pic.twitter.com/JWfOjH0E
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? これからiOSの開発を始める新人プログラマーさんたちに向けて僕が知っている範囲で大変恐縮ですが、OSS活動やQiita、Blog、Twitter、勉強会、執筆などアウトプットされている方を中心に集めてみました。 ここでご紹介させて頂いたエンジニアはほんのごく一部で、もっともっとたくさんの素晴らしい活動をされている方々がいらっしゃいます。紹介しきれず、本当にごめんなさい。m(_ _)m 各エンジニアのQiitaやBlogの記事を読んだり、OSSへのコントリビュートの活動を見たり、開発されているOSSをコードリーディングすることで視野が広が
Wantedly Advent Calendar 2015 13日目です。 iOS エンジニアの 杉上 @susieyy です。 Serverless Frameworkとは Serverless FrameworkのV0(BETA)が12/8に遂にリリースされました。 Serverless Frameworkはサーバレスなアプリケーションサービスを構築するためのフレームワークで、AWSの各種サービスを相互活用して動作します。AWS Lambdaを中心に添えた構成によりメンテナンス性とスケーラビリティがが高いサービスを構築することができます。 Serverless (formerly JAWS): The serverless application framework – Use bleeding-edge AWS services to redefine how to build ma
はじめに potatotips勉強会 #23 で @izumin5210 さんが"Predictable state container" and Data Bindingのタイトルで, Reduxにインスパイアされて開発したAndroid向けのRedux実装のDroiduxがとても興味深かったので、SwiftでもReduxにチャレンジしてみることにしました。 Reduxは複雑になりがちなアプリの状態やデータを然るべきルールの元で管理することで、アプリ開発の複雑性を軽減し品質とメンテナンス性のあるコードへと寄与してくれます。この考え方はJavaScriptのアプリ(SPA)に留まらずiOSアプリでも通ずるように感じました。 SwiftでのRedux実装を探したところ3つほど見つかりました。どれもGithubStarはまだ一桁台です。今回はAleksionさん作のReduxSwiftをさわっ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? TL;DR 複雑になりがちな構造やコードをシンプルで把握しやすいコードで記述したい MVVMを用いて責務を明確にし関心事を分離した構造にする ViewDataBindingとFRPを用いて時間とともに変化するデータやステートに伴う処理を宣言的に記述し、Viewとデータの動的な変化を相互的に連動させる 上記をSwiftとそのパラダイムを活かしたライブラリ(SwiftBond)を中心に実現する はじめに Swiftで新規のアプリを開発することになり、MVVM、FRP、ViewDataBindingの要素技術を活用して開発を行いました。設計や
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ビジネスシーンで使えるメッセージングサービスSyncをローンチしました。 その開発の舞台裏をiOSを中心に紹介します。開発のスケジュール、リソース、アプリの規模や進め方など参考になれば幸いです。 サービスについて Syncは社内・社外を問わずプロジェクトやビジネスコミュニケーションがより良い体験なることをゴールに開発しました。以下のURLよりご利用頂けます。 Web版 , Desktop版(OnlyOSX) , iPhone , Andorid アーキテクチャ サーバ 既存のWantedlyサーバに並列して、Syncのサービスをマイクロ
React Native in Facebook Facebook Groups Facebook Ads Manager React Native in the Community HackerNews-React-Native ReactNativeHackerNews tcomb-form-native React Native in ES6 with webpack and Babel React Native Boilerplate using CoffeeScript React Native Icons Looped carousel for React Native RNSideMenu react-native login and video https://github.com/brentvatne/react-native-login https://github.c
うまく動作しない場合は最新のCocoapodsにしてみしょう。( v0.36.0 ) ダウンロードが完了すると自動的にXcodeが立ち上がります。 ソースコードの拡張子に.mmのものが見受けられます。 アプリを立ち上げてみると以下のような画面が動作します。Viewをタップするとポップアップが表示されるシンプルなものです。 ソースコードを除いてみます。Objective-CとObjective-C++が混ざっていますね。 QuoteModelController.mm /* This file provided by Facebook is for non-commercial testing and evaluation * purposes only. Facebook reserves all rights not expressly granted. * * THE SOFTWARE
はじめに JSONはVALUE部分の多様な型※とnilになる可能性もあるため、Swift言語のみでは扱いにくいところがあります。 そんな問題を解決する、パースしたJSONオブジェクトを扱いやすくするライブラリや、モデルにマッピングまで行うものまで、JSONを便利に扱えるライブラリをご紹介します。 ※ String, Int, Float, Double, Array, Dictinary, etc SwiftyJSON/SwiftyJSON ★3526 The better way to deal with JSON data in Swift. パース後のJSONオブジェクトを扱いやすくするライブラリです。 Non-optional getterでVALUEがnilの場合でもデフォルト値で扱えるのは便利です。Arrayに要素数を超えた添字でアクセスしてもクラッシュせずにerrorオブジェ
TL;DR 漢字で保持しているユーザの名前をひらがな、カタカナでも検索できるようにします。 使ってみる 以下のURLにアクセスして、上部のサーチボックスから検索が行えます。 ログインするとよりたくさんの結果が返ります。お試しください。 環境 Elasticsearch v1.2.1 kuromoji for Elasticsearch v2.2.0 方針 kuromoji_tokenizerで形態素解析した単語の漢字部分を kuromoji_readingform(TokenFilter)でカタカナに変換してインデックスします。 変換のために別途人名辞書を作成しkuromoji_tokenizerのユーザ辞書に登録して漢字とカタカナの紐付けを行います。 ユーザ辞書はトークンと読みがなを1対1でしか紐づけできないので、word_delimiter(TokenFilter)を活用して1対Nで紐
普段あまり触れることのないXcodeのCLI(コンソール コマンド)ですが、ワークフローやテストの自動化の際に重宝するのでまとめてみます。 実行環境 Xcode 6.1.1 (6A2008a) Command Line Toolsをインストールする XcodeのXcodeメニューから以下を押下します。 Open Developer Tool -> More Dveloper Tools... バージョン番号を設定、ビルド番号をインクリメントする agvtool 準備 プロジェクトをXcodeでオープンします。 Project Navigator (⌘1) を選択し、Build Settings タブを表示します。 Current Project Version にビルド番号の初期値を設定します。 Versions System を None から Apple Generic に変更して有効
26種類のアニメションパターンを設定できます。 shake pop morph squeeze wobble swing flipX flipY fall squeezeLeft squeezeRight squeezeDown squeezeUp slideLeft slideRight slideDown slideUp fadeIn fadeOut fadeInLeft fadeInRight fadeInDown fadeInUp zoomIn zoomOut flash デモ デモアプリでアニメションの動きを確認できます。 design+code Springの開発元ではDesignとCodeを連携した開発手法の情報を有料で販売しています。$50です。ほしい。 PageMenu ★425 左右にスワイプすることで画面の表示をアニメションしながら切り替えるライブラリです。 インスト
はじめに StoryBoardによりViewを作りこんでいく作業は大変便利になりました。 PropertyやActionをコードへマッピングするのもドラッグ&ドロップで簡単に行えます。 ですが、IdentifierはStoryBoardで設定した文字列を、プラグラマーが誤字なくコード上で記述しなくてはなりません。 そこでSBConstantsを利用すると、設定したIdentifierから自動的に定数コードを作成し、誤字や定数化の作業(地獄)から開放されます。 実行環境 Xcode 6.1.1 (6A2008a) cocoapods 0.35.0 sbconstants 1.0.0 サイト Github https://github.com/paulsamuels/SBConstants Blog http://paul-samuels.com/blog/2013/01/31/storybo
$ mkdir Test $ cd Test $ yo react-gulp-browserify _-----_ | | |--(o)--| .--------------------------. `---------´ | Welcome to Yeoman, | ( _´U`_ ) | ladies and gentlemen! | /___A___\ '__________________________' | ~ | __'.___.'__ ´ ` |° ´ Y ` You're using the fantastic React generator. We provide you full JavaScript solution with Sass support! ? What is this project's name? Test ❯◉ Sass with Compas
はじめに Swiftに対応したReactiveCocoa 3.0の開発がswift-developmentブランチで進められています。執筆時点では3.0系は正式にリリースされていません。まだBeta扱いですが、Carthageを利用して導入してみたいと思います。 実行環境 以下の環境で動作確認しました。 Xcode 6.1.1 (6A2008a) iOS8 ReactiveCocoa / Swift development branch Carthage 0.3.0 Carthageとは Carthage(カルタゴ)はDynamicFrameworkを作成するためのライブラリ管理ツールです。ライブラリの定義、取得、ビルドをしてフレームワーク作成までを担っています。出力されたフレームワークは自分でDrag&Dropしてプロジェクトに登録します。CocoaPodsがSwiftに対応していないの
はじめに 正式版のYosemiteがリリースされました。Beta版が利用していたのですが、大変安定しておりアップグレードも都度問題なかったので、正式版のアップグレードも気軽に行ったところ問題が発生しました。しかも、TimeMachineのバックアップが3ヶ月もとれてませんでした(自業自得) 結果、なんとかインストールできたので、手順を記載します。 インストール中のフリーズ インストール中の最後の1分は大変時間がかかるという事情はいくつか散見されますが、自分の場合、残り17分からまったく動かなくなってしまいました。 インストール中のログを見ることができるとアドバイスをもらったので、確認したところどうもログが更新されずフリーズしている模様。 再起動してみた 一向に進まないので電源ボタンを押下して再起動しました。すると エラーが!!! 壊れてしまいました涙 ゴニョゴニョしてみる 起動時に「com
はじめに Swiftのコードは多様な記述の仕方ができるので柔軟でかつ表現力もありますが、チームで開発を行うとどうしても記述の仕方が統一できず可読性も上がりません。弊社(Wantedly)でSwiftのアプリを開発した経験をもとにアプリ開発におけるコーディングスタイルガイドを作成しました。このコーディング規約がベストプラクティスだというわけではなく、Swiftもまだまだ手探りなところもあるので、参考情報としてご参照ください。また、規約の範疇ではないですがエラーになりやすい記述も合わせてフォローしています。 バージョン v0.3 改版履歴は文末を参照ください。 コーディング規約の必要性について Swiftはプログラマがリスクを取ることによってより簡素に端的に記述ができたり、型推論が強力なので型の明記を省略して記述ができます。チームでSwift開発を行う場合は、詳細に記述するのか、省略して記述す
AlamofireはSwiftで書かれたHTTPネットワークライブラリです。作者はAFNetworkingのメインコミッターとしても有名なMatttさんです。9月7日時点でまだ21コミットほどしかありませんが、GitHubスターも3500ほどあり、機能としても実用十分なものを備えています。コードを見てみるとSwiftのパワフルな特性と活かした非常に簡素で可読性の高い記述がされています。コードも1000行ほどでSwiftの勉強教材としても大変役に立つかと思います。 機能 以下の機能があります。AFNetworkingにあるUIImageViewの拡張はありません。 Chainable Request / Response methods URL / JSON / plist Parameter Encoding Upload File / Data / Stream Download usi
はじめに 9月3日にXcode6 Beta7がリリースされました。今回はリリースノートを見るとをSwiftの変更数は少なく安堵していたのですが、いざ開発中のプロジェクトをコンパイルしてみると怒涛のコンパイルエラー(数百個)が発生! ちまちまとエラーの対応を行い、半日ほどかけてようやくBeta7で動くようになりました。 以下、自分の手元で確認できた変更点です。 【注意】Beta7の変更点をすべて網羅しているわけではありません。 Optionalに変更されたところ 対象の定義がoptionalに変更されたケースです。利用時にForced Unwrapping, Optional Chaining, Optional Bindingをするように変更します。 UIViewController storyboardやnavigationControllerは毎回nilチェックするのはめんどくさいです
次のページ
このページを最初にブックマークしてみませんか?
『@susieyyのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く