전체보기

서버(Server)/장고 (Django)

[Django Basic] 0. Django Basic을 시작하며

나는 보통 백엔드 개발 시에 Django와 DRF를 주로 사용하는데, 이에 대해서 사실 그냥 덕지덕지 배운 느낌으로 사용하고 있어서, 시간을 내서 Django와 DRF의 기능들에 대해 세세하게 파보기 위하여 Django Basic과 DRF Basic 시리즈를 작성하기로 결심했다. 우선 장고를 어떤 방식으로 찾아보고, 어떻게 글을 써갈지 조금 고민을 했다. Django Tutorial을 따라가며 글을 쓴다면 다음과 같은 시리즈가 나올 것이다. Create project, create app, write views and urls, url path arguments INSTALLED_APPS, Create models, activate models, Django admin Templete, HttpRespo..

CS/자료구조 (Data Structure)

[자료구조] 0. 자료구조 시작에 앞서

지난 학기에는 학교에서 자료구조를 수강했었다. 흔히 컴퓨터공학 6대 과목을 자료구조, 알고리즘, 컴퓨터 구조론, OS, 컴퓨터 네트워크, 데이터베이스 이렇게 6가지를 말하곤 한다. 그중 처음 듣는 과목인 자료구조였던 만큼 제대로 된 전공공부를 해보게 된다 라는 느낌으로 수강하였다. 사실 자료구조의 대부분은 따로 커리큘럼을 따라 배운것은 아니지만, 그때그때 배웠던 지식으로 알고 있었기에 대부분 수업을 복습하는 느낌으로 듣게 되었다. 그러나 원래 잘 확실히 이해하지 못했던 Priority Queue와 Heap의 관계를 ADT와 Implemantation의 관계라는 것을 이해할 수 있었고, AVL Tree를 직접 구현해보기도 하고, 여러 자료구조들을 수학적으로 따져보기도 하는 과정도 새로웠다. 또한 그래프 구..

회고 & 기록

카카오 로그인후 기존페이지로 복귀 시도기

최근에 카카오 로그인을 Django에서 REST API를 이용하여 구현해 보았다.카카오 로그인은 다음과 같은 과정으로 진행된다. 카카오 웹사이트로 사용자를 리다이렉트 -> 사용자가 로그인하면 인가코드와 함께 미리 지정한 Redirect URI로 302 Redirect -> 받은 인가코드를 통해 토큰 받기 이러한 방법을 시도하며 마주한 문제점은, 바로 리다이렉트 되는 사이트가 제한되어 있다는 것이었다. 다시 돌아올(리다이렉트)될 사이트는 아래와 같은 쿼리스트링으로 전달하기에 단지 쿼리스트링에 돌아올 사이트의 값을 바꿔주면 되지 않나? 싶긴 하다.https://kauth.kakao.com/oauth/authorize?client_id={client_id}&redirect_uri={redirect_uri}&r..

서버(Server)/장고 (Django)

Django SECRET_KEY 새로 생성하기

장고에서 SECRET_KEY는 보안상 중요하고 외부에 유출되면 안되는 값이다. 그렇기에 새로 SECRET_KEY를 생성해야 하는 일이 있는데, 이럴때 외부에서 제공하는 웹사이트에서 생성하자니 보안의 우려가 있고, 또 무작위로 써넣기도 애매하다. 그러나 장고에서는 SECRET_KEY를 생성하는 기능을 포함해 두었다. 방법은 다음과 같다. python manage.py shell 위와 같이 shell을 실행해준다. from django.core.management.utils import get_random_secret_key get_random_secret_key() 다음과 같이 함수를 실행해주면 무작위 SECRET_KEY를 얻을 수 있다.

Troubleshooting

Django, Docker-compose 에서 .env 적용 안되는 문제

장고 프로젝트를 도커로 배포하며 환경변수가 적용되지 않는 문제를 겪었습니다. 이 상황당시의 코드 상황은 대략 다음과 같았습니다. # docker-compose.yml version: "3" services: django: build: . ports: - 80:80 env_file: - web.env volumes: - ./static:/staticfiles command: gunicorn config.wsgi --bind 0.0.0.0:80 # Dockerfile FROM python:3.10 ENV PYTHONUNBUFFERED=0 WORKDIR /web COPY ./requirements.txt /web RUN pip3 install --upgrade pip RUN pip3 install -r req..

