アプリなどを開発するブログ

React Native / Swift / Ruby on Railsなどの学習メモ。


JSONスキーマからTypescriptのInterfaceを自動生成

便利そう。 github.com

iOS アプリ作る時に自分が見積ミスりがちな項目

最初の見積段階で忘れてて、無料稼働してしまうということがありました。 忘れないように自分用メモ。 開発期間中にXcode / iOS /Swift のバージョンが上がった際の対応 Xcodeのバージョン上げたらビルド通らなくなる事がよくあった。 理由としてはSwift の…

ActiveRecordの中間テーブルにupdated_atカラムは要らない場合が多い

ActiveRecordのマイグレーションファイルは、 自動で t.timestamps が追加され、created_at と updated_atカラムが追加されます。 中間テーブル自体がモデル同士の関連情報以外を持つ場合は別ですが、 モデル同士の関連情報 (user -- follow -- user とか) …

フリーランスプログラマ3年間の年収実績を公開してみる

近頃社会でフリーランスという働き方が注目されてきてるのを感じます。 プログラマーというのは中でもフリーランスになりやすい職種だと思います。 自分にはフリーになる前に 「実際フリーになったらいくらくらい稼げるのだろう?ちゃんと生活できるのか?」…

Connection to http://localhost:8081/debugger-proxy?role=client timed out. Are you running node proxy? If you are running on the device, check if you have the right IP address in `RCTWebSocketExecutor.m

React Nativeで実機確認しようとしたら出たエラー。 Stop Remote Debugすれば治ります。 実機では、開発メニューは、実機をシェイク(物理的に振る)すると、出てきます。

iPhone で何度も「サインインが必要です [mail] のパスワードを入力してください」と表示される

現在調査中。 考えられる理由の1つは、finishTransactionでちゃんと終了できていないtransactionが存在すること。 参考記事 swift – itunes store にサインイン画面が何度も表示される – まとまりのないブログ ただ、これは全部終了してるので問題なさそう。…

モダンなshell、fish を導入する

fishとは? 「shell はだいたいこういうカスタマイズするよね〜」というものがだいたい最初から整ってるshellって感じです。 zshなどに比べて導入やカスタマイズが容易。 zshやbashとカスタマイズ方法やPATHの通し方が異なっていたりするので、少し導入を躊…

iPhone実機でログ確認するライブラリDotzuが便利そう

https://github.com/remirobert/Dotzu

"Bearer Token" の Bearerの意味

メモ。 Bearer = 持参人 小切手を窓口に持ってきた人、の意。 その人が誰かを識別するのではなく、持ってきた小切手によって識別する、というニュアンス。 idmlab.eidentity.jp

Swift 4 codable導入前に読むべき記事

ざっくり使い方 techblog.timers-inc.com 懸念点 JSONDecoderのちょっぴり痒い所 | Tomorrow Never Comes. qiita.com qiita.com

Facebook messengerで送られてきた音声ファイルをダウンロードする

最近は仕事でFacebookメッセンジャーを使うこともしばしば。 ちょっとしたファイルの受け渡しにもよく利用させていただいてます。 zipなどはクリックしてダウンロードできるのですが、 音声ファイルはmessenger上で再生できるようになっており、 その代わり…

Android File Transfer + Android 6 でデバイスに接続できない時

PCとAndroidデバイスをUSBで接続します。 通知内の「USBを充電に使用」をタップ メディアデバイス(MTP)を選択

Unity + Androidで実機ビルドに失敗する 「問題が発生したため~~を終了します。」

ビルドしようとしているアプリが、実機にすでに入っている場合はアンインストールします。 すると、ビルドに成功するようになります。

Unity .NET4.6 でDateTime.NowがUTCの時刻を返すバグ (iOS / Android)

