Kits

システム、プログラミングなど

2021-01-01から1年間の記事一覧

Django REST framewrok で 'NoneType' object has no attribute '_meta' serializer エラー

結論から言いますと、 serializers でのユーザーのインポート方法に問題があったようです。 カスタムユーザーを作成して、下記の通りユーザークラスを呼び出して 使用していました。 from django.contrib.auth.models import User class UserSerializer(seri…

Django REST framewrok の環境構築

Windows 端末での Django REST framewrok の 環境構築について説明します。 仮想環境の作成 まず、Python の仮想環境を作成します。 一番手っ取り早いのは anaconda navigator を使用する方法です。 下記サイトから anaconda navigator をインストールします…

Pythonで実行ファイルのパスを取得する

フルパスを取得する方法 import os print(os.path.realpath(__file__)) print(os.path.abspath(__file__)) abspath は root ディレクトリからの完全パス realpath は symbolic links を解決したパスを返す。 ディレクトリパスを取得する方法 import os print…

TypeScript の enum

TypeScript では enum型(列挙型)を 使用することが出来る。 enum のサンプルコード enum OS { Windows, Mac, Linux, } enum Maker { Dell, HP, ASUS, } interface PC { os: OS; maker: Maker; } const myPC: PC = { os: OS.Windows, maker: Maker.Dell, }

TypeScript の keyof

TypeScript では keyof でオブジェクトの キーを取り出すことが出来る。 keyof のサンプルコード type KEYS = { primary: string, secondary: string, tertiary: string } let key: keyof KEYS; key = "primary" const COUNTRIES = { primary: "USA", second…

TypeScript の typeof

TypeScript では typeof を使用して、 型を流用できる。 typeof のサンプルコード let profile1 = { name: "Mike", age: 24 }; let profile2: typeof profile1 = { name: "Ken", age: 22 }

TypeScript で Literal Types

TypeScript では Literal Types を使用して、 指定した値しか代入できないようにすることが出来る。 Literal Types のサンプルコード let country: "USA" | "China" | "India"; country = "USA";

TypeScript の UnionTypes

TypeScript では UnionTypes を使用して 複数の型を指定することが出来る。 UnionTypesのサンプルコード let val: boolean | number; val = true; val = 1; let arry: (number | string)[]; arry = [0, 1, "Hello"];

TypeScript の Intersection Types

TypeScriptではIntersection Typesを使って 型の結合することが出来る。 Intersection Types のサンプルコード type ID = { username: string; password: string; } type PROFILE = { name: string; age: number; } type USER = ID & PROFILE const user1: U…

TypeScriptでの型の指定

型の指定の例 サンプルコード let name: string = "Mike"; let age: number = "24"; let adult: boolean = true; interface ADRESS { state: string; county: string; city?: string; street: string | null; } let add: ADDRESS = { state: "California", c…

djangorestframework-simplejwt で Unauthorized

djangorestframework-simplejwt で Unauthorized の認証エラー settings.py の設定内容が誤っていたので下記の通り修正。 REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.IsAuthenticated', ], 'DEFAULT_AUTHENTICATION_C…

Django simplejwt で 'str' object has no attribute 'decode'

djangorestframewrok djangorestframewrok-simplejwt を使用した際に、下記のエラーが発生 AttributeError: 'str' object has no attribute 'decode' ライブラリのバージョンは下記の通り (pip list または pip freeze で確認) djangorestframewrok==3.11.0 …

Django adminサイトでno such table

Django adminサイトでテーブルの中身を参照しようとすると 下記のエラーが発生 ~ django admin Exception Value: no such table: ~ もう一回migrateしてみる。 python manage.py makemigrations python manage.py migrate 何故か直りました。

HHKBの英語日本語切り替え

HHKBの英語配列を使用していますが、 英語日本語切り替えのキーマップについて 私なりの最適解が見つかりました。 それは、 Ctrl 空打ちでの切り替えです。 それまでに試してみたのが Ctrl + Spaceで切り替え Shift + Spaceで切り替え Alt で切り替え Win で…

DjangoでUUIDを使用する

DjangoではデフォルトでIDにPrimary Keyが設定されるが、 IDは1からの連番となるため、外部から容易に推測できてしまう。 そこでIDにUUIDを設定して、外部から推測できないようにする。 id = models.UUIDField(default=uuid.uuid4,primary_key=True,editable…

しょうもないバグで半日使った

Reactでpropを使用した値の受け渡しが上手くいかない、 undefinedが値として受け渡されてしまうバグが発生。 いろいろ調査したが理由がわからない。 気が抜けた状態でソースを眺めると、 全然意図しない箇所でcomponentを呼び出している。 なぜ気付けなかっ…

React Hooks で意図しない再レンダーが発生して困った件

React Hooks で意図しない再レンダーが発生して困った。 再レンダーされるタイミングはstateが更新されたタイミングであり、 Context内のstateが一つでも更新されると再レンダーが走ってしまう。 対策 - Contextを分割する。 - useMemoを使用する。