『入る学科間違えた高専生』の日記

プログラミングのコードを書いたりする予定です。あとは日記等。あといつまで高専生やねん

troposphereで作ったAWS CloudFormationのテンプレートをCircleCIのジョブで検証する

はじめに

世の中にはとても便利なものがありふれており...

今回は CircleCIAWS CloudFormation (以下 CFn) をメインにタイトルのようなことをしていくやつです。

みんな大好き CircleCI

circleci.com

aws.amazon.com

troposhpere っていうのは CFn のテンプレートを Python を使って生成するツールです。

github.com

テンプレートを自分でゴリゴリ書けるぜ!!Foooooo!!な方は別に troposphere 使わんでもいいと思うし自分で書けばいいと思う。

環境

続きを読む

Instrumentsを使わずにiOSアプリだけでメモリリークを簡易的に検知する。黒魔術あり

はじめに

Instruments っていう Xcode に同梱されているアプリがあるんですけど、それを使わずに iOS アプリで開発中にメモリリークを検知したいとかあるかなって思って、メモ的なそれとちょっと黒魔術を使っていい感じに実装していくやつ。

環境

  • iOS 13.1 beta 3
  • Swift 5.1
  • Xcode 11 GM Seed
  • macOS Catalina 10.15 beta 8
  • Swift Package Manager

環境自体が Beta 環境なのは許してください。 Xcode 11 GM Seed なので Swift Package Manager (以下 SwiftPM ) を使用してます。
ここで書いていることはすでに Apple から公開されている情報だと思うんですが、もしなにかあれば教えてくださると助かります。

あと今回ライブラリの紹介的な記事になったのでわりと雑に書きます。

続きを読む

アプリへの招待リンクをFirebase Dynamic Linksを使って実装した

はじめに

前回、サービスを終了したからメインロジックの解説を書いたときに、最後の方に頑張った機能を羅列したのでそれを記事化しようという流れです。
今回は、 Firebase Dynamic Links (以下 FDL ) を使って招待リンクから招待された人がアプリを初回起動したあとにチュートリアルや会員登録が終わったタイミングで友達追加画面を表示するという要件があったので実装したのでそれの備忘録的な?

前回書いた記事は以下

nnsnodnb.hatenablog.jp

環境

  • iOS 11.x〜
  • Xcode 10.2.1
  • Swift 5.0.1
  • Firebase

ちょっとだけサーバサイドの話も噛んだのでそれの環境は以下

続きを読む

所属の業務で作ったiOSアプリをサービス終了させたのでアプリのメインロジックの解説を書く

はじめに

こんにちは、久しぶりに髪の毛を派手髪にした直後にメイリッシュでバニーガール集団を見ながら書いている記事です。*1
なお、1日で書き終わることもなく無事後日持ち越しでオフィスで書いてます。

今回は、仕事で作った iOS アプリのサービスが終了したあとにメンバーから公開してもいいという了承をもらって(了承というか書いてほしいと言われた)、私もそろそろ新しい記事を書きたいなという感じになっていたのでアウトプット的に書きます!

この記事本当は、 iOSアプリが終了している状態でスクショをサーバにアップロードする仕組みはターゲット層に怖いと言われた というタイトルだったのでこれ以降、このタイトル前提で書かれてる部分があるので許してください!!

このアプリのターゲット層は 1,000% このブログ読まないと思うので、一番最後になぜ怖いと感じられてしまったのかと書きたい。

ちなみにこんな感じにサービスは幕を閉じた

先にサービスの紹介をさせてください

Pipe というスクショを親友間だけで共有するアプリでした。

差別化のポイント

  1. ユーザが自分自身で投稿をしなくても自動的に投稿される(投稿されて24時間したら見られなくなる)
  2. 友達以外には見られない
  3. トークスクショ(LINE や Twitter DM 、 Facebook Messenger 、 Instagram DM 等)のスクショは公開されない
  4. プッシュ通知をオフにしていても写真ライブラリへのアクセスとネットワークと電池があれば新しいスクショを自動でアップロードする
続きを読む

DjangoでPyMySQLを使うのそろそろやめよう

はじめに

こんにちは。
今回は DjangoPyMySQL を使うのが主流(私の観測範囲では使ってる人が多い気がする)だと思うんですが、「いや、そろそろ使うのやめようぜ」ということを記事にしたいと思います!

今回の実装したコードは以下です。

bitbucket.org

どうして?

そもそも、 PyMySQL 自体は、Djangoの推奨 API ドライバではない。

docs.djangoproject.com

PyMySQL が選ばれる理由として、私が考える中では、 Pure Python だからインストールに失敗することは(ほぼ)ない。ということかなぁって思いました。
私はそうだった。

実際、 Django が推奨している mysqlclient はインストールバトルが勃発することが多々あった。あった。あったよ。
今回は、その対処方法も後に紹介することにしよう。(なぜ急にこの口調。

人気的にはやっぱり、 PyMySQL のほうが圧倒的!人気!

python.libhunt.com

導入

なぜ、私が PyMySQLDjango で使わなくなったのかを含めて、パフォーマンスが mysqlclient にすることによって上がるのではないかと仮説とともにこの記事を書いていきたいと思います。

続きを読む