RSUを売る方法
生活防衛資金補充のためRSUを売却したのでその備忘録。
1. 銀行を開設する
SBI新生銀行の口座を開設した。口座開設手続きはすべてオンラインで完結した。
SBI新生銀行を選択した理由は以下2点。
外貨送金の手数料が無料なこと。
ドルから円への通貨変換手数料が割安なこと。
他に住信SBIネット銀行やソニー銀行なども選択肢に入る。
2. モルガン・スタンレー口座から売却する
モルガン・スタンレーの口座にログインして、売却手続きをする。
基本的には取得時価値が高いものから貪欲に選択すると当該年度の所得を抑えることができる(はず)。 株価が単調増加なら最新のものから売ればいいが、単調増加ではないため、自分で選んだ方がいい気がしている。 送付先には1. で開設した銀行口座を指定する。
モルガン・スタンレーから「売却できたよ」というメールが来るまで待つ。
3. 銀行で受け取りのために必要な手続きをする
モルガン・スタンレーからSBI新生銀行に送金通知がいくと、口座持ち主に海外送金のための理由を聞くためのメールが届くので回答する。
その前にマイナンバーの設定をしておかないといけなかったらしい。これは一度やれば済む話だと思われる。あと引っ越しも同時にやっていたので住所も変更した。いろいろ並行しており手続きが謎の状態でスタックしないか心配。
2026/3/14時点では以上。送金が完了したらより詳細を追記する。
確定申告2024 備忘録
2023年の振り返り
去年の振り返り記事はこちら。
2023年も大晦日となりましたので、簡単に今年を振り返ります。
仕事
2023年は仕事としてはソフトウェアの私としては大きめな部分の責任を負ったり、初めて海外出張したり、障害対応が当社比でできるようになったり、小さめのプロジェクトのマネジメント(?)に挑戦したり、など、挑戦と挫折、成長それぞれできたと思える一年でした。
海外出張ではその意義を理解でき、来年も別の機会で連れていってもらえるように仕事を作ろうとポジティブな影響を受けることができました。
障害対応は苦手意識があったのですが、開発経験を積んだこと、メンバーに質問して仕様を理解することに努めたことで、得意とは言わないまでも苦手意識を持つことはなくなったかなと思っています。やっぱり作って壊しまくるのが大事だと思いました。
プロジェクトマネジメントは挑戦する機会をいただいたのにも関わらず、挫折しました。他人を上手に動かす方法、数年単位の先を見据えてタスクを処理する方法がわかりませんでした。わからなかったので外してもらうという、チームや上司には迷惑なこともしてしまい申し訳ない気持ちもありますが、マネジメントするほどの開発経験が足りてないと判断しソースコードと対峙する時間を持つという別の目的を持っていて、その通りに過ごせた結果別の面で成長することもできたので、結果的にはいい判断だったと思っています。来年はマネジメントに再度挑戦します。一度挫折したことで何が大切なのかを意識することもできたので、次は逃げ出さないようにしたいです。
生活
体調を崩す日々も多く、通院の機会が増えました。通院すると体に気を遣えるようになるので、いい傾向だとは思います。これからも健康に気を遣って生きていきたいです。
まとめ
2024年は技術的な成長と人間的な成長という2つの柱で走っていこうと思います。
仕事以外のところで技術的な学びが少なすぎるので、幅を広げるために読書を習慣化します。競技プログラミングは・・・AHCにもっと参加したいなあ。
2024年もよろしくお願いします。
2022年の振り返り
まずは去年の目標を振り返ります。お酒飲んでるので変なこと書いてあっても許してください。
2022年の目標は、以下の記事にある通り coonevo.hatenablog.com
コンピュータサイエンス全般、競技プログラミング、英語、読書
とありました。
コンピュータサイエンス全般については、勉強する時間を取れなかったので、来年は意識します。積読すごいので...
というように、レートは上がっていたみたいです。
英語は、オンライン英会話の退会に成功(?)しました...。仕事で話す機会も増えてきた、これからも増える、ようなので、再開しようかな...。オンライン英会話をしていた効果は多少あって、臆せず話せるようにはなってる感覚はありますが、語彙力不足を雰囲気でカバーする、リスニングもダメダメ、みたいな感じだったので、先行きが不安です。
読書は、積読が増えるばかりでしたが、仕事術というか、仕事論みたいな部分ですごく感銘を受けた本が二冊、印象に残っています。
ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ | Mark Richards, Neal Ford, 島田 浩二 |本 | 通販 | Amazon
システム運用アンチパターン ―エンジニアがDevOpsで解決する組織・自動化・コミュニケーション | Jeffery D. Smith, 田中 裕一 |本 | 通販 | Amazon
どちらの本も、私の所属する組織で自然と、当たり前のように行われていることが、なぜ行われるようになったのか、どういう意味があるのか、ということを明確に言語化されており、読んだことで仕事がしやすくなりました。おすすめです。
2022年は、社会人2年目であり、結婚したりと、変化に富んだ一年でした。
会社員としては、ありがたいことに、大きな仕事の小さくない部分を任せていただき、この業界で生きていく上で礎となるであろうことを学びました。失敗もありましたし、成功もありました。考えすぎてしまったこともありましたが、深く考え続けてよかったこともありました。何より、ユーザーの喜びが何にも変えがたいほど嬉しかったです。感謝の声が人づてに届いたときの気持ちは一生忘れない気がします。これからも、私の持っている技術で、誰かを喜ばせられるような仕事を探していきたいものです。
生活面としては、結婚しましたが、元から同棲していたので、ほぼ生活に変化はないです。郊外の広めの部屋に住んでいますが、自炊もしやすいですし、物価も安いですし、必要なときに人混みにいく程度が自分にはあってるような気もします。移動にかかる時間は無視できないくらい大きいので、たまにうーんとなりますが、大きめの洗濯機と冷蔵庫で家事の負担軽減をしてなんとか耐えています。いつまで耐えられるかな、という感じなので、そのうち引っ越すとは思います。東京の家賃高すぎるよ...
これは番外編になりますが、たまにキャリアに悩んでTwitterに真面目なことを書くと反応してくれる優しいフォロワーさんに、この場を借りて深く感謝申し上げます。仕事ばかりしてると気づかない新しい視点に立つことができています。いつもありがとうございます...
2023年の目標については年明け時間があるときにまた考えます。皆様よいお年を。
AHC011に参加しました
173位でした。
暫定172位 23M
— naga (@naga_swe) 2022年6月5日
1. ランダム2点swap山登りで木を構築
2. スライドパズルを2行残して解く
3. ランダム移動山登り
残した2行も解けそうだと思ったんだけど、間に合わず。うまい実装方法がわからなかった。#AHC011
jjjjjjjtgpptmjjさんのAtCoder Heuristic Contest 011での成績:173位
— naga (@naga_swe) 2022年6月7日
パフォーマンス:1691相当
レーティング:1599→1629 (+30) #AHC011
ヒューリスティック青になりました! pic.twitter.com/FKd0deuTZ1
gitのコミットを見て時系列で振り返っていきます。

