資産運用計画 (2021年~)

概要

そろそろ資産運用を始めても問題なさそうなくらいの貯蓄ができたので始めようと思った. あまり明確な目的がない状態だけど普通に預金で置くよりかはいいと思ったので運用していく.

大事なこと

持ってる資産が大きくマイナスになっていても心を折らない!

心が折れて売るほうが圧倒的に損なので,むしろいつもより多くの口数を購入できると思って嬉しくなろう.

運用ポリシー

長期で運用するため基本的には売らない.

しばらくは つみたてNISA だけで運用する.

給料が増えたりしたら自社株を積み立てで購入する「るいとう」を始めようかなと.

月の積立額はつみたてNISA年間限度額の40万円を12で割った 33333円. これをいくつかの投資信託に分散で積み立てていく.

ポートフォリオ100%株式国内株式30%国際株式70% となるようにする.

国際株式のうち 40%を先進国30%を新興国 とする.

ただ先進国の投信の投資先は大体米国株式で先進国だけでみると今後も米国1強時代は続きそうなので,それなら米国株だけの株価指数ベンチマークとしているインデックス投信を選ぶ.

購入する投資信託はインデックス投信から選択.アクティブは信託報酬が高いのと選択肢が様々で難しいので保留

同じ積立金額を維持していても割合に差が生まれ始めると思うので 半年に一度リバランスを行う

リバランスの方法は現在の資産割合が半年後に国内30%,米国40%,新興国30%になるように積立金額を調整を行う.

例えば現在の資産が以下のようになっているとする.

カテゴリ 金額 割合
国内 60万円 30%
米国 90万円 45%
新興国 50万円 25%

この場合米国が少し好調で伸びているが新興国が不調でマイナスになってしまっているので,新興国の積立金額を増やして6回の積立で限りなく元に戻すように調整する.

半年で変化が無ければ(そんなことはあり得ないけど)合計で約20万円の積み立てが行われるので220万円を本来の割合で考えて以下のようになるように調整したいので

カテゴリ 半年後の予定金額 割合
国内 66万円 30%
米国 88万円 40%
新興国 66万円 30%

積立金額は国内 10000円,米国 0円,新興国 23333円となる.

運用する商品

インデックス投信はどれを選んでもベンチマークが同じなら同じ値動きをするので信託報酬が最も安いものを選ぶべき.

eMAXIS Slimシリーズが業界最低水準のコストを維持すると宣言して販売されているので,このシリーズから選ぶ.

emaxis.jp

国内株式 30%

三菱UFJ国際 - eMAXIS Slim 国内株式(TOPIX)」に10000円

日本の株式の代表的な株価指数日経平均株価TOPIXがあるが,日経平均は対象銘柄が225銘柄でごく僅かな銘柄の値動きに影響されるとのことなので,東証一部上場全銘柄を対象としているTOPIXベンチマークとしている投資信託を選択.

先進国株式(米国) 40%

三菱UFJ国際 - eMAXIS Slim 米国株式(S&P500)」に13333円

米国の株式の有名な株価指数S&P500.ダウ平均という指数もあるがこちらは対象銘柄が30なので国内株式同様より幅広い対象となる方を選択.

新興国株式 30%

三菱UFJ国際 - eMAXIS Slim 新興国株式インデックス」に10000円

ベンチマークMSCIエマージング・マーケット・インデックス.

中国,台湾,韓国,インド,ブラジルで75%以上を占めているらしい.(以下引用)

www.pictet.co.jp

最後に

この計画でまずは10年続ける.ライフイベントが発生して考える必要が出たら改めて考える. f:id:wheson:20201231171819p:plain

おまけ

色々調べる前に試行錯誤でNISA枠で購入したやつ.5年後に売るか一般口座で保有し続けるかどうしようかなって思ってる. f:id:wheson:20201231170725p:plain

上京半年で分かった色々

この記事は、 大阪工業大学 Advent Calendar 2019 の15日目の記事です。

誰?

2019年卒業の人

概要

家を借りるところから生活を行うまでに色々と必要なものが出てくる.

それらを考えるには実際に生活を行うか,実際に生活をしてる人から聞くしかない.

そういったものをまとめて,参考になるところは参考にしていただき無事上京してほしいと思いながら書く.

具体的には以下の流れで紹介していく.

  • 家を借りるまでに考えること
  • 生活を始めるまでに考えること
  • 実際に生活を始めてから考えること

