技術メモ

役に立てる技術的な何か、時々自分用の覚書。幅広く色々なことに興味があります。

ダイクストラ法がやっと理解できた

ダイクストラ法というアルゴリズム。 重み付きの経路の最短経路を求めるアルゴリズムとして有名である。 そのダイクストラ法というアルゴリズム、存在自体は知っていたが何度か自分で実装しようとしてはなぜそれが最短経路を求めるアルゴリズムになるのか腹…

シェルスクリプトでFOR文でバックグラウンドで起動したの並列処理を待機する方法

# ジョブ ID を格納する配列 job_ids=() array=(2 5 4 7 2 1) for i in ${array[@]}; do # ジョブをバックグラウンドで実行し、ジョブ ID を取得 (sleep $i && echo $i) & # 直前にバックグラウンドで起動したプロセスの ID を取得 job_ids+=($!) done # す…

【DRF】 カスタムユーザーを使ってuserをregisterする時、パスワードを入れているのに「この項目は必須です。」と言われる

Django Rest Frameworkを使ってカスタムユーザーを使ってユーザー登録しようとした時、password1とpassword2を同じにして登録しているはずなのにパスワードが必須だと言われる。 { "password1": [ "This field is required." ], "password2": [ "This field …

動画・画像にSaliency Mapを重ねて出力する(Python, OpenCV)

pythonのOpenCVを使って顕著性マップ(saliency map)を元の画像に重ねて表示する。 重ねて表示することで動画や画像を目視しながら分析することができる。 顕著性マップ(saliency map)とは サリエンシーマップとは、人々の視線が最初に向かう領域を表現するヒ…

ブラックショールズモデルを解説してみる(株価モデル編)

金融工学、株価モデル、ブラックモデル

情報処理安全確保支援士に合格しました

セキュリティに関する体系的な知識が不足していると感じ、勉強の目標として情報処理安全確保支援士の勉強をしていました。 今回(令和五年春期)合格することができたので、大まかにやったことと感想を記しておこうかと思います。 対策したこと・押さえてお…

【Flutter】 sqliteのDBの内容を確認する方法 for iOS

Flutter開発している中でsqliteのデータの中身を確認したいという場面が出てきた。 Android StudioのDatabase Inspectorの機能を使う方法やadbコマンドを使う方法はあるようだが、Anrdoidのエミュレータでしかこの方法は使えない。 基本的にiOSシミュレータ…

Implement Prime spiral & Ulam spiral

Prime spiral from matplotlib import pyplot as plt import numpy as np from sympy import isprime upper_limit = pow(2, 17) theta = [] r = [] ptheta = [] pr = [] def f(x): return (np.sqrt(x),x) for i in range(1, upper_limit): res = f(i) r.appe…

セキュリティ上閉じるべきポート番号一覧

web

一覧 代表的なポート番号とセキュリティ上閉じることが推奨されているポート番号をまとめる。 ※あくまで慣習的な話であって、もちろん「閉じる」としているポートも使い方を把握して適切に開ける分には問題ない。 ポート番号 サービス名 推奨されるセキュリ…

統計検定1級に合格しました

以前統計応用については合格していたのですが、統計数理は何度か落ちていたためN度目のリベンジでした。この度2022年度統計数理も合格することができたのではれて統計検定1級を名乗れるようになりました。 月並みですが、自分なりに対策したことを書き残して…

Flaskを使ったOAuth2.0のクライアント側の実装

手を動かしてOAuthを理解したかったので、お試しクライアントアプリを書いてみた時の備忘録。 Flaskで実装されている例が見当たらなかったのでちょうどよいと思って試してみた。 (python3.10.9) OAuth2.0とは OAuthとは一言で言えば、利用者に外部のサービス…

カウントダウン数列を考える

カウントダウン数列を考える 京都大学の学園祭の看板で四則演算の組み合わせだけでカウントダウンを表現するというのが話題になっているようだ。 そこで、同じ仕組みで色々な数列に対してどれだけのカウントダウンができるのかを考えてみた。 京都大学の学祭…

【Flutter】便利なパッケージ・参考になるサイトまとめ

Package UI 画像・アイコン フォント テーマ ローディング、Progress 入力・ボタン ルーティング その他 状態管理 その他 DAO バグレポート ローカルストレージ 開発ツール 参考になるサイト・リポジトリ 番外編 [随時追記予定] 最終更新(2023/7/21) Flutter…

2進数を使って(表裏/オンオフ)数え上げ

N枚のコインを同時に投げる場合やN人のYES/NOの数え上げなどがしたい時は、 2**N通りのパータンを2進数に変換してしてからパターンを作ると良い。 具体的には、 0~2**N-1までの数字を10進数⇒2進数表記に文字列として変換したのち、文字列をリストと考えて処…

pythonのargsとkwargsの使い方色々

※実行環境 python3.6 ########### 基本的なargs def argsfunc(*args): return args[0] + args[1] print(argsfunc(1,2)) # print(argsfunc(dog=1, cat=2)) 引数名を与えるとargsとして認識してくれない ########### 基本的なkwargs def kwargsfunc(**kwargs):…

エクセルで編集したデータをそれぞれのシート名でCSVに変換する【python】

動作確認環境 python3.6.1 pandasが必要。必要に応じて以下コマンドでインストールする。 pip install pandas コード import pandas as pd import sys def excel_to_csv(filename, target_sheet_index = None, target_folder = "./"): ''' エクセルで編集し…

Pythonで月ごとの営業日数を求める

月ごとの営業日数を求めたい事があったので、pythonで簡単にやってみた。 祝日計算 祝日計算には内閣府のcsvファイルを取ってくる方法を見つけた*1が、これだと振替休日などに対応できない。 そこで、こちらで紹介されているjpholidayを使った。 github.com …

仮想通貨を担保に法定通貨をローンするサービス【BlockFi】

BlockFiという会社のサービス https://blockfi.com/仮想通貨を担保にすることで信用リスクを抑え比較的低金利で法定通貨を借りることができる。 クレジット情報を詳細に聞かれることはないので審査も早い(どれくらい審査があるかはわからない) イーサリア…

ブラックショールズモデルでグラフを描く

以前書いたブラックショールズモデルの関数を使って、権利行使までの時間と行使価格を動かしてグラフを描いてみようと思う。 swdrsker.hatenablog.com 権利行使までの時間が長くなるほど緩やかな曲線になるのを見たい。 import numpy as np from scipy impor…

jupyterでtornadoがないと言われた時のメモ

新しいパッケージをインストールした後、いつものように jupyter lab とjupyterを立ち上げようとしたところ $ jupyter lab Traceback (most recent call last): File "c:\tools\anaconda3\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_…

3次スプライン補間を実装する

3次スプライン補間 補間とは? 補間とは、点群に対してその点群を通る連続な関数を当てはめること。 もっとも単純なものは線形補間で、いわゆる折れ線グラフのようなもの。 特に3次スプライン補間とは点群間を3次多項式で表し2階微分まで連続にするような補…

ヨーロピアンオプションの価格計算(ブラックショールズモデル)

ブラックショールズモデルを使ってヨーロピアンオプションを計算するpythonコード ブラックショールズモデル ※無配当の原資産を前提としている:スポット価格 :行使価格 :ボラティリティ :満期までの期間 :金利 としてコールオプション価格: プットオプ…

【java】ある文字列がEnumメンバのString属性に含まれるかどうかを調べる

javaで、String型の属性を持ったEnumを扱う際、該当するStringがそこに含まれるかどうかを知りたいことがある。 Enumのクラス内に以下のように文字列を取得する関数を用意しておいてメンバーかどうかを判定する関数isMemberを作る。 public enum Status { QU…

pythonでゴールデンクロスデッドクロスを可視化(2)

前回の続き 前回のものを改良し、 長期移動平均線が上向きで短期移動平均が長期移動平均を下から上へクロスする場合、買い。(ゴールデンクロス) 長期移動平均線が下向きで短期移動平均が長期移動平均を上から下へクロスする場合、売り。(デッドクロス) …

pythonで為替データを取ってきて移動平均、ボリンジャーバンド、ゴールデンクロス、デッドクロスを可視化

pythonで為替データを分析したり可視化してみたいと考えた。 今回は、リアルタイムでドル円相場を取ってきてローソク足をプロットし、その上に移動平均,ボラティリティ,ゴールデンクロス,デッドクロスを可視化してみるというところまでやってみる。 デー…

Pythonでコマンドライン引数を渡す方法3種類

Pythonでコマンドライン引数を渡す方法は知る限り下記の3種類ある。 1. sys.argv 2. argparser 3. docoptこのうち、主に上の2つを紹介する。 sys.argv 最も簡単な方法。 コマンドラインの引数を配列のようにして扱う。 sample import sys print('script na…

ASP, Saas, Paas, Iaas, Daasの具体例を挙げてみる。活用方法など。

クラウドの分類として用いられるSaas…etcなどの分類、言葉だけ聞くとあまりピンとこない。 実例を挙げることでイメージしやすくしてみた。 *1 ASP, Saas ASPはアプリケーションソフトの機能をネットワーク経由で顧客にサービスとして提供することであり、そ…

pythonでコードを書きながら楕円曲線暗号を理解する

仮想通貨についての勉強 楕円曲線暗号とは、ビットコインのデジタル署名で使われてる公開鍵暗号方式。この記事にあるコードを写経しながら勉強する。 自分自身まだ深く理解してないところがあるので解説は別の機会に書くことにしてメモ書き程度にとどめてお…

pythonでコードを書きながらデジタル署名を理解する

仮想通貨の仕組みについての勉強の続き。 仮想通貨にはなくてはならないデジタル署名を実装して勉強した。 デジタル署名自体は目新しいものではなく昔からある技術で、今でもネット決済など広く使われている。 デジタル署名とは ザックリとした説明 デジタル…

pythonでコードを書きながらブロックチェーンを理解する

いまや知らない人はいない仮想通貨、別名暗号通貨(cryptocurrency)。 ドル円とは比べ物にならないほどの殺人的なボラティリティを見せているけれど、しばらくすれば落ち着いてくるんだろうか。 はっきりいって今の相場と税率でレバレッジ15倍とか正気の沙汰…