5/28(1日目)
問題文を読む。グリッドで操作も簡単な好みな問題だと感じ、力を入れて参加することを決意。
コミットを読むに、タイルクラスを追加したり、ジャッジを実装してた。 深夜まで実装してます、この人。
5/29(2日目)
ツイートにも履歴がないため何もしてないですね。昼まで寝てた気がします。移動が多かったかな?
5/30(3日目)
コンビニでサラダを買ったが、箸がないため食べられない、をやってる
— naga (@naga_swe) 2022年5月30日
だそうです。
5/31(4日目)
腰痛めました、現場からは以上です
— naga (@naga_swe) 2022年5月31日
かわいそう。でも腰が痛いのに取り組んでますね、えらい。
仕事の後にAHCに取り組み中・・・
— naga (@naga_swe) 2022年5月31日
この日の夜は、最終状態を何かしらの方法で探したいと思っていました。 dfsで探そうとしたんですが、何を思ったのか、一本道を構成するdfsを書いていました。疲れていたんでしょうね。「dfs ダメ」と残したままmasterブランチを捨てています。
6/1(5日目)
通勤電車の中で考察してました。
AHC、脳内考察中…
— naga (@naga_swe) 2022年5月31日
前日に謎のDFSを書いていた私ですが、朝になって冷静になり、みんなのseed=0の共有画像を見比べながら、多様だしランダムにやっても意外と枝刈りのおかげで木ができるんじゃないか?と妄想してました。
夜になったので実装しようとします
帰ったらAHCの実装するぜ
— naga (@naga_swe) 2022年6月1日
6/2(6日目)
何もできずに寝落ちしてたぜ
— naga (@naga_swe) 2022年6月1日
寝落ちしたそうです。大変そうですね。
仕事の後は空を眺めてました。
空、青すぎ。 pic.twitter.com/j99SublsPS
— naga (@naga_swe) 2022年6月2日
この日も疲れて何もできてなさそうです。
帰ってAHCやろうとしたけどビジュアライザ見ながらうんうん唸ってたら寝る時間になった
— naga (@naga_swe) 2022年6月2日
6/3(7日目)
この日も仕事です。
6/4(8日目)
土曜日なのでお休みです。お昼ごろから取り組みます。
AHC、鋭意実装中・・・
— naga (@naga_swe) 2022年6月4日
ねてたそうです
寝てた・・・?
— naga (@naga_swe) 2022年6月4日
頑張ってください
実装します
— naga (@naga_swe) 2022年6月4日
残り2日しかないので頑張って実装します。
木の構築
まずは2点swapの山登りで木を構築しました。 それなりに強めの枝刈りを入れると100 msくらいで見つかったりもするみたいです。運が悪いと1.5 secでも見つからなかったりしますが、諦めました。
行ごとに揃える
右の2列と下の2行以外を揃えるコードを書きました。動かしていいところがこれだけあると直感的な操作でマスを自在に動かせることを確認しました。
残ったところは山登りして、この時点で1.9M。結構いい。
うおー pic.twitter.com/b8Nk4i1qEi
— naga (@naga_swe) 2022年6月4日
6/5(9日目)
よく考えると最右端を残して揃えられるんじゃ?と思い実装したらできました。
列ごとに揃えていくと、最後2行は残ってしまうので、やっぱり手軽なランダム山登り。2.3Mに伸びました。
うおおー pic.twitter.com/6zLXAx8q4z
— naga (@naga_swe) 2022年6月4日
この後はREが起きたときにファイルに出力するようにしてデバッグを早くしてました。本当は最後の2行も解くための方法は思いついていたんですが、実装が重すぎて間に合わず。
皆さんの解法を見て、ビームサーチやchokudaiサーチも試してみたい気持ちになってます。
これが最終解答の動画です。
Sliding Tree Puzzleのseed=0で485714点を獲得!!!https://t.co/bfK37oSp51
— naga (@naga_swe) 2022年6月5日
#AHC011 #visualizer pic.twitter.com/qmjs7oEliB
最後に
前回のマラソンの解説放送のときにwataさんが天才発想を披露していて、そんなの問題固有の話じゃ・・・とか思っていた私ですが、そのときの話を応用して今回楽しめたので、意外とこういうアドホックな部分が大事なんだろうなー思ったりしました。アドホックをアドホックとして終わらせないというか・・・
前回のAHC010の解説放送でwataさんが「手動でランダムにやってもうまくいかなそう -> 何かいい構造を見つける」みたいなのを真似して、今回も手動でたくさん遊んだらランダムでうまくいかないのはよくわかり、でも最終状態をみながらだと解けるので、方針が決まった感じだった
— naga (@naga_swe) 2022年6月5日
いかがでしたか?マラソンは楽しいので、みんなもやろう!
codingame:Spring Challenge 2022 ローカル対戦のための環境構築
Codingame、通称コドゲは、開発したゲームAIの強さを競うコンペを主催している会社のサイトです。先日Spring Challenge 2022が始まったばかりですね。
本記事では、Spring Challenge 2022でローカルで対戦する環境を構築するための方法について紹介します。 今回は最低限ローカルで動くところを目的としているため、便利なスクリプトを使った実行などについては触れません。最後に参考記事を載せておいたのでそちらを参考にしていただけたらと思います。また筆者の環境であるmacOS以外についても触れません。ご了承ください。
必要なもの
- Java8
$ ls /Library/Java/JavaVirtualMachines/ jdk1.8.0_331.jdk
jdk-12.0.1.jdkなどでは動作確認してません。どれがいいのかわからないけど、とりあえず進めます。
Javaのinstall方法については他記事に任せてしまいますが、私はOracleの公式からダウンロードしました。
mavenって何?
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
なるほど。インストールします。
$ brew install mvn
バージョンは、、
$ mvn --version Apache Maven 3.8.5 (3599d3414f046de2324203b78ddcf9b5e4388aa0) Maven home: /usr/local/Cellar/maven/3.8.5/libexec Java version: 18, vendor: Homebrew, runtime: /usr/local/Cellar/openjdk/18/libexec/openjdk.jdk/Contents/Home Default locale: en_JP, platform encoding: UTF-8 OS name: "mac os x", version: "10.15.7", arch: "x86_64", family: "mac"
最新です。これもどれがいいのかよくわからないけど動くのでよし!
- IntellJ IDE
学生さんは有料版(IntelliJ IDEA Ultimate) が無料で使えますが、 無料版(Community Edition)でも今回は特に問題ないです。
- git
githubから公式が提供してる環境をダウンロードするのにあると便利です。
実行手順
- ローカルにプロジェクトをダウンロードする
- IntelliJでプロジェクトを読み込む
- 実行する
1. ローカルにプロジェクトをダウンロードする
こちらのrepositoryにあります。
任意の場所にcloneします。
$ git clone https://github.com/CodinGame/SpringChallenge2022.git Cloning into 'SpringChallenge2022'... remote: Enumerating objects: 124, done. remote: Counting objects: 100% (124/124), done. remote: Compressing objects: 100% (95/95), done. remote: Total 124 (delta 20), reused 120 (delta 17), pack-reused 0 Receiving objects: 100% (124/124), 2.12 MiB | 6.79 MiB/s, done. Resolving deltas: 100% (20/20), done. $ ls SpringChallenge2022
2. IntelliJでプロジェクトを読み込む
IntelliJを起動して右上のOpenからの先程のSpringChallenge2022フォルダを選択して開きます。

