みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

windowsでwslを使って快適なanacondaの環境を整える

Windows Subsystem for Linux (WSL) が便利になってきたので,Windowsで開発がしやすくなりました.Anacondaの環境を整えてみます. 環境 Windows 10 Home WSL Ubuntu 18.04 LTS Anaconda 2020.02 for Linux WSLのインストール WSL Ubuntu 18.04 LTSをインス…

Statistics review シリーズ一覧

Crit Care.にシリーズで投稿されている統計学のreview論文を見つけたのですが,論文がシリーズになっていると一覧しにくいので,リンクを貼っておきます. これだけ充実していると,統計学の教科書を買う必要がないように思います.無料で読めるのでありがた…

Pythonで生存分析

Pythonで生存分析の練習をしながら統計の理解を深めるための記事です.この記事を読めば,統計のreview論文1つとPythonを用いた統計処理が追えるようになっています. Critical Care 2004, 8:389-394に書いてあることを適宜訳しながらPythonで検証します. …

docker-composeのvolumesのパス指定の整理

docker-composeでvolumesを指定するとき,ホストとコンテナのパスがどうなるかをあれこれ考えるとややこしいので,整理します.また,検索しても古い情報が出てくるので,現時点で最新のversion 3を使用します. 公式ドキュメントに詳しく書いてあります. C…

dindからdoodへ

Docker-in-Docker (dind) を使わないでという記事を見つけた. Using Docker-in-Docker for your CI or testing environment? Think twice. dindを使おうと思っているなら,もう一度考え直すのだ.dindはDockerそのものの開発のために作られたものなのだ.di…

lifelinesで解析してみた

JupyterでKaplan-Meier 曲線を書いてみました. 使用したデータは German Breast Cancer Study Group 2 です. datasets — lifelines 0.24.1 documentation 項目 GBSG2 function | R Documentation horTh : hormonal therapy, a factor at two levels no and…

VS CodeでAnacondaのJupyter Labを快適に使う

Jupyterを使うには,Jupyterサーバーを立ち上げて,クライアントとしてブラウザーを使うのが標準です. これはこれでよくできているのですが,やはりVS Codeに慣れていると,いろいろと不自由なことが多いです.試しにVS Codeでipynbファイルを開いたら,Jup…

Google OneはGoogleのサポートを利用するために契約するべき