これらを私が実際に行ったことを元に書いていく.

鵜呑みにしないでください.

家を借りるまでに考えること

不動産屋に行くまで

家を借りるというのはとても深く考えないといけないし,人によって必要と思う条件が違うので難しい.

私の考えていた絶対に外せない条件を以下に示す.

  • 会社まで乗り換えなしで通勤可能
  • 風呂トイレ別
  • 築10年以内
  • 2階以上

条件が決まれば次に住むエリアを決める.

住むエリアは会社まで乗り換えなしで通勤可能という条件を含めていたので決めやすかった.

エリアが決まればsuumoなどのサイトでどんな家があってどれくらいの相場なのか毎日調べる.

ちなみに家賃は就職先に提示されている初年度収入から逆算して考えるとよい.

私の場合は7.5万円くらいを想定していた.

不動産屋に行く

不動産屋はsuumoで希望のエリアの掲載が多かったところに事前に連絡を取っていた.

1月~3月は繁忙期なので事前連絡なしでは家を紹介してくれない可能性もあると思ったからである.

あと,suumoに載ってるめちゃくちゃいい物件は絶対に借りることができないと考えておいたほうがいい.

それは釣り物件である.

いい物件は実際に不動産屋に行かないと分からない.

予約していた不動産屋に入ると事前に希望条件を出していたのですぐに何軒か家を紹介された.

紹介された家の中で実際に見たい家を選び内見を行う.

内見時に考えるべきことは複数あって

  • コンセントの数,位置は生活するうえで問題ないか
  • 自炊するならキッチンの広さに問題はないか
  • 風呂の換気は適切に行えそうか
  • カーテンを取り付ける場所の幅と高さを記録しておく

とこんな感じだと思う.他にも絶対にこれだけは調べるというのを考えておくとよい.

カーテンの計測に関してはこのタイミングでしておくことで早く設置できるので良い.

私はカーテンを住み始めてから購入したためしばらく外から生活が丸見え状態であった.

色々な家を見て悩みたいところだろうが,悩んでる暇はない.少しでもいい家だと思ったら即契約したほうが良い. なぜならその家は遅くとも明日にはなくなるからだ.

契約

住みたい家が決まると契約が行われる.

とはいってもすぐに契約が出来るわけではなく,大体の家では審査が行われるはずだ.

審査用の書類を書いて不動産を出て審査通過を待つことになる. その日中に電話が来て審査通過を知らされた.

後日不動産屋を訪れて大量の書類にサインをして契約する.

家を借りるのに必要なお金は色々あって,

  • 敷金, 礼金
  • 仲介手数料
  • 初月の家賃
  • 他色々ある場合もある

私の場合家賃の5か月分近く払ったので通常より高いが,一般的には大体30万円近くかかると思っておくとよい.

生活を始めるまでに考えること

生活を始めるまでに家電や家具などを揃える必要がある.

私が最初の月に買ったものを以下に示す.

  • 冷蔵庫
  • 洗濯機
  • 寝具
  • PCデスク
  • 照明器具
  • カーテン
  • 炊飯器
  • 調理器具
  • PC

他にも買ったかもしれないがこんな感じだと思う.

既に家を借りるので大量のお金を失っていると思うので,必要だと思うものは最小限としたほうが良い.

洗濯機はコインランドリーという選択肢もあるし,調理器具や炊飯器は一旦買わずにしばらくは外で済ませるという手もある.

上京資金として用意したお金と相談して考えるとよい.

ちなみに私は何もかも揃えようとしたのでここまでで100万円くらいお金が使われた.

このお金は大学の給付型奨学金やアルバイトで貯めたもので,まさかなくなるとは思っていなかったが…

このあと住民票を移したりガス,電気,水道,インターネット回線の契約をしたりする

実際に生活を始めてから考えること

入社式も終え社会人生活が始まる4月

初給料で色々買いたいものあると思うがちょっと待ってほしい.

先に毎月必ず失われるお金を計算しておかないと破産する.

私の例を以下に示す.

  • 家賃: 8万円
  • 電気ガス水道代: 1万円
  • インターネット,携帯電話料金: 6000円
  • 食費: 3万円

計13万円弱といったところである.

もちろん日用品などでも時々失われるので実際は15万円くらいなのかもしれない.

つまり給料-15万円が自由に使えるお金だと考えられる.

この自由に使えるお金から貯金をしたり好きなものを買ったりすることになるだろう.

