TIL

Today I Learned. 知ったこと、学んだことを書いていく

Neovim内で使うpythonをpyenvのアクティブなものにする - Neovim

g:python3_host_progに値をセットする(Python3の場合) g:python3_host_progに値をセットすると、neovim内で実行するpython3を指定できる pyenvのアクティブなPythonを使うようにするには、以下のように~/.config/nvim/.init.vimに書く let g:python3_host_pr…

prompt-toolkitで検索ツールバーの実装と、インクリメンタル検索の実装した - Python

単純な検索機能を実装する 実装手順 実装するときにつまづいたこと 次の検索結果への移動の実装方法がわからなかった filters.is_searchingがなんなのかよくわからなかった search_linksを調べてみた nとNが検索文字列入力中に打てなくなってしまった インク…

ディレクトリパスをエイリアスで登録して簡単に移動できるgotoコマンドを使ってみる

ディレクトリのパスをエイリアスとして登録して簡単に移動できるgotoっていうコマンドを見つけたから使い方のメモ github.com インストール 使い方 移動 エイリアス登録(-r) エイリアス登録を解除(-u) カレントディレクトリをスタックにpushし、goto(-p) ス…

指定フォルダ以下のファイルをコピーする - Python

指定のフォルダの下にあるファイルをコピー 再帰的に見ていく 再帰的にファイルを見るのにpathlib.Path.glob()を使い、ファイルをコピーするのにshutil.copy()を使う 例)C:\sample以下のファイルで、ファイル名に"a"が含まれているファイルをカレントディレ…

nonlocal ネストした関数から変数にアクセスする - Python

ネストした関数で、上で定義された変数を使うにはnonlocalキーワードを使う def main(): a = 1 def child(): nonlocal a a += 1 print(a) print(a) child() print(a) main() 出力結果 1 2 2 ネストした関数から、アクセスできた!! これは、メモ化のための…

【Windows】フォルダをエクスプローラで開く - Python

subprocessモジュールのcallを使う import subprocess subprocess.call(f'explorer "{開くフォルダのパス}"') 参考文献 [python] エクスプローラをファイルに開く [windows] [explorer] | CODE Q&A 問題解決 [日本語]

CURDATE() 現在日付を取得 - MYSQL

SELECT CURDATE() 結果 2018/11/06 参考文献 現在の日付・時刻を取得する - MySQL 逆引きリファレンス

os.path.expanduser関数 - Python

カレントユーザのホームディレクトリのパスを取得することができる >>> os.path.expanduser('~/src/python/') '/Users/tamago324/src/python/' 使えるときあるのかな? 参考文献 Python Tips:カレントユーザのホームディレクトリのパスを取得したい - Life …

【IFNULL関数】 AがNULLだったら、B。AがNULLじゃなかったら、Aを返す関数 - MySQL

便利なのを知ったからメモ もし、第1パラメータがNULLだったら、第2パラメータを返し、 第1パラメータがNULLじゃなかったら、第2パラメータを返してくれる便利なやつ 第1パラメータがNULLではない時 SELECT IFNULL('AAA', 'BBB') FROM DUAL 結果 AAA 第1パラ…

keybindingに渡されるeventという引数は何者!? - Python

keybindingのメソッドに渡されるeventという引数は何者? prompt_toolkit.key_binding.key_processor.KeyPressEventというやつ https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/prompt_toolkit/key_binding/key_processor.py#L412 dat…

カーソルがある行のインデックス番号を取得 - Python

python-prompt-toolkitでカーソル行のインデックス番号を取得したいとき prompt_toolkit.document.Document.cursor_position_row カーソルがある行のインデックス番号が取得できる 0から数える from prompt_toolkit.application import Application from pro…

Bufferのread_onlyを一時的にOFFにしたいとき - Python

Bufferのread_onlyがAlways()だと、Bufferのtextとかdocumentとか何も変更できないから、Never()にする必要がある form prompt_toolkit.filter import to_filter # read_onlyをONにする right.content.buffer.read_only = to_filter(True) # read_onlyをOFF…

has_focus(value)で渡したUIControl(Window)にフォーカスがあるか確認する - Python

指定したコントロールにフォーカスがあるかどうか prompt_toolkit.layout.layout.Layout.has_focus()で確認できる has_focus(value) Check whether the given control has the focus. :param value: UIControl or Window instance. Reference — prompt_toolk…

vimっぽいページスクロール(c-dとc-u)をpython-prompt-toolkitで実装 - Python

python-prompt-toolkitを使って、ページのスクロールを実装したからメモメモ 以下の2つだけとりあえず、実装してみる https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/prompt_toolkit/key_binding/bindings/page_navigation.py#L48-L6…

選択値とは別の値をテキストボックスのvalueに設定する - JQuery

