タグ

swiftに関するtondolのブックマーク (6)

  • Swiftはじめました - ゼクシィiOSアプリの場合 | Recruit Tech Blog

    はじめに Swift はじめました。と聞くと、読者の方は「いまさら?遅すぎじゃない?」とか、「大切なのは何の言語で書くかよりも設計じゃないの?」などと思われるかもしれません。気持ちはわかります。 しかし実際、ゼクシィアプリのコードベースは今まで Objective-C 100% でした。そして、つい最近、はじめてプロダクションコードとして Swift のコードをリリースすることができました。稿では、そこに至るまでに考えたことや、具体的なやり方を紹介できればと思います。 申し遅れましたが、この記事はゼクシィ iOS アプリの開発を担当している @tondol がお送りします。好きな結婚式ソングは lily white で「ふたりハピネス」です。1)ラブライブ!のキャラクターソングです。わざわざ脚注までお読みいただき、ありがとうございます。 背景 前述の通り、ゼクシィアプリはこれまで Obj

    Swiftはじめました - ゼクシィiOSアプリの場合 | Recruit Tech Blog
    tondol
    tondol 2020/02/14
    大規模アプリのSwift化、正直大変です……!という話を書きました
  • Testing Your RxSwift Code | raywenderlich.com

    Writing reactive apps with RxSwift is a conceptually different task than writing apps “the regular way.” It’s different in the sense that things in your app won’t usually have a singular value but are, instead, represented as a stream of values over the axis of time, known within the RxSwift library as an Observable. This tutorial teaches you the key to testing RxSwift code. Streams are a powerful

    Testing Your RxSwift Code | raywenderlich.com
  • 【Otemachi.swift x Kyobashi.swift】日経新聞社さんと合同でSwift勉強会を開催しました! | PSYENCE:MEDIA

    【Otemachi.swift x Kyobashi.swift】日経新聞社さんと合同でSwift勉強会を開催しました! 保坂智之 2017.08.15 55 44263 皆さんこんにちは。新卒2年目になり、優秀な後輩にビビりまくっているエンジニアの保坂です。 2017年8月8日 (火) に日経済新聞社さんによる勉強会 Otemachi.swift と合同で Swift 勉強会を開催しましたので、その様子を早速レポートします! https://nikkei.connpass.com/event/62123/ RMPの紹介をする弊社GMの金谷さん Otemachi.swift x Kyobashi.swift とは? そもそも、日経さんと弊社リクルートマーケティングパートナーズで共同勉強会を開催することが決まったのは、 WWDC 2017 に参加した際に、日経さんのiOSエンジニアと弊社の

    【Otemachi.swift x Kyobashi.swift】日経新聞社さんと合同でSwift勉強会を開催しました! | PSYENCE:MEDIA
  • 【Kyobashi.swift x AKIBA.swift】クラスメソッドさんと合同でSwift勉強会を開催しました! | Recruit Tech Blog

    このブログでははじめまして!2016年度新卒エンジニアの保坂です。2017年2月8日(水)にクラスメソッド株式会社さんと合同でSwift勉強会を開催しましたので、その様子を早速レポートします! https://kyobashi-swift.connpass.com/event/48794/ Kyobashi.swift x AKIBA.swift とは? 弊社リクルートマーケティングパートナーズが東京・京橋近辺で開催している Kyobashi.swift とクラスメソッドさんが秋葉原近辺で開催している AKIBA.swift を、せっかくだから同時に開催してしまおう!という欲張りな勉強会です。今回は弊社リクルートマーケティングパートナーズとQuipper社のスペースにて開催しました。 Kyobashi.swiftもAKIBA.swiftSwiftやその周辺技術が対象ということで、今回の合

    【Kyobashi.swift x AKIBA.swift】クラスメソッドさんと合同でSwift勉強会を開催しました! | Recruit Tech Blog
  • Swiftのコードレビュー勘所 - 文字っぽいの。

    はじめに Swift with iOSなコードをレビューする時に僕が気をつけて見ているところをざっくりまとめました 今年からSwift始めます!って人が読めばクラッシュしやすいコードを書きにくくなるはず ロジック面についてもちゃんと確認しましょう 勘所 AnyObject使ってる 不適切に使われてる(型を消すとか)場合には絶対に直させる。型を消したい場合は protocol + typealias とかgenerics でなんとかできる場合が多い。というか AnyObject を使ってるコードでは、型を消す必要がない場合が多い。 配列にindex指定してアクセスしている let item = items[index] とか。基的にはindexなど使わずにアクセスするのが一番なので、書き直せないか確認する。 書き直せない場合はロジック自体の設計を変えられないか、もしくははみ出ない処理がちゃ

    Swiftのコードレビュー勘所 - 文字っぽいの。
    tondol
    tondol 2016/07/05
    既にブコメで指摘されているけど、ブロック内でselfを参照した場合は基本強参照としてキャプチャされるはず。メモリリークの原因になる。むしろクラッシュする可能性があるのはunownedでキャプチャされているとき。
  • 型消去を用いたSwiftによるリポジトリパターンの実装 - AnyType

    リポジトリパターンとは リポジトリはオブジェクトの参照を取得するのに必要なロジックをすべてカプセル化するためのパターンです。 Domain Driven Design Quickly 日語訳 iOSアプリ開発の文脈では、オブジェクトをWeb APIから取得するのかRealmから取得するのかといった関心ごとがある。リポジトリを実装することで次のようなメリットがあると思う。 どこからどのように取得するのかなどの関心ごとからドメインモデルを切り離せるため、ドメインモデルをクリアに保つことができる。(DDDの観点) テスト時にWeb APIやRealmにアクセスするリポジトリをメモリにアクセスするリポジトリに差し替えること(Dependency Injection)が可能になるため、テストデータを簡単に用意できたりテストのパフォーマンスを向上できるなど、テストしやすくなる。(テスタビリティの観点

    型消去を用いたSwiftによるリポジトリパターンの実装 - AnyType
  • 1