Programming 4

Python Django - blog, admin

장고걸스 튜토리얼을 참고했습니다. manage.py 가 있는 파일 경로로 들어가서 아래 명령어를 실행한다. % python manage.py startapp blog - manage.py 파일이 있는 경로에서 blog 파일을 생성한다. 그럼 이렇게 blog라는 이름의 폴더가 생성되고, apps.py 파일, migrations 폴더를 포함해 여러 가지 항목들이 패키지로 설치된 것을 확인할 수 있다. (*참고) 장고 걸스에서 가져온 현재 디렉터리 모습 blog 모델을 생성했다면 이 App이 설치되었다고 알려줘야한다. mysite에서 다시 settings.py를 실행한다. INSTALLED_APPS를 찾아서 'blog'를 추가해준다. 이렇게 'blog' 앱이 설치된 것을 인식시켜줬다면, 다음으로 blog에 대..

맥 zsh - conda install 에러, pip install로 대체

이번에 새로 산 맥에 장고를 설치하려다가 conda install 관련 에러가 있어 내용을 기록한다. 우선, 사용자폴더에서 새롭게 sw_python이라는 폴더를 생성하고, 가상환경도 만들어 줬다. 가상환경 이름은 재미없지만 django_venv이다. 가상환경은 잘 생성되었다. conda activate django_venv 명령어로 가상환경을 실행한다. 이어서 conda install 명령어를 통해 django를 설치해줬다. 그리고, 장고를 실행하기 위한 mysite와 하위 파일들을 생성하려고 시도해보았으나 No module named 'django' 메시지가 뜨면서 실행되지 않는다. 이어서 django --version 으로 설치가 되었는지 확인해보니 command not found: django 라고..

JavaScript - 가변인자, 클래스, 배열 순회

자바스크립트의 높은 자유도는 협업을 하거나 에러를 수정할 때 불편함으로 다가온다. 따라서 고의적으로 명시적 코드를 작성해줄 필요가 있다. 처음 입문하더라도 명시적인 코드와 관련해 대표적인 3가지 유형을 알고 넘어가면 좋다. '가변 인자', '클래스' 그리고 '배열 순회'에 대해 알아보자. 1. 가변 인자 자바스크립트의 함수는 인자를 적게 받거나 다른 타입으로 받더라도 오류가 발생하지 않는다. 매개변수를 지정하지 않고 변할 수 있는 인자, 즉 가변 인자를 받을 수 있도록 되어 있기 때문이다. function sum() { let res = 0; for (let i = 0; i < arguments.length; i++) { res += arguments[i]; // 선언하지 않은 arguments를 사용하..

JavaScript - Scope와 Closer

ES5까지 자바스크립트에서 변수를 참조할 수 있는 유효 범위의 단위는 함수였다. 예를 들어 코드에 함수가 하나 존재한다면 함수 밖의 변수는 Global Scope, 함수 안의 변수는 Local Scope 내에서만 호출할 수 있다. 변수를 선언할 수 있는 유일한 방법은 var를 키워드를 사용하는 것인데, var는 변수의 중복과 키워드 생략을 허용한다는 점에서 의도하지 않은 결과를 나타낼 수 있다. 그리고 유효범위, 즉 스코프의 단위가 함수라는 점에서 함수 내의 for문 또는 if문에서만 필요한 변수가 함수 전역에 머물러 있기 때문에 변수 사용이 끝난 시점에도 불필요한 메모리를 낭비하게 된다. 변수를 선언할 때 'var' 키워드를 사용한다면 이때의 변수는 항상 포함된 함수 scope 혹은 Global Sco..

1