面白きことは良きことなり

拙く未熟なiOSエンジニアの備忘録と戯言

UICollectionViewを使った実装でIn-call Status Bar時、Cellのサイズと座標がおかしくなった時の処置

Simulatorで確認できるIn-call Status Bar時のレイアウト

Simulatorで⌘ + Yを押すことで、In-call Status Barの状態にできる

f:id:aryzae:20180820165303p:plain

この時、Status Barの高さが増すため、考慮していないレイアウトの時に崩れて表示される。

UICollectionViewのcellが崩れた時の処置

UICollectionViewを使った実装を行なっており、In-call Status Barの時に表示されているUICollectionViewは正常に伸び縮みして問題なかったが、UICollectionViewCellは、UICollectionViewにめり込んだりマージンが増えたり意図しない挙動になった。

UIApplicationWillChangeStatusBarFrameでNotificationを受けて座標やサイズを修正しようとしたが上手くいかず。

最終的に、UICollectionViewの初期化時に渡すUICollectionViewFlowLayoutでlayout.estimatedItemSize = UICollectionViewFlowLayoutAutomaticSizeを設定してやることで、In-call Status Barに追従した動きになった。

参照した記事 qiita.com

ありぜ、会社辞めるってよ

タイトルの元ネタ

退職エントリレギュレーション

  • タイトルで煽らない
  • かしこまった見出しもつけない
  • ウィッシュリストのせない
  • 東亜飯店張らない
  • fromとtoを両方書く
  • 職場崩壊を暴露しない
  • キラキラしない

退職した会社とこれから

2018年07月26(木)が最終出社で、一応月末までは所属している扱い。

退職した会社は、株式会社アイリッジです。お世話になりました。期間にして10ヶ月程でしょうか。

次はフリーランスで働くため不定です。副業もするつもりですし。お手伝いできることがあれば、お仕事ください。

退職理由

端的に言うともっと色んなものに触れて開発力を磨きたいと思ったから。

他にも色々細かい理由はあるけど、今まで所属してきた中では1番居心地は良かったです。

別の理由として、年齢的に今しか色々な会社を見て回るというのが難しいんのでどこかに落ち着く前に見て回って色々なプロダクトや開発者に触れたいという気持ち、そして確定申告等の書類周りを自分で全部やりたいという気持ちがあったので。

あと会社に所属するというのが自分に合ってないように感じていたので、その確認もかねてですかねー。

まとめ

Twitter上では、表立ってあまり退職するという話を出していなかったにも関わらず、何人かの目にとまり、会社見学等のお誘いありがとうございました。

フリーランスからまた会社へ所属したいと思った時には、よければ伺わせて頂こうと思います。

某SNSで購入できる画像セットを他でも使えるようにDLできるプログラム書いた

経緯

SNS(LI○E)で買える40枚1セットの画像は、そのSNS上でしか使用できず、Twitterとかでも使いたいと思ってた。

そのSNSの画像用StoreがWebページでも存在していて、サンプルのように画像が閲覧できるので、これをDLして使えばいいのでは?という発想に至ったが、40枚セットになっているため、1つずつDLして保存するのは手間がかかる。

ならばと、プログラムでDLするようにしてみた。

使用方法

プログラムはGitHubで公開しているが、ただ動くということを前提にしか考えず作っているため、main.swiftのみに詰め込んでいる。 動作環境はMacでしか確認していないので、他OSでは動かないと思う。

コードを修正する前提のため、まだDevelopでしか動かない。

github.com

使い方は、

  1. Terminalを開き、main.swiftディレクトリまで移動
  2. swift main.swift (DLしたい画像があるStoreのURL)を叩く
  3. DLされるはず
  4. スマホ等に取り込んで、Twitter等で使用

まとめ

SNSとか伏せて書いている理由として、画像を勝手に取ってきてTwitterとかで使うのはさすがに権利的にも問題ありそうだから。

尚、このプログラムを使用して起こる問題に当方は一切の責任を追いませんので、あしからず。 全て自己責任でお願いします。

のちのち、もうちょい便利かつ可読性あがるように、コードは整理したり、コマンドとしてinstallできるようにしたりする予定

SafariとChromeでブックーマークを共有し、同じ見た目にしてアクセスを快適にする

SafariChromeの両方を使うけど、不満があった

Macを使っている人の多くは、SafariGoogle Chromeの2つのブラウザを使用しているんじゃないかと思っている。

自分の場合、普段使いはChromeで、Apple Developer等のAppleでログインが必要なサイトはSafariを使うようにわけている。ただ、Safari開いている途中、何か調べようとした際にわざわざChrome開くとは面倒なので、Safariをそのまま使うこともある。

Safari

  • Apple系のログインが必要なDeveloperサイトはたまにSafariじゃないと正常に動作しないことがある
  • タブ周りはちょっと扱いにくい
  • keychainがあり便利

Google Chrome

  • 動作が軽快
  • タブ周りの動きが扱いやすい
  • なんとなくセキュアなものは開きたくない
  • パスワード保存できるけど、なんかやだ

企業としての傾向でAppleは、個人情報は取るが個人を特定しにくくしたりプライバシーへの配慮を重視している一方、Googleは、取れる情報片っ端から取って内部のサービスに活用しまくりなので、ブラウザを使う時に分けてしまう。

2つのブラウザ使うのは、いいけど頻繁にアクセスするサイトはブックマークから開くことも多いので、どちらのブラウザでも同じようにアクセスできるのが迷いもなくて望ましいよねって思う。

Chrome's bookmark like Safari's

