반응형

장고 프레임워크를 활용하여 DB 모델을 만들고 있었습니다.

일반적인 DB를 활용하여 테이블을 만들때는 제약조건에 null만 있습니다.

null 이라 함은 값이 없음을 의미하는 값 입니다.

하지만 장고 모델을 작성하다 보니 blank라는 제약조건이 있었는데요.

이 둘의 차이점을 알아보도록 하겠습니다.

 

1. 공식문서

 

 django null

django 공식문서에 null 설명입니다. True라고 설정이 된다면 데이터베이스 내 빈 값을 저장할 수 있다고 합니다. 마지막줄을 보시게 되면 장고에서 사용되는 forms 관련해서는 blank 파트를 보라고 설명이 되어 있습니다.

다음 blank를 보겠습니다.

 

django blank

blank가 True인 경우에는 blank라고 설명이 되어 있는데요. 여기까지 보면 null과 별 차이가 없습니다.

다음 라인을 보시게 되면 차이점이 있습니다.

null은 물리적인 데이터베이스와 관련이 있고, blank는 유효성과 관련이 있습니다.

즉, null은 데이터베이스의 직접적인 연관이 있고 null 옵션을 통해서 데이터베이스의 null이라는 제약조건을 주고 blank옵션은 물리적으로 데이터베이스에는 연관이 없으며 django forms을 사용한 유효성 검사와 관련이 있습니다.

 

 

2. 코드와 테이블 설계도

실제코드는 아래와 같습니다.

class TestNullBlank(models.Model):
    null_true   = models.CharField(max_length=10, null=True)
    null_false  = models.CharField(max_length=10, null=False)
    blank_true  = models.CharField(max_length=10, blank=True)
    blank_flase = models.CharField(max_length=10, blank=False)

 

테이블이 만들어지는 데이터베이스 설계도

PostgreSql 데이터베이스 기준입니다.

CREATE TABLE TestNullBlank (
  id              serial			NOT NULL,
  "null_True"     character varying(10),
  "null_False"    character varying(10)		NOT NULL,
  "blank_True"    character varying(10)		NOT NULL,
  "blank_False"   character varying(10)		NOT NULL,
  CONSTRAINT TestNullBlank PRIMARY KEY (id)
)

 

null이 허용되는(null=True) 첫번째 컬럼 null_True를 제외하고는, 모두 null 값이 허용이 안됩니다.

 

데이터베이스 설계는 정말 중요합니다.

스키마를 만드는데 있어 빈틈없이 꼼꼼하게 설계를 만들어야겠습니다.

감사합니다.

 

* 장고 공식문서 참고

https://docs.djangoproject.com/en/3.0/ref/models/fields/#null

반응형
반응형

gitlab으로 push를 진행 중에 Permission denied (publickey) 에러가 발생했습니다.

lg@DESKTOP-E80J3HQ MINGW64 ~/work/lotto (master)
$ git push -u origin master
git@gitlab.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

ssh키가 등록이 안되어 발생하는 에러입니다.

깃랩 사이트에 우리의 공개키를 등록을 해주시면 됩니다.

아래의 방법을 참고해주세요 ^^

 

1. 다음 명령어 입력 후 엔터를 쳐주세요.

ssh-keygen

2. 방금 key가 만들어진. ssh  경로로 이동해주세요. (경로는 위의 사진이며 사용자 컴퓨터 만다 다릅니다.)

3. id_ksa.pub 파일을 열어서 키를 복사해주세요.

 

