WSL2上のUbuntu 20.04にemacsをインストールしようとして $ sudo apt install emacs としたところインストールできませんでした(エラーメッセージは記録し忘れました)。 お決まりの $ sudo apt update $ sudo apt upgrade したあともう一度最初のコマンド…
emacsを使うとき、検索はC-s、置換はM-%を使う以上のことをこれまでしてきませんでした。より高度な検索・置換の仕方をまとめました。 検索 単語単位で検索 いくつか方法があります。ユースケースに応じて使い分けてください。 1つ目の方法は、C-s M-s w と…
scikit-imageというPythonのライブラリを使うと、サンプル画像をさっと取ってくることができます。 コード例は以下です。 import skimage print("scikit-image version: {}".format(skimage.__version__)) coffee_image = skimage.data.coffee() print(coffe…
久々にtravis-ci.orgにアクセスしたら "Since June 15th, 2021, the building on travis-ci.org is ceased. Please use travis-ci.com from now on." とメッセージが出たので、慌ててtravis-ci.comに移行したときのメモ。あとから思い出しながら書いたので抜…
Python 3で外部コマンドを呼ぶにはsubprocessモジュールで提供されているrun()を使うことが推奨されるのですが、毎回使い方を調べてしまっているので自分用にまとめます。順を追っていかないと引数の意味を理解しづらいところがあるので、冗長ですが簡単な例…
毎回調べてしまっているのでメモ。 import datetime now = datetime.datetime.now() print(now) で 2021-05-31 21:10:18.332820 というふうに表示できるのだけれど、個人的には秒までで十分なことが多いので、以下のようにするのが多いです。 import datetim…
Pythonのunittestをちゃんと使ったことがなかったので、使い方について調べてまとめました。Windows 10のAnaconda Python 3.8.5で動作確認しています。 もっとも小さな例 被テストコードとテストコードとを同一のスクリプトに記述した小さな例を以下に示しま…
サーバにてmatplotlibを使ってグラフを作成し、ファイルに保存することがよくあるのですが、実装するたびにググりまくって非効率なので、私が高確率で使う機能をテンプレ化しました。 さっそくコードを以下に示します。 import matplotlib import matplotlib…
恥ずかしながらC++のvectorのassign(n, val)という関数を知らなかったのでメモです。 よく似た関数に、resize(n, val)という関数があります。以下のコードで挙動を比較してみます。 #include <iostream> #include <vector> void print_vector(const std::vector<int> &vec) { for (a</int></vector></iostream>…
Windows PowerShell (この記事の執筆時点でバージョンは5.1) でTabキーを押したときの補完方法をbashのようにする方法について調べました。 デフォルトでの補完方法 まず、デフォルトでのWindows PowerShellの補完方法について説明します。例として、2021010…
PowerShellにてAnaconda Pythonの仮想環境をactivateしようとしてactivate (仮想環境名)というコマンドを実行しても何も起こりません。これを修正しようとしたときにやったことのメモです。注:私はAnaconda PythonにもPowerShellにも精通していないため、こ…
普段使わなくて覚えられないものを使いこなせるようになるようメモ書き。Windowsで動作確認しています。Ctrl / Shift / Altのコンビネーションが複雑で覚えるのが大変です… カーソル移動 Ctrl + Enter: カーソルがどこにあっても、カーソルの下に空白行を作…
Python 3の標準ライブラリであるsqlite3を使って、SQLite と呼ばれるデータベースを触ってみるメモです。 基本 テーブルを作成 以下のコードでは、都道府県のデータを格納するprefecturesという名前のテーブルを定義します。このテーブルは、name(都道府県名…
TensorFlowやKerasを使うと遭遇する logits という用語、ざっと検索してもすぐに意味が出てこなかったので書いておきます。なお、この用語は複数の意味を持つ単語なので注意願います。この記事ではあくまで TensorFlow / Keras でのlogitsの意味を説明してい…
Python 3にて以下のように例外オブジェクトをprint()するコード try: raise ValueError except Exception as e: print(e) を実行しても、以下のように何も出力されません。 結論からいうと、上記のコードを以下のように修正すると try: raise ValueError('va…
共有設定を使う場合 2020年3月頃からプレビュー機能として提供されている、設定を共有する機能を有効にすることで、複数のマシンでVSCodeの設定を共有できます。参考: 「Visual Studio Code」が設定の同期に対応、Insider版でテスト中 - 窓の杜 左下の歯車…
AtCoderやCodeforcesなどの競技プログラミングサイトでは、通常、標準入力から入力を受け取ります。例えばPythonで回答する場合、あなたの回答(例としてsolve.pyとします)は、入力が書かれたテキストファイルinput.txtが $ python solve.py < input.txt の…
競技プログラミングでC++を使うときに、入出力を高速化する目的でおまじないのように書かれる ios_base::sync_with_stdio(false); cin.tie(0); の意味、実はよくわかっていなかったので c++ - Significance of ios_base::sync_with_stdio(false); cin.tie(NU…
Google Code Jam 2020 Round 1Cの最終問題であるOversized Pancake Choppersの解説です。 この問題はTest Set1から3の3つから構成されます。本番ではTest Set 1のみ解けました。この記事ではTest Set2とTest Set3について解説します。 問題概要 N個のパンケ…
約1年ぶりにCodeforcesに出場しました。Div. 2の4問目、Orac and Medians が解けそうで解けませんでした。終了後、解説を読みながら考えをまとめました。 問題概要 数列が与えられる。この数列の任意区間を選び、その区間のすべての値を、その区間の中央値で…
Google Kickstart 2020 Round 1Bの最後の問題、Wandering Robot についてやっと理解できたので解説を書きます。 問題概要 W*Hの盤面が与えられる。盤面には ある矩形1つ分の穴が空いている。ロボットは左上の(1, 1)を出発し、等確率で右か下に移動する。た…
Docker ImageからContainerを作るコマンドのまとめ - minus9d's diary の続きです。今回はKeras環境を備えるDocker Imageを作成する練習をしてみました。普通であればTensorflow公式のDocker Imageを使うのが正しいと思いますが、練習なので気にしないことに…
Python3のスクリプトを数時間動かしたあとにエラーで落ちるという経験はないでしょうか。エラーが発生したら pdb と呼ばれるデバッガが起動するようにしておくと、エラーの究明に役立ちます。 例えば、以下のような script.py があったとします。 def main()…
LinuxでGPUの情報を取得する方法を調べました。以下の表示例およびコマンド例は、すべてUbuntu 18.04 + GTX 1070という環境で試しました。OSによって差異があるかもしれません。 1. lspciを使う lspciは、PCIデバイスのリストを表示するコマンドです。以下の…
いまさらながらDockerの使い方を勉強中です。この記事では、Dockerを使うための環境構築方法と、誰かが作成したDocker ImageをもとにDocker Containerを作成して動かす方法についてまとめます。 環境構築 以下ではUbuntu 18.04にDocker Community Editionを…
Ubuntu 18.04でsleepする方法は以下のとおりです。なお、正しくは"sleep"ではなく"suspend”というそうです。 Winキーを押す "sleep" または "suspend" とキーボードに打ち込む 途中で「サスペンド」というアイコンが出てくるので、選択する
10日前まで開催されていたKaggleのSanta's Workshop Tour 2019に参加していました。結果は1620チーム中の142位。Kaggleで初めてのメダルであるブロンズメダルを獲得できました。最適化系のコンテストなのに問題のサイズが小さく、コンテストの序盤から最適解…
現象 Windows Subsystem for Linux (WSL) で動かしているUbuntu 16.04にてscreenを動かそうとすると以下のエラーが出ました。 $ screen Cannot make directory '/var/run/screen': 許可がありません 解決策1 (推奨) screenが使用するディレクトリを環境変数…
Windows 10で導入されたWindows Subsystem for Linux (WSL) を使ってインストールしたLinuxのホームディレクトリの場所を調べるには、コンソールでホームディレクトリに移動したあと $ explorer.exe . とすればよいです。 WSLで導入しているUbuntu 16.04から…
robocopyというコマンドを使って、Windowsでタイムスタンプを保持してフォルダまるごとコピーするときの自分用メモです。 基本的な使い方 基本コマンドは以下の通り。(src)と(dst)にはそれぞれコピー元フォルダ、コピー先フォルダを入れてください。 robocop…