Kits

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

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を使用する。

JavaScriptで配列でのコピー

JavaScript での配列のコピー方法について調べました。 Array.from() 配列に変換可能なオブジェクトのシャローコピーを生成します。 developer.mozilla.org Array.slice() 配列の値をディープコピーして、新しい配列を生成します。 developer.mozilla.org ス…

TypeScriptをJavaScriptにコンパイル

npmからTypeScriptをインストール npm install -g typescript tscコマンドを実行 tsc test.ts

Gitリポジトリ作成から初回プッシュ

今回ローカルにGitのリモートリポジトリと ローカルリポジトリを作成してみます。 リモートリポジトリの作成 C:\GitTest\remote 配下にリモートリポジトリを作ります。 cd C:\GitTest\remote git init --bare --share ローカルリポジトリの作成 C:\GitTest\l…

AutoHotKey for HHKB

HHKBの英字配列を使用していますが 日本語と英語の変換がAlt + ` キーとなっており、 ホームポジションから手が離れてしまします。 対策としてキーマッピングを変更できるAutoHotKeyを使用しています。 導入は容易で下記からダウンロードしてインストールし…

キーボードの終着点 HHKB Professional2 Type-S 英字配列

先日、HHKB Professional2 Type-S 英字配列(以下HHKB) を 購入しましたので、レビューをしたいと思います。 HHKB を購入する前に使用していたキーボード HHKB を購入するまでは、 テンキーレス JIS配列 CherryMX 赤軸 ロープロファイル のキーボードを使用し…

node.js での package.json と package-lock.json

npm init の実行時に自動生成されるファイル package.json と package-lock.json これらのファイルについて調べたことを書きます。 package.json パッケージの依存関係を記述するファイルです。 dependencies と devDependencies 依存関係の種類は dependenc…

Photoshopの代替ソフト

Adobe Photoshopって高くないですか? サブスクリプション契約しかないので 継続的に料金を支払わなければならず お財布にも、心理的にも厳しい。 購入を迷って、代用できるものを探していたら Affintiy Designerというソフトを見つけました。 買い切りでタ…

ブログの開始

20代後半で未経験でIT企業に入社し 2年目のエンジニアです。 技術に関すること、開発に関すること、個人的な雑記など 諸々について書いていこうと思います。