Rails Tutorialの勉強中(1.4.3 Bitbucket)
ローカルのリポジトリをリモートにプッシュした。
binディレクトリ下はgitignoreに追記するのかと思ったが、Herokuに必要だからという理由でソース管理に追加するらしい。
ProgateのRuby 学習コース IIが終わった。
要素の数を取得するメソッドには3つ種類があることを知った。
lengthとsizeは同じエイリアス。countは条件付きで要素の数を数えることができる。
参考:https://qiita.com/motoki4917/items/ffc89d955e20b91d1014
gets.inspect
=>"chocolate\n"
文字列を比較するとしたら、こうだろうか。
a=gets.chomp
a.eql? "chocolate"
Integerの引数は数値でなければ例外(改行コードは許容)を投げるが、to_iは引数に数値が含まれていれば値を返す。
参考:https://stackoverflow.com/questions/10093493/difference-between-integervalue-and-value-to-i/10093572#10093572
chomp!の!が付く関数は"dangerous methods"と呼ばれ、呼び出し元のオブジェクトに変更を加える関数。
参考:https://stackoverflow.com/questions/612189/why-are-exclamation-marks-used-in-ruby-methods
小文字またはアンダーバー(_)で始まる変数は「ローカル変数」
@ で始まる変数は「インスタンス変数」
@@で始まる変数は「クラス変数」
ドル記号($) で始まる変数は「グローバル変数」
大文字で始まる識別子は「定数」
nilは未定義値
参考:http://www.tohoho-web.com/ruby/variables.html
4-1 ユーザー詳細機能の実装
ビューをクラス形式で記述する。
ビューでmodel = User と書くことにより、テンプレートでは {{ user.キー名 }}が扱える(モデル名を小文字にしたものが使える)ようになっている。
Pollアプリのチュートリアル
https://docs.djangoproject.com/ja/3.0/intro/tutorial04/#write-a-minimal-form
redirectやreverseが出てきたので、これらについて調べる。
Djangoのページ遷移メソッド reverseやredirectやrenderについて](https://teratail.com/questions/))
Django tutorialを続ける
_setはreverse related object lookup(逆参照)というらしい。なんでreverseなのだろう、今の場合“One to many の関係でoneから見て後ろ“ということだろうか。
https://stackoverflow.com/questions/42080864/set-in-django-for-a-queryset
related_nameを指定することで名前を変えられるようだ。
https://e-tec-memo.herokuapp.com/article/166/
urlテンプレートタグにパラメタを複数渡す方法
https://docs.djangoproject.com/en/3.0/ref/templates/builtins/#url
Djangoの名前空間 [name], [namespace], [app_name] の違いについて
VS CodeのExtensionsでPythonを追加したところ
linterからurls.pyについて「Unable to import 'django.urls'pylint(import-error)」が表示された。
下記の方法で対応してみた。
$ pip install pylint-django
してからVS Codeの設定で
"python.linting.pylintArgs": [
"--load-plugins=pylint_django"
]
を追加した。
参考:Djangoのmodel参照時のpylintの警告を出さないようにする
polls/templates/pollsのように冗長?なフォルダ構成にしているのは名前空間をしてすることで、
他のアプリと同名のテンプレートを使えるようにするため。
疑問、分からないところ
- mysite/urls.pyに「path('polls/', include('polls.urls')),」を足すと、「"GET / HTTP/1.1" 404」のレスポンスが返るようになる。
- アプリケーションは最低1つデータベースのテーブルを使うので、使い始まる前にデータベースにテーブルを作る必要がある、らしい。なんで?
Pythonは少し下地があるので、Djangoを勉強し始めたい。
Djangoのチュートリアルを探すと仮想環境の構築から話が始まっている。
手元の端末にはpyenvとvirtualenvが入っているので、
これで良いだろうか。
virtualenvって何だっけ
virtualenvをactivateした状態でpip installすると仮想環境内に限定してパッケージをインストールすることができる。
virtualenvの状態を切り替え、pip freezeすることで確認できる。
なるほど
リモートワーカーの方からPHPよりもPythonやRubyの方が仕事を取り易いと言われ、
PHPの勉強を続けるべきか迷っている。
自分の決断力の無さよ・・・
ドットインストール勉強中
はじめてのPHP [macOS編] » #07 リンクボタンを作っていこう
<?php echo $hoge ?>
でなく
<?= $hoge ?>
と書けることを知った。
ProgateのPHP 学習コース IV 終了。
次はドットインストールの「はじめてのPHP」あたりがちょうど良いだろうか。
Progate勉強中
PHP 学習コース IV>ユーザーを追加しよう>12. ユーザーの情報を表示しよう
Progate勉強中
PHP 学習コース IV>ユーザーを追加しよう>10. Userのデータを作ろう
PaizaのD(スキルチェック)もPHPで解けた