ひきこもりを加速するクラスター株式会社に入社しました!!!
2016年7月一杯で約1年半働いた株式会社Gunosyを退職し、2ヶ月ほどフリーランスという形で数社のお仕事を手伝っていました。 クラスター株式会社はその中の一社であり、Founder & CEOの加藤さんとは4年ほど?前にCocos2d-xで個人ゲーム開発をしていたときにTwitterや勉強会でお世話になっていた経緯で退職したという話をしたらちょっと遊びに来ません?という流れから今に至ります。
人のつながりというのは本当に大事ですねと実感します。
約2ヶ月フリーランスをやった話について
がっつりフリーランスで稼いでいくぞ〜というよりは、色々な会社を回って自分に合っている&やりたいことをできそうな会社を探したかったのが目的でフリーランスをやっていました。 (もちろん、契約させていただいた各社様には予め長期的に働くというよりは短期的に〜ということで了承を頂いていました)
※知人で似たような形でフリーランスをやっていた人がいたので参考にさせていただきました。感謝!
細かい話をするとキリがないのですが、雑に学びがあったことを箇条書きするとこんな感じです。
- 市場の金額感
- 各社エンジニアリングやチームビルディングなど
- 色々な会社の制度や働き方
- 日本の納税義務や税務署、開業届など
- マネーフォワード便利すぎるのでは?とか
- クレジットカードやオートチャージSuicaは個人事業主用につくっておくと捗る!とか
- 交通費は税抜きでした
Clusterの紹介と入社の決めてついて
軽く紹介
サービス内容は↑に書いてあるとおりで、 ひきこもりを加速する ― クラスターは家から出たくないすべてのクリエイターのためのバーチャル集会アプリ
ですね。
現在は、Oculus RiftとMac/Windowsしか対応していませんが、HTC Vive等の対応も行っている最中ですので今後にご期待ください。
VR空間でイベントを開催したりイベントに参加したりできるので、距離の問題や収容人数の問題とかを解決できてハッピーになります。
入社の決めてとか
自分は、たぶん5人目の社員です。ちなみに約2ヶ月間フリーランスとして週3日くらい働いて以下を肌で感じて判断しました。
- サービス
- VRサービスの将来性を感じた
- 最初に話を聞いたときにもめっちゃ面白そうと思った
- 人
- チームの雰囲気も近すぎず遠すぎずでバランス良い
- 将来的にリモートワークも視野にいれている雰囲気
- アジャイルな開発フローも自分に合っている気がした
- 開発速度・品質のバランス感
- 技術
まだ数名ですが社員募集中
募集要項はたぶん以下みたいな感じです(近いうちにcluster.募集要項が更新されるはず...!?)
- DDDやTeam Geekやアジャイルサムライに書いてあるようなことに理解がある
- 業務経験等でGoでAPI or Unityでクライアントがしっかり開発できる
- VR開発に興味がある
- サーバーとクライアント両方やっていきたい
ほしいものリスト
一応貼っておきますが...
退職時にたくさん門出を祝ってのプレゼントを頂いたので、すでに送っている方はお気持ちだけで結構ですので!!!! (さすがに、恐縮しちゃいます... (^_^;)
おふろcafe utataneで格安開発合宿をした
また合宿してました。もう今年5〜6回は合宿してる気がする。
一泊する合宿では最安値。移動とか食事とかビールとか込みで、トータル1万円くらい
(圧倒的コスパ感)
宿のポイント
Good
- 1ヶ月前に予約したら早割で1泊1人2900円という安さ
- 無限コーヒー2種類
- 管内着がゆったり
- なんか雰囲気がよい
- サウナ・露天風呂あり。風呂結構広い
- Cafeが結構料理とかクオリティ高い(1食800〜1500円くらい)
- 24:00以降も利用できて、フロントでビールとかツマミを買ってダラダラ飲めて良かった
Bad
- 値段が安いせいか、学生とか女子会?っぽいメンバーが多い
- 席がなくて通路とか床に座ってる人がいた
- 荷物とか本を置きっぱなしにして強引に席を確保して回転率を下げている集団が多かった
- ランチの回転率が圧倒的に悪かった(2時間制とかなんかうまく運用でカバーしないとやばそう)
今回の予定と準備
作るもの
放置ゲーのクライアントをUnityで開発する
準備
- 当日までにざっくりペーパープロトタイプっぽいのを作成しておいた
- 空プロジェクトを作ってUniRxとか最低限必要なプラグインとかは準備したものをGithubにpush済み
- 当日のTODOリストとやらないことリストを作成して集中できるようにしておいた
やるやらのメモ
# やるやら #### やること - スタート画面-> ホーム画面 -> 探索開始 -> 探索中 の流れをざっくり作る - 各画面に必要な情報をできるだけ揃える #### やらないこと - ログインの実装は今回やらない(固定ユーザーでいい) - ショップとかステータス割り振りは実装しない - カッコイイ見た目とか実装しない - カッコイイアニメーションとか実装しない - APIの呼び出しはやらずRepository層でmockデータを返すようにしておく
なんとなく画面遷移とか流れとか
9/19(月) 1日目
10:00 到着
10〜20人ほど並んでいたが、宿泊客は別の列でささっと受付をすませる。 とりあえず風呂へ
10:15〜11:00 風呂1
結構広かった。露天もあるしサウナもあった。 風呂の種類も5種類くらいあったきがする。
11:00〜11:30 管内をうろうろ
結構人が多くて座れる場所がなかったのでウロウロしながら席を探す。
11:30〜12:30 昼食
ウロウロしてるときにJKの集団が「お昼めっちゃ混むから早めに食べよう」という会話をしていたので、便乗して早めに食べることに。 案の定12:30以降くらいから食べようとしている人は2〜3時間待ちくらいになってた。
12:30〜18:00 開発1
テーブル席がとれなかったので膝Macbookという微妙な席だったけど結構集中して作業ができた。
18:00 チェックイン
18:00からチェックイン可能で荷物を部屋にもっていき風呂へ向かう
18:15〜18:45 風呂2
2度目の風呂。膝Macbookで汗をかいてしまったので気持ちよかった。
18:45〜20:30 夜ご飯
30分作業しながら席が空くまで呼び出し待ち。 晩御飯とビールを1杯。大体1000〜1500円くらい
20:30〜23:00 開発2
テーブル席空かなかったので、そのまま食事とった席で開発(この時間になるともう食事待ち列はなくて空いてたので)
23:00〜23:30 風呂3
さすがに3回目なのでサッと入った。
23:30〜25:30 ビール
フロントでビールを買って暖炉付近で適当まったり晩酌。
25:30 就寝
寝心地はまあまあ
合宿してめっちゃUnityした一日だった
— 野良きょこみ (@k_yokomi) 2016年9月19日
9/20(火) 2日目
7:00 起床
風呂へ
7:15〜7:45 風呂4
雨が強かったので露天は避けた。
8:00〜9:00 朝食
ビッフェスタイルで中々良かった。800円くらい
10:00 チェックアウト&入館
一旦チェックアウトして外へ出て、宿泊じゃない一般客としてフリープラン(1300円くらい)で再入場。
10:15〜11:30 開発3
最初からテーブル席を確保してがっつり作業。捗った。
11:30〜12:30 お昼
さすがに平日なので結構空いていた。
12:30〜18:30 開発4
ひたすら開発。めっちゃ捗る。やはり二日目の効率の良さよ。
18:30〜19:00 風呂4
最後にひとっ風呂入ってから帰ることに
19:00 終了
1時間毎に大宮行きのシャトルバスがあったけど満員だったので歩いて最寄り駅までいって帰りました。
開発環境とか
- Github private repositoryでソースコードは管理
- 適当なプロジェクトネーム(琥珀さん => 琥珀 => Amber)
- 開いたときにテンションあがる画像をREADME.mdにおいておく
- 今までだったらZenHubを使ってカンバンしてたけど、今回はためしにGithubのProjectsを使ってみた
成果物など
大体13時間くらい集中して開発できた。
想定してた画面のプロトタイプはざっくり作れた。あとはAPI呼び出しとか中身を作り込むのと見た目をかっこよくする感じ。
所感・雑感
- UnityでもMVP+CleanArchitecture全然いける感じある(UniRx感謝)
- やはり開発合宿は2日間あると余裕があって良い(1日だと、エンジンかかったころに終わってしまう)
- 1泊2日でも2日目が帰るだけじゃなくて開発にあてるのは大変良い
- 事前準備は大事
- おふろcafeもうちょっと値段あげて、入場客を絞ればいい環境だなーという感じ
- おふろcafe雰囲気とか設備は大変良いので、最近できた熊谷店もちょっと気になる
GoAccess+Nginxでアクセスログを計測
こちらの記事が、GoAccessのバージョンが古くてformatでハマったのでメモがてら書いておきます。
環境
- CentoOS 7
- GoAccess - 0.9.8.
- nginx/1.10.1
nginx.ltsv
一応Qiitaの記事との比較もあわせて記載してます。
goaccess + nginxのやつ http://qiita.com/msykiino/item ...
おわり
わーい
CircleCI上でdynamodb-localを使ったgo testを実行する
はじめに
本当は、dynamodbを呼び出す箇所をinterface化してgolang/mockとかでmockしてtestするほうが良い思います。
ただ、そうもいかない状況とかもあるのでdynamodb-localでtest用のregionを使ってtestする方法を紹介したいと思います。
例)とあるテーブルにupdateとgetするコード
以下の updateExampleData
と fetchExampleData
をテストしたいという状況。
package main import ( "fmt" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "github.com/guregu/dynamo" "github.com/labstack/gommon/log" ) const ( region = "us-west-2" endpoint = "http://127.0.0.1:7777" tableName = "example-table" ) var ( dyn *dynamo.DB ) type exampleDynamoTable struct { ID int `dynamo:"ID,hash"` Count int Message string } func main() { dyn = dynamo.New(session.New(), &aws.Config{ Region: aws.String(region), Endpoint: aws.String(endpoint), }) if err := dyn.CreateTable(tableName, exampleDynamoTable{}).Run(); err != nil { fmt.Println() // 二度目のtable作成は雑にスルーしてる } // tableのデータを更新 id := 1 if err := updateExampleData(id, 100, "test"); err != nil { log.Fatal(err) } // 更新したデータを取得 exampleData, err := fetchExampleData(id) if err != nil { log.Fatal(err) } fmt.Printf("%#v\n", exampleData) } func updateExampleData(id int, count int, message string) error { updater := dyn.Table(tableName).Update("ID", id) updater.Set("Count", count) updater.Set("Message", message) return updater.Run() } func fetchExampleData(id int) (exampleDynamoTable, error) { var e exampleDynamoTable return e, dyn.Table(tableName).Get("ID", id).One(&e) }
testコード
package main import ( "fmt" "testing" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "github.com/guregu/dynamo" "github.com/stretchr/testify/assert" ) func TestExampleData(t *testing.T) { as := assert.New(t) dyn = dynamo.New(session.New(), &aws.Config{ Region: aws.String("test-region"), Endpoint: aws.String(endpoint), }) // 前回のデータを雑に削除 if err := dyn.Table(tableName).DeleteTable().Run(); err != nil { fmt.Println() } // テーブルを雑に作成 if err := dyn.CreateTable(tableName, exampleDynamoTable{}).Run(); err != nil { fmt.Println() } testCase := exampleDynamoTable{ ID: 2, Count: 300, Message: "hoge", } as.NoError(updateExampleData(testCase.ID, testCase.Count, testCase.Message)) exampleData, err := fetchExampleData(testCase.ID) as.NoError(err) as.EqualValues(exampleData, testCase) }
ローカル環境でのtest
以下のようなdocker-compose.ymlを用意して、dockerでdynamodb-localを立ち上げてtestを実行すればOKです。 (別にbrewとかで入れても良いです)
version: '2' services: dynamodb: image: tray/dynamodb-local command: tray/dynamodb-local -port 7777 ports: - "7777:7777"
test実行
$ go test . -v === RUN TestExampleData { ExpressionAttributeNames: { #sQ291bnQ: "Count" }, ExpressionAttributeValues: { :v0: { N: "300" }, :v1: { S: "hoge" } }, Key: { ID: { N: "2" } }, ReturnValues: "NONE", TableName: "example-table", UpdateExpression: "SET #sQ291bnQ = :v0, Message = :v1" } --- PASS: TestExampleData (0.21s) PASS ok github.com/kyokomi/example-circleci-dynamodb-go 0.235s
CircleCIの設定
circle.yml
# dynamodb-local # https://discuss.circleci.com/t/how-to-install-dynamodb-local/2018/2 machine: environment: _JAVA_OPTIONS: "-Xms512m -Xmx1024m" java: version: openjdk7 post: - curl -k -L -o dynamodb-local.tgz http://dynamodb-local.s3-website-us-west-2.amazonaws.com/dynamodb_local_latest.tar.gz - tar -xzf dynamodb-local.tgz - java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -port 7777: background: true checkout: pre: - go env - go version
コンソールからは、 AWS permission
だけ設定しておきましょう
awsのライブラリとdynamodb-localが作成するDBの名前とかに使うだけなので、上記のような適当な値でOKです。
実行結果
https://circleci.com/gh/kyokomi/example-circleci-dynamodb-go/2
ライブラリ
ちなみにdynamodbのライブラリはこちらを使ってます。mgoっぽく使えて使いやすくて便利です。
サンプルコード
サンプルコードはすべて、こちらに上げておきましたので宜しければご覧ください。
開発合宿してかなり捗ってきた
結論からいうと、かなり開発が捗ったので、また機運が高まれば開発合宿したいと思う。
開発合宿のきっかけ
前々から開発合宿がしたかった。
半年近く継続的に開発してるゲームを進めるよりも、 1泊2日の間にがっつり何かプロトタイプを作りたいというモチベーションで参加した。
あまり大人数での合宿は考えていなく、セルフマネジメントできそうなメンバーで雑に行った。
幹事っぽいのを誰かがやって、それで開発が捗らないといったことが起きないように。
前日以前
予約はネットと電話で、最初4人で予約していたが途中で雑に6人に変更となった。 (宿側は電話一本で柔軟に対応してくれた。圧倒的感謝)
- バックエンドエンジニア
- インフラエンジニア
- アドエンジニア
- フロントエンドエンジニア
- デザイナー
- クライアントエンジニア
というすごいメンバーだったことに、出発時の新幹線で気がついて面白かった。 (ちなみにほぼ全員別々の開発してた(笑))
以下がキッカケで今回のおんやど恵を選択した。
- 会議室が翌日正午まで使える
- 温泉がチェックインからチェックアウトまでいつでも入れる
- 開発合宿プラン(メンバー全員がアンケート記入して代表者がブログで紹介する)で料金が50%OFF
ちなみに、開発の内容については、今回axross氏と2人で新規に何かつくることにしていた。
プロトタイプとなるWebサービスの設計とか大まかな方針を、 業務後とかに1〜2時間くらいとかに打ち合わせしてた。(計3〜4回?)
当日
- 1/23(土)11:00 雑に品川集合
- 新幹線(こだま)グリーン車で熱海へ
- 1/23(土)12:30 熱海到着
- 1/23(土)14:30 カフェを出ておんやど恵へ
- 結構捗った。WIFIが結構快適だった。店の半分くらい占領してスマンカッタ...
- タクシーでおんやど恵へ向かった
- 着いてチェックインと宿の説明をうけてお茶を飲んで一息ついたらすぐに全員会議室に向かった
- 1/23(土)15:30 開発1
- 会議室はとても広く卓球が出来そうだ!とか行ってたらどうも卓球場を改造した部屋っぽいことが分かった
- (会議室利用時は、卓球ができないという張り紙をみた)
- お茶のポットとかあって「前茶うまいうまい」言いながらコード書いてた
いままでの経験を生かしてる感あるコード書いてる
— きょこみ (@k_yokomi) January 23, 2016
- 1/23(土)18:00 夜飯
- 軽く日本酒飲んだがブレなかった
- 料理うまかった
- デザートくるの遅かったので、我慢できず会議室行ってしまった(あとでおいしく頂きました)
- 1/23(土)18:50 開発2
- 他のメンバーは部屋に残っていたが、自分は機運高まってたのでコード書いてた
- 1/23(土)21:30 風呂
- 開発の話とか私生活の話とかしてた
- 数人しか入ってる客がいなく露天風呂も空いていて良かった
- 1/23(土)23:21 開発3
- ハーデンダッツ食って加速した(フロントで売ってた。最高!!!)
- 1/23(土)26:00 初日終了
- キリもよくなったし、眠かったので終了した
学び多かった寝る
— きょこみ (@k_yokomi) January 23, 2016
- 1/23(土)26:30 就寝
- 片付けとか歯磨きとかしてたのでこの時間くらいに布団Inした
- 1/24(日)6:30 起床して朝風呂
- 朝風呂に入って足湯に浸かって、8:00の朝食までコードを書いてた
ねみい
— きょこみ (@k_yokomi) January 23, 2016
- 1/24(日)8:00 朝食
- 鮭とだし巻き卵を選択した。うまい。ご飯おかわりした
- 1/24(日)8:40 開発4
- 会議室へ行きチェックアウトギリギリの9:50くらいまでコード書いてた。ここで目的の機能まで実装が終わって達成感がすごかった
axross寝起き悪すぎワロタ
— きょこみ (@k_yokomi) January 23, 2016
- 1/24(日)10:00 チェックアウトと反省会
- 開発合宿プランの30%OFFが後日振込みでめんどくさそうだったので、12時までにブログ書くという話にもっていった
- この交渉力をしてる人、やはり普段から仕事できるエンジニアなこともあって流石だなーと思った
- 反省会というか雑に各々感想を述べていった(なんかようやく合宿っぽい)
- 1/24(日)12:00 おんやど恵出発
- ブログも問題なく、50%OFFが適用され無事その場で精算した(宿代は酒飲んだので14kくらい)
- 1/24(日)13:00 寿司そして帰路へ
- せっかくなので魚を食べようということで案内所で寿司屋を聞いて寿司くった
- 帰りは安く済ませて寝ようということで、JRのグリーン車で半分寝ながら、残タスクを整理して帰った
さっきのはフェイント pic.twitter.com/wQqRue9KhP
— きょこみ (@k_yokomi) January 24, 2016
普段日曜とかに開発してるときの3〜4倍くらいのパフォーマンスが出たような気がするため満足度が高かった(事前準備の成果もあると思うが)
やりきった感
— きょこみ (@k_yokomi) January 24, 2016
宿の雑感
- 会議室がかなり広く、10人くらいでも全然余裕そうだった
- 椅子のカバー色々用意してあって、座り心地よかった
- 温泉が大体空いていたので気軽に入れた
- 料理が見た目も良く、ボリュームもあり味もよかった
- もし次があれば、2泊3日というものありかなと思った
開発合宿というものへの雑感
- うまい飯、よい風呂、旅行に来てるのに観光しないで開発するという選択によって、なんとかアウトプットしないと損をする感があってブレない精神を鍛えられた
- 酒を呑んだり宴会するイベントが起きる気配があったが、ほぼ全員の意志が強く未遂で終わった
- やはり事前準備が大事だなと思った(何やるか決めておく)
- 普段まとまった時間がなくて、やりたいことがあるとかでも良さそうだった
- 各自の進捗発表会的なやつをやるまでもなく全員が満足度高い進捗出せていたのでこういうのもアリだなと思った
- 合宿でプロトタイプを一応つくりきったので、合宿後の数日たった今も当日に近いモチベーションで業務後とかに開発が続いてる
- WiFiの速度は重要(まあ無くてもいいか〜とかテザリングでもいいか〜とか、甘い考えは危険)
(ブログを書くまでが合宿です)開発合宿のブログ書かなきゃ。。。!
— きょこみ (@k_yokomi) January 25, 2016
2016年やること
あけまして
おめでとうございます!今年もよろしくおねがいします! pic.twitter.com/yfzYLZwKW3
— きょこみ (@k_yokomi) 2015, 12月 31
去年の振り返り(続)
年越して改めて2015年振り返りを見直すとかなり雑だったので補足がてら2015年のまとめ書いてから、今年やることを書こうかなと思います。
上記見直すと、転職して1年間とにかくGoを書いてLTしたり発表してみたりという感じです。 あとは色々な人と出会った年だったと思います。(転職によって人脈が広がっていく感じですかね)
各分野のスペシャリストや、天才的な若手エンジニアと一緒に仕事できたのも刺激的でした。
他にもユーザーへサービス提供すること、システムを運用することに対する考え方がとてもしっかりした方と一緒に仕事ができたのは、今後の人生を左右するくらい学びありました。
またそういった正論だけでは仕事は成り立たないのだな・・・という闇も同時に見ることができて、激動の1年でした。(自分としては、うまく折り合いをつけていきたい)
2016年やるつもりのこと
- 今作っている個人開発の放置ゲームを完成させる
- 脱エターナルする
- Androidアプリ開発を再開する
- 1年サーバーやったので、クライアント側もちゃんとできるようにする
- インフラ周りの知識をつける
- Dockerは何となく使えるようになったけど、まごころが足りない...
- Goは引き続きやる
- まだまだ理解足りてないので、1〜2年は書いていきたいと思っている
- Scalaそろそろ入門する
- Goだけじゃなく、固い言語も学んでおきたいので
- 英語やるぞ...
- 脱中学英語レベル
ざっくり言うと、 今の方向性でしっかりと地盤を固めつつ個人ゲーム開発の脱エターナルする感じでいきます。
2015年振り返り
毎月最低1記事はブログを書くという自分ルールを達成するため(?)にこの一年を雑に振り返ってみようかと思います。 技術関係ないネタも多めなので、お気をつけ下さいませ・・・
1月
- ゲーム会社を退職して、ニュースの会社に転職した
- 仕事でGoを書き始めた
2月
- 仕事で必死だったのでよく覚えてない
- 仕事で必要だったのでReactとか触ってた
3月
- Gunosy Go利用の現状確認会 - Gunosy.go#11 -を主催
- https://github.com/kyokomi/renkinを作ってた(go generate系がお気に入り)
- [PSVita] 神次次元ゲイム ネプテューヌRe;Birth3 V CENTURYをクリア
会社ブログ
Gunosy.go#11を開催し、GunosyのGo現状確認を行いました – Gunosy Tech Blog
スライド
4月
- 趣味開発の集まりで開発合宿に行った
- 妖精帝國の臣民Liveに初参加
- GolangNotHttpNight(Gunosy.go#12)を主催
- DroidKaigi参加した(発表なし)
- ニコニコ超会議に初めていった(疲れた)
- PS4買った
開発合宿主催者のブログ
DevMorning合宿ハッカソンを12人で開催しました!devmorning.wordpress.com
スライド
5月
- GWにMeetAppというサービスをリリース(前月の合宿で作ったプロトタイプを一応完成させた)
- [PS4] 新次元ゲイム ネプテューヌVⅡをクリア
MeetAppの構成とか書いたブログ
いま見てもコードが雑すぎるのでいずれなんとかしたい・・・
MeetApp
6月
- GolangTips(Gunosy.go#13)を主催(少数人数で飲みながらワイワイやるLT楽しい)
- BattleHackに出た。惨敗(疲れた)
- Go Conference 2015 summerでLTした
スライド
BattleHack
とにかくタダで参加できるイベントとは思えない飯とか設備だった。 ただ、インターネッツ不安定なのが結構辛かったのも覚えてる。
7月
- 引っ越した
- ドラム式洗濯機を買って人生変わった
- 羊一等まるごと食うイベント
- ジムに通い始めた(2ヶ月で解約したけど)
- GitHubの草活が367達成して埋まった(後半すごいのは、仕事がGithub.comなので)
- github.com/kyokomi/lotteryを作った
草
8月
- YAPC2015参加(発表なし)
- 夏コミに初参加(gregさんの手伝いで参加して、スルっと入れた)
- 前職の人たちと2015年2回目の沖縄に行った
9月
10月
- テキサスホールデムにハマる
- オクトーバーフェストに行った(昼からビールクズキメた)
- 次世代Webカンファレンスに行った(発表なし)
11月
- GAE/Goにハマり始める
- [PSVita] 激次元タッグ ブラン+ネプテューヌVSゾンビ軍団をクリア
12月
- [PSVita] 魔壊神トリリオンをクリアした
- Go Conference 2015 Winterで発表
- エムスリー x Gunosy Beer bash!(Gunosy.beer#1)でLTした
- また引っ越した
- eureka Go ~pairsのGo言語フルスクラッチの舞台裏〜に行った(発表なし)
- Go Advent Calendar 2015の13日目を書いた
- Gunosy Advent Calendar 2015の16日目を書いた
スライド
Advent
おわり
ざっと1年振り返って最後の方は写真も貼らず雑になりましたが、色々やってました。 やろうと思ってたことで実現できなかったことも多いので、来年何するかとかはこれから考えます・・・。