Googleのサポートを受けるには,いろいろと工夫が必要です*1.有料ユーザーになると,かんたんにサポートが受けられるという噂を聞いたので,実際に使ってみました. Google One (https://one.google.com/support) 電話やチャット,メールで受け付けているよ…

ColorOSはデフォルトで通話が録音できる

Oppo Reno A を購入しました. www.oppo.com AndroidをベースとしたColorOSというOSを搭載しているようです.使っていて驚いたのですが,通話の録音に対応しているようです. 日本では,無許可で電話の内容を録音することは適法とされています. 「録音は基…

Windows 10でSSDを節約する

みーのパソコンのSSDの空き容量が減ってきました. 118 GBのうち16GB しか空き容量がありません.SSDはあまり空き容量が不足しないように使うのが重要と言われています. SSDの空き容量が不足すると、読み込み・書き込み速度の低下を引き起こします。この原…

RFIDでお会計

GUで洋服を購入したのですが,レジの中にかごを入れるだけで合計金額を計算してくれました. セルフレジについて | ジーユー | ジーユーお客様窓口 洋服に付属していたタグをよく見ると,「RFID」と書いてありました. 特殊な撮影を行い,内部の金属をスキャ…

24GBのメモリーを使い切る

みーのiMac (Retina 5K, 27-inch, Late 2015) はメモリーを24GB搭載しています. 最初に4GB * 2枚で注文して,自分で8GB * 2枚を追加しました. 24GBのメモリーを使うために,いろいろとソフトウェアを起動しました. Docker VScode Evernote Brave Browser …

シングルトンを実装する

シングルトン とは,そのクラスのインスタンスが1つしか生成されないことを保証するデザインパターンのことであり,アプリケーション全体で1つの共通データがあればよい,という時に重宝します. シングルトンが必要になったので作ってみました. 通常のクラ…

RustのmuslなライブラリーをAlpine Linuxで実行する

Rustで作成した共有ライブラリをLinux環境で使用するには,ターゲットをx86_64-unknown-linux-muslでビルドします.これをAlpine Linuxで実行すると,依存関係でエラーがでます.Alpine Linuxは必要なパッケージを自分で明示しないと動かないからです. Impo…

Pythonの組み込み定数について

以下は一見不可解なコードだが,Pythonでエラーせず実行される. def a(): ... assert id(a()) == id(None) assert id(1 == 1) == id(True) assert id(1 == 0) == id(False) assert id(...) == id(Ellipsis) シングルトンの組み込み定数 Pythonにはシングル…

Rust 対 Python

Pythonだと100分かかる処理があったので,Rustで書き直したら4秒で処理できるようになった. その処理を実装するのに,Pythonだと10日しかかからなかったが*1,Rustだと30日かかった*2. 実装するのが大変だったが,処理速度が1500倍にパワーアップして感動…

PyO3でRustのメモリが開放されるのを確認する

Rustで作成したPython用のクラスがPythonのタイミングで自動的にメモリ開放されるかを確認してみました. 環境 Windows 10 Pro 64bit CPU : Core i3-7100U CPU @ 2.40GHz Memory : 12.0 GB rustc 1.42.0-nightly (2020-01-17) cargo 1.42.0-nightly (2020-01…

RustとPythonの連携

PythonからRustを呼び出すために,PyO3を使用します. 環境 RustでPython用のClassを作成 Cargo.toml lib.rs Pythonのlistを扱う lib.rs tuple を含む list を扱う lib.rs exceptionを使う lib.rs 環境 Windows 10 Pro 64bit CPU : Core i3-7100U CPU @ 2.40…

Rustでx86_64-unknown-linux-musl向けにビルドができない

GitLab CIで,Rustで作ったプログラムを動かすときにハマったのでまとめます. GitLab CIで,docker image rust:alpine3.10 を使ってビルドしようとしたら, error: cannot produce proc-macro for `serde_derive v1.0.104` as the target `x86_64-unknown-l…

RustとPythonのベンチマーク比較

計算速度が重要なソフトウェア開発のために,Rustを勉強しています.Pythonと比較し速度を体感するために,簡単にベンチマークしてみました. 環境 CPU 3.2GHz Core i5 Memory 24GBytes macOS Mojave rustc 1.42.0-nightly Python 3.7.4 64bit 素数判定 Carg…

コピーするときの動作

変数aに文字列「これはテストです.」があり,これを変数bにコピーする,という動作には3つの選択肢があります. aとbが同じオブジェクトを参照する そんなややこしいことはするなとエラーにする オブジェクトを複製する aとbが同じオブジェクトを参照する …

USBデバイスを繋げすぎるとMacのマウスがうまく動かなくなる

みーのiMacで最近マウスの調子が悪く,次第にディスク速度が低下してiTunesの音楽再生がまともにできなくなったので,原因を調べて解決しました. 環境 iMac (Retina 5K, 27-inch, Late 2015) インテル® Core™ i5-6500 プロセッサー macOS 10.14.6 現象 マウ…

GitLab private repositoryにある自作Pythonパッケージをpipでインストールする

自分で作成したPythonパッケージをGitLab上のプロジェクトで管理していて,これを別のプロジェクトで使用する方法を紹介します. 環境 MacOS 10.14.6 Python 3.8 GitLab 前提条件 trieという名前のプロジェクトが,private repositoryとしてGitLabに存在する…

gitlab-runnerの設定メモ

みーがGitLab CIを利用する時の自宅gitlab-runnerの設定メモ. 詳細はこちらを参照ください. concurrent = 8 check_interval = 0 [session_server] session_timeout = 1800 [[runners]] name = "mate" url = "https://gitlab.com" token = "Xxxxx-Xxxxx_xx"…

そのままなCSS

とあるサイトのCSSで, .Text-fontWeight--500 { font-weight: 500; } .Text-fontSize--11 { font-size: 11px; } というclassが定義されていました.これは, <div style="font-weight: 500;"></div> <div style="font-size: 11px;"></div> と記載するのと全く変わらないような気がします. .Text-error { font-weight: 500; font-size:…

ネストされた括弧と正規表現

ネストされた括弧を扱おうと正規表現を調べましたが,Pythonの標準のreには,(?R)など再帰が扱えないことが分かり,代わりにregexを使えばよさそう*1ということは分かりましたが,わざわざ正規表現を使わなくてもよいのではと思い,シンプルに書いてみました…

cp -R コマンドがMacOSとLinuxで動作が異なる

開発環境はMacOSで,ファイルをコピーするシェルスクリプトをDockerで動かしたときに,ファイル構造が異なるためにエラーとなった際のメモ. 以下のような構造のディレクトリがあるとして, a/ 1.txt 2.txt b/ このコマンドを実行すると, cp -r a/ b/ MacOS…

Hyper-Vのためにメルカリで中古PCを購入した

Windowsで仮想OSを使用する場合はVMware などいろいろな仮想化技術がありますが,Windows 10にはHyper-Vが標準搭載されているので,使ってみようと思ったら,みーのPCのWindows10がHomeなのでHyper-Vが有効にできない*1ために,一旦はHyper-Vを諦めて,Docke…

DockerでOWASP ZAPを使う

Webサービスの開発において,ペネトレーションテスト*1はセキュリティ対策上重要です.しかしながら,開発環境に脆弱性を伴ったウェブサイトを実行するサーバーをインストールするのはセキュリティ上不都合です.最近はDockerによる仮想環境が普及しており,…

LG gram のメモリーを増設した

以前に購入したLG gramのメモリーを増設しました. スペック 13Z980-MR33J 13.3インチ重量965g Windows 10 Home インテル® Core™ i3-7100U プロセッサー 4GB DDR4 2133メモリ 128GB SATA3.0 SSD 4GBのメモリーではVSCodeであれこれしているとすぐにスワップ…