私は毎月なぜか色々出費があるので平均18万円くらい使っているようだ.

おわり

ざっくりまとめると,

  • 上京するまでに50万円くらい貯めておくといい
  • 私は上京するのに100万円使いました

頑張ってください.

自作キーボードビルドログ(ErgoDash mini)

2018年は自作キーボードというものがブームとなったみたいです.

TwitterのTLにも自作キーボードについて流れることがあり,じわじわと作りたい気持ちが強くなっていきました.

購入したもの

キーボード材料

自作キーボードキット

自作キーボードは個人の方が様々な種類のものをキット販売しており,私もそれを購入しました.

購入したキットは @omkbd さんが販売しているErgoDash mini

booth.pm

(Corne Cherryも気になったのですが在庫切れだったため断念…)

booth.pm

キースイッチ

キットにはキースイッチとキーキャップは付いていないので別で購入する必要があります.

キースイッチはCherry MX互換性のあるものであれば何でもいいらしいです.

ただ残念なことにメカニカル式のキーボードを触ったことがなかったので,何軸が自分にあってるのかわからず…

とりあえず最初なので無難だと言われているGateron Silentの茶軸を購入しました. f:id:wheson:20190111232037j:plain

購入するのに使った通販はAliExpressという中国の通販で,種類が多くてなおかつ安い! 海外の通販なので到着が遅いのが難点.

キーキャップ

キーキャップにもいろいろ種類があるみたいなのですが,よく分からなかったので適当に購入しました. f:id:wheson:20190111232130j:plain

ここでもAliExpressを利用しました.

TRRSケーブル

分割されているキーボードを接続するケーブル.オーディオ機器でも使われる4極のもの.

MicroUSBケーブル

何でも良さそう.家に余ってたけど購入しました.

道具類

必要なものは以下のサイトが役に立ちました.

キーボード自作、特に Helix キーボードキットの製作に最低必要な工具のメモ · GitHub

作業工程

ダイオード取り付け

一気に折っている画像をよく拝見するのですが,上手く出来なかったので諦めて1本ずつ丁寧に足を折っていきました.

その後丁寧にはんだ付けをした.

f:id:wheson:20190111232550j:plain

TRRSジャック,リセットスイッチ,Pro Micro用ピンヘッダ取り付け

Pro Micro用のピンヘッダのはんだが辛かった…

f:id:wheson:20190111232629j:plain

キースイッチ取り付け

アクリル板の上からスイッチを植えていきます.しっかりと埋め終えたらはんだ付けをします.

f:id:wheson:20190111232708j:plain

Pro Microの取り付け

Pro MicroのUSB端子はもげやすいみたいなので取り付け前にセメダインで頑丈にしておきます.

f:id:wheson:20190111232752j:plain

しっかりと固まったのを確認したら基板にはんだ付けをして取り付けます.

ファームウェアの書き込み

以下は私のkeymapです.

まるでCorne Cherryみたいな割当の少なさですが,指が楽に届かなかったところを排除したらこうなりました.

f:id:wheson:20190120175031p:plain github.com

完成?

TRRSケーブルを接続してもUSBケーブルを接続していない方のキーボードが反応しない…

TRRSケーブルを少し緩めに挿すと左右のキーボードが反応して一応動作しました.(大丈夫なのだろうか…)

完成!

f:id:wheson:20190111233057j:plain

中学以来のはんだ付けだったり,不安要素が多かったのですが無事(?)完成してよかったです.

TRRSケーブルが市販品だとダサいのでケーブルも自作しようかなと思ったり.(自作する人も結構いるらしい)

次キーボードを自作するときはLEDも付けてみようと思います.

(この記事はErgoDash miniで書きました)

PHPにPHPを埋め込みさせる

この記事は,OIT Advent Calendar 2018の2日目の記事です。

また,本記事は雑に書いてます.自己責任で読んでください.

何をしたいか

下記のようなPHPファイルがあるとします.

<?php
$hoge = "Hello World!";

それに"代入演算子がある次の行"になにか任意の処理を埋め込みたい.

<?php
$hoge = "Hello World!";
# ここに下のコードを追加したい
echo("ここに代入演算子があったぞおおおおお!!");

もちろん手で書き換えるのもいいが,3000近くのファイルに対し同様のことを行いたいと考えると厳しい.

解決策

PHP-Parserというライブラリを利用する.

github.com

(composerで導入するので,composerの知識はちょっと必要)

