タグ

ブックマーク / qiita.com (110)

  • RxExample MVVM のその先へ(Fat ViewModel の倒し方) - Qiita

    この記事は、RxSwift が提供する公式のサンプルである RxExample で行き詰まった方向けに、実践的な対処方法を紹介します。具体的には RxExample にある MVVM (Model-View-ViewModel) を真似たアーキテクチャで陥りがちな Fat ViewModel へ対処する方法の解説になっています。 なお、この記事の想定読者は RxExample の初級者〜上級者ですが、それぞれの方向けにこの記事の読み方を説明します。 初級者の方へ 登場するコードは、コメントだけ拾い読みしても内容がわかるように配慮しています。コードを深く追うと疲れてしまうと思うので、コード内のコメントの内容を追ってください。 上級者の方へ この記事では、RxExample 上級者が疑問を感じるであろうコードに「上級者向け注釈」をつけています。記事末に注釈の解説がありますので、そちらをご覧くだ

    RxExample MVVM のその先へ(Fat ViewModel の倒し方) - Qiita
    akio0911
    akio0911 2017/12/25
  • 大学での初心者に対するプログラミング講義ではC言語を使うべきでない - Qiita

    今日、大学に入って最初のプログラミングの授業があった。それについて少しばかり思うことがあったのでここに記す。以下の文章は、工学部情報系学科一回生の、最初のプログラミング授業について述べたものである。タイトルにもある通り、この文章は「初心者に対する」講義について言ったものであり、機械制御を専攻する学生に対する講義などを言うわけではない。 最初の言語がC 結論から述べよう。最初のプログラミング言語にC言語は向いていない。できないとは言わないが(私が最初に触れた言語もCだが)、より有力な候補がいくらでもある。私の所属する学科には機械分野に進む人も多いので、それに使われるCを、という思惑もあるのだろう。しかし、初心者が「プログラミングを」学ぶ言語としてはお世辞にも良いとは言えない。私が思うプログラミング初心者に向いた言語とは、次の条件を満たすものである。 現在普及している 環境構築が容易(私の大学

    大学での初心者に対するプログラミング講義ではC言語を使うべきでない - Qiita
    akio0911
    akio0911 2017/06/17
    情報工学ならCで良い気がする
  • 10年間の iOS 機能のまとめ with WWDC - Qiita

    Cut, Copy & Paste Cut, Copy & Paste / Apple Inc. (2009) 『iPhone - Features』 Pasteboard UIKit フレームワーク (UIPasteboard) が対応。(iOS 3.0 以降) MMS MMS / Apple Inc. (2009) 『iPhone - Features』 Composition Interface MessageUI フレームワーク (MFMessageComposeViewController) が対応。(iOS 4.0 以降) Spotlight Spotlight / Apple Inc. (2009) 『iPhone - Features』 Index Activites Foundation フレームワーク (NSUserActivity) が対応。(iOS 9.0 以降)

    10年間の iOS 機能のまとめ with WWDC - Qiita
    akio0911
    akio0911 2017/05/24
    見たかったやつ!
  • https://qiita.com/itckw/items/ff079c7572d6a1acd349

    akio0911
    akio0911 2016/12/23
    (お という表記(感嘆符?)を見たのは何年ぶりだろうか、、、
  • イケイケなベンチャーの開発チームが、大企業的な開発チームになってしまう5つの兆候 - Qiita

    はじめに この記事は CrowdWorks Advent Calendar 2016 18日目の記事です。1 やすにしと申します。世間一般的に言う、ジャーマネ的なことをやらせていただいております。組織というのはナマモノでして、常に変化し、課題の種のようなものを見過ごすと、後々大変なことになることが多くあります。とはいえ、うまくいっても空気のように当たり前となりますし、うまくいかないと批判の的になるというなんとも世知辛い役割ですね。 我々も、5人ほどのエンジニアだった組織が、9ヶ月ほどで30人を超え、大きな変化を迎えました。人数が多くなるということは、課題が変容し複雑になるということ。当然ながらその複雑な課題に対して対処するわけですが、そこで多くの会社は「マネジメント」をしようとします。ただ、そのマネジメントもやり方を間違えると、活力や改善や変革をする芽を奪ってしまい、一気に硬直化し、数人だ

    イケイケなベンチャーの開発チームが、大企業的な開発チームになってしまう5つの兆候 - Qiita
    akio0911
    akio0911 2016/12/18
  • Health Swift Meetup@FiNCまとめ - Qiita

    テーマ Swiftで気持ち良く開発をするためには FiNCさんによるご挨拶 ■会社紹介 一生に一度のかけがえのない人生の成功をサポートする。 ■サービス紹介 FiNCプラス 法人向け ダイエット家庭教師 個人向け パーソナルカラダサポート ■iOS開発環境 Swift100%、Swift2.2 slack / github / JIRA を使っている ゲストスピーカー発表 @kishikawakatsumiさん ■Swiftらしいコードとは 一概に言えるものではないし、同じことをやるにもいろいろな表現と、それに伴うメリット・デメリットがある。ゆえに、それぞれの適性を理解した上で書けるようにすべき。Swiftらしさに拘って盲目的に使うべきではない。 ■Protocolについて Dependency Injection with the Cake Pattern in Swiftのエッセンスを

    Health Swift Meetup@FiNCまとめ - Qiita
    akio0911
    akio0911 2016/05/05
  • iOS ヒューマンインターフェースの原則 - Qiita

    はじめに iOS のヒューマンインターフェースを理解するためにはまず UI 設計の原則を定めた聖典 iOS Human Interface Guidelines を読むことから始めなければなりません。ここにはプラットフォームの特徴からデザインの原則、それぞれの部品が何のためにデザインされたのか、どう利用するのか、iOS を構成する UI の基指針がまとまっています。 よく、『磨りガラス効果がかっこいい』『アニメーションしておくとイケてる』『ボタンは右配置の方が右手で押しやすい』『流行っているから』……などの観点によって UI の設計が決められることがありますが、そういうことではないのです。いや実際かっこいいかわいいだとかの感覚は重要なのですが、見た目が何となくそれっぽいだけでは優れた UI とは言えません。磨りガラスでも何でも必ずそこには意味があります。だからこそ HIG に書かれた思想

    iOS ヒューマンインターフェースの原則 - Qiita
  • SwiftでiOS標準カレンダーを使う方法 - Qiita

    // 許可状況を確認して、許可されていなかったら許可を得る func allowAuthorization() { if getAuthorization_status() { // 許可されている return } else { // 許可されていない eventStore.requestAccessToEntityType(.Event, completion: { (granted, error) in if granted { return } else { print("Not allowed") } }) } } // 認証ステータスを確認する func getAuthorization_status() -> Bool { // 認証ステータスを取得 let status = EKEventStore.authorizationStatusForEntityType(.Eve

    SwiftでiOS標準カレンダーを使う方法 - Qiita
  • #Swiftならこう書くシリーズ - Qiita

    John さんの Swiftならこう書くシリーズ 10選 を拝見して、こう書いたらもっと楽しくなりそうと思ったところがあったので、補足もしつつ紹介してみようと思います。 この記事は上記のブログみたいに「Objective-C と対比して分かりやすく」みたいには書いていないので少し難しい感も漂いますけど、ブログを読んだ後の次のステップとして読んでもらえたら幸いです。 10. 配列の操作ならSwiftの SequenceType メソッドを使用する Swift の配列は SequenceType という仕組みに則って作られています。それと同時により配列らしい性質を提供する CollectionType という仕組みにも則っています。せっかくの配列なら CollectionType も合わせて注目すると、もっと楽しくなりそうです。例題に出てくる indices も CollectionType

    #Swiftならこう書くシリーズ - Qiita
  • Objective-C → Swift コンバータ3種を比較(Swiftify, iSwift, objc2swift) - Qiita

    Objective-C → Swift コンバータ3種を比較(Swiftify, iSwift, objc2swift)Objective-CXcodeiOSSwift Swiftが発表されて以来早2年、なんだかんだと言い訳しつつその後も大量のObjective-Cコードを生産し続けてまいりました。そんなカルマを精算すべく、よく使いまわしているコードはSwift化 しておこう、と思うのですが、どうしても「既に動いているコードを書き直す」というのは、他の緊急性の高いタスクに割りこまれてしまいがち。。 そんなわけで、ObjC → Swiftに 自動変換 してくれるコンバートツールを試してみようと思い立った次第です。 コンバータを探してみる 「確かヤフーさんが昨年コンバータをオープンソースで出してたなー」とググってみると、けっこう他にもいろいろとコンバータや変換方法が見つかりました。

    Objective-C → Swift コンバータ3種を比較(Swiftify, iSwift, objc2swift) - Qiita
    akio0911
    akio0911 2016/03/26
  • Swift 2.2 で変わったところ - Qiita

    Swift 2.2 の機能で変わったところを、機能面からざくりとですけど具体例も書いたりしながら挙げてみますね。 そこそこのボリューム感になったので、まずはどんな事柄が書かれているか、ざっくり箇条書きにしておきます。細かい部分については以降でじっくり記してみます。 新機能 クラスにおける init? や init-throws でプロパティの初期化前離脱が可能に プロトコルにおける付属型の明記が associatedtype を使う方法に変更 AnyGenerator を AnyGenerator.init(body:) を使って初期化する方法に変更 タプルにおいて、6つまでの要素を持つタプル同士の比較が可能に 引数ラベル名を考慮した関数の参照が可能に 引数ラベル名で予約語のほとんどをそのまま使用可能に ArraySlice で先頭要素を削除したときにインデックスの範囲が維持されるように

    Swift 2.2 で変わったところ - Qiita
  • 複数サイズのiOSアイコンを簡単に作成する - Qiita

    アプリ道場 Advent Calendar 2015の13日目は@hideyukitoneです。 Sketchを使って複数サイズのアイコンを簡単に作成する方法を紹介します。 なぜ複数サイズのアイコンが必要なのか iPhoneiPadには複数の画面サイズが存在するためです。 そのためiOSアプリを作るためには複数サイズのアイコンを用意してやる必要があります。 ちなみに私がリリースしておりますアプリではこれだけのアイコンを用意しています。 最近ではiPad Proが発売され必要なアイコンのサイズが1つ追加されました。 これを見てやる気がなくなった方もおられるかもしれませんが、大丈夫です。 今回紹介する方法で簡単に作成できます! 用意するもの Sketch アイコンのアイディア これだけです。 Sketchとは ベクター形式で絵を描くMac用アプリです。 海外UIデザイナーの間で爆発的に広が

    複数サイズのiOSアイコンを簡単に作成する - Qiita
    akio0911
    akio0911 2016/01/21
  • Swiftのメソッド毎のコンパイル時間を計測してビルド時間を短縮する - Qiita

    iOSアプリのビルドに時間がかかるようになったので、ビルド時間を計測して問題の有る箇所を修正したのでその方法を記す。 ビルド全体の時間の計測 まずビルド全体でどれだけ時間がかかっているかを計測した。 ターミナルで以下のコマンドを実行することでXcodeでビルドした時にかかった時間が表示されるようになる。 これを実行してXcodeをリスタートする。クリーンした後ビルドを行うと、以下のようにビルド時間が表示される。小さいサンプルアプリなので4.324秒である。 このビルド時間が長い場合はさらにファイル毎、メソッド毎の時間を計測する。 ファイル毎のコンパイル時間の計測 (この後で説明するメソッド毎の計測方法でファイル毎の時間も得られるので、この項は読み飛ばしても問題ない) ファイル毎のコンパイル時間を計測するにはxctoolを利用する。プロジェクトルートフォルダで以下のコマンドを実行する。

    Swiftのメソッド毎のコンパイル時間を計測してビルド時間を短縮する - Qiita
    akio0911
    akio0911 2016/01/21
  • Swift2のnil判定系まとめ - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    Swift2のnil判定系まとめ - Qiita
    akio0911
    akio0911 2016/01/21
  • Xcodeのプロジェクトを大掃除する方法 - Qiita

    要注意! 今回の作業を行う前に、必ず ソースコードのバックアップを取っておいてください! 。 大掃除して動かなくなったとかだと笑えないので、注意してください。 タブとスペースが混ざってしまっている 悩み 複数人で開発したり、 ソースコードを適当にコピーペーストすると・・ 気付けば、タブとスペースが混在してませんか? Xcode上では違いがわからなくても、 GitHubなどにソースコードを見た時に・・ 後は、Diffを確認する時に?w=を使うと、空白のみの変更は表示しないので、 変更点を確認しやすいです! 例: https://github.com/sixthsense/sixthsense/pull/16/files https://github.com/sixthsense/sixthsense/pull/16/files?w= ディレクトリ構成をグループ構成どおりに移動 悩み ディレク

    Xcodeのプロジェクトを大掃除する方法 - Qiita
    akio0911
    akio0911 2016/01/17
    "ディレクトリ構成をグループ構成を同期させるツール「Synx」を利用する"
  • アプリ開発を楽しむために実践している7つのメリーメソッド - Qiita

    メリークリスマス! 楽しいアプリ道場Advent Calendarも今回で最終日です。クリスマスなので、これからアプリ開発をしてみたいあなたやアプリ開発をはじめたばかりのあなたへちょっとしたプレゼントを贈ります。 そのプレゼントとは、『アプリ開発を楽しむために実践している7つのメリーメソッド』です。具体的には、 『わたしがアプリ道場で学んだことを活かして、どんな風にアプリ開発を学んできたか』を紹介します。 この記事が、あなたの楽しいアプリ開発につながりますように。 メリーメソッド1 〜のコードを写経する〜 まずはなんといってもこれです! 英語などの新しい言葉を学ぶとき、まずはその言葉に触れますよね。プログラムはコンピューターとお話するための言語なので、その原則は変わらないです。 ですので、まずは入門書を一冊買ってきて、そこに書かれているサンプルコードをひたすら写経(=を見ながら入力する

    アプリ開発を楽しむために実践している7つのメリーメソッド - Qiita
    akio0911
    akio0911 2015/12/25
  • StackViewを賢く使ってらくちんAutoLayout - Qiita

    『アプリ道場 Advent Calendar 2015』8日目は「Auto Layoutが好き過ぎて、StackViewをおかずにご飯3杯いける」ゆこびん(@yucovin)がお送りします。 そもそもイラストレーター/デザイナーなので、アプリの開発をしていても見た目を司るAuto Layoutが気になって気になってしょうがないです。(これは恋?!) ということで、日は今年綺羅星のごとく現れたAuto Layout界の期待のクラス「UIStackView」についてまとめたいと思います!(๑´ㅂ`๑) UIStackViewは一言で言うと、便利なレイアウト用の箱です。 StackViewは2つ以上の縦または横に並ぶサブビューを面倒な制約(Constraints)を作ることなく、いいカンジにレイアウトしてくれます。 StackViewを上手く使えば制約の数をうんと少なくすることができるんです。

    StackViewを賢く使ってらくちんAutoLayout - Qiita
  • Realmでプライマリキーをauto incrementっぽく作る - Qiita

    アプリ道場 Advent Calendar 2015の4日目は、こたら@kotala_bです。 Realmのプライマリキーの作り方について書いていきます。 プライマリキーって? プライマリキーというのはOracleMySqlといったリレーショナルデータベース(RDBMS)で使われている、一意性を保証するためのものです。 Realmでももちろんこのプライマリキーを設定できます。 Realmでプライマリキーを設定するにはこのようにします。 class Person: Object { dynamic var id: Int = 0 dynamic var name: String = "" override static func primaryKey() -> String? { return "id" } } RDBMSにはauto incrementと言って、プライマリキーに入れる一意

    Realmでプライマリキーをauto incrementっぽく作る - Qiita
    akio0911
    akio0911 2015/12/04
  • iOS 9で追加されたNSLayoutAnchor使うと簡単にわかりやすく間違えずにNSLayoutConstraint(制約)が作れます【Auto Layout】 - Qiita

    iOS 9で追加されたNSLayoutAnchor使うと簡単にわかりやすく間違えずにNSLayoutConstraint(制約)が作れます【Auto Layout】XcodeiOSAutoLayoutSwiftiOS9 NSLayoutAnchorで制約(NSLayoutConstraint)を作る 『アプリ道場 Advent Calendar 2015』3日目は「三度の飯よりAuto Layoutが好き」(いや…そこまでは無理か…)な、ゆこびん(@yucovin)です。 そもそもイラストレイター兼デザイナーなので、アプリの開発をしていても、見た目の要素をどうやって作るかが一番の感心どころというか触れずにはいられないというか…。 と、いうことで!iOS 9で追加された、簡潔で読みやすくて間違えづらい新しいAuto Layoutのクラス、NSLayoutAnchorについてまとめます。 ※な

    iOS 9で追加されたNSLayoutAnchor使うと簡単にわかりやすく間違えずにNSLayoutConstraint(制約)が作れます【Auto Layout】 - Qiita
    akio0911
    akio0911 2015/12/03
  • Embedded Framework使いこなし術 - Qiita

    iOS 8・Xcode 6から、Embedded Frameworkが使えるようになりました。 その導入法について書かれた記事などはよく見かけます("ios embedded framework" でググってください)が、実践的な説明・ノウハウ系はあまり見たことが無かったので、ご紹介します。 以下の2+ステルス開発中の1で1年程度の利用経験があります。 JOIN US - 今日飲み会がしたい!今夜飲める人だけのコミュニティ Player! - 熱狂型スポーツアプリ、スコア・試合経過をライブ中継!ニュースも配信中!(プレイヤー) というわけで以下、Embedded Frameworkについて語っていきます。 利点 Staticライブラリというけっこう前からある別の仕組みもありますが、以下の利点全てを享受出来るのはEmbedded Frameworkです。 コード共有 最近、iOS体アプ

    Embedded Framework使いこなし術 - Qiita
    akio0911
    akio0911 2015/12/01