SafariChromeでブックマークや見た目を統一しようと思った時、Safariは自由度低いので自ずとChrome拡張機能Safariに寄せれないかと考えた。

目指す機能

  • Safariで新規タブを開いた時に表示されるブックマーク一覧の見た目を、Chromeで新規タブ開いた時に同様に表示されるように再現
    f:id:aryzae:20180714164447p:plain

  • Safariでブックマーク追加や編集した時、Chromeに自動的に反映される

  • Chromeでブックマーク追加や編集した時、Safariに自動的に反映される

この機能があれば、ブラウザ意識することなく、ブックマークが常に同じになるし、SafariならiCloudiOS端末にも反映される。ChromeならGoogle Accountに紐づいて、同様に別の端末のChromeでも同じ拡張機能、ブックマークが使えるから便利だろうと思ったので、Chrome拡張機能を調べて実現を目指した。

Chromeに入れる拡張機能

率直に言えば、目指す機能は全部達成できた。そのために必要な拡張機能は以下の2つ。

ルーターをAterm WG2600HP3に変えた (2018/07/18追記)

NECから新ルーター発売

昔からNECルーターは質が安定していたので、愛用していた。

今まで、Aterm WR9500Nという機種を使っていたのだけれど、これが2011年に発売されたモデルで今となっては古く、802.11acにも対応していないので、いい加減買い換えたいと思っていた。

そこに舞い込んだAterm WG2600HP3の発表!もうこれに買い換えるしかないっしょ!と発表から発売までの間うきうきしていた。

www.aterm.jp

7月5日(木)に無事発売されたので、即購入した。

f:id:aryzae:20180706110103j:plain

ビフォー

新しいルーターに買い換えることもあって、少なくともacに対応できたことで無線の速度を向上をできる期待があるし、あわよくば、有線の速度も最新の技術により向上を期待していた。

そこで試行回数少ないもののSpeedtestで5回ずつ計測(画像は順不同)を行ってみた。

ちなみに回線はNUROを使用している。

有線 (Windows 10)

1回目 2回目 3回目 4回目 5回目
f:id:aryzae:20180706110409p:plain:w150 f:id:aryzae:20180706110413p:plain:w150 f:id:aryzae:20180706110417p:plain:w150 f:id:aryzae:20180706110420p:plain:w150 f:id:aryzae:20180706110424p:plain:w150
ping平均(ms) ping最高値(ms) ping最低値(ms)
4.2 3 7
DL平均(Mbps) DL最高値(Mbps) DL最低値(Mbps) UP平均(Mbps) UP最高値(Mbps) UP最低値(Mbps)
592.432 662.16 498.50 394.362 527.59 255.98

無線 (iPhone X - 802.11n 5GHz)

1回目 2回目 3回目 4回目 5回目
f:id:aryzae:20180706110851p:plain:w150 f:id:aryzae:20180706110855p:plain:w150 f:id:aryzae:20180706110901p:plain:w150 f:id:aryzae:20180706110906p:plain:w150 f:id:aryzae:20180706110909p:plain:w150
ping平均(ms) ping最高値(ms) ping最低値(ms)
4.8 4 6
DL平均(Mbps) DL最高値(Mbps) DL最低値(Mbps) UP平均(Mbps) UP最高値(Mbps) UP最低値(Mbps)
187.19 197.66 167.25 221.396 242.58 187.20

アフター

ルーター入れ替え前と同様に5回ずつテストを行ったが、ルーターの設定に少し時間かかったこともあり、時間帯による差も少なからず影響が出たかもしれない下記結果になった。

有線 (Windows 10)

1回目 2回目 3回目 4回目 5回目
f:id:aryzae:20180706112342p:plain:w150 f:id:aryzae:20180706112346p:plain:w150 f:id:aryzae:20180706112354p:plain:w150 f:id:aryzae:20180706112358p:plain:w150 f:id:aryzae:20180706112401p:plain:w150
ping平均(ms) ping最高値(ms) ping最低値(ms)
4 3 5
DL平均(Mbps) DL最高値(Mbps) DL最低値(Mbps) UP平均(Mbps) UP最高値(Mbps) UP最低値(Mbps)
890.592 (150.328%🆙) 930.01 855.74 754.768 (191.390%🆙) 933.94 160.79

無線 (iPhone X - 802.11ac 5GHz)

1回目 2回目 3回目 4回目 5回目
f:id:aryzae:20180706112843p:plain:w150 f:id:aryzae:20180706112847p:plain:w150 f:id:aryzae:20180706112851p:plain:w150 f:id:aryzae:20180706112856p:plain:w150 f:id:aryzae:20180706112901p:plain:w150
ping平均(ms) ping最高値(ms) ping最低値(ms)
5.2 5 6
DL平均(Mbps) DL最高値(Mbps) DL最低値(Mbps) UP平均(Mbps) UP最高値(Mbps) UP最低値(Mbps)
454.182 (242.632%🆙) 465.31 426.36 352.202 (159.082%🆙) 493.96 147.18

まとめ

試行回数少なかったり、同一時間帯じゃなかったり、無線の規格が同一のもので比較していない等、正確性には欠けるところはあるものの、それでも使用者として速度が全体的に上がってルーター買い換えた意味はあったといえる結果になったので、満足している。

ルーター自体古くなることで速度低下とか起こるのかも詳しくしらないが、壊れていなくとも新しいルーターに数年毎に買い換える意味はあると思うので、速度がでない人は買い換えることも一考してみては?と思う。

2018/07/18追記

前回の時間に合わせて22時に再度数回有線で測ったところ、ざっくりとした平均で400Mbps弱しか出なかったので、やはりアフターで速かったの時間帯の差によるものだった様子。