匠のためのpython

pythonを使って、簡単なIoTやsmartfactoryについて試行錯誤していきま…

匠のためのpython

pythonを使って、簡単なIoTやsmartfactoryについて試行錯誤していきます。

最近の記事

blender ちょっとCGの話もする

投稿サボってました。でも、勉強をサボっていたわけではありません!!思いついたサービスで3DCGをやりたかったので、勉強してました。プログラミングというか、コンピュータサイエンスも沼ですが、3DCGも沼です。やばいです。 特に今はblenderを触ってます。無料です。好きです。 さて、これからはblenderについても書いていこうと思います。 blenderで細かい作業をするときに、マウスのホイールで視点の操作をするんですが、モデルが小さかったり、辺の数が多いと思った通り

    • Three.js cameraのパラメータが変更になったら必ず呼べ!!

      Three.jsネタぐらいしか書くことがない。今はアプリ開発に関しては、成熟のフェーズです。 さて、いきなりなんですけど、Threejsネタです。どっかでThreejsに関しては体系的にまとめたい。なんといっても、このライブラリに関しては、まとまってる日本語のコンテンツ少なすぎます。 表題の件ですが、cameraのパラメータを変更した際に、必ず呼びださなくてはいけないものとして、updateProjectionMatrix ()というメソッドがあります。 というお話です

      • Javascript CORS Errorを防ぐためには

        Three.jsの勉強をしているときに躓いたので、備忘もかねて。 Three.jsはWebGLを簡単に使えるようにするライブラリで、3Dを扱ってなると、テクスチャの画像をJavaScript上に読み込ませるんですが、ブラウザでhtmlを開くと、CORS Errorがでてファイルを読み込んでくれません。 そのため、対策としてローカルサーバーを立ち上げる必要があるのですが、VS codeのLive Serverを使えば簡単にできますのでやってみましょう。

        • css position: fixedって、どんな時に使うの?

          Three.jsをやっています。3D表現の勉強が楽しくて、私はどこに向かっているのでしょうか? さて、3Dとは本質的に関係ないかもしれませんが、「position: fixed」のcssを使う場面があったので、 まぁ、使い方は単純で、「これは画面の決まった位置に要素を固定させたいときに使います。」 これで終わりなんですけど、使用例を一つ。 スクロールしても、メニューが画面上部に固定されている場合は、position:fixedを使っていると思っていいでしょう。

        blender ちょっとCGの話もする

          python autopepで楽々コーディング

          vscodeの拡張機能の説明なんで、純粋なpythonの話ではないのかもしれません。 pythonのコーディング規約としてpepというものが存在しているのは、pythonを多少嗜んだ人ならご存じのことかと思います。別にコードとしては動くんだけど、可読性が低いと舐められる、というかあとあと見直したときになんじゃこりゃっていうことになるので、できるだけコーディング規約は守るようにしましょう。 ただ、覚えておくのも面倒なので、なんとか楽できないかなと思っている方に朗報です。

          python autopepで楽々コーディング

          django get_user_model()

          早くアプリ作りたいなぁと気持ちばかりが急きますが、なんかもう年末気分でまったりしてます。 フロントエンドは変化が目に見えるからか、理解が早いがやはりバックエンドはデータベースの動きとか目に見えない部分の話だから結構難しい。 本日はdjangoの話 get_user_model( )では、現時点で有効になっているUserモデル自体を呼び出してくれます。つまり、AUTH_USER_MODELにCustomUserが指定されている場合はCustomUserを、デフォルトのUs

          django get_user_model()

          python やっとわかった例外処理

          いまさら感がありますが、やっと例外処理のやり方がわかってきました。 tyr: 処理except エラー名: 例外発生時の処理 だと思いますが、私このエラー名のところに特定のエラーを指定するっていうのを見落としてました。 そのため、エラーが発生したらただちに例外発生時の処理が実行されると勘違いしてました。 おっちょこちょい ただ、すべてのエラーを補足するための方法もあって、エラー名に「Exception」を指定すれば、どんなエラーでも例外発生時の処理が実行

          python やっとわかった例外処理

          python 超絶基本のopen関数

          webサービスを作る気力を振るいたたせるために、かなり基本的なところを振り返り始めてます。リハビリ。 さて、アプリでcsvを読み込ませたいところがあるんですが、そこで使うopen関数のオプションで気になったので調べてみました。 'w' 書き込み用に開き、既存ファイルがある場合は上書き 'a' 書き込み用に開き、既存ファイルがある場合は末尾に追記 'x' 書き込み用に開き、既存ファイルがある場合はエラー『FileExistsError』 'r' 読み込み用に開く '+' 更

          python 超絶基本のopen関数

          JavaScript [...Array(n).keys()] はやめた方がいいのでは?

          という記事を見つけました。見つけたきっかけは [...Array(2000).keys()]; こうゆうコードを見つけたからなんですけど。 これって、ぱっと見て何してるかわかりずらいですよね。 これは、n-1までの整数が順番に並んだ配列を得る記法で、まぁまぁメジャーな手法らしいんですけど、わかりずらいですよねっていう主張です。 確かにわかりずらい。 じゃあ、代わりの方法はといえば、 [...range(0, 5)] っていう、まぁ、こっちのほうがわかりやすくは

          JavaScript [...Array(n).keys()] はやめた方がいいのでは?

          BeautifulSoup decomposeで不要な要素を削除

          欲しいデータがあって、スクレイピングしているんですが、文字列を抽出する際にspanタグ内にある文字が邪魔でいらいらしていました。 こうゆう時には、decomposeメソッドを使用します。 decomposeメソッドを使えば指定したタグを削除できます。 気を付けるべきなのは、decomposeメソッドはインスタンスそのものを削除します こんな感じで使います。 target = soup.select_one('h1')target.select_one('span')

          BeautifulSoup decomposeで不要な要素を削除

          Django get_user_model()-vs-settings.AUTH_USER_MODEL

          どちらもユーザーモデルをカスタムした際に使用するものですが、どう使い分けるかわからなかったため、調べました。 結論からいうと、get_user_model()はモデルそのものを返すし、settings.AUTH_USER_MODELは文字列型で返すそうです。そのため、初期のDjangoでは、ForeignKeyなどに設定する場合は、settings.AUTH_USER_MODELを使用する必要があったらしいのですが、別に今はget_user_model()でもいいそうです。

          Django get_user_model()-vs-settings.AUTH_USER_MODEL

          Django 複数フィールドにユニーク制約(複合ユニーク)をつける方法

          ここでは二つの方法を紹介します。二つ紹介する理由としては、片方はいままで主流だったけども、これから使えなくなる可能性があるためです。 以下のようにclass Metaの中に書き込みます。 class Meta: constraints = [ models.UniqueConstraint( fields=["teacher", "student", "date"], name="le

          Django 複数フィールドにユニーク制約(複合ユニーク)をつける方法

          Django Userモデルの復習

          Djangoに関して研鑽を怠ってきたので、久しぶりに。 Userモデルはデフォルトのものを使うなっていうのは、公式サイトの見解です。だったら最初から作らなきゃよかったじゃんと思うんですが。 これをいじるためには、settings.pyのAUTH_USER_MODELに設定する必要があります。 ここに文字列で、’アプリ名.モデル名’で設定できます。

          Django Userモデルの復習

          Javascript ボイラープレートとは何ぞや?

          別にカテゴリーとしては、Javascriptではないんだろうけど、Reactを勉強している時には出てきた言葉だったので、このくくりにしてしまいました。 ボイラープレートコード は、コンピュータプログラミングでは、殆ど、または全く変化することなく、複数の場所で繰り返される定型コードのセクションのこと。 なんだそうです。思いつくところでいうと、htmlのヘッダのところとかでしょうか? 用語として覚えておきましょう

          Javascript ボイラープレートとは何ぞや?

          django 多言語対応のためのgettext_lazy

          端的にいうとgettextとgettext_lazyは、多言語対応するために使用されている関数です。 そこらへんは、以下のような感じでインポートされるんでわかるんですけど、 from django.utils.translation import gettext_lazy as _ なんで、「_」にしてるのかずっと気になってました。 その理由は、pythonの標準ジュールのgettextモジュールの流儀に従っているからということでした。

          django 多言語対応のためのgettext_lazy

          React memoってすげー

          いよいよ本格的にReactを使うと思って、基本的なところは勉強しおわって、ステップアップの口座を見てるんですけど、HTMLで再レンダリングって、変数の値などが変わらない限りいらない処理なんで、極力減らしたいじゃないですか? そうゆうときに使えるのが、memoでこれを使ってコンポーネントを囲えば、propsの変更以外で再レンダリングするのをやめさせることができます。賢い~

          React memoってすげー