ベスパリブ

ベスパもってないです。バイク買いました。

Jupyter Notebookをフォルダ右クリックで開けるようにしてくれるstart_jupyter_cm

Jupyter Notebookを起動したあと毎回フォルダ移動するのが面倒くさい。なのでstart_jupyter_cm というリポジトリをインストールします。Windows と GNONE に対応(2019/08/23現在)されています。 github.com インストール方法はリポジトリのREADMEを読めば…

Windows環境にMySQLを入れたかったけど、ネットワークが頻繁に切れるからやめた話

Windows10 64bit 環境にMySQLを入れたい。 やり方がさっぱりだったので、ドットインストールに頼りました。 ドットインストールのMySQL入門 やればわかりますが、まずはローカル環境を構築してくださいと言われます。 ドットインストールのローカル環境の構…

大阪府立大学の「アカデミックライティング入門」がとても良かった

私は大学はとっくに卒業してるのですが、大阪府立大学が学生向けに出している「アカデミックライティング入門 レポートの書き方」というPDFを読みました。私は大阪府立大学とは全く関係のない人間ですが、大学1回生のころに読んでおいたほうがいいというか、…

セキュリティ関連の参考サイトメモ

www.owasp.org

GitHubはリポジトリのコードをスキャンしてセキュリティの脆弱性を指摘してくれるらしい

公開しているGitHubのリポジトリに、ある日突然アラートが表示されました。 アラート We found a potential security vulnerability in one of your dependencies. (訳)依存関係のひとつに、セキュリティ脆弱性の可能性があるものを見つけました。 「See sec…

webpackメモ

参考 面倒なJavaScriptコードのとりまとめがこれ1つで可能に、「webpack」入門 | さくらのナレッジ Installation | webpack 公式サイト インストール npm install -D webpack npm install -D webpack-cli バージョン指定 npm install -D webpack@4.35.0 pack…

`Unhandled rejection Error: original.line and original.column are not numbers` エラーの解消

--mode=developではエラーは発生せず、--mode=productionで以下のコマンドを打つとエラーが発生した。 $ ./node_modules/webpack-cli/bin/cli.js --mode=production Unhandled rejection Error: original.line and original.column are not numbers -- you p…

pathlibのファイル操作いろいろ

pathlibとは Python 3.4以上で推奨されているファイル・パス操作のモジュール。 os.path の代替となるモジュール。 docs.python.org 使い方をよく忘れるので備忘録です。 返り値はPathオブジェクトなので、文字列に変換したかったらstr()で囲んでやります。 …

VSCode用スニペットに変換するジェネレータサイト

日本語で検索しても見つからなかった方へ。 お探しのサイトは、以下のサイトです。 snippet-generator.app AtomやSublime Textのスニペットにも変換できます。

Pythonでダイクストラ法

ダイクストラ法とは ダイクストラ法とは、「重み付きグラフにおける単一始点最短路アルゴリズム」 つまり、「始点s から各頂点i までの最短コストを求める」アルゴリズム。 使用条件は以下の通り。 負のコストがないこと 有向グラフ、無向グラフともにOK ベ…

Pythonの辞書(dict)のgetメソッドの速度を調べてみた

辞書(dict)でキーの存在確認をする際の方法としては、 in演算子を使いif文で条件分岐する get()メソッドを使う try exceptを使う(そんな人いるか?) の3種類くらいだと思います。 その中でもget()メソッドはワンライナーで書けて便利なのですが、速度的に…

Pythonのin演算子の計算量について

