2021年の振り返り

バタバタしてるのでざっと振り返る。 仕事 アイマス ボードゲーム 旅行 コンテンツ まとめ 仕事 FirestoreとRxSwiftの知識増えた リピートで依頼してくださる会社さんが2社あって、またお願いしたいと思ってもらえる仕事ができていたんだなと嬉しくなった ち…

2020年の振り返り

自分の2020年はどんな年だったか振り返っていきたいと思います。 仕事 配信 ボードゲーム 旅行 アイマス マンガ まとめ 仕事 1年4ヶ月勤めていた会社を辞めました。元々しんどいなとは思っていました。 そして、リモートと出勤を自由に選べる会社でしたが、…

【7 Wonders】4人戦で気をつけていること

やっとここまで帰ってきた pic.twitter.com/Rd18gwQ4r3— がわわ (@gawawa124) 2020年8月31日 ボードゲームアリーナのアリーナモード、シーズン2で世界ランク100位以内に帰ってきました。 思考の整理のために気づいたことを書き連ねていきます。 対面がいると…

何かを始める際に、やることが多いと億劫になるという話

何かを始めようと思った時に、やることが多いと途端に億劫になる。ただ、最近はいろいろな新しいことに取り組めてていて、それはなんでだろうとふと考えた。以前からやりたいと思っていたラジオを始める際に、stand.fmはスマホだけでBGMをつけてラジオを配信…

【7 Wonders】3人戦で気をつけていること

7 Wondersのご質問をいただきました。 エリート昇格おめでとうございます!marshmallow-qa.com3人戦で気をつけていることを中心に書いていきます。 3人戦で気をつけていること このゲームの基本戦略は「軍事」と「科学」の2つである ダブルランドが少ない お…

7 Wondersの戦い方(バビロンや科学などについて)

7 Wondersのご質問をいただきました。marshmallow-qa.com上手い人に認識していただけているのは嬉しいですね。 回答させていただきます。なお、プレイ人数によって7 Wondersは戦い方が若干変わるため、何人戦か書いていただけると助かったりします。 今回は…

私が愛したトコヨの構築

この記事はへくとぱさん主催のふるよにAdvent Calendar 10 日目の記事です。 がわわと申します。 シーズン4 ではトコヨを愛用していました。 そこで、今日は私が好きだったトコヨ・シンラアナザー(扇経)と、使っていて強かったトコヨ・オボロアナザー(扇…

ガンシュンクレバー1人戦で300点を超える方法

ガンシュンクレバー(Ganz Schön Clever)はドイツ年間ゲーム大賞2018エキスパート部門のノミネート作品で、6つのダイスを振ってその出目で得点を得るゲームである。 友人が買ったので遊ばせてもらって、面白かったのと1人用のweb版があったのでGWの2日ほど…

4年続けたフリーランスの成果

2018年も終わることですし、約4年続けたフリーランスを一旦終えることにしたので、特に記憶に残っているお仕事の成果を残しておこうと思います。 # ストリートアカデミーさん(2016.5 ~ 2017.3) 講座を数千円から受けられるので、気になるけど高い、みたい…

Google App EngineからさくらのVPSにお引越しするまで

Google App EngineにRailsのサービスを乗っけていました。 Google Cloud Platformの無料トライアル期間があったし、gcloud app deployでデプロイできてめっちゃ簡単だな〜って思っていました。 しかし、1ヶ月でAppEngineのFlex環境で27000円とGoogleCloudSQL…

初めて独学するプログラミング言語のおすすめはGoogle Apps Scriptである

プログラミングの独学は難しい。 自分もプログラミングの独学について記事を書いたりしたものの、本業のiOS以外の分野での独学は難しく感じているし、下記の記事で出てくる知人はおそらくなんの連絡もないので挫折したんだろうなと思う。 qiita.comそこで、…

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…