github.com devbridge/JQuery-Autocompleteを使って、Autocompleteを実装したときのメモ onSelectを使う suggestionsが以下のようになっていた場合 suggestions: {[ { value: "山田太郎 20歳", data: { name: "山田太郎", age: "20" } }, { value: "山田次郎…

ghqとpecoとhubを使ったリポジトリの管理

git

リポジトリをダウンロードして、見たりするときとかいいのかも ずっとやろうって思ってたのをやっとできたから、メモメモ それぞれをインストールする ghq go get github.com/motemen/ghq peco go get github.com/peco/peco/cmd/peco hub go get github.com/…

複数行で書きたい時 - Python

()でくくる s = ('hello' 'world') print(s) helloworld print(('hello' 'world')) helloworld 参考文献 長い文字列リテラルの定義にはヒアドキュメントや('...' '...')が便利 - Qiita

PipenvでImportError: cannot import name 'get_installed_distributions'ってエラー出た

pipenvのgraphしたらエラーが出たから、その時の対処のメモと言うか、いらないと思うけど、メモっとく $ pipenv graph Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pipdeptree.py", line 17, in <module> from </module>…

TNSLSNR.EXEの停止

JavaのWebプロジェクトを起動しようとしたら、8080のポートが使われてた。8080のポートを使っているプロセスを特定、停止までの道のり。 8080を使っているPIDをみつける netstat -ao | find "8080" ... ... ... 4312 PID4312のプロセス名を取得する tasklist…

tmuxで256色表示に対応させる - tmux

「ubuntu12.10+tmux+vim、できるだけ少ない手順で256色表示にする」 - StupidDog's blog 上の記事が参考というかそのまんま aliasを追加する # ~/.bash_profile alias tmux='tmux -2' tmux(1) - Linux manual page を確認すると、-2オプションがあった -2 Fo…

ENVは1行づつ記述すること - Docker

1つのENV内で定義した変数はそのENV内では使えないことがわかった 以下のものはTMPに何も設定されない # TMPはブランク ENV USER="tamago324" \ TMP="${USER}" 正しく設定される # TMPにtamago324が設定される ENV USER="tamago324" ENV TMP="${USER}" 1行…

shiftコマンド - shellscript

引数を1つずらす #!/bin/bash echo $1; # 1つずらす shift; echo $1; $ ./shift.sh 1 2 1 2 シェルスクリプトの引数は、$1や$2のように数値で指定する。そのため、shiftを使うことで、 引数を1つずつ処理したい場合に役に立つ!! 参考文献 https://tech.…

pwdコマンド - Linuxコマンド

現在いるディレクトリのことをカレントディレクトリというが、 これを確認するときにpwdコマンドを使う。 カレントディレクトリの表示ができるコマンド pwd $ pwd /Users/tamago324/src また、pwdの意味は print working directory 作業中ディレクトリ表示 h…

chshコマンド - Linuxコマンド

change shell の略かな? ログインシェルを変更するためのコマンド -lオプション 設定可能なログインシェルの一覧が表示される。たぶん/etc/shellsっていう設定ファイルに記述されているパスが表示されるんだと思う。 実際には/etc/shellsに記述されたファイ…

テーブルの横幅がうまく設定できないときはtable-layout: fixedをする - CSS

CSS

テーブルにtable-layout: fixedをやると横幅がうまく設定できた .sample-table { table-layout: fixed; } 参考文献 tableでwidthを指定しても幅が固定されない場合の対処法|クロノドライブ

Chart.jsでグラフの表示 - JavaScript

https://github.com/chartjs/Chart.js/releases Chart.js.zip をダウンロードする 解凍したら、 Chart.min.js をプロジェクトに置く . ├js/ │ ├lib/Chart.min.js │ └graph.js └index.html index.html <html lang="en"> <head> <meta charset="UTF-8" /> <title>Document</title> <script src="js/lib/Chart.min.js"></script> </meta></head></html>

brew instal したときの /usr/local/share/man/manN is not writable っていうエラーの対応方法メモ

brew installしたときに/usr/local/share/man/man7 is not writableっていうエラーがでてきたから、その対処法を書いておく cd /usr/local/share/man sudo chown -R $USER man7 brew link --force xxxxxx graphvizをインストールしたときの対応 $ brew insta…

連想配列(alist) - Lisp

Lispには連想リストというものがある 連想リスト(association list)、また、alistと呼ばれる。carがキー、cdrが値となる。 carがキー、cdrが値って考え方スッキリしてて好き > (defparameter *alist* '((hoge (1 2 3)) (fuga (4 5 6)) (piyo (7 8 9)))) *ALI…

四則演算 - Lisp

整数と浮動小数点数がある。小数点をつけると浮動小数点数になる。 加算は+ > (+ 1 2) 3 > (+ 1 2.0) 3.0 整数と浮動小数点数を混ぜると浮動小数点数になる 減算は- > (- 3 4) -1 乗算は* > (* 2 3) 6 除算は/ > (/ 3 4) 3/4 どちらも整数だと有理数を返す。…

コンスセルとconsとcarとcdr

Lispはすべてリストでできている。また、リストとリストを繋ぐ役目にコンスセルというものがある。これはすごい面白い考え方だと思った コンスセルは2つの部屋(セル)でできている。1つ目のセル(CARと呼ばれる)にはデータなどを指し、2つ目のセル(CDRと呼…