SlackからエクスポートしたZIPファイル内のファイルパスの文字化けを修正する

いつからかSlackのチャンネル名に日本語が使えるようになったが、SlackからエクスポートしたZIPファイルのファイル名、ディレクトリ名はcp437 コードページ437 - Wikipedia でエンコードされているため、UTF-8にするには、cp437としてエンコードする必要があ…

.gitignore: ディレクトリ内の一部のファイルだけ管理して他は無視する方法

Git

ディレクトリを無視 /build/ と書くと、それ以降の全ての除外(!)は効かなくなるので注意せよ。 ディレクトリ内の一部のファイルだけ管理して他は無視するとき、さらに深いディレクトリにある一部のファイルだけ管理して他は無視するときの .gitignoreの記述…

未解決: Googleドキュメントで変換中の文節が分からない

GoogleドキュメントやGoogleスライドショーで日本語入力をしているとき、文字変換中に、変換対象の文節(部分)が分からない問題が発生している。 ハイライトは表示されない。アンダーラインで太い+点線の区別もなく、アンダーラインの切れ目もない。これでは…

Python: SlackにインポートするためのCSVファイルを、Slackのエクスポートしたデータ(ZIPファイル)から作成する

旧ワークスペースの一部のチャンネルのみ、新ワークスペース(新WS)にCSVファイルで移行するためのPythonスクリプトを書いたので紹介する。 準備することは、 旧ワークスペースからエクスポートしたデータ (アーカイブしたZIPファイル) ワークスペースのチャ…

SlackにCSVファイルで投稿をインポートする

Slackの旧ワークスペースを、その構造を保ったまま別の新ワークスペース(新WS)に移行するのではなく、特定のチャンネルの投稿だけを新WSに移行させたいとき、CSVファイルを使うのが便利だ。WSごと移行よりも、工数が少なく作業が容易である。 slack.com に解…

Pytyon: Jupyter lab 起動時に cannot import name 'soft_unicode' from 'markupsafe'

C:\Users\Masahiro\Downloads\slack>jupyter lab Traceback (most recent call last): File "c:\users\masahiro\appdata\local\programs\python\python37\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "c:\users\masahiro\a…

Python: 2次元図で凸多角形の内部のイベントを得る

例外処理はちゃんとしてないので注意せよ。 import numpy as np import awkward as ak import matplotlib.pyplot as plt # 配列作成 obj={} rs = np.random.RandomState(0) obj["memx"]=rs.rand(1000) obj["memy"]=rs.rand(1000) memx = "memx" memy = "memy…

Ubuntu 18.04 LTS 起動しない問題の解決 (ディスク関連)

「Ubuntuが起動しないので何とかしてほしい」という依頼を受けて、OSが入ったSystem用のSSDだけもらって原因を究明した話。 手元のデスクトップパソコンに適当に挿して起動すると /dev/sda2: clean, **/** files, **/** blocks You are in emergency mode. A…

Python: Energy loss と Energy straggling

まず、各定数の確認する。 import numpy as np elementary_charge = 1.602176634*10**-19 # 電気素量 C c_light_m = 299792458 # 光速 m/s electron_mass_kg = 9.1093837015*10**-31 # 電子質量 kg permittivity_vacuum = 8.8541878128*10**-12 # 真空の誘電…

Python: 4桁の原子量

