django ORM

pythondjango + apacheでwebサーバー作成中!

djangoに関しては、チュートリアルがあるので、ある程度まではwebページが作成できる。ただし、ちょっと道に外れるといろんな意味で難しくなる。
動けばOKなのか。設計としてOKなところまで考えるのか、もう少し共通化(コードを書く量を減らせないのか)できないのか...
で、django の modelはPrimary keyが一つしか設定できないという問題にぶつかる。
djangoのmodelでupdateを実行するが、2つ目のキーまで更新しようとしてDBからエラーが発生しており、調査したところdjangoの問題だった...
すでにDBを作成していたし、このテーブルに関してはPrimary keyを一つにするには色々と不便になるなぁと考えていた。
ということで、modelは使用せず、SQL文を直接書いて、実行。
djangoのmodelは、1つのテーブルに対してアクセスするには簡単だけど、複数のマスターテーブルにアクセスしたり、複雑な計算をさせたい時は直接SQLで実行した方が簡単だと思う。

※ただ単にmodelを使いこなせていないという話もあるかもしれないが...

 

スマホ 購入 (Motolora moto g8)

スマホを新たに購入しました。5Gの普及までにはまだまだ時間がかかりそうなので、安いうちに4G対応の端末を購入しました。
SIMはBIG SIMなので、SIM Free対応の端末を探していたのですが、値段が手頃なところで、2020/5発売のMotolora mot g8にしました。

イオシスのネットで購入しました。

iosys.co.jp

月曜日の夜に注文して、水曜日に届くというとても早い対応でした。

1週間ほど使用してみましたが、感想です。

  • 画面表示領域が大きい。(以前に比べれば...今どきのスマホはもっと広いものもありそう...)
  • 左上にカメラのピンホールがあるが、以外と邪魔にならない。真ん中よりもいいかも
  • とはいえ、もの自体が大きすぎる。もう少しコンパクトでもいい。
  • 充電しなくても使用できる時間が増えた。
  • 画面がきれい。(以前のものもきれいだったかもしれないが...)
  • 地味にうれしかったのは、シリコン製のスマホケースが付属でついていたこと
  • おサイフケータイ機能がついていないので、Suica等々は使用できない。(購入時点で諦めているので問題なし)
  • Androidのデータ移行がとてもスムーズでびっくり!画面も同じですぐに使えるようになった。
  • 指紋認証はあるが、カメラによる顔認証はない。(特に問題なし。)
  • カメラたくさんありすぎ...前面と後面一つでいい。その分値段を下げてほしい。

最近はコンパクトな端末がないので、大きさは妥協しました。
購入してから調べて気がついたけど、もう知っているMotoloraではなく、Lenovo傘下の中国の会社になってしまったのね。

 

sudoコマンド

以前は、freeBSDでしたが、最近になってLinuxを使い始めました。

ルート権限で実行したいときは、rootユーザで色々とやっていたのですが、

Linuxの場合は、sudoを使うことを推奨しているみたいですが、コマンド実行するたびに権限がないのでエラーとなり、コマンドの先頭にsudo付加することが多くちょっと面倒だなぁと思っていたら...

sudo -s -Eで通常のrootコマンドプロンプトになるんだ。
おまけにパスワード聞かれないんだ。いいの?なんて思いながら今まで通り作業ができるようになりました。

知らなかった。orz

 

pip install

pipのinstallではまりました。orz

スーパーユーザでpip installを実行すると、pythonの実行ディレクトリ関連にinstallされる。

一方、通常ユーザでpip installを実行すると、通常ユーザのホームディレクトリの.local以下にpipがinstallされてしまう。そうなるとApacheで起動する際のユーザと開発ユーザが異なると、pip installしたにもかからわず、installしていないよというエラーメッセージが出力される。

原因を特定するまで、直接installされたディレクトリを参照してファイルがないなぁなんで考えながら、通常ユーザではどこにinstallされるんだろう...と考えながら、ユーザによる違いに気が付きました。

仮想環境を使用していると気が付いたかもしれませんが....

4K ディスプレイ

自作PCに引き続き、4Kディスプレイも購入。

最近のテレワークのためディスプレイも売り切れとなっていたが、そのうち購入という考えで、取り寄せで購入。少し、時間がかかりましたが、無事到着。

値段もそこそこな、IO-DATA KH2750V-UHDにしました。現在もくっきりと表示され購入前のディスプレイよりも鮮明に表示されているようです。というより前回のディスプレイはかなり使用していた影響?だから新しくしたら鮮明に見えるようになった?気持ちの問題ですかね?

それよりも、4Kディスプレイとなり画面も大きくなりましたが、解像度が大きくなったことの方が影響が大きいです。何も考えず、3840x2160の設定のまま使用していたため全体的に広々と使用できたのですが、その反面、字が小さい、多すぎる情報が表示されるようになりました。はじめのうちは、ディスクトップを4分の1ぐらいずつ仕切る感じで使用していたのですが、マウス操作が細かくなりすぎ手首が疲れてきました。何だかなぁと思って少し調べていたら、ウィンドウズの設定で文字の大きさが変更できるということを知りました...orz。設定→システム→ディスプレイにある「拡大縮小とレイアウト」にある「テキスト、アプリ、その他の項目のサイズを変更する」を175%にしました。そうすると前回と同じぐらいの文字の大きさになりました。でも4Kディスプレイにしたのに、前回の1920x1080とほぼ文字の大きさがかわらないのもどうなの?とかんじながら、フォントが滑らかに表示されているなぁと思いながら今もこの文書作成しています。でも相変わらず、マウス操作で少し手首が痛いままです。

ちなみに100%にすると文字が小さすぎてほとんど見えません。タスクバーも小さすぎます。

あと、周辺のスイッチやUSBポートやスピーカーと値段の割に色々とついています。満足な一品でした。

自作PC

久しぶりに(何年かぶりに)自作PC作成。作成する前に以前のPCはRAID故障によりHDDのデータが飛ぶ。orz

でも、重要データはNASにあったり、クラウド環境にあったりでほとんど影響なし。影響といえば、アプリの設定(サクラエディタVisual Studio CodeTeraTerm)関連ぐらい

最近はAMDの性能がよく、安いので、RyzenとB550の組み合わせで、安く7万円ほどでPC作りました。でもB550発売直後に買いにいったため、前回使用していたMiniITX対応のB550のマザーボードはなく、今後発売されるボードも少し高めだったため、ケースも併せてMicroATXに変更。

流用できたのは、電源のみ。

作ってみるとHDDをM2にしたため電源とスイッチ関連以外のケーブル類がない。すっきりですね。ちょっと前まではシリアルATAだったりしたたため、ケーブル類の取り回しがあったりしたけど...

CPUクーラーの取り付けに少し苦労したけど、MicroATXのケースのため広々で作業しやすくトラブルなく電源投入->Windows10インストールとなりました。

前回のPCにくらべて体感で早くなったなぁと思うことがほとんどないですが、久しぶりにワクワクしてPC作りました。

python のバージョン

python2x系でdjango 3.0.x のmanage.py を実行すると下記のエラーとなる。

$ python manage.py runserver
File "manage.py", line 16
) from exc
^
SyntaxError: invalid syntax

 このエラーメッセージだけ見ると???だけど、django 3.0.xのmanage.py をpython 2.x系で実行するとこんなエラーが出力されます。ご注意ください。