こんな画面になればOKです。

2.5 描画moduleにも手を加える
このまま3. に進むと実行はできるけど真っ暗となってしまいます。SpringChallenge2022では描画のリソースにも手を加える必要があるみたいです。npmを使います。
参考: github.com
$ npm --version 6.14.4 $ cd SpringChallenge2022/src/main/resources/view/ && npm ci && npm run start [8:46:25 PM] File change detected. Starting incremental compilation... [8:46:25 PM] Found 0 errors. Watching for file changes.
これでOKです。
3. IntelliJで実行する
実行のエントリポイントとなるファイルsrc/test/java/Main.javaを開きます。
compileJavaという関数を呼んでますが、ここのbashスクリプトの実行でこけると悲しいので、Player twoと同じくpythonのスターターに置き換えちゃいましょう。

public class Main {の行の左にある実行ボタン押してRun Main.main()を選択すると色々走って(依存関係の解決とかbuildとか?)実行されます。※


実行されました。http://localhost:8888/test.htmlにブラウザからアクセスしてみましょう!

うおー。
最後に
いかがでしたか?ローカル実行環境でAIを育てて、ライバルに差をつけよう! 筆者はまだルールすら把握してません。対戦よろしくお願いします。
以下、過去の記事で参考にさせていただいたものです。わからないことなどあればこちらも参照ください。
※ 環境によっては以下のようなエラーが出ます。Javaのバージョンが新しいもので実行されてしまってるということなので、設定を変えます。左下の設定ボタンからJava8で実行されるように変更し、Applyボタンを押してOKで閉じて実行しなおしてください。

わからないことから一旦離れる勇気
わからないこと、知らないこと、できないことというのは、この世に無限にある。 知っていることの方が少ない。人間誰しもそういうものだ。
わからないことは恥ずかしいことではない。わかっていないことを、わかってふりをしていることが恥ずかしいのだ。
わからないことがあっても、前に進め。 わからないことを明確にする必要はない。ただ、わからないことを明確にしないなら、せめて、わかっていることを確実に知ろうとすることだ。
わからないことは、つまり、わかっていることではないことだ。 どこまでわかっているのかが明確になれば、わからないことをつぶす手がかりになる。
わからないこともわからないなら、とりあえず、進め。無視しろ。まだ早いのかもしれない。 いつか気づくから、その時まで待てばいい。
新卒で入社した私の場合、わからないことが多すぎた。でも、わからないからと、手を止める暇はなかった。
ある程度の理解で、とりあえず進んでみると、何かが見えてくる。 見えてきたタイミングで、理解を始めればいい。 その時でも遅くない。わからない人が、わかろうとしているなら、他人は待ってくれる。
一番やってはいけないのは、わからないことを、情報をとりにいけるのに、無視することだ。