DateTime.Nowで正しい時刻が取れません。UTC時刻が返ってきます。 TimeZoneInfoでJSTを取得しようとしても駄目。 FileNotFoundException: Could not find file "/usr/share/zoneinfo/JST". System.IO.FileStream..ctor (System.String path, System.IO.FileM…

Non-WEBデザイナーのデザインをコーディングする際は工数が3倍かかる理由

何らかの理由によりWEBデザイナーではないデザイナーさん(グラフィック、プロダクト、エディトリアルとか) の作ったデザインをコーディングする、という仕事がごくたまにあります。 僕の場合は3年に一回くらい。 「わかりましたー」と適当に受けていると、後…

【React Native】error: PCH was compiled with module cache path

React Nativeやってて、ディレクトリごとプロジェクト移動したらエラーはくようになった。以下みたいなメッセージ。 error: PCH was compiled with module cache path 解決法 ios/build 以下を削除するとかいけつしました。

Hirb Error: PG::InvalidColumnReference: ERROR: SELECT DISTINCTではORDER BYの式はSELECTリスト内になければなりません

Railsで以下のエラーが出た。調査中。 Hirb Error: PG::InvalidColumnReference: ERROR: SELECT DISTINCTではORDER BYの式はSELECTリスト内になければなりません stackoverflow.com

Ruby(Rails) + AjaxでS3バケットにファイルをダイレクトアップロード

参考URL Uploading From Rails to AWS S3 With PreSigned URLs - Stuff… And Things… Qiitaの画像アップロード機能も簡単に実装できる。そう、S3ならね。 - Qiita 詳しくはあとで書きます

JS + canvasで画像アップロード前にファイル容量を落とす

iPhoneの画像回転問題なども吸収してくれるライブラリ github.com matz.hatenablog.jp iPhone / Android などで、ファイルの容量制限はあるか? iPhoneの場合 こちらのページによると、 Large canvas dimensions don't render on iOS Safari · Issue #476 · …

wordpress underscoresでcssファイルが読み込めなかったので対処

なぜかcssファイルが読み込めてませんでした。 バグ? functions.php内のXXX_scripts内の wp_enqueue_style で呼び出してるっぽかったので そこを書き換えました。ついでにキャッシュ対策もしました。 functions.php function hoge_scripts() { wp_enqueue_s…

遊びでBitcoin買ったら90万円儲かった件

Bitcoinというか、暗号通貨を色々買ってみたら、すでに90万円儲かった話です。 35万円分購入した暗号通貨が126万円になりました。 暗号通貨は依然としてぐんぐん伸びていて、 利益は俄然まだまだ伸びそうです。 ひとまず日本円に換金することなく、放置して…

インターネット上の玉と石

p-shirokuma.hatenadiary.com インターネット上の情報が玉石混交(ただし99%が石) という状況に対し、どういった対策が考えられるだろうか。 匿名が基本であり、「誰が言ったか」より「何を言ったか」が重要だったのが昔の「インターネット」。 しかし徐々に…

chrome + httpsアクセスでERR_CERT_AUTHORITY_INVALIDエラー

herokuで運用していたRailsのWEBアプリにchromeでアクセスしたら突然 この接続ではプライバシーが保護されません 的なエラーページが表示されるようになりました。 どうやらStartSSLを使っていたのが原因のようで、ChromeとFirefoxの新し目のバージョンだと …

Apple Developer Account (Enterprise) にメンバーを招待する

Apple Developer Account (Enterprise) にメンバーを招待する方法です。 個人のApple Developerアカウントだとそもそもメンバーを追加できないので、Enterprise向けの機能です。 peopleページへ行く peopleページ にある「Invite People」をクリックしてくだ…

Unityで動画再生の調査メモ

Mac / Windowsアプリを作るために色々調べてます。 Unity自体の機能であるMovieTextureはQuickTimeを使ってますが、Quick TIme for windowsはサポート終了してしまったため使えなさそう。 自分でOpenCVとかで実装するか、アセットを買うしかなさそうですね。…

DynamoDBをLambdaを使ってオートスケールさせる

便利ライブラリありました。 github.com レポジトリ落として、カスタマイズしてzipにしてlambda管理コンソールからアップしてねって感じです。 カスタマイズにはここのページが便利そう。 docs.aws.amazon.com 自分で1から実装するなら dev.classmethod.jp …

ゼロからつくるDeep Learning 読書メモ

ちまたではDeep Learningが流行してます。 自分もDeep Learningで面白いもの作りたいぞ!と思うものの、何からはじめていいやらという感じで、 数学は非常に苦手で、微分積分ってなんだったっけというレベルです。 そんな中名著だと聞いたのがこの本。 ゼロ…

iOSアプリで悪意あるユーザーに値を改ざんされないために

有料アプリなどを作っていると、脱獄などを行ったユーザーに値を書き換えられるとまずいことがあります。 対処法はざっくり3つかなと ファイル暗号化 UserDefaultsを使用していると、iExplorerなどのアプリを使えばiPhoneのファイルシステム内部を見ることが…

【Swift3】Boolのイニシャライザに色々渡すとどうなるか試した

試してみました。 Bool(1) # true Bool("true") # true Bool("1") # nil Bool("t") # nil Bool("a") # nil Bool("True") # nil Bool("1") # nil Bool(0) # false Bool("false") # false Bool("False") # nil Bool("0") # nil Bool(2) # true Bool(10000) # t…

Serverlessフレームワークでテストを書く

2017/3/15追記 これが今のところベストプラクティスっぽい serverless.com mocaとchaiで書くのがよさそう。 qiita.com qiita.com serverless 公式ブログでもmochaを使ったエンドポイントのテストが紹介されていました。 serverless.com 素晴らしくわかりやす…