TIL

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

【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と呼…

Lispを始める

Lispになぜか興味を持ってしまい、本まで買ってしまった。 Lispの魅力は Lisp自身をLispで書くのが容易 問題に対応して書きやすい形に変化させて書ける 拡張されることを前提にして作られている たぶん、もっとあった気がする Lispの種類 ANSI Common Lispと…

gzipモジュールを使った圧縮と展開 - Python

vcrpyでは、レスポンスの量が多い場合、圧縮されて(バイナリになって)カセットに格納される。どうやって圧縮されたデータを扱うのか調べてみたら標準モジュールのgzipモジュールでできそうだったため、メモしておく 圧縮にはgzip.compress()メソッド。展開に…

mypyとjedi-vimで補完を強くする - Vim

Pythonで型アノテーションを使いたくなって、どうせならVimでも補完できるようにしたいと思って、やってみた Python3が有効になっているか確認 まずはVimでPython3が有効になっているか確認する もし有効になっていない場合、ここを参考にして、有効にする $…

GETリクエストのパラメータの空白はそのままでいい requests - Python

requests.get()でGETリクエストを送信するときのパラメータに空白が入るときはどうすればいいのかわからなかったが、そのまま渡していいことがわかった import requests params = {'aaa': '111 あああ', 'bbb': '222 いいい'} res = requests.get('http://go…

requests.apiモジュール - Python

https://github.com/requests/requests/blob/00fd4c8eb4ac0fd7b8f8d76bbf15ab06351c052c/requests/api.py#L16-L58 から重要なところを引っ張ってきた def request(method, url, **kwargs): with sessions.Session() as session: return session.request(meth…

実行しているPythonのバージョンを取得 - Python

いくつかの方法があるらしい sys.hexversionを使う platform.python_version_tuple()を使う 1.sys.hexversionを使う これはPyGithubのソースを見てたときに見つけて一人で感動した書き方 sys.hexversionを使うことでPythonのバージョンの16進数を取得できる…

特定の行をハイライトした状態のリンクを作成 - GitHub

こんな感じでハイライトした状態のリンクを張りたいとき github.com リンクの後ろに#L70-L72といったように行番号をつける。 また、コミットのファイルに対してのリンクにすることで必ずその行数になる。 https://github.com/tamago324/CasNewCommentNoticeP…

pydubを使って音楽を鳴らす - Python

Pythonで音楽(mp3)を鳴らすにはpydubというライブラリを使えば実現できる。 github.com 音楽鳴らすまでに行ったことはここに書いてある 音を鳴らす · Issue #2 · tamago324/CasNewCommentNoticePy 環境 $ sw_vers ProductName: Mac OS X ProductVersion: 10.…