2020-06-01から1ヶ月間の記事一覧

react で preventDefault しても submit された場合に見るステップ

(1) submit のハンドラーを component に bind しているか class RequestForm extends React.Component { constructor(props) { super(props); . . this.handleSubmit = this.handleSubmit.bind(this) } . . render () { return ( <React.Fragment> . . <form onSubmit={this.handleSubmit}> (2) preventDefault </form></react.fragment>…

django で pdb できないときは django-pdb を install する

ssh クライアントが理由なのかは原因を特定できていないが、django 上の適当な .py ファイルにて import pdb; pdb.set_trace() もしくは breakpoint() # python3.7 以上のみ有効 を埋め込みしても Web サーバーを立ち上げているコンソールで pdb の操作が効…

ubuntu 20.04 に postgres postgresql を install する

何も考えずに ローカルユーザーネームと root のロールで postgres が動く環境を入れたい場合。 $ sudo apt update $ sudo apt-get install postgresql $ sudo su - postgres @postgres> createuser YOUR_USERNAME @postgres> createdb YOUR_USERNAME @postg…

ubuntu server 20.04 に nodejs を curl および nodesource 経由で install する

nodejs v12(2020/06 で LTS) を curl および nodesource 経由で install する curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt-get install -y nodejs ついでに yarn 入れるときは次の通りにする $ curl -sL https://dl.yarnpkg.…

ubuntu server 20.04 に django をインストールする

pip3 は install している前提である。 $ pip3 install --user Django $ python3 -m django --version 3.0.7 $ cd /path/to/workspace $ django-admin startproject testproject $ cd testproject $ python3 manage.py runserver 0.0.0.0:8080 # GET access …

python の @property が果たす役割

あるメソッドを、読取専用のアトリビュートにする。 class Point: def __init__(self, point_x, point_y): self._point_x = point_x self._point_y = point_y @property def point_x(self): return self._point_x @property def point_y(self): return self.…

__name__ == '__main__' を使う場合

from samplepackage import yourmodule を実行したとき、yourmodule 内のコードはすべて実行される。 例えば samplepackage/yourmodule.py が次のコードで構成されているとする。 def sample_func(): print('hello from sample func.') sample_func() import…

利用しないループ変数はアンダースコアにする

python にて、ループで利用しないループ変数はアンダースコアにする。 決まりではないが、そういった風習がある。 for _ in range(10) print('looping') 参考記事: https://www.datacamp.com/community/tutorials/role-underscore-python https://hackernoon…

内包表記を使って余計な行数を減らす

data_x = [1, 2, 3] data_y = [6, 7, 8] mul_result = [x * y for x in data_x for y in data_y] print(mul_result) => [6, 7, 8, 12, 14, 16, 18, 21, 24] names = ['taro', 'kenji', 'joe'] ages = [25, 30, 18] people = {name: age for (name, age) in z…

ubuntu server 20.04 に pip3 と pipenv を install する

$ sudo apt update $ sudo apt install python3-pip $ pip3 --version pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8) $ cd /path/to/workspace $ pip3 install --user pipenv # ~/.bashrc か ~/.bash_profile に PATH 通して WARN ログ…