Takahiro Octopress Blog

-1から始める情弱プログラミング

技術ブログのアクセスと収入の推移(5周年)

| Comments

技術ブログを書き始めて早くも5周年

今年も書きます。早5周年記念投稿!

本日の紹介内容の概要は下記です。

  • アクセス数の推移
  • アクセス数の多い記事を紹介
  • 広告収入の推移

Swiftでif Else vs Switch

| Comments

はじめに

アプリ開発をしているとたまに if xxx { ... } else if yyy { ... } で書くか switch文を用いるか迷うことがあるかもしれません。
その際には処理速度や可読性を踏まえて選択することが一般的なのではないでしょうか。

今回は処理速度に振り切って、どちらが速いのか比較をしてみようと思います。
( Java で比較している例は見られたのですが、以外にも Swift で比較している例が見られなかったので。)

AutoLayoutの実例(2)

| Comments

はじめに

前回、AutoLayoutの実例(1)にて、
UITableViewCell 内に長さの異なる UILabel を持った UIStackView がある場合』の AutoLayout について説明しました。

今回は『 UITableViewCell 内に条件次第で isHiddentrue になるパーツを持つ UIStackView がある場合』
AutoLayout について説明したいと思います。

iOS11から使える非常に便利な『setCustomSpacing』

| Comments

はじめに

UIStackView は様々なシーンで、 AutoLayout を飛躍的に使いやすくしてくれました。
一方で、まだまだ改善の余地ありと感じさせられるところも多く、部分的に困るiOSエンジニアもいたのではないかと思います。

例えば、
『同一スペースを持つ複数Viewをレイアウトする』のには、
UIStackView が非常に有効であるものの、
『一部異なるスペースを持った複数Viewをレイアウトする』には、
あまり向いているとは言えない
といったことなどです。

今回はiOS11から上記例が解消されたことを紹介したいと思います。

AutoLayoutの実例(1)

| Comments

はじめに

幾つか現場で経験してきた AutoLayout の実例を少しずつ書き留めておこうと思います。
AutoLayout がこれだけ当たり前にiOSに使われる世の中になったものの、実例交えて書かれている記事が少ないなと感じたためです。
(もちろん筆者の記憶に留めておきたい気持ちもあるからですが笑)

では、早速見ていきましょう。

今更だけど正しく身につけよう『Content Hugging Priority』と『Content Compression Resistance Priority』

| Comments

はじめに

今回は AutoLayout の中でもしっかりと知っておきたい以下2つを紹介します。

  • Content Hugging Priority
  • Content Compression Resistance Priority

上記2つを利用することで、各サイズでの想定されたデザインを再現することができます。

HackerRankで問題を解いてみよう!

| Comments

はじめに

さて、今回はHackerRankについて紹介したいと思います。
HackerRankとは求人サイトの一種で、問題を解くことで得点を稼ぐことができ、そのスコアでランキングを競うことのできるサイトです。
同様のサービスではpaizaも有名かと思います。
( 少し前はCodeIQといったサービスもありましたね。 )

HackerRankの特徴は、

  • 全世界のエンジニア対象(=ランキングは世界ランキングになる)
  • 問題文は全て英語で書かれている
  • 問題種別は Algorithms, Data Structures, Mathematics が用意されている

といったところでしょうか。

ReSwiftを勉強してみよう!(3) ~ 非同期通信処理の場合 ~

| Comments

はじめに

今回は久しぶりにReSwiftについて書きたいと思います。
これまで以下のように ReSwift について勉強してきました。

3回目の今回は非同期通信処理がある場合の ReSwift の利用方法について見ていきたいと思います。

FacebookのGraph API V3から分離されたuser_genderについて見てみる

| Comments

はじめに

最近、いろいろと個人情報の話が取り沙汰されていますが、Facebookが Graph API v3 を発表しましたね!
Facebookログインを利用して会員登録の簡略化をするなんて、今や当たり前の時代に、個人情報の保護強化のために情報取得のハードルが少々引き上げられました。

また、これまでFacebookログインを利用していたサービスはFacebookの再審査を受けることが義務化されました。
今回新たに審査が必要となる項目も追加され、Facebook社のより一層の個人情報強化の意志を感じさせますね。
因みに、新規にパーミションが必要となった項目は、

  • user_link
  • user_age_range
  • user_gender

の3つになります。
本記事では、中でも user_gender に焦点を当てて見ていきたいと思います。

iOSで気をつけるGoogle Places APIの使い分け

| Comments

はじめに

今回はPlaces API for iOSGoogle Places APIを使い分けた話です。

Google Places API はデバイスやOSに依らず用意されたAPIですが、 Places API for iOS はネーミングからも分かる通り iOS のために用意された API という位置づけになります。
通常であれば、「 Places API for iOS を使えば良いのでは?」と思われるかもしれませんが、
筆者がプロダクト開発時に実現したかった内容がたまたまそぐわなかったので Google Places API を利用するに至ったわけです。

では早速見ていきましょう。