その辺にいるITインフラ屋さん

気が向いた時に適当な記事を書いたりする個人の備忘録です。個人で開発しているアプリの事やインフラについてなどの記事を書いたりすると思います。更新頻度は少なめ

FloatingPanel を利用したセミモーダルビュー を作る

MoveLogというiOSアプリで、複数の位置情報が保存されている場合に、保存したデータ毎の移動時間と距離を表示出来るようにしました。移動履歴だとピンをタップした時にしか距離と時間を表示する事が出来なかったのですが、セミモーダルビューを表示する事で一覧として見れるようにしました。

f:id:mayuki123:20200622223537g:plain

この表示方法が半モーダルビューとかハーフモーダルビューとかどれが正式名称なのかが未だに分かっていないのですが、この記事ではセミモーダルビューとします。個人的にはひょっこりビューとよんでいます。今回はFloatingPanelを利用して実装をしましたので、利用方法を備忘録として残します。


  • FloatingPanelについて
  • 利用方法
  • おわりに

続きを読む

GitHub Actions と faslaneを使ってiOSアプリのリリース準備を自動化する

先日、MoveLogというiOSアプリをリリースしました。機能追加したいとは思いつつも、最近はテストコード書いたり足回りを整えたりしています。その中でも、アプリのリリース作業というものはとても面倒な作業で、普通にやろうとすると下記のような手作業で実施するかと思います。

  1. App Store Connect で新しいバージョンの提出準備をする
  2. XcodeでアプリをBuidして、ビルドしたアプリをアップロードする
  3. App Store Connectでメタ情報を修正してリリースする

App Store Connect とXcodeを行き来しないといけないし、Xcode で Buidを実行すると10分ほどかかって、その後に画面でぽちぽちしてアップロードしないといけないしで面倒ですよね。ビルド中はMacが悲鳴をあげるという厳しさもあります。

仕事でインフラ周りの整備をやってる身ということもあり、この作業を効率化しないといけないという使命感にかられたので、GitHub Actions と faslaneを使って部分的に自動化するようにしました。心が折れそうになるくらいハマったので備忘録として残します。主に証明書や2段階認証周りの設定がハマり尽くしました。


  • 全体像
  • fastlaneについて
    • fastlane match を使った証明書の管理
    • fastlane gym でのアプリのビルド
    • fastlane deliver でのリリース準備
  • GitHub Actionsでの設定
    • GitHub Actions 上で利用する証明書の設定
    • App Store Connect への認証
    • GitHub Actions特有の罠
    • 最終的な 設定ファイル(fastfile)
  • おわりに

続きを読む

Move Log というiOSアプリを公開しました!

久しぶりにブログを書きます。今回はインフラの話ではなく、個人開発をしているiOSアプリになります。技術的な話は一切ないです。 Move LogというアプリをAppStoreに公開してダウンロードが出来るようになりました!

MoveLog

MoveLog

  • Yukio Makino
  • Navigation
  • Free

それに合わせて、アプリ専用のホームページも作成しました。

www.movelog.info

子育ての合間を塗って開発していた事もあり、表舞台に出すまでに半年ほどの時間かかりました。そして、Move Log は位置情報を残すアプリという事もあり、昨今のコロナ禍の外出自粛の影響を鑑みて全国で非常事態宣言が解消されたタイミングでリリースをする事にしました。まだまだ油断は出来ないような状況ではあると思うので、蜜になる所への移動は避けてご利用頂ければと思います。

私は元々 移動履歴という iOSアプリを公開をしていましたが、基本的には同じような機能を刷新したものとなります。機能は同じでも中身は完全に別物になっています。移動履歴の利用者には大変申し訳ないですが、今後は今回公開をしたMove Logをアップデートしていく事になります。新しいアプリとして公開した理由について、書き残しておこうかと思います。


  • Move Log とは
  • アプリを新規で公開した理由
  • アプリ の方向性について
  • 個人でアプリを作っていて思う事

続きを読む

自宅のWindows PCのSSDを換装(120GB ->240GB)したよ

2ヶ月ほど前(2019/7/14時点)にはSSDがかなり安くなっていた事もあり、自宅のWindows PCの容量UPを行ったお話しです。 滅多に実施しない事なのでメモ程度に残します。

今回実施する作業はある程度Linuxとかの操作を知っている人向けです。SSD2台をPCに接続してUSB BootしたUbuntuでDISKコピーを行うといった感じになります。 私のPCの場合はmini ITXなのでSSDが二台しか接続出来ないため、USB Bootさせる事にしました。HDDをクローン出来る製品を買えばこんなことせずに出来るかと思いますが、ケチりました。購入したSSDより高いのはちょっと…


  • SSDについて
  • UbuntuをUSB Bootするための準備
    • UbuntuのISOイメージを取得する
    • USB ドライブのフォーマット
    • UbuntuのISOイメージをUSBドライブにコピー
  • 物理作業
  • Ubuntu上でのDISKコピー作業
  • Windows側の設定

続きを読む

Route53で利用してるドメインをcert-managerのDNS-01 Challengeで認証させる

過去の記事AmbassadorというAPI Gatewayとして動作させるものがあるので利用してみました。cert-managerHTTP-01 ChallengeDNS設定の認証をさせましたが、この方法だと手作業が発生して面倒です。DNS-01 Challengeで認証させるように変更してみました。


  • Cert-manager v0.7 to v0.8 の設定内容の変更点
  • Route53でのDNS-01 Challenge設定
  • nginxにhttpsで通信出来てるかの確認

続きを読む

KubernetesでAmbassadorを使ってhttps通信をさせる

過去の記事でGKEを使ってnginxを動かしてみましたが、httpsの通信は出来ない状態でした。nginx自体にLet's Encryptの証明書を設定してhttps通信をさせる事も出来ますが、nginx自体を自前で管理するのはしたくないです。AmbassadorというAPI Gatewayとして動作させるものがあるので利用してみました。


  • Ambassadorの設定をする
  • cert-managerを使って証明書を準備する
    • 事前準備
    • 証明書の作成
    • HTTP-01 Challengeの設定
  • nginxにhttpsで通信出来てるかの確認

続きを読む

GKEをTerraformでコード化してみる

AWSを触ってる人がGKEを試してみるの続編

お試しにKubenetesクラスタを立てて置くのはGKEといえどそれなりにお金がかかります。マシンタイプをsmallIngressを立ててhttps通信を出来るようにしてみると、200円/day くらいでしたので6000円,month/くらいはかかりそうでした。せっかくのサービスクレジットがあっという間になくなるのは勿体ないので、気軽にリソースを削除出来るようにTerraformでコード化します。


  • GKEのクラスタとノードの設定
  • TerraformでGCPを利用する
  • TerraformでKubenetesのコード化をする

続きを読む