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

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


2018-01-01から1年間の記事一覧

Firebase + iOSでCrashlyticsのクラッシュレポートが送信されない場合

iPhoneアプリにCrashlytics入れてたら、consoleでクラッシュが反映されなかったのでメモ。 公式ドキュメントのように、一度デバッガーからのアプリの実行を止め、 ホーム画面からアプリを起動してクラッシュさせると、意図通りレポートが送信される。 Fireba…

Macで自分のipアドレスを調べる

WiFi利用の際のIPアドレスはとりあえずこのコマンドで表示される。 $ ipconfig getifaddr en0 Macではen0 (イーサネット0の略)というインターフェイスがWiFiに割り当てられているので、このコマンド一発で表示される。 ネットワークサービスの一覧を表示 $ n…

Android Studio を立ち上げずにAVDエミュレーターをローンチする

以前は重くて使い物にならないと感じていたAVD。 開発のときはもっぱらGenyMotionを使用していた。 しかし、最近はAVDの方が動作が軽い! ので、AVDを使いたいが、FlutterやReact Nativeで開発している時にいちいちAndroid Studio を立ち上げるのが面倒。 以…

macOSで有線ネットワーク一覧を取得する

System Preferences の NSUserDefaults にplistとして保存されている。 defaults シェルコマンド か NSTask 経由で取得可能。 $ defaults read /Library/Preferences/SystemConfiguration/com.apple.airport.preferences | grep SSIDString 参考 stackoverfl…

atomでrubyの文字列をシンボルに置換する

プログラム上でシンボライズするって話じゃなくて、 ソースコード上で文字列になってるのを一括置換で 文字列 => シンボルにするメモ。 Atomの検索 / 置換は正規表現が使えるので以下が可能。 Replace AllすればOK。

プロダクションのWordPressをローカルにDockerで再現する[調査中メモ]

WordPressって別に詳しくないしあまり好きではない。 できるだけ触りたくないんだけど、男には長い人生においてWordPressを触らないといけない事象がしばし発生する。 今まさにやってて、うまくいかなかったんだけど、とりあえずメモを残しておく。 いいやり…

ubuntuの勉強メモ

$ #ユーザーを作成 $ adduser <ユーザー名> $ # sudo グループに追加 $ gpasswd -a <ユーザー名> sudo $ ユーザー切り替え $ su - <ユーザー名> $ ユーザー切り替え (PATHなどの環境変数を引き継がない) $ su <ユーザー名>

Kindleでamazon.com (co.jpではなく) に接続される時の対処法

Kindle for Macを利用してKindle本を読もうとしたら、 購入した本がKindleサーバーから同期されず、全然ダウンロードされません。 何でやろ、と思ったら、どうやら日本のAmazon (amazon.co.jp) サーバーではなく、USのamazon.com サーバーにつなぎに行ってる…

AWS EC2 + ubuntu + nginx でサーバー立ち上げてみる

サーバーの種別を整理 Webサーバー 静的コンテンツを返すサーバー。 例 nginx apache nginxはいろんなクライアントにつながっている状態をさばくのが得意。 今回はnginxを使用する。 アプリケーションサーバー 動的コンテンツを返すサーバー。 例 unicorn pu…

AndroidのcompileSdkVersion, targetSdkVersion, minSdkVersion とは何かをざっくり

こちらのブログに分かりやすい説明があったのでメモ。 backport.net compileSdkVersion コンパイル時に使うAndroid SDKのバージョン 変更してもアプリの動作は変化しない SDK ManagerでそのバージョンのSDK Platformがインストールされている必要あり target…

PSequel.app でcsv export

Macで Postgresql を使うとき、レコードのviewerとして PSequel.app を使ってます。 csvにカジュアルに書き出したいときにちょっと迷ったのでメモ。 PSequelでcsv書き出す手順 ① レコードを全て選択する ② 右クリックして「Export as CSV」を選択 ③ 新規ファ…

docker コマンド チートシート

自分用メモです。 コンテナ系 コンテナ一覧を表示 # 起動中のコンテナのみ $ docker ps # 停止中のコンテナも含む $ docker ps -a # コンテナIDだけ列挙 $ docker ps -q コンテナを起動 $ docker start <コンテナID or NAME> コンテナを停止 $ docker stop <…

Unityでの設計について考える

Unityでコーディングしてると、依存性解決のためにUnityのGUIエディタつかって手動でポチポチしたり、 シングルトンパターンが多発するみたいなことありがち。 あとScene初期化のたびにFindObjectでシーン上のGameObject探してきたりとか、 バグが混入しそう…

gitでリモートのブランチをローカルに持ってくる

git でリモートの他の人のブランチを持ってきて作業したい時ってありますよね。 今まで自分はこれやりたい時、ネットで検索して出てきた以下のコマンドでやってました。 $ git fetch $ git checkout -b branch_name origin/branch_name しかし、こんな長った…

【iOS】フェードで切り替わるContainer ViewController メモ

iOS (or macOS) でアプリを作る際、ログイン中なら普通の画面、未ログインの場合はログイン画面を表示、という処理は頻発すると思います。 モーダルでログイン画面を出すという方法もありますが、色々面倒なのでApple公式で「Container View Controller」と…

App Kitで自動フルスクリーン

NSWindowのtoggleFullScreenメソッドを使う。 import Cocoa class ViewController: NSViewController { override func viewDidLoad() { super.viewDidLoad() } override func viewDidAppear() { super.viewDidAppear() view.window?.collectionBehavior = NS…

App Kit でバッテリーの状態を取得

WWDC 2018でiOS アプリをMacに移行できるようにする方針が発表されました。 Apple は AppKitをUIKitっぽく作り直して発表するはず、という噂はかなり前から囁かれていましたが、 UIKitがMacOSでも動くようにしてる、という理解が正しそうです。 おそらく、UI…

reduxのreselectについて調べた

reselectは主にreduxで利用される、計算結果のメモ化を担うライブラリ。 とはいえreduxに依存しているわけではないので、単体でも使える。 github.com 使い方はざっくりこんな感じ。 createSelector 関数で、メモ化selectorをつくる。 input-selectors の値…

iOS マルチディスプレイ Swift 4

iOSでマルチディスプレイする際のコードをswiftで書き直してみたメモ。 // 複数 window 対応 private func checkForExistingScreenAndInitializeIfPresent() { if UIScreen.screens.count > 1 { // 外付けディスプレイを表す画面オブジェクトを取得…

Unable to resolve module 'events' from /node_modules: Module does not exist in Haste module map

FeedMe とか xml2js とかをtypescript + React Native で使おうとしたら出たエラー。 解決方法は以下のライブラリを追加することだそうです。 npm install events buffer stream timers --save github.com

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