タグ

swiftに関するkenzy_nのブックマーク (60)

  • iOSDC 2021セッション資料まとめ - Qiita

    iOSDC2021登壇資料、スライドのまとめです。 Twitter等で見つけ次第掲載しますが、もし資料を見かけた方or資料を公開した登壇者の方がいらっしゃいましたら、コメント等でお声がけください。 スライドや資料のリンクが見つかった場合はタイトルにリンクをつけてありますので、タイトルがリンクになっていない場合はまだ資料が見つかっていないものになります。 Day 0 Track A 大規模リファクタリングの極意 forteeのリンク SwiftUIで使ったアプリを1年運用してみてわかったこと forteeのリンク Initiatives in Rakuma iOS App forteeのリンク SwiftUI で実プロダクトを音速リリースした話 forteeのリンク Track B agoraを使ってライブ配信機能を1ヶ月半でリリースした話 forteeのリンク A Swift Stack

    iOSDC 2021セッション資料まとめ - Qiita
  • Swift Concurrency チートシート

    Swift 5.5 で Swift に Concurrency (並行処理)関連の言語機能が追加されました。これによって、 Swift で非同期処理・並行処理のコードをより簡潔かつ安全に書くことができるようになります。 しかし、 Swift Concurrency は Structured Concurrency や Actor など、多くの人にとって馴染みが薄いだろうと思われる概念を含みます。具体例を通して効率よく Swift Concurrency を習得できるように、記事では iOS アプリを題材に、 Swift Concurrency 導入以前( Before )と導入後( After )のコードを比較することで、何がどのように変わるのかを紹介します。 なお、 Swift Concurrency 関連の機能は次の三つに大別できるため、記事の Before & After の例も

    Swift Concurrency チートシート
  • Swiftのみを使って、今Qiitaを作るとしたら - Qiita

    Swift は iOS アプリを作るための言語というイメージが強いと思います。しかし、実際にはサーバーサイドプログラムや機械学習、コマンドラインツールの開発など、 多様な目的で利用できる汎用言語です 。 2015 年にオープンソース化され、 Linux でも動作し、近々 Windows もサポートされる予定です。 SwiftApple の言語ですが、それは TypeScriptMicrosoft の、 GoGoogle の言語だというのと同じ程度の意味しか持たないと思います。 Swift Core Team には Googleエンジニアも入っていますし、新しい言語の機能はすべて、オープンな場で議論された上で決定されます。 そんな Swift にとって期待される二つの分野が、 Web のクライアントサイドとサーバーサイドです。 WebAssembly に対応することで、

    Swiftのみを使って、今Qiitaを作るとしたら - Qiita
    kenzy_n
    kenzy_n 2020/07/15
    もしもSwiftだけで、Qiitaを構築したならば
  • Swift製CLIツールをMintを使わずSwiftPMで管理する - コネヒト開発者ブログ

    こんにちは!エンジニアの柳村です。 SwiftLintSwiftFormat,XcodeGenといったSwift製のコマンドラインツールを管理するために、同じくSwift製であるMintを使っているのを割とよく見かけます。 Mintは便利ですが、Mint自体をなにかしらの手段でインストールしなければならないという問題がでてきます。 そこでMintは使わずSwift Package ManagerでSwift製のコマンドラインツールを管理する方法をご紹介します。 方法 Package.swiftを用意します。 nameを適当に設定し、dependenciesに利用したいコマンドラインツールのリポジトリのurlと必要であればバージョンを指定します。 // swift-tools-version:5.1 import PackageDescription let package = Packa

    Swift製CLIツールをMintを使わずSwiftPMで管理する - コネヒト開発者ブログ
  • 2019年のSwiftモック事情 - いけだや技術ノート

    こんにちは、id:ikesyoです。これは はてなエンジニア Advent Calendar 2019 17日目のエントリーです。 昨日12月16日(月)に行われた 年末だよ Android/iOS Test Night - 2019 にて、『2019年のSwiftモック事情』という発表をしました。 Swiftでテストのためのモックを用意するとなると、リフレクションでめちゃくちゃするということができないので、素朴に手で書くか、コード生成をすることになります。今回の発表ではコード生成に主眼を置き、以下の4つの選択肢を紹介しました。 SourceryのAutoMockable SwiftyMocky Cuckoo Mockolo それぞれの機能や違いなど詳しい内容は、ぜひ発表のスライドを見てみてください。 Swiftでのモック事情については、今年4月の Mobile Act KYOTO #1

    2019年のSwiftモック事情 - いけだや技術ノート
  • RealmSwift入門 – 覚えておきたい、リレーションの定義からクエリ、マイグレーションまで – | DevelopersIO

    今回のテーマはモバイルデータベースの Realm です。 この記事では基的なCRUD以外の、実際にアプリケーションを開発していく中で必要になるリレーションの定義やマイグレーションなどを取り上げていきたいと思います。 こんにちは。モバイルアプリサービス部で iOS アプリエンジニアとして働き始めた田辺です。現在研修で大阪に来ていますが研修が終わるまでに一記事書きたいと考えていたので、その目標が達成できそうで嬉しいです。 今回のテーマはモバイルデータベースの Realm です。 業務で Realm を使っていること、今までの開発ではかなり単純なデータ(参照も更新も限定的)の保存に Realm を扱っていたため、実案件に入るまでにきちんと準備をしておきたいということで、今回 Realm をテーマにした記事を書くことにしました。 Developers.IO では 2 年程前に Realm の基

    RealmSwift入門 – 覚えておきたい、リレーションの定義からクエリ、マイグレーションまで – | DevelopersIO
  • 1日でSwiftコンパイラを作る!Swiftコンパイラインターンを開催しました - クックパッド開発者ブログ

    こんにちは、モバイル基盤部の @giginet です。 去る3月28日、Cookpad Spring 1day Internship 2019の一環として、Swiftコンパイラコースを開講しました。 最近のSwiftコンパイラ 近年、iOSエンジニアの間ではOpen Source Swiftがホットトピックとなっています。 ここ1年ほど、わいわいswiftcというSwift言語処理系に関する勉強会が盛り上がっていますし、 先日のtry!Swiftでは、参加者がSwift自体にcontributionするOpen Source Swiftワークショップが開かれました。 Swiftコンパイラに用いられているLLVMという技術は今、多くの言語処理系で利用されています。これを学ぶことで、さまざまな言語処理系に応用することができます。 このインターンは、Swiftコンパイラを例に、LLVMに触れ、コ

    1日でSwiftコンパイラを作る!Swiftコンパイラインターンを開催しました - クックパッド開発者ブログ
  • Swiftでビジュアルプログラミング環境を自作して、インタラクティブプログラミングをサクッと楽しめるのか!? – PSYENCE:MEDIA

    Swiftでビジュアルプログラミング環境を自作して、インタラクティブプログラミングをサクッと楽しめるのか!? 鶴田 真也 2018.12.25 118 14263543 この記事は RECRUIT MARKETING PARTNERS Advent Calendar 2018 の投稿記事です。 みなさまこんにちは。リクルートマーケティングパートナーズの鶴田です。普段の業務では スタディサプリENGLISH で iOS エンジニアをしています。以前は スタディサプリ進路 チームにて、iOS エンジニアやデザイナなどをやっていました。 (てきとうなレジュメ 📝 ) デバイスやメディアインスタレーションなど、かたちのあるモノをつくることが好きです。自動車も好きで、実車は古~いクラウンやAMGを愛でています。一方ボロボロのラリーカーをゲットしてラリーをやるのも昔からの夢です。 ところでみなさん、

    Swiftでビジュアルプログラミング環境を自作して、インタラクティブプログラミングをサクッと楽しめるのか!? – PSYENCE:MEDIA
  • iOS(Swift)エンジニアがGoでAPI作って感じたこと - あぼぼノート

    普段Swiftを使ってiOSアプリを開発している私が、GoAPIを開発した際に感じたことを紹介します。 列挙型(Enum)がない! SwiftではEnumをめちゃめちゃ使います。ですがGoにはありません。が、Goではtypeを用いて擬似的にEnumっぽいことを実現できるようです。 Swift enum Edge: Int { case top, bottom, leading, trailing } Go type Edge int const ( Top Edge = iota Bottom Leading Trailing ) interfaceを実装することでEdgeを拡張することができます。たとえばStringerインタフェースを実装すると、文字列での出力ができるようになります。 type Edge int const ( Top Edge = iota Bottom Leadi

    iOS(Swift)エンジニアがGoでAPI作って感じたこと - あぼぼノート
  • Swiftにおけるコードの書き方や表現方法の考察 - Qiita

    はじめに Swift Advent Calendar 2018 の 16 日目です。 AdventCalendar初参加させていただきます。 @tattnさんのBetter Swiftと少し趣旨が被っているなと感じていますが そこはご了承いただけますと幸いです。 (月初には9割方書いており、テーマを変更する余裕がありませんでした) 今回の内容の動機 11月に転職をしてiOS専任のエンジニアになりました。(今のところ) これまでは人数が少ない受注開発の会社に勤めており、 1人1人がプロジェクト単位で 複数のプロジェクトを受け持つというスタイルで開発していました。 そのため コードレビューという経験がほとんどなく インターネットや書籍で調べ サンプルを作成して検証して これは確からしいことを確認して実装する というスタイルで開発を進めることがほとんどでした。 今回 ご縁をいただいて転職し ほぼ

    Swiftにおけるコードの書き方や表現方法の考察 - Qiita
    kenzy_n
    kenzy_n 2018/12/17
    優しく共有したい
  • RxSwiftにおける孫からの祖父母孝行 - Gunosy Tech Blog

    こんにちは こちらはGunosy Advent Calendar 2018、6日目の記事です。 メディア事業部新規事業開発室のyutanimです。 現在業務にてiOSを書いているので、その周辺のことを書いて行こうかと思います。 RxSwiftの孫Viewからのイベント受け取り 今回書くのは、RxSwift において孫Viewからイベントを受け取る実装についてです。 状態やイベントを伝播するのに便利なRxSwiftですが、ネストしたViewからイベントを受け取るのは少し面倒です。 そのような状況でどのように実装手法があるのかご紹介させて頂ければと思います。 実装パターン 今回は下記のようにUITableViewCellの中にFollowButtonがある状況で考えてみます イメージ画面 ※コードの例は必要最低限の箇所のみ抜き出しています。 ※来イベントはVCでsubscribeせず、vm

    RxSwiftにおける孫からの祖父母孝行 - Gunosy Tech Blog
    kenzy_n
    kenzy_n 2018/12/06
    お年玉の行く末については涙を誘う
  • iPhone専用だったアプリをiPadにも対応した話 - Tech Blog

    お久しぶりです。iOSDC 2018での発表やリジェクトコンのスタッフが一段落して暫く抜け殻になっていたかっくん(@fromkk)です。 Timersでは毎年9月下旬頃に合宿を開催しているのですが、そこでは普段の業務ではやらない事をテーマに各グループや個人で集中して作業をする事になっています。 僕は常々FammがiPadに対応するといいなと思っていたので、今年はFammのiPad対応をテーマに選びました。 ※早く着いたので一人で記念撮影しているの図 最初に まずやることはXcodeのアプリのターゲットの General タブにある Deployment Info の Devices を Universal にします。 既にここが Universal になっている人はここから先を見る必要は無いかもしれません。 モーダルのポップオーバー対応 上記の Devices を Universal にし

    iPhone専用だったアプリをiPadにも対応した話 - Tech Blog
  • swift4.1へのバージョンアップとつまづいたこと - メドピア開発者ブログ

    こんにちは。メドピアのエンジニアの保立です。 メドピアでは、医師専用コミュニティサイト「MedPeer」のiOSアプリを3月26日にリリースしました。 詳しくはこちら メドピアのiOSアプリは、swift4.0で開発を始めましたが、先日swift4.1にバージョンアップしたので、今回のブログ記事では、swiftのアップグレードのためにやったことについて紹介します。 swift4.0から4.1の変更点 3月29日にswift4.1がリリースされました。変更内容とメドピアでの対応について記載します。 変更1) SE-0157 Support recursive constraints on associated types (関連する型の再帰的制約をサポート) 変更内容 swift4.0以前では、「プロトコル内で、プロトコル自身を再帰的に参照する」ことを制限していましたが、swift4.1以降

    swift4.1へのバージョンアップとつまづいたこと - メドピア開発者ブログ
  • 一度のビルドで複数のシミュレータにインストール&起動するCLIツール作った - Qiita

    業務で作ってるアプリの長いビルド中にTwitterをチラ見していたらとあるツイートが目に入りました。 1buildで指定のSimulator全部にappを突っ込む方法欲しい…修正されているかの画面確認でbuildして確認してsimlator変えてbuildして…ってつらい — ありぜ (@a_aryzae) 2018年5月24日 Bluepillなどを使えば複数シミュレータを起動しながらUIテストが出来るらしいですが、確かに普通にビルドして、複数シミュレータにインストールするだけがしたいという要望もありそうだなと思いました。 fbsimctlでも良いかもしれないけど、Xcodeが複数シミュレータ起動に対応してから僕は使わなくてなりました。 とはいえ、複数シミュレータを起動して確認のはなかなか面倒な作業なので僕は下記の様な感じのシェルスクリプトを組んで実行していました。 #!/bin/sh

    一度のビルドで複数のシミュレータにインストール&起動するCLIツール作った - Qiita
  • Swiftのクロージャについて - RAKUS Developers Blog | ラクス エンジニアブログ

    はじめに こんにちは。ラクスエンジニアのstrongWhiteです。 今回はSwiftにおけるクロージャの書き方をまとめようと思います。 クロージャはJavaScriptなどを勉強した方は馴染みがあるかもしれませんが、初めての方は慣れるまで時間がかかるかもしれません。 なお、今回はSwift自体の説明を省きます。過去の記事でSwiftについて触れているので、気になる方はそちらをご参照ください。 はじめに クロージャとは コールバックとは 実例(通常の書き方) 実例(クロージャの書き方) クロージャにすると何がよいのか? クロージャとは まずは前置きから。そもそもクロージャとは?ですが、簡単に言うと名前のない関数です。 文章にすると余計に混乱されるかもしれませんが、あえてまとめるなら以下のような感じでしょうか。 自身が定義されたスコープ内で解決する関数 実行結果を次の処理で続けて使用する関数

    Swiftのクロージャについて - RAKUS Developers Blog | ラクス エンジニアブログ
  • SwiftのSDK overlayとswift-corelibs-foundation - いけだや技術ノート

    SDK overlay SwiftのSDK overlayというものを耳にしたことはあるでしょうか?これはSwiftのOSSプロジェクトであるapple/swiftの開発において、FoundationやAppKitUIKitなどのObjective-Cで書かれたシステムフレームワークに対し、SwiftらしいAPIを提供するための拡張レイヤーです。 https://github.com/apple/swift/tree/master/stdlib/public/SDK Swift 3で、NSDateに対するDate、NSURLに対するURLなど、参照型と対応する複数の値型がFoundationに追加された*1のを覚えている人も多いかと思います。これらの値型はもちろんSwiftで実装されているわけですが、これも実はSDK overlayの一部です(この場合はFoundationのoverla

    SwiftのSDK overlayとswift-corelibs-foundation - いけだや技術ノート
  • GitHub - google/swift: The Swift Programming Language

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

    GitHub - google/swift: The Swift Programming Language
  • try! Swift NYC 2017 レポート | CyberAgent Developers Blog

    こんにちは!AbemaTVでiOS、tvOSを開発している波戸(@dekatotoro)です。 9月のことですが、ニューヨークで開催されたtry! Swift NYCに参加してきました。 若干遅ればせながらですが、今回はそのレポートをお届けします。 What’s New in try! Swift NYC? try! Swift NYCは、iOSプログラミング言語であるSwiftのカンファレンスです。世界中のiOSエンジニアが集まり、それぞれの知見を共有するビッグイベントとなっています。 今回は、9月5日~6日の2日間で開催され、約20人のスピーカーが登壇しました。参加者は総勢約200人くらいでした。 ちなみに、AbemaTVからは @inamiy さんも登壇しており、  Swift 4 Codableというテーマで発表されました。 スライド try! Swift NYC Swift 4

    try! Swift NYC 2017 レポート | CyberAgent Developers Blog
  • Swift に導入予定の Ownership 機能の紹介 - Qiita

    Swiftはネイティブコンパイルや値型など、高速な動作を意識して設計されていますが、CPUの性能を活かしきるコードを書くには機能が足りていません。コアチームは、その不足している機能群のうち、あるグループに Ownership 機能と名前をつけ、今後の対応方針を Ownership Manifesto として文書化しました。 この記事では、この文書に基づいて Ownership 機能を紹介します。その内容のうち、すでにSwiftに導入されているものもありますが、そうでないものについては、あくまで方向性が提示されているものであり、確定した仕様ではないことに注意してください。 Ownership は主にコピーの回避を実現します。これまで「コピーしていた」場面で、そのかわりに「貸したり」「渡したり」できるようにして、より高速なコードを書けるようにします。 コピーコスト つまり前提として、コピーにつ

    Swift に導入予定の Ownership 機能の紹介 - Qiita
  • なぜ多くの開発者が今なお Swift よりも Objective-C を好むのか - Frasco

    iOS SDK がアナウンスされてから数年間、アプリ開発ゴールドラッシュの恩恵を得ようと、開発者たちは Objective-C の世界に群がっていました。しかしその時代は去りました。Swift が我々の前に現れて3年以上、それは古い同種の言語を主役の座から押しやりました。 Objective-C - かつてはアプリ開発の世界で人気急上昇のスター的存在でしたが - は、Apple の開発環境の中では2級の扱いになっていきました。そうです、それは時おり WWDC にて1枚か2枚のスライドに引っ張り出されることはあるかもしれませんが、カンファレンスの大部分は Swift に関してです。AppleSwift教育を推進しており、主要な言語の機能はまず Swift に対応するようになっています。 しかし、まだ Objective-C を使ってるなら、あなたは一人ではありません。たくさんの開発

    なぜ多くの開発者が今なお Swift よりも Objective-C を好むのか - Frasco
    kenzy_n
    kenzy_n 2017/10/24
    それなりの事情がある