このライブラリはPHPソースコード構文木の状態にして解析しやすいようにするものである.(多分)

構文木の状態にせずに直接ソースコードの状態でやろうとすると色々とダメなパターンが出てきて無駄に苦労する.

<?php
// composerで管理してるライブラリをrequire(各自ファイルパスが違う気がする)
require_once 'vendor/autoload.php';

use PhpParser\ParserFactory;
use PhpParser\Node;
use PhpParser\NodeTraverser;
use PhpParser\NodeVisitorAbstract;

$code = <<<'CODE'
<?php
$hoge = "Hello World!";
CODE;

// array_insert関数の中身は略してます.
function array_insert(&$base_array, $insert_value, $position=null) {..}

class MyNodeVisitor extends NodeVisitorAbstract
{
    public function enterNode(Node $node) {
        for($i = 0 ; $i < count($node->stmts) ; $i++){
            $value = $node->stmts[$i];
            $valueType = $value->getType();
            if($valueType == "Expr_Assign"){
                // ここで自ら埋め込みたいソースコードの構文木を構築する
                $echoStr = new \PhpParser\Node\Scalar\String_("ここに代入演算子があったぞおおおおお!!")
                $echoArg = new \PhpParser\Node\Arg($echoStr); 
                $echoArgs = array($echoArg);
                $echoName = new \PhpParser\Node\Name("echo");
                $echoFunc = new \PhpParser\Node\Expr\FuncCall($echoName, $echoArgs);
                $i++;
                // array_insert関数は自作関数
                array_insert($node->stmts, $echoFunc, $i);
            }
        }
    }
}

$parser        = (new ParserFactory)->create(ParserFactory::PREFER_PHP5);
$traverser     = new NodeTraverser;
$prettyPrinter = new PhpParser\PrettyPrinter\Standard;

$traverser->addVisitor(new MyNodeVisitor);

// parse
$stmts = $parser->parse($code);

// traverse
$stmts = $traverser->traverse($stmts);

// pretty print
$code = $prettyPrinter->prettyPrintFile($stmts);

echo($code);

array_insert関数は以下のサイトから持ってきた.

qiita.com

構文木構築パートは,事前に構築したいソースコード構文木がどうなるか確認しておく必要がある.

構文木$parser->parse($code)した後の$stmts変数をvar_dump()あたりで出力すると確認できる.

その後は頑張って構文木パズルをするんだよ.

なんでこんなことをしてたか

埋め込みたい気分になった.(詳細は省く)

PHP-Parserの情報が少なくて結局ライブラリのコードを読んでこの方法に辿り着いた.

多分正しい使い方ではなさそうなので自己責任で.(これしたい人が存在するかわからないけど)

ICPC2018国内模擬予選参加記

今年もICPC国内予選の時期になりましたね.

昨年度は競プロを始めて間もなかったので,あまり大したことが出来なくて悔しかった思い出があります.

今年は1年間競プロをして力もある程度は付いた気がするので楽しめるかなと思ってます.

チームメンバー

チーム名は”Incoming Tomoya”です. 弊学の2軍チームでAtcoderではレートが全員緑色です.

wheson (@wheson)

僕です.B4で来年就職なので今回が最後のICPC出場になります. メンバーで唯一C++で競プロをやってます. そのためライブラリは必然的に僕のものを使う感じになりました.

たいちょー (@xztaityozx_001)

M1の先輩です.競プロを始めたのは僕と同じ時期で,ちょうどレベルも同じくらいなのかなぁと言う感じです.難読化シェル芸をしてるみたいで,怖い人ですが,怖くないです. 普段はC#で競プロをしてるらしいです.

xztaityozx.hatenablog.com

いらいざ (@eliza0x)

後輩です.コンパイラを作ったり,CPUを作ったり,最近は機械学習をしてたりと,幅広く何かやってます.構文解析を得意とするらしいので,構文解析の問題は彼に投げます. 普段はHaskellで競プロをしてるみたいです.

のばなしうさぎ

模擬予選の内容

開始前

ライブラリの印刷をして,適当にダラダラしてました. 会場はたいちょーの研究室を使うことになっていたので,準備は彼に全て任せてしまってました.

開始

A・B・Cと流し見して,AはやるだけだったのでPCを受け取り実装しました.

15min

AをACする. Bをたいちょー,Cをいらいざ君がやることになったみたいで,先にいらいざ君がPCを受け取る. とりあえず僕はDを読み始める.

60min

