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. Dismiss alert
スタートアップ企業が実践する「身の丈スクラム」の現在地 / Current State of 'Right-Sized Scrum' Practices in Startups
The Swift Server work group is a steering team that promotes the use of Swift for developing and deploying server applications. The Swift Server work group will: Define and prioritize efforts that address the needs of the Swift server community Define and run an incubation process for these efforts to reduce duplication of effort, increase compatibility and promote best practices Channel feedback
Open source libraries for modern and blazing fast server software.Build server software in Swift Zewo is a set of open source libraries that help you build modern and blazing fast server software. Linux ready Compiled Swift, running on your Linux distribution. As Swift is open source and capable of running on Linux, you can easily deploy Zewo on AWS, DigitalOcean, or any of your other favorite clo
技術部モバイル基盤グループの@giginetです。 我々のチームでは、iOS/Androidアプリの認証、決済、ロギングと言った基幹部分の開発のほか、各事業部のモバイルエンジニアの開発効率を上げるための業務改善を日々行っています。 その一環として、さまざまなモバイル開発上の指標を収集・監視し、問題の発見や、施策への効果計測に利用できるようにしています。 例として、iOS/AndroidのCIの実行時間や、開発期間中のissueの量の変化、コード全体のSwift対応率などがあります。 収集したデータは、オープンソースのデータビジュアライゼーションツールであるGrafana上にダッシュボードを作成し、監視しています。 この記事では、iOS版クックパッドアプリでビルド時間を計測、改善をした事例についてご紹介します。 コマンドごとの実行時間の計測 まず、CIサーバーで実行されている各Shellコマ
大規模な破壊的変更が行われる最終的なバージョンといわれているSwift 3.0がついに正式リリース。多数の変更から「廃止」となった言語仕様にフォーカスを当て説明する。 ← 前回 連載 INDEX 次回 → 先日正式リリースされたSwift 3.0では数多くの変更が含まれたが、今回はその中から廃止となった言語仕様にフォーカスを当てる。 仕様廃止のProposal 第3回で紹介したSwift EvolutionリポジトリのProposalステータスページを見ると、それぞれのProposalが「承認されたが実装待ち/Swift 3.0に実装済み/Swift 2.2に実装済み/後回し/リジェクト済み」のどの状態にあるかが分かる。これらのProposalの中で仕様の廃止に関係しているものは、その名前に「remove」「eliminate」などを含むものである。 Swift 3.0で廃止された12件の
はじめに SwiftのOptionalについて、こんな認識がありました。 Int? は Int が入るかもしれないしnilが入るかもしれない型 これだけの認識でもSwiftのプログラミングは十分可能だと思います。 Optional BindingやOptional Chainingを使いこなせれば、Optionalと友達以上恋人未満の関係になったと言っていいでしょう。 ただ、それだけでは満足しきれない、もっとOptionalのことを知りたい!恋人以上の関係になりたい!と思うようになってきました。 Optionalの定義 Optionalの定義を確認してみます。(いろいろ省いています。 public enum Optional<Wrapped> { case None case Some(Wrapped) } この時点でOptionalの認識が少し改まります。 Int? は Some(Int
disabled_rulesには「これは無視してチェックしてください」という項目を指定します。 使用できるルールはswiftlint rulesコマンドで出力できます。 この記事ではそのそれぞれのルールについて実例を付けて説明したいと思います。 詳しく知りたい場合はライブラリの中身を見ると良いと思うので、下記ページをご覧ください。 https://github.com/realm/SwiftLint/tree/master/Source/SwiftLintFramework/Rules なお、変数名の長さなど、長さが絡んでくるものに関してはカスタマイズできます。 ひとまずここではデフォルトでどのようになるかを記述していきます。 closing_brace Closing Brace Spacing (closing_brace): Closing brace with closing pa
Quick Quick はビヘイビア駆動開発(BDD)なテスティングフレームワークです。 Quick もご多分に漏れず RSpec などの影響を受けていますので、るびまの記事1など参考になるでしょう。 Expectation(XCTest で言うアサーション) には、別ライブラリとなっている Nimble を使用します。 インストール 公式サイトにインストール方法2が書いてありますので省略します。 日本語が良い方はクラスメソッドさんの記事3などを見ると良いでしょう。 使い方 まずは Quick / Nimble をインポートし、QuickSpec を継承したクラスを作ります。 ここでは名前は SampleSpec としておきます。 import Quick import Nimble class SampleSpec: QuickSpec { } 次に spec メソッドをオーバーライドし
func myFunc1(str1:String) { println("str1=\(str1)") } // 引数名は不要 myFunc1("foo") // OK myFunc1(str1: "foo") // Extraneous argument label 'str1:' in call func myFunc2(str1:String, str2:String) { println("str1=\(str1), str2=\(str2)") } // 2 つめ以降の引数には引数名が必要(1 つめの引数には不要) myFunc2("foo", "bar") // Missing argument label 'str2:' in call myFunc2(str1: "foo", str2: "bar") // Extraneous argument label 'str1:'
To make it easy comparing two NSDate instances in Swift we can overload <=, >=, >, < and == operators with NSDate types on left and right hand sides of overloading functions. timeIntervalSince1970 is a safe measure for comparing most dates. I used timeIntervalSince1970 to make the decision if two dates are equal, less or greater. func <=(lhs: NSDate, rhs: NSDate) -> Bool { return lhs.timeIntervalS
はじめに Swift with iOSなコードをレビューする時に僕が気をつけて見ているところをざっくりまとめました 今年からSwift始めます!って人が読めばクラッシュしやすいコードを書きにくくなるはず ロジック面についてもちゃんと確認しましょう 勘所 AnyObject使ってる 不適切に使われてる(型を消すとか)場合には絶対に直させる。型を消したい場合は protocol + typealias とかgenerics でなんとかできる場合が多い。というか AnyObject を使ってるコードでは、型を消す必要がない場合が多い。 配列にindex指定してアクセスしている let item = items[index] とか。基本的にはindexなど使わずにアクセスするのが一番なので、書き直せないか確認する。 書き直せない場合はロジック自体の設計を変えられないか、もしくははみ出ない処理がちゃ
通信系ライブラリ AFNetworking https://github.com/AFNetworking/AFNetworking ド定番中の定番のライブラリ!! レスポンスデータの処理やエラーハンドリングがブロック構文で書けるので通信周りを実装するときは必ずこれを使っています。 Alamofire これも定番中の定番の通信のライブラリ! Swiftで記述されているのでBriging-Headerを準備する必要なし! 個人的にはまだAFNetworkingのほうが使いやすいですがこれから使っていくつもりです GoldRaccon FTP通信を実装する際はこれを使っています。 クライアントからサーバーへのアップロードまたサーバーからのダウンロード処理を簡単に記述することができます。 SDWebImage UIImageViewに表示する画像(UIImage)をサーバーから取得&表示するライ
こんにちは。リードアーキテクトのItoです。 前に予約していたNuAns NEOが届きました。かなりいい感じです。iPhoneと比べてしまうと、カメラ性能とアプリの少なさが気になりますが。 前回の記事では、Nodeベースのプロジェクト(Webサーバー)をSwiftに置き換えられるかという部分の話をしました。今回は前回からのアップデートや実際に運用してみたSwiftベースのサーバーサイドの話もしたいと思います。 Swift全体の動き、Swift本体(コンパイラ)のlatest build(masterブランチ)はSwift 3系になりました。 Swift(特にオープンソース版)の最新情報を追いたい場合は、以下のソースが参考になりました。 iOS Dev Weekly Swift Weekly Brief This week in Swift little bites of cocoa. Ch
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く