edo1z blog

プログラミングなどに関するブログです

ShopifyのThemeKit

ShopifyのThemeを編集する際に、ローカルで開発しやすくするためのツールがThemeKitです。 環境 Windows10 WSL インストール ここに書いてあるLinux Installationのとおりにやったらできました。設定とテーマ取得方法も書いてあるとおりにやったらできました…

Element UIのtableでsortとpaginationを連動させる

Element UIのテーブルはソートとページネーションの相性が悪いらしい。試してみたら確かに悪かった。何が悪いかというと、ソートがページネーションと連動しない。ページ内に表示されているデータがソートされるだけだった。 対策 el-table-columnのsortable…

socket.ioの最大同時接続数とサーバ負荷の確認

Adonis.jsでsocket.ioを動かして、リアルタイムにプッシュ配信させるプログラムをPM2で動かしています。webサーバはApacheです。Apacheの設定についてはここにメモしました。socket.ioを使ったので同時接続どのくらいできるのか確認しました。とりあえず同時…

CentOSのApacheでAdonisを動かす

$ pm2 start server.js $ apache proxy 設定(ドキュメントルートをhttp://localhost:3333に飛ばす) これで大体はいいはずなんだけどうまくいかない。 curl http://localhost:3333とかやると「接続を拒否されました」となる。 firewalldは使われてなくて、i…

vscodeで #include <bits/stdc++.h> を使う

使えてたのに突然使えなくなりました。悲しいです。 ctrl + shift + p でコマンドパレットを開きます。 c++ edit json などと入力して、「c/c++ Edit Configurations (JSON)」を実行します。 すると、.vscode内に、c_cpp_properties.jsonが作成されます。 co…

tmuxで色々自動実行しつつ画面を分割したりする

tmuxで色々自動実行しつつ画面を分割したりする方法 tmux new-session -d -s hoge -n taro hogeという名前のセッションを作成し、taroというウインドウを作成する。 tmux split-window -h tmux split-window -h tmux split-window -v -t 0 tmux split-window…

C++ 割ったあまり

参考 「1000000007 で割ったあまり」の求め方を総特集! 〜 逆元から離散対数まで 〜 - Qiita 分かりやすいmodの説明動画 www.youtube.com www.youtube.com 基本 掛け算、足し算、引き算は、計算途中で余りだす。 引き算は、余りがマイナスになったらmodを足…

C++ 拡張ユークリッドの互除法

ユークリッドの互除法は2つの自然数の最大公約数を求める際に利用します。 a % b == r の場合、a, bの最大公約数は、b, rの最大公約数と等しいです。 b % r == r2、r % r2 == r3と繰り返すことで、最終的に余りが0になったときの割ってる方の数が最大公約数…

C++ 累乗の速いやつ

blog.logicky.com 上記でPythonでやっていますが、C++でもやってみます。どうも速いやつは「繰り返し二乗(自乗)法」という名前らしい。 #define _GLIBCXX_DEBUG #include <bits/stdc++.h> using namespace std; using LL = long long; // xのn乗 LL powpow(LL x, LL n) { </bits/stdc++.h>…

C++ 累積和

累積和は、配列の一部の範囲の合計を出すやつです。何回も合計を出す場合に効率化できます。最初に合計を入れる配列を用意して、順番にその位置までの合計を入れていきます。あとはそれを参照するだけで合計出せます。 サンプルコード #define _GLIBCXX_DEBU…

C++ clock

C++

C++で時間計測したいときはclock()が使えます。 参考:clock コードサンプル #include <bits/stdc++.h> #include <unistd.h> using namespace std; int main() { cout << "CLOCKS_PER_SEC: " << CLOCKS_PER_SEC << endl; clock_t start = clock(); cout << "start: " << start << endl</unistd.h></bits/stdc++.h>…

C++ ワーシャルフロイド法

参考:素人によるワーシャルフロイド法 - Qiita グラフ コード #define _GLIBCXX_DEBUG #include <bits/stdc++.h> using namespace std; using Graph = vector<vector<int>>; const int INF = 1e9; void warshall_floyd(Graph &G) { int n = G.size(); for (int k = 0; k < n; ++k) { fo</vector<int></bits/stdc++.h>…

C++ ダイクストラ法

blog.logicky.com 上記はPythonでやっていました。C++でやってみます。 参考: 最短経路問題(ダイクストラ法) 対象のグラフ コード #define _GLIBCXX_DEBUG #include <bits/stdc++.h> using namespace std; using Graph = vector<vector<int>>; const int INF = 1e9; int n = 8; // 頂点</vector<int></bits/stdc++.h>…

C++ ヒープ (priority_queue)

優先度つきキューは、何をどういう順序で入れても、優先順位の高いものから順に取り出すことができるキューです。内部的にはヒープを使って実装されます。C++では、priority_queueというのがあります。 コード int main() { priority_queue<int> que; que.push(1)</int>…

C++ clang-format

C++

.clang-format というファイルを作って、下記のようにしたら、vscodeで勝手にコンパクトなフォーマットに整形してくれます。私的にはGoogleというのが気に入りました。他の種類はここに説明が書いてあります。 BasedOnStyle: Googl 今のところ、上記で十分で…