4. 깃랩 키 관리 사이트로 이동해주세요. (https://gitlab.com/profile/keys)

 

5. id_ksa.pub에서 복사하신 키를 사이트 key 부분에 복사해주세요.

 

6. Add Key를 눌러 키를 등록해주시면 됩니다 ^^

 

키 등록 이후에 이상 없이 push가 되었습니다.

 

감사합니다.

반응형
반응형

안녕하세요.

도커 커맨드 실행중에 다음과 같은 에러가 발생했습니다.

E: Failed to fetch http://deb.debian.org/debian/pool/main/g/glibc/libc6-dev_2.28-10_amd64.deb  Connection failed [IP: 151.101.228.204 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
ERROR: Service 'django' failed to build: The command '/bin/sh -c apt-get update   && apt-get install -y build-essential   && apt-get install -y libpq-dev   && apt-get install -y gettext   && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false   && rm -rf /var/lib/apt/lists/*' returned a non-zero code: 1002

 

해결하는 방법은 간단합니다.

다음 명령어를 입력해주세요.

sudo apt-get update

이후에 문제 없이 동작이 되었습니다 ^^

참고해주세요.

감사합니다.

반응형
반응형

안녕하세요.

리덕스 세팅 중에 다음과 같은 에러가 발생했습니다.

redux-persist failed to create sync storage. falling back to noop storage.

 

redux-persist 세팅 중에 발생한 에러입니다.

원인은 버전이 맞지 않아 최근 버전의 방법처럼 세팅을 해주셔야 합니다.

sync 스토리지 생성을 실패했는데요. 실패한 코드는 다음과 같습니다.

기존 코드

import { applyMiddleware, createStore } from "redux";
import { persistStore, persistCombineReducers } from "redux-persist";
import storage from "redux-persist/lib/storage";
import thunk from "redux-thunk";

const middlewares = [thunk];

const persistConfig = {
	key: "root",
	storage
};

기존 코드인 실패한 코드는 storage를 redux-persist 라이브러리에서 갖고 온 storage를 설정 값에 넣어 줍니다.

하지만 최근 버전에서는 react-native에서 갖고 오셔야 됩니다.

 

변경 코드

import { AsyncStorage } from 'react-native';
import { applyMiddleware, createStore } from "redux";
import { persistStore, persistCombineReducers } from "redux-persist";
import thunk from "redux-thunk";

const middlewares = [thunk];

const persistConfig = {
	key: "root",
	storage: AsyncStorage
};

storage 방식을 위와 같이 저장해주시면 해결이 되겠습니다.

감사합니다.

반응형
반응형

안녕하세요.

탈잉 VOD 후기를 남겨 보려고 해요. 탈잉이라는 플랫폼은 다른 사람의 가르침을 받을 수 있는 플랫폼입니다. 어떤 걸 배울 수 있을까요? 영어회화, 영상편집, 개발, 요리, 투잡 관련 등등 정말 많은 걸 배울 수 있어요. 내가 다른 사람들보다 조금 잘할 수 있는 게 있다면 가르칠 수도 있고 필요로 한 걸 배울 수도 있어요!!

원래는 오프라인으로 많이 진행을 하는데 최근에는 온라인 강좌도 많이 올라고 있습니다.

 

제가 본 강좌는 소액으로 시작하는 부동산 투자 강의를 수강했어요. 이광석 튜터님께서 진행을 하시고요.

지금은 강의 시청 중 :)

결론부터 말씀드리면 부동산 공부를 처음 시작하신다면 정말 추천드립니다.

최근 들어 부동산의 대한 관심이 커지고 앞으로 집을 한 채 사야 겠다는 생각이 들었습니다.

그리고 알아야 집을 살 수 있겠다 라는 생각을 갖았습니다.

이전에 부동산 공부를 한 적이 단 한 번도 없었습니다. 스스로 처음 공부할 때 부동산의 대한 나만의 기준을 만들기 위해서는 책도 여러 권을 보고 생각도 많이 해봐야 됩니다. 하지만 빠르게 기본을 배울 수 있는 방법도 있습니다.

바로 정리가 잘 된 강의를 보는 것입니다.

13만원 가격이 비싸면 비싸고 저렴하면 저렴한 가격인데 제 기준으로는 비싼 가격이 아니었습니다. 부동산 용어, 투자 방법, 분석 방법 이런 믿을만한 정보들을 한 번에 떠먹기는 쉽지 않습니다. 지금까지 못 했던 부동산 공부들의 대해서 정말 빠르게 기본을 다질 수 있었거든요.

또한 저에게는 꼭 필요한 지식이라 만족스러워요. 앞으로도 사용해야 될 지식들이라 더욱 그렇습니다.

 

강의를 보고 공부를 하면서 나름의 기준도 생겼고 부동산을 분석하는 방법들도 배웠습니다.

정말 스스로가 분석도 하실 수 있습니다. (제가 해보니 강의만 보고 그치면 안 됩니다..)

지금 생각해보니 유튜브에서 부동산을 분석하는 내용들도 지금 강의 듣고 스스로도 할 수 있을 것 같아요.. 왜냐면 강의에서 중요한 부동산 기준들을 딱 잡아주니까요.

지금의 기반으로 책도 보고 스스로 분석하면서 부동산 능력을 쌓아 올리면 되겠다는 생각이 듭니다.

 

강의를 듣고 하루아침에 부동산 몇 채를 갖는 건 아니지만 강의를 보고 공부를 함으로써 집을 한 채 가질 수 있겠다는 생각이 듭니다. 새집을 분양받아야 될지 마음과 같아선 지금 투자를 하고 싶다는 생각도 듭니다. 강의 이후에는 새집 아파트에는 분양신청을 꾸준히 넣기 시작했답니다.

강의를 듣지 않았더라면 부동산에 대한 관심은 벌써 사라지고 집 마련도 점점 멀어졌을 겁니다. 청약이든 부동산 투자든 전혀 생각을 하지 않고 있었겠죠 ㅠ.ㅠ

 

부동산을 공부해본 적 없었던 저로서는 강의를 듣게 되어 다행입니다.

어차피 살아가기 위해서는 집이 필요로 하고 집을 사는 김에 괜찮은 집을 사는 게 좋겠지요.

부동산을 막 시작하신 분들에게는 정말 추천드리는 강의입니다.

기회가 된다면 이광석 튜터님과 차를 한잔 마시고 싶네요.

감사합니다.

 

p.s)

부동산 공부를 꽤 하셨거나 평소에도 부동산에 관심이 많으셨 던 분은 알고 있는 내용들이 많을 수도 있습니다 ^^

반응형

+ Recent posts