えいやで会社をやめたらどうなるブログ

SwiftやGolangを中心に書いていくフリーランスエンジニアのブログ。

Amazonの注文確認のgmailから、googleカレンダーにその受け取り時刻の予定を自動で入れる

Google Apps Scriptデビューしました。 未読のAmazonからの注文確認メールを2時間おきに確認して、Googleカレンダーにその受け取り時刻の予定を自動で入れています。 2時間おきというのは任意で変更できて、Google Apps Scriptエディタの時計のアイコンから…

英語が9割わからないで海外のハッカソンに出るとどうなるか(後編)

1日目午後 アイディアを決める会議をしていたのですが、何を作るかということを僕が理解したのは夕方でした。スプレッドシートに書かれている仕様を見てわかりました。 本当に聞き取れないな、と一人で苦笑していました。 ちなみに最初に一言だけ話してから…

英語が9割わからないで海外のハッカソンに出るとどうなるか(前編)

結論:つらい注意:読み返してみると思ったより愚痴っぽくなってるので、苦手な方は読まれない方が良いかと思います 経緯 サンフランシスコに来たんだ、せっかくなら本場のハッカソンに出てみようか! と思ってAngelHackというハッカソンに申し込みました。a…

飲食店で最低限聞き取れれば良い英語

話すことに関してはメニューを指差していたり、片言で"One, here."とか言ってても通じます。 しかし、聞き取れないと話が進みません。ご飯が食べられないのは死活問題です。そこで、最低限聞き取れれば良い英語を書いていきます。 bag, box(持ち帰るための…

サンフランシスコ・シリコンバレーで初めてUberを使った感想

Airbnbについて書いたので、シェアリングエコノミー第2弾としてUberについても書くことにします。 経緯 サンフランシスコではバスや地下鉄で大体行きたいところに行けていたので、そんなにUberを使わなくても良いと思っていたのですが、シリコンバレーの方に…

サンフランシスコ・シリコンバレーで初めてAirbnbを使った感想

3週間サンフランシスコ、1週間シリコンバレーに観光・勉強目的で来ています。 その中で共有した方が良さそうなことをブログに書いていこうかと思います。よろしくお願いします。 経緯 まず滞在先を決める必要があると思って調べていくと、1泊1万円以下となる…

名作カードゲーム「ドミニオン」の初心者のための攻略法

この記事はドミニオンというカードゲームのルールを覚えて、そこそこ遊んだことのある初心者の方を対象としています。強くなりたいけれどどうしたら良いかよくわからない、という人の役に立てば良いと思って書きました。 意見が偏っているのは重々承知してい…

名作ボードゲーム「カタン」で中級者になるための4つの意識

こんにちは、がわわです。 最近ドミニオンやブロックス、そしてカタンをやっていて熱が高まり思わず記事を書きたくなって今に至ります。技術ブログなのに……。 この記事はルールを覚えてそこそこ遊んだ初級者を対象としています。 中級者になりたいけれど、い…

AutoLayoutとかそれにまつわるライフサイクルでの気づき

iOS

【AutoLayout】 自分の端末のサイズを手っ取り早く確認したかったらViewControllerの右から3番目のタブからSimulated Metricsを選択して、自分の端末のサイズを選択 SubViewをViewに合わせて調整したいとき: SubViewを選択し、Controlを押しながらViewへド…

ERROR ITMS-90035とかdsym_upload.shとかInvalid Signatureとかがらみのエラーが出たときの対処法

iOS

こんにちは。がわわです。タイトルのようなエラーが出たときのスクショです。 このときに僕がやったのはCrittercismを抜きました。ただ、それだけ。 これでSubmit to App Storeできました。ただ、5.2.0にアップデートすると直る、と聞いたのでアップデートも…

MultipeerConnectivityの復習

こんにちは、がわわです。 ブログを書くのをだいぶサボってました。Golangでうまくいかずやる気を失っていました。今日はSwiftの話です。MultipeerConnectivityとは: WifiやBluetoothで端末間通信を行いやすくするフレームワーク。 ざっくり手順: Multipee…

スライスから削除する(deleteみたいな関数はない)

deleteみたいな関数はないようなので自分で書きましょう。ダメな例 func delete(s []int, i int) []int { s = append(s[:i], s[i+1:]...) return s } func main() { s := []int{1, 2, 3, 4, 5} s = delete(s, 2) //slice:[1 2 4 5], len:4, cap:5 fmt.Printf…

配列に要素があるか確認する方法(containsみたいな関数はない)

containsみたいな関数はないようなので自分で書きましょう。 func contains(s []int, e int) bool { for _, v := range s { if e == v { return true } } return false }

Golangで任意の型にあたるものはinterface{}

こんにちは。がわわです。自分が詰まった部分は「Google App EngineのDatastoreで*Keyの配列をjsonで返す」というところでした。 以下は、ヘッダーに書かれたユーザーIDのtweet一覧をTweetというカインドから引っ張ってきて、keyとtweetをjsonで返す関数を書…

A Tour of Go63~72学習メモ

goroutineは軽量なスレッド go funcでfuncを別スレッドで実行できる 同期する際はチャネルを使う チャネルに値を受信するまで送信されないし、受信の準備ができるまでチャネルから送信されない ch := make(chan 型)の形で生成 チャネルにはバッファ(許容量…

A Tour of Go55~62学習メモ

インターフェース型のerrorにError() stringという文字列を返すメソッドが定義されている 返すエラーを自分で定義する際はstructを定義して、Error() stringのメソッドを実装 httpパッケージからHTTPリクエストの処理機能が提供されている インターフェース…

14.3項を理由にAppleにリジェクトをくらった時の解決法

こんにちは。がわわです。iPhoneアプリには審査がありガイドラインが規定されています。 14.3 Apps that display user generated content must include a method for filtering objectionable material, a mechanism for users to flag offensive content, a…

A Tour of Go42~54学習メモ

Goの関数はクロージャ クロージャとはそれ自身の外部から変数を参照する関数の値 43での実装例はadder関数がクロージャを返していて、sum変数が関数に関連づけられて保持されている switch文でcaseの最後で自動的にbreakする breakせずに通したい場合はfallt…

A Tour of Go31~41学習メモ

こんにちは。がわわです。sliceとmapが主な内容です。 参照渡し、値渡しって注意しないとなんだかよくわからなくなっちゃいますね。【slice】 sliceはarrayのように要素数を明示的に表示しない柔軟な配列 sliceにsliceを代入する際は参照を渡す sliceやarray…

A Tour of Go16~30学習メモ

こんにちは。がわわです。 今のところ滞りなく進められているので楽しいです。 以下、学習メモ。(自分で調べたものも含まれています) iotaは定数の宣言で使用されconstが出るたびにリセットされて0になる、グループ内で定数を定義するごとに1増える >は右…

A Tour of Go1~15学習メモ

こんにちは。がわわです。GolangでAPIを書いていて、わからないことが多くてしんどいことが多いので、基本を勉強するべきだと思い"A Tour of Go"の学習を開始しました。実行環境が用意されているので楽しく勉強できます。 自分の学習法は 一度動かしてみて結…

実機ビルドの際にunable to read module map contents fromというエラーが出た時の解決法

こんにちは。がわわです。CocoaPodsでライブラリ管理をしていてある日突然題名の通りのエラーが出て焦りました。 解決法は以下です。 Pods.xcodeprojファイルをクリック(Xcode画面上で青いアイコンのやつ) TARGETSでPodsを選択 BuildSettingsから"module"…

ローカルのGoogle App EngineのDatastoreにアクセスする

goapp serveした状態で http://localhost:8000 にアクセスするだけです。これでいちいちデプロイしなくても動作確認できますね。

Swiftでdelegateを使ってViewからViewControllerにアクションを渡す

こんにちは。がわわです。Viewのサブクラスでボタンがタップされるなどのイベントを検知した時に、Viewで処理するのではなくViewControllerで処理した方が設計として綺麗だと思っています。そういう時にdelegateを使いましょう。 delegateとは簡単に言えば処…

悩んでいる時にぱっと解決するための方法

はじめまして。がわわと申します。 技術的な内容を中心にブログを続けていけたらと思います。 今日の記事は「悩んだ時の解決法」です。 いきなり技術的な内容じゃないですけど笑 アイディアが浮かばない。 設計がうまくいかない。 なんだかもやもやする。 そ…