Cを実装していたいらいざ君からC++わからんと言われ,コードを見ると,Lambda式で闇のようなことをしていてこれは読めないと思ったので,悲しい顔をした.

Dをたいちょーと考察して桁ごとに個数を決められそうだなーと思って数式に起こすが,誤差が出てダメだった.

諦めてEを読み始める. たいちょーにEの概要を伝えると,二部グラフっぽいと言われて,確かに二部グラフですねと返した.二部グラフのライブラリは印刷しておいたので,とりあえず実装を固めるために紙コーディングを始める.

90min

結構長いこといらいざ君がPCを専有していたので,そろそろ交代しようということで,たいちょーに交代した.

120min

たいちょーもバグらせる. Eがやるだけなので実装したいと伝えると,交代してもらえたのでライブラリの写経を始める.

130min

Eのサンプルが合わない. 後ろでBとCの考察の確認をしていたみたいで,交代して先にCをいらいざ君が修正を始める.

150min

いらいざ君がCをACする.

とりあえずホッとした.

170min

たいちょーがBをACする.

ちょうどその時に,二部グラフの写経ミスに気付いたので,急いで修正を始める.

178min

僕が実装に焦って,横でたいちょーが過呼吸のマネ(田中ヒメのマネ)を始めて,いらいざ君が落ち着いて落ち着いてと言う地獄みたいな状態になってた.

Eのサンプルが通ったので,提出するとACする.

終了後

ABCEの4完55位(ゲスト除く)だった.

ランキングを見ると,学内1位だったのでテンションがとても跳ね上がった.

その後,国内予選突破圏内を意味するselectedになっているのを見てテンションがおかしくなりそうになった.

本番も同じ調子で行くぞー

neovimでLSP(LanguageServerProtocol)を使ってみる

今までずっとALEっていう非同期コードチェックプラグインを使ってましたが,少し挙動が遅いと思ってました.

先日この記事を見て,

kutimoti.hatenablog.com

LSPを使うと早くなるっぽい??って思って導入してみました.

結果として,コードチェックは爆速になりました.

LSPとは

この記事に詳細があります.

language server protocolについて (前編)

要約するとLSPを使うことで,

  • 自動補完
  • ヒント(ホバー)の表示
  • シンボルの定義の位置を取得
  • コードの整形
  • エラー分析,修正案の提示

等が利用できるようになります.

neovimでLSPを導入する

LanguageClient-neovimを使います.

上記プラグインを入れる前はvim-lspを入れたのですが,コードチェックの挙動がおかしかったのでやめました.

プラグイン構成

  • LanguageClient-neovim
  • deoplete
  • neosnippet

dein.toml

[[plugins]]
repo = 'autozimu/LanguageClient-neovim'
rev = 'next'
build = 'bash install.sh'
hook_add = '''
source ~/.config/nvim/plugins/LanguageClient-neovim.rc.vim
'''

dein_lazy.toml

[[plugins]]
repo = 'Shougo/context_filetype.vim'

[[plugins]]
repo = 'Shougo/neosnippet.vim'
on_event = 'InsertCharPre'
on_ft = 'snippet'
depends = 'context_filetype.vim'
hook_source = '''
source ~/.config/nvim/plugins/neosnippet.rc.vim
'''

[[plugins]]
repo = 'Shougo/deoplete.nvim'
depends = 'context_filetype.vim'
on_event = 'InsertEnter'
hook_source = '''
source ~/.config/nvim/plugins/deoplete.rc.vim
'''

~/.config/nvim/plugins/LanguageClient-neovim.rc.vim

set hidden

let g:LanguageClient_serverCommands = {}

" 言語ごとに設定する
if executable('clangd')
    let g:LanguageClient_serverCommands = {
        \ 'cpp': ['clangd']
        \ }
endif

augroup LanguageClient_config
    autocmd!
    autocmd User LanguageClientStarted setlocal signcolumn=yes
    autocmd User LanguageClientStopped setlocal signcolumn=auto
augroup END

let g:LanguageClient_autoStart = 1
nnoremap <Leader>lh :call LanguageClient_textDocument_hover()<CR>
nnoremap <Leader>ld :call LanguageClient_textDocument_definition()<CR>
nnoremap <Leader>lr :call LanguageClient_textDocument_rename()<CR>
nnoremap <Leader>lf :call LanguageClient_textDocument_formatting()<CR>

~/.config/nvim/plugins/neosnippet.rc.vim

