UITextFieldとRxSwiftを使ってバリデーションを実装する

概要 UITextFieldとUILabelをRxSwiftでバインディングする方法 ではUITextFieldとUILabelを接続してUITextFieldで入力中の値をリアルタイムでUILabelに更新していく方法が分かりました。 とは行ってもRxSwiftを使わない方法でもUITextFieldDelegateのメソッ…

UITextFieldとUILabelをRxSwiftでバインディングする方法

概要 タイトルで「バインディング」という言葉を使いました。 しかしRxSwift初心者にとってまたiOS開発者にとって一番勘違いを起こしてしまうのがこの「バインディング」だと思ってます。 バインディングと格好良く行っていますが要するにSwiftのクロージャ…

UITextFieldのRxSwift処理の書き方について

概要 UITextFieldのRxSwiftの書き方について調べてみました。 よくあるUILabelに連携してデータをバインディングする処理はまた別です。 超基本的な書き方について説明していきます。 開発環境について Xcode: 10.1 Swift: 4.2 RxSwift: 4.4.0 RxCocoa: 4.4…

RxSwift, UIButtonでUILabelのラベルの文字を変更してみる

概要 こちらがよくQiitaで投稿されるRxSwiftを用いたUIButtonで「バインディング」するとか言われている技術の説明になります。(違いました) バインディングとか行っているのにやっていることは今までと同じ概念(RxSwiftなしでの実装)になります。 開発環境…

RxSwift事始め。UIButtonのタップ実装

概要 RxSwiftを書いていて慣れてきましたので同僚にわかりやすく説明するためメモとして残してみます。 これをみてRxSwiftに苦手意識を持っているエンジニアの手助けができたらいいなと思いました。 開発環境について Xcode: 10.1 Swift: 4.2 RxSwift: 4.4.…

RxSwiftでUIActivityIndicatorViewのローディングを実装する

RxSwiftでUIActivityIndicatorViewのローディングを実装する方法論について記載しました。

グーグル検索でここまで感動したことはあっただろうか?

エンジニアのグーグル検索についてのテクニック をまとめたいと思う。 特にiOSエンジニアの場合にはXcodeのコンソール上で意味不明なエラー文言が起きた時には どうやって検索すべきかを悩んでしまう。 プログラマとして日々バグのデバッグの解決法としてグ…

Swift4.2で導入された機能 Dynamic Member LoopupでSwiftのコードをよりCOOLにしよう

概要 Swift4.2で導入されたDynamic Member Lookupの機能について紹介します。 といっても使い方は@dynamicMemberLookupのアノテーションを付与すれば使えるようになりますが、この機能でSwiftのコードがどれだけ可読性が上がるのかを理解できるようになりま…

来たるSwift5の新機能をまとめました

概要 1/25(金)の仕事終わりにツイッターでこのようなつぶやきがタイムラインで上がってきていた。 いよいよSwift5か……。https://t.co/q4xK4DOmpm— Kaoru (@TachibanaKaoru) 2019年1月25日 Swift 5 Release Notes for Xcode 10.2 beta とうとう、Swift5がリリ…

iOSエンジニアがフリーランス案件の面談で良く聞かれる質問集をまとめてみた

概要 転職エージェントは、本当にスゴ腕なのか!?──偽エンジニアを見抜けるか試してみた がツイッターのタイムラインで上がってきたので興味が湧きました。 これは未経験者は必ず読んだ方がいい営業ちょっと出来れば簡単に潜り込めちゃうってことエージェン…

Laravelをherokuにデプロイする(データベースはMySQL)

概要 やっとLaravel運用でherokuのmySQLでのデプロイ方法がわかりましたので投稿します。 PostgreSQLはすでに記事に残しています。 Laravelをherokuにデプロイする(データベースはPostgreSQL) では解説に入っていきます。 プロジェクトファイルのPathに移動…

SwiftのAlamofire+CodableでAPIクライアントの作成からUnitTestまでを実装する

概要 iOSエンジニアの通信処理の練習用にこんなAPIを作成しました。 herokuで無料枠でデプロイしていますのでお金はかからないはずです。 その代わりにスリープモードなのでアクセスしてもレスポンスが遅いので、2,3回アクセスして起こしてもらう必要があり…

SwiftによるiOS開発でテスト駆動開発 (TDD)を行うチュートリアル

概要 iOSアプリ開発でのUnitTestの取り組み方がわかりませんでしたので下記の記事を参考にしました。おそらく2019年はiOSの業界でもTestの重要性が浸透するのではないかなと思います。 というのもiOSのテストには UnitTest UI Test の2種類のテストが存在し…

乃木坂で学ぶLaravelでRSSをパースしてAPIを作成する方法

概要 まとめサイトからRSSを使ってAPIを作成したいと思いました。 対象のサイトは 乃木坂46まとめブログ RSS: http://ngzk46.livedoor.blog/index.rdf こちらのサイトのRSSを使います。ちなみにどのサイトのRSSでも問題ありません。 よくあるXMLをパースして…

PromiseKitを使って非同期処理プログラミングのつらみと卒業しよう(応用編)

概要 前回の続きになります。 PromiseKitを使って非同期処理プログラミングのつらみと卒業しよう(導入編) 原文はこちらになります。 Getting Started With PromiseKit Wrapping in a Promise PromiseKitサポートが組み込まれていない既存のコード、SDKやサー…

PromiseKitを使って非同期処理プログラミングのつらみと卒業しよう(導入編)