リスト(list)、タプル(tuple)、集合(set)、辞書(dict)にはin演算子がありますが、それぞれ計算量が違うようです。 python リスト、辞書、セット型のinを使った時の参照速度を調べてみた。 - Qiita Python Speed - www.peignot.net リスト(list) タプル(tuple…

Pythonでベルマンフォード法

ベルマンフォード法とは 蟻本によれば、「重み付き有向グラフにおける単一始点最短路アルゴリズム」 つまり、「始点s から各頂点i までの最短コストを求める」アルゴリズムです。 以下の条件で使えます。 DAG(有向グラフで閉路を持たない)である 負のコス…

行き詰まったり、やる気が起きないときの対処法

今の所の個人的なベストプラクティス 行き詰まっているとき 誰かに相談する 独り言を言う やりすぎるとクビが飛ぶらしい 歩行運動しながら考える(とにかく席を立つ) やる気が起きないとき さっさと家を出る(家にいる場合、最優先でこれをすること。家以外…

PythonでUnion-Find木

Union-Find木とは Union-FindまたはDisjoint Setとは、蟻本の言葉を借りると「グループ管理のためのデータ構造」。 ・要素aと要素bが同じグループかどうか ・aが属するグループと、bが属するグループを併合(unite)する ということをしたいときに使います。 U…

Pythonのリスト操作のinsert(0, v)やpop(0)の計算コストはO(N)かかる

散々語り尽くされていますが、リストの先頭に対する要素の挿入(insert)や要素の削除(pop)の計算コストはO(N)かかります。このことは公式ドキュメントのcolections.dequeの説明に記載されていているのでその該当箇所を引用すると、 docs.python.org list …

RecursionError: maximum recursion depth exceeded in comparison の対策(Python3)

再帰関数を書いたら以下のエラーが発生した。 RecursionError: maximum recursion depth exceeded in comparison エラーで検索したら以下の記事にあたった。 Python3で再帰上限数の変更 - Qiita 書いてあるとおりに、ソースに以下のコードを追加したらなおっ…

私のGitの定形フロー

git

Gitに慣れ、だいたい以下の流れが定形になったので、備忘録として残します。 1. featureブランチの作成 機能Aを追加することになったので、developブランチから機能Aを実装する用のブランチ(feat/task-A)を作り、そこで機能Aを実装します。 # ローカルのdeve…

Chrome拡張のContent Scriptのメモ

Content Scriptについて Content ScriptはWebページに差し込まれる Webページ内のidなどの要素にはアクセス可能 document.getElementById('title')などが可能 Webページ内のJavaScriptの変数にはアクセス不可能(スコープが違うので、Content Scriptの変数と…

Anacondaの環境変数のパス(Windows)

$ conda update anaconda-navigator をしたらCondaHTTPErrorとかSSLErrorとかエラーだらけになった。 メインPCだとエラーにならず、ノートPCだとエラーになったので、メインPCと同じ設定にしようと思って環境変数のパスを確認したらパスが足りなかった。最終…

SSHでもBitbucketのpushやfetch時に毎回パスワード聞かれるときの対処法

ググったら似たような症状が出るわけです。 git パスワード を毎回聞かれる問題の解決方法 - Qiita bitbucketへのpush時に毎回パスワード入力しなくて済むようにする - Qiita ただし上記の記事は、「HTTPSからSSHに変更したら直る」という内容です。 私の場…

com_error at / (-2147221008, 'CoInitialize は呼び出されていません。', None, None)

エラーの対処法 Djangoで作ったWebアプリケーションで表題のエラーが発生しました。 このWebアプリは、Web画面でファイルをアップロードし、ファイルをサーバーに渡し、サーバー側でExcelを起動しファイルを処理する。というようなものです。Excelを起動する…

condaのPackagesNotFoundError

condaで何かをインストールするときにPackagesNotFoundErrorが出るときの主な原因は、 (1) タイプミス (2) 探すリポジトリになかった (2)の場合は探すリポジトリを追加させます。 # condaが探すリポジトリ先の確認 $conda config --get channels # conda-for…

Django Girls Tutorialをする

はじめに Djangoの最初のプロジェクトを作る方法、毎回ググってやるのがつらいので、備忘録として残したい。 Django Girls Tutorialを通してやることで、備忘録とします。 上記のページは情報が古くなってる可能性があるので、GitHubのリポジトリを確認した…

AtCoderSort

コード # coding: utf-8 class Person(): def __init__(self, rate, height, age, name): self.rate = rate # レート self.height = height # 身長 self.age = age # 年齢 self.name = name # 名前 def AtCoderSort(p, key, key_reverse=False): """ (1) ソ…

クラスに対するソート(Python)

やりたいこと class Person(): def __init__(self, _id, height, name): self._id = _id self._height = height self._name = name def solve(): N = 5 p = [None] * N p[0] = Person(5, 160, "うえだ") p[1] = Person(2, 140, "いいだ") p[2] = Person(4, 1…

海底ケーブルマップがすごい

Django GirlsのREADMEを読んでいて、インターネットの仕組みの項目を読んでいた。 そこに海底ケーブルマップのサイトのリンクがあった。 Submarine Cable Map すごい。色々すごいけど、志摩市の海底ケーブルの本数がすごい。志摩スペイン村しか知らなかった…

ラズパイでgpartedを実行、"e2fsck cannot continue aborting is mounted"エラー

Raspbian用のSDカードの容量を小さくしたかった。 以前にもやったので、その方法を備忘録として残していました。試行錯誤の結果、以下の記事のまんまやればよいことがわかりました。 qiita.com で、やってたらエラーが起きました。エラーの詳細を読むと、以…

Pythonの__file__は、対話モードで実行するとエラーになる

Pythonで、ファイル名を出力してくれる__file__は、対話モードで実行するとエラーになります。 > python Python 3.7.1 (default, Dec 10 2018, 22:54:23) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32 Type "help", "copyright", "credits" or "…

Bitbucketでブランチのブランチタイプを変更する

Bitbucketで、masterブランチのブランチタイプ(Branch type)がMAINかつDEVELOPMENTになっていたので、developブランチをDEVELOPMENTにしたいという話です。 masterブランチがMAINかつDEVELOPMENT 設定 > Branching model で、Development branchを変更して…