let g:neosnippet#snippets_directory = '~/.config/nvim/snippets'
imap <C-k> <Plug>(neosnippet_expand_or_jump)
smap <C-k> <Plug>(neosnippet_expand_or_jump)
xmap <C-k> <Plug>(neosnippet_expand_target)
if has('conceal')
    set conceallevel=2 concealcursor=niv
endif

~/.config/nvim/plugins/deoplete.rc.vim

" deoplete options
let g:deoplete#enable_at_startup = 1
let g:deoplete#auto_complete_delay = 0
let g:deoplete#auto_complete_start_length = 1
let g:deoplete#enable_camel_case = 0
let g:deoplete#enable_ignore_case = 0
let g:deoplete#enable_refresh_always = 0
let g:deoplete#enable_smart_case = 1
let g:deoplete#file#enable_buffer_path = 1
let g:deoplete#max_list = 10000

言語ごとのLanguageServerを導入する

https://langserver.org

上記サイトから自身が使う言語のLanguageServerを導入してPATHを通してください.

一例としてclangdをmacで導入する流れを紹介します.

clangdを導入

  • Homebrewでllvmをインストールする

$ brew install llvm

  • PATHを通す

brew install llvmで出力された最後の方に現在のshellでの通し方が書いてあるのでそれを見てください.

  • $ clangd --versionでPATHが通ってることを確認する.

使用感

コードチェックが爆速すぎて気持ちがいい.

今まで:%s/hoge/huga/gで置換をしてたけど,それが変数であれ,コメントであれ全てのhogeが置き換わって不便だった.

LSPの機能のRenameを使うと変数のhogeだけを置き換えるということが出来るので凄くいい.

気になったこと

  • LanguageServerから取得される補完リストを出力するのが少し遅い
  • nvim newfile.*で新たにファイルを作成しつつneovimを起動すると,LanguageServer-neovimが起動しない.手動で:LanguageClientStartとすると起動する.

参考サイト

github.com

github.com

http://langserver.org

僕の競プロ環境(2018/4現在)

競プロ初めて1年が経ちました.

まだ全然実力が付いてないのですが,RUPC以降精進しまくってるので伸びると信じてます.

f:id:wheson:20180421114205p:plain

ちょうどMacBookAirを買って1年にもなり,競プロ環境が整ってきた気もするので,現在の競プロの環境を紹介します.

環境

現在競プロをする時に使っているのは以下のものです.

  • iTerm2
  • Neovim

iTerm2

これはターミナルです.⌘Dで左右に画面を分割できるので良いですね.

f:id:wheson:20180421114233p:plain

shellはfishです.

これは最初からコマンド補完機能やら付いていて,文字入力をサボることが出来るのでいいです.

fishのプラグインで入れているものは以下のものです.

  • z (雑にディレクトリ移動ができる)
  • agnoster (おしゃれなテーマ ※要powerline font)

Neovim

エディタとしてNeovimというものを利用してます. iTerm2上で起動します.

neovim.io

理由は特にないです.

色々と便利にしていったのでこれ以外で競プロ出来ないくらいになってしまいました.

プラグインとして色々入れてますが,ここでは競プロ時に利用しているものだけを紹介します

  • deoplete
  • neosnippet
  • ale

deoplete

github.com

補完してくれるやつです.次に紹介するneosnippetと連携してます.

neosnippet

github.com

スニペット機能を利用できます.

独自にスニペットを登録することができ,僕はテンプレートとライブラリを登録して,使う時にさっと展開してます.

例えばこう書いて f:id:wheson:20180421115037p:plain <C-k> f:id:wheson:20180421115044p:plain

~/.config/nvim/snippets/cpp.snipスニペットを書くことで登録できます.

ただそうすると,cpp.snipがかなり膨大になるのでオススメしません.

そこでsnipファイルを分ける方法があります.

cpp.snipinclude cpp/*.snipと書くと,cpp.snipと同じディレクトリにあるcppディレクトリ以下の*.snipファイルをincludeしてくれます.

これをすると競プロライブラリをいい感じに管理できるようになります.

僕は以下のリポジトリcppディレクトリ以下に置いています.

github.com

現在は競プロライブラリを随時増やしていってる途中です.

ale

aleは非同期コードチェックをしてくれるプラグインです.

github.com

コーディング中に色々と指摘してくれるので,コンパイルをせずにエラーを潰すことが出来ます.

最後に

競プロはいいぞ