오히려 좋아..

상황이 나쁘게만 흘러가는 것 같을 때 외쳐보자.. .

궁금한 마음으로 포트폴리오 보기

분류 전체보기 245

[VS Code] Go to Definition 안될 때

VsCode에는 아주 멋진 기능이 많다. 그중에서 하나를 골라보자면 Go to Definition 기능이다. Go to Definition 기능은 Command(window는 Ctrl)를 누르고 함수나 클래스 클릭하거나 커서를 함수나 객체에 두고 F12를 누르면 해당 함수나 객체에 대한 정의로 바로 넘어가게 해주는 기능이다. 예를 들면 CharField에 두고 F12를 클릭하거나 Command + 클릭하면 다음과 같이 정의가 작은 박스로 나오고 클릭하면 해당 코드로 이동한다. 그런데 종종 프로젝트마다 Go to Definition이 잘 동작하지 않는 경우가 존재한다. 이 문제의 원인은 다양하겠지만 내 경우에는 현재 동작하는 파이썬 경로를 잡아주지 않아서였다. 프로젝트 폴더에 .vscode 폴더를 만들고 ..

Web Programming 2020.12.29

[Docker] Docker Pull 명령어 사용하기

인터넷이 안되는 폐쇄망에 배포할 일이 있어서 공부했던 내용을 정리해둔다. 1. Docker 란? 일단 도커는 컨터이너 기반의 오픈소스 가상화 플랫폼이다. 쉽게 생각하면 Vmware나 VirtualBox에서 사용하는 것 처럼 하나 OS에 다른 OS를 올려서 사용하게 해주는 것을 의미한다. 물론 도커는 기존의 가상화 툴보다 더 가볍고 빠르다. 그 이유는 도커는 기존의 가상화 툴 처럼 추가적인 OS를 설치해서 가상화 하지 않고 프로세스를 격리하는 방식으로 동작하기 때문이다. 도커의 가장 중요한 개념은 Image와 Container이다. 1. Image는 컨테이너 실행에 필요한 파일과 설정값등을 포함하고 있는 파일 2. Build 과정을 거쳐서 메모리에 올리고 Run을 통해 동작하는 프로세스 간단하게 Image..

[Django] 장고 migrations 명령어

마이그레이션은 어렵다.. 모델 사이의 관계나 필드의 속성을 바꿀 때 또는 local에서 배포 환경에서 매번 마이그레이션이 문제가 될 때가 꽤 있다. 이번 포스트에서는 마이그레이션과 관련된 명령어를 정리하겠다. 1. 마이그레이션 파일 생성하기 python manage.py makemigrations 2. 데이터 베이스에 마이그레이트하기 python manage.py migrate python manage.py migrate --settings=config.local.settings python manage.py migrate --settings=config.deploy.settings 3. 어떤 마이그레이션이 적용되었는지 확인하기 python manage.py showmigrations 4. 특정 앱의 마..

[Node.js] MongoDB Mac에서 brew로 다운받고 Node.js로 연결하기

Node.js + Mongodb 조합을 많이 사용한다고 하지만 python 만큼 자료는 많지 않은 듯하다. 이번 글에서는 Mac에서 brew를 통해 mongodb를 다운받고 node.js를 이용해서 연동하는 방법에 대해 알아보겠다. 일단 전제는 이미 Node.js와 실행하기 위한 IDE(내 경우에는 VScode)를 다운받았다는 전제하에 진행하도록한다. 만약 받지 않았다면 아래 링크에서 LTS 버전을 받아주도록 하자 nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org terminal에서 node를 작성해보자. 아래처럼 나오면 성공이다. 나오지 않았다면 환경변수가 등록되..

[Django] Template Tags and Filters (Filter 편)

장고는 매우 잘 갖추어진 프레임워크이다. 이미 구현되어있는 부분들이 많아서 개발자가 직접 구현하지 않고 그대로 사용하면 되는 부분들이 많다. 이러한 여러 기능들 중에 가장 유용한 기능을 하나 뽑으라면 난 Django Template을 꼽고 싶다. 오늘은 Django Template 중 Tag와 Filter에 대해 알아보도록 하겠다. 먼저 상대적으로 자유도가 낮은 filter를 다루고 이후에 Tag를 다루도록 하겠다. 1. Filter Filter는 template에서 Variable안에서 사용하는 툴로서 아래와 같이 사용한다. {{variable|filter}} variable과 적용하려는 filter를 "|" 로 구분해서 사용하면 variable에 해당 filter가 적용되서 웹페이지 상에 표현된다. ..

CSS 꿀 조합

html 태그에 변수명 사용해서 바로 함수 처럼 사용할 수 있는 프레임워크 github.com/alpinejs/alpine alpinejs/alpine A rugged, minimal framework for composing JavaScript behavior in your markup. - alpinejs/alpine github.com utility-first css frame work semantic ui와 비교대상 tailwindcss.com/ Tailwind CSS - Rapidly build modern websites without ever leaving your HTML. Documentation for the Tailwind CSS framework. tailwindcss.com 참고로..

[Django] Trouble Shooting

1. The number of GET/POST parameters exceeded settings.DATA_UPLOAD_MAX_NUMBER_FIELDS 한번에 보낼 수 있는 GET/POST 파라미터 개수가 셋팅해 놓은 값보다 많이 요청했음(default 1000개) config->settings.py 으로 가서 아래 변수를 선언해준다. DATA_UPLOAD_MAX_NUMBER_FIELDS = 4000 2. MultipleObjectsReturned at /main/ get() returned more than one Stations -- it returned more than 20! modelClass.objects.get(id=id)와 같은 방식으로 쿼리셋을 날렸을 때 반환되는 클래스가 여러개일때 발생..

[Django] Admin 등록 방법

Django에서는 admin 페이지를 개발자가 손쉽게 만들 수 있도록 제공해준다. 각 app 폴더마다 admin.py 파일이 있으며 admin.ModelAdmin 클래스를 상속받아 클래스를 상속시켜주면 관리자 페이지에서 해당 값들을 확인할 수 있다. from django.contrib import admin from . import models # Register your models here. @admin.register(models.Users) class UserAdmin(admin.ModelAdmin): list_display = ('username', 'name', 'areaId')