기타 (Other)

LF vs CRLF

LF와 CRLF 중 어떤 것을 사용해야 할까요? 결론부터 말하자면, LF를 사용해야 합니다. LF, CRLF LF와 CRLF에 대해 알아보게 된 계기는 이전에 git을 사용하여 협업을 진행할 때 CRLF와 LF로 인해 코드 충돌이 일어났었을때 찾아보게 되었습니다. CR은 캐리지 리턴(Carriage Return)을 의미하며, LF는 라인 피드(Line Feed)를 의미합니다. 보통 우리가 '\n'으로 표시하여 문자열 출력 시 줄바꿈을 표현하는 것이 바로 LF입니다. 또한, CR은 '\r'로 커서를 맨 앞으로 이동시키는 역할을 합니다. 그렇다면 LF와 CRLF의 차이는 무엇일까요? 두 개는 모두 줄바꿈을 표현하는 것을 의미합니다. 그러나 운영 체제에 따라 줄바꿈을 나타내는 표준이 다릅니다. LF: Linu..

기타 (Other)

AWS CodeWhisperer 사용기

최근에 Github Copilot 무료 사용이 만료되었습니다. 다시 Github Edu로 어찌어찌 연장해보려 하다가 귀찮아져서, 이전에 AWS의 코드 도우미가 개인용으로 무료로 제공된다는 소식을 들어본적이 있어서 사용해보기로 결심했습니다. AWS CodeWhisperer https://docs.aws.amazon.com/codewhisperer/latest/userguide/whisper-setup-indv-devs.html Setting up CodeWhisperer for individual developers - CodeWhisperer In order to use CodeWhisperer, all individual developers must sign up through the procedure..

하나도 안 중요함

githubpage dependency

보호되어 있는 글입니다.

TIL

TIL 230122 - SvelteKit에서 환경변수 사용법

SvelteKit에서 환경변수 사용법 SvelteKit에서 환경변수를 사용하는 방법은 여러 가지가 있다. JS기반으로 라이브러리를 사용할 수도 있고, Vite에 있는 기능이나 dotenv 등을 사용할 수도 있다. 그러나 SvelteKit에는 자체적으로 제공하는 환경변수 기능이 있다. 이를 사용하면 보안 등에서 이점이 있다. SvelteKit에는 2가지 기준으로 분류해 4가지의 환경변수 기능을 지원한다. Static / Dynamic값인지, Public / Private 한지를 따져 4가지 방식으로 사용할 수 있다. 우선 환경변수 저장파일인 .env를 프로젝트 루트에 생성해 준다. 아래에 Private Key와 Public Key를 예시로 작성했다. # .env # Private SECRET_API_KEY..

알고리즘 (Algorithm), PS/Baekjoon Online Judge

BOJ 2263 트리의 순회(풀이, C++)

2263번 트리의 순회 문제는 이진 트리의 순회에 관한 문제로, 이진 트리의 중위 순회(In-order traversal)와 후위 순회(Post-order traversal)를 받아 전위 순회(Pre-order traversal)를 출력하는 문제입니다. 풀이 이해를 돕기 위해 위의 이진 트리를 보겠습니다. 해당 트리의 순회 순서는 다음과 같습니다. 중위 순회: 8 -> 4 -> 2 -> 9 -> 5 -> 10 -> 1 -> 11 -> 6 -> 3 -> 12 -> 7 후위 순회: 8 -> 4 -> 9 -> 10 -> 5 -> 2 -> 11 -> 6 -> 12 -> 7 -> 3 -> 1 전위 순회: 1 -> 2 -> 4 -> 8 -> 5 -> 9 -> 10 -> 3 -> 6 -> 11 -> 7 -> 12 우..

Wibaek
'분류 전체보기' 카테고리의 글 목록 (10 Page)