概要 今のモバイルアプリの開発ではネットワーク通信の技術がほぼマストで必要になっていますね。ModelとViewを切り分けますがModelからViewにデータを渡すときにはクロージャーなりデリゲートなりを利用します。 今では一回のアクションで2つ以上のAPIを叩…

iOS Test Night #9 まとめ

概要 自分まとめ用として。 二日経つと多分忘却の彼方に飛んでしまうので後でチェックする。 XCTest(再)入門 / tobi462さん Twitter: https://twitter.com/tobi462 BetterSpecsに学ぶ Swiftにおける本当にRSpecライクなテストの書き方 / rockname(ロクネ…

SwiftとKotlinはこんなに似てる!比較用チートシートを公開します

原文 こちらが原文です。 A Comparison of Swift and Kotlin Languages サブタイトル この記事ではSwiftとKotlinの主な類似点と相違点について、実装・スタイル・構文などの重要な詳細を中心に説明します。 SwiftとKotlinは開発者コミュニティを席巻し、両方…

Laravelで開発したタスク管理サイトChekeraをアップデートしたので使った技術を紹介する

概要 Laravelを使って個人開発をしているChekeraをこの度アップデートしました。 このアップデートで使用した技術と設計が技術寄りの話しなのでQiita向けかなと思い紹介してみます。 タスク管理サイト:Chekera https://chekera.net/ アップデート内容 タスク…

全ての開発者に知ってほしいQiitaへのアウトプットが金銭に関係なくメリットを享受できる理由

概要 この文章は下記の記事のパロディです。 Qiitaでお金が稼げるなら質の高い記事がもっと増えるのではないかという提言 全ての開発者がQiitaへのアウトプットをやめるべき理由 最近のQiitaの記事の質が下がってきている事への考察 タイトルの主語が大きい…

SwiftのRxSwiftでのテストコードをRxBlockingとRxTestを使って導入するチュートリアル [iOS]

概要 RxSwiftでのテストの書き方が分からなかったので海外の記事を参考にすることにしました。 これまで色々なiOSのアプリの開発・運用に携わってきましたが運が悪かったのかテストコードが1行も書かれていないプロジェクトばかりを担当してきました。 もち…

Laravel5.5をSocialiteでTwitterログインをやろうとしたらハマった[Laravel]

概要 Laravel5.5でTwitterログインが必要なサイトを作る過程でQiitaの情報を鵜呑みにしてたらハマりましたのでまとめることにしました。最終的にはYouTubeの動画で解決しましたのでそれをまとめたいと思います。 ちなみにLaravelのローカルサーバーで挙動を…

Laravelでタスク管理で使えるモダンなTodoアプリ「Chekera」を個人開発してリリースしました

概要 LaravelというかPHPを2018年9月(要するに2ヶ月前)から触り始めて練習がてらにToDoアプリを開発しました。 なんだ「ToDoアプリかよ」と思われるかもしれませんが、自分が欲しい機能を盛り込んだアプリになっています。 下書き&タスク管理アプリ Chekera(…

ほしい物リストが増えてきた

今月、今欲しいものを上げていく 掃除機 炊飯器 Switchのプロコン Vue.jsの本 冬服 そんなもん。 あれ、そんなに欲しいものは多くないかも。 掃除機というのは新しい家に引っ越したのはいいが掃除機を持っていくのを遠慮してしまって 前の家で処分してしまっ…

アニメーションの実装方法についてまとめました

Androidのアニメーションに関するチュートリアル この記事はraywenderlich.comのページを翻訳したものです。 以前にAndroidのアニメーションの実装がややこしい話しをしましたので今後案件で雑に設計しないように自分のメモがわりに記載しました。 iOSエンジ…

DroidKaigiのセッションの募集が終わった

昨日の休日でやっていたことということ意外と記憶として残っていないのがなんとも悲しい。昨日何をやってたんだ。 思い出した。 AmazonからtypeC変換プラグと充電器が届いた ので、そのまま以前から試してみたかったARKitをマイiPhoneでビルドしてみた ARKit…

TikTokを軽く分析してみた

こういうサービスがあったらいいなと思うものを妄想してみる。 出来るだけコミュニティが出来そうなコンテンツが望ましい。 流行っているサービスはユーザーが「参加したくなる」仕掛けがうまい。これは本当にうまくてこれが成功したら最初のフェーズは広告…

Laravelをherokuにデプロイする(データベースはPostgreSQL)

プロジェクトファイルのPathに移動する $ cd (プロジェクトのディレクトリ) Laravelプロジェクトファイルを作成 ディレクトリでLaravelをインストールする(今回はLaravel 5.5系で行う) $ composer create-project --prefer-dist laravel/laravel HerokuLarav…

スプラ2での回線落ちとコントローラの故障でイライラ

私スイッチのスプラ2にハマっております。 土日はウェブの個人開発の傍で休憩のつもりでスイッチに手が伸びてしまいます。 イライラしながらガチマッチをしているんですね。 スプラ2を知らない人のために解説しますがスプラ2には通常モードのナワバリバト…

ウェブ開発にLaravelいいよ

Laravel + Vue.jsがベストな組み合わせかもしれない しばらく個人のWeb開発のためにLaravelをいじっています。 私は基本的にスクリプト言語がとても嫌いなのでネットの情報は信用せずに書籍を購入します。スクリプト言語が嫌いな理由はネット上に落ちている…