standard_weights = [1.008, 4.003,\ 6.941, 9.012, 10.81, 12.01, 14.01, 16.00, 19.00, 20.18,\ 22.99, 24.31, 26.98, 28.09, 30.97, 32.07, 35.45, 39.95,\ 39.10, 40.08, 44.96, 47.87, 50.94, 52.00, 54.94, 55.85, 58.93, 58.69, 63.55, 65.38, 69.72,…

Visual Studio: Cで書かれたライブラリをC++から呼ぶ方法

C言語で書かれたライブラリ (.libファイル) を C++からは直接呼ぶことができない。検証してみる。 libtestというプロジェクトで、構成の種類をスタティックライブラリ (.lib)にしたプロジェクトを作成した C言語で書かれたライブラリと、サンプルプログラム…

Pythonから外部プログラムを実行して標準出力をstrで得る

WindowsでもC++を直接呼ぶ方法があるらしいが、めんどくさいので引数で情報を渡して、標準出力で結果を得ることにする。 import subprocess exe = 'puroguramu.exe' arg = "hikisu" #引数が1つの例 proc = subprocess.Popen([exe, arg], stdout=subprocess.P…

Python matplotlib でよく使う機能のまとめ tips

描画に応じてキャンパスを無視して出力する。bbox_inches="tight" plt.savefig("result.png", bbox_inches="tight") 長方形を描画 matplotlib.patches.Rectangle アスペクト比を調整 matplotlib.axes.Axes.set_aspect 矢印を描画 matplotlib.pyplot.quiver g…

Python lmfitを使って、マルチガウシアンでフィッティングする

phst.hateblo.jp の続編 mzfit が使っている tensorflow が重すぎなのと、モジュール読み込みに時間がかかるのと、機能的に不足する点があったのと、マルチプラットフォームであるべきという思想に反するので、lmfitを使ってマルチガウシアンでのフィッティ…

Python ウェブサイトで公開されているネットワーク障害の頻度を解析する

名古屋大学の障害情報一覧にあるネットワーク障害の発生年月日、発生月をPythonで解析してみる。2022/05/14 時点でのHTML構造に対応しているので、ホームページの構造が更新されると使えなくなることをご承知おきください。 データをダウンロード import url…

Python + NumPy: 乱数生成のシード(RandomState)をちゃんと管理する

qiita.com NumPyでは、発生する乱数をシードを使ってコントロールすることが可能で、グローバルシードを使う方法と、乱数状態を保持したクラスを使う方法がある。 グローバルシードを変更する np.random.seed(seed) と、乱数状態クラスを取得するための np.r…

Python: イオンの質量

単一原子の基底状態のイオンの質量をPythonで求める。データは nds.iaea.org から引っ張ってきた。APIの説明。 def get_ion_mass(z, a, q): import os gs_filename = "ground_states.csv" if not os.path.exists(gs_filename): import urllib.request url = …

Python 動的にモジュールを作成、import、再import (リロード) する

Pythonはインタプリタなので、文字列から動的なimportが可能である。 Pythonのコードの中で、NewModule.py を作って、それを読み込んでみよう。 NewModule.py に書くテキスト print(0) a = 10 + 0 Pythonコード。import importlib が重要。 module_name = "N…

複数の配列から、特定の配列で条件に合うものを削除したり、値を変えたりする

2つめの配列を条件にして、他の配列も削除したり、他の配列の値も変えたりする。 後者では、変える値は1つめから3つめまで全て同じ値になってしまう。異なる値にする方法はあるのだろうか。 import numpy as np a1 = np.array([10, 20, -30, 99, 33]) a2 = n…

Python lmfitを使って、2次元ヒストグラムを2次元正規分布でフィッティングする (1次元も)

qiita.com lmfit.github.io pip3 install lmfit で lmfitをインストールする コード import numpy as np import lmfit from lmfit.lineshapes import gaussian2d, lorentzian import matplotlib.pyplot as plt npoints=10000 np.random.seed(0) x = np.rando…

Python: 二次元データを二次関数(y=ax^2+bx+c)でフィッティング、係数と誤差を得る

phst.hateblo.jp の二次関数版 import numpy as np # データ生成 x = np.array([10.09659323, 10.40523609, 10.72069954, 11.03063238, 11.33665493, 11.6391395, 11.9381814, 12.23925842, 12.5349865, 12.82765475, 13.11407145, 13.40273189, 13.69487096…

Windows: WSL上のCentOSでGUIを使う

Ubuntuと必要な操作はほぼ同じ。 以下のサイトからCentOS7かCentOS8のZIPファイルをダウンロードする。 github.com CentOS6の環境テストをしたかったので、今回は古い方のCentOS7をダウンロードした。ZIPファイルを解凍して、CentOS7.exe を起動するとWSLに…

Windows リモートデスクトップ越しにCtrl+Alt+矢印キーが使えない

VScodeで矩形選択をするとき、Ctrl+Alt+Shift+矢印キーのショットカットキーを使う。このショートカットキーが、リモートデスクトップ (RDP)越しでは使えなかった。 キーボードチェックで確認すると、矩形選択の機能が使えないのではなく、キー入力がリモー…

Windows 10/11 で CERN ROOT6を動かす 2022年度版

Windowsネイティブ(x86)で動かす方法 (日本語) github.com Windows上のWSL (Ubuntu)上で動かす方法 (日本語) github.com かなり急いで作ったので、皆さんデバッグをよろしくお願いします。 記事公開時点で告知はまだですが、2022年度のROOT講習会もよろしく。…

Python: 正規分布同士の分離度と重なりの割合

分離度(Resolution, R)=2.5のヒストグラムがどういうのか想像できなかったので作ってみた。分離度はそれぞれの分布を正規分布としたとき、隣り合うピークの平均値の差 と、各ピークの標準偏差を使い、以下の式で定義している。 半値全幅 FWHM は なので、 と…

Python: 元素記号

periodic_table = ["H", "He",\ "Li", "Be", "B", "C", "N", "O", "F", "Ne",\ "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar",\ "K", "Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr",\ "Rb", "Sr",…

PythonでPanasonic製のウェブカメラの画像を定期的に保存する

参考にしたサイト qiita.com わざわざ書き直すまでもないが、一応メモとして残しておく。 import requests from requests.auth import HTTPDigestAuth import datetime from time import sleep username = "user" password = "password" url = 'http://192.1…

Windows 10のモダンスタンバイのイベント調査

手持ちのSurface Bookが、持ち運びのために閉じたにもかかわらず、1時間後もラップトップが温かいままだったのが不思議で少し調べてみた。 まずは、以下の記事を読んで欲しい。 docs.microsoft.com このモダンスタンバイ状態への遷移は、イベントビューアー…

Office 365 カレンダーに予定を追加するURLリンクを作る

どうも、公式ドキュメントはないようだ。 基本URL Microsoft Office 365 カレンダーの場合は https://outlook.office.com/calendar/action/compose? Outlook カレンダーの場合は https://outlook.live.com/calendar/action/compose? ウェブエンジニアにはお…

Python: リストを組み合わせて合計がXになる整数の組み合わせの計算

ある特定の需要から、必要な消耗品リストの金額を組み合わせて、合計額がX円になる消耗品の組み合わせ(予算X円の残額を0円にする組み合わせ)を調べたくなった。 qiita.com 上記の再帰をうまく使ったコードほぼそのままだが、予約語の置き換えとPython3への対…