분류 전체보기 (90) 썸네일형 리스트형 Django - mysql 설치, settings.py 설정 Django(이하 장고)는 python framewok이다. framework는 사용자가 규칙에 종속된다. 규칙을 준수해야만 원하는 결과를 얻을 수 있다. medels.py에 DB 테이블을 정의, views.py에 로직을 작성하고 이 로직을 실행시킬 urls.py를 설정한다. cf. 라이브러리는 사용자가 원할 때 load해서 쓴다. framework보다 종속성이 덜하다. MVT(model, view, template) 개념으로 FE, BE를 한 번에 구현하는 방식은 app 단위인 Web 2.0에 해당한다. 장고 안에 html 파일 등을 넣어서 클라이언트에게 어떻게 보여줄지까지 포함했었다. 이제 여기서 BE만 활용해 API를 만들 것이다. 실제로 서버를 돌렸을 때 클라이언트와 서버간 요청-응답을 처리할 수.. Ubuntu 20.04에 python 가상 환경 설정하기 나중에 우분투를 다시 설치할 때를 대비해 성공했던 기록을 남긴다. python 가상 환경을 설정할 수 있게 해주는 패키지는 다양하다. 1. virtualenvs - 기본 설치되어 있다. python을 처음 배울 때만 써봤다. 2. pipenv - pipfile로 설치 패키지 목록을 공유하고 반영할 수 있다. 윈도우 기반 첫 프로젝트에서 요긴하게 썼다. python 공식에서 권장했다는 말이 있는데, 이것저것 install 하다가 패키지 이름에 오타 낼 경우엔 머리 싸매게 된다. 3. anaconda - 가상 환경뿐만 아니라 패키지 설치도 전부 관리한다. 기본으로 갖고 있는 패키지도 엄청 많고(=용량 크다) ML에 특화되어 있다. 주피터 노트북을 제공하고 GUI도 제법 편하다. python을 기본적으로 갖고.. Ubuntu 20.04 터미널 꾸미기 나중에 우분투를 다시 설치할 때를 대비해 성공했던 기록을 남긴다. vim, git 설치 $ sudo spt-get install vim git zsh 설치 $ echo $SHELL # 지금 쓰고 있는 쉘 확인 $ sudo apt-get install zsh $ sudo apt-get install curl # curl 설치 oh my zsh 설치 ohmyzsh github 참고. 설치 중 default shell을 zsh로 바꾸겠냐고 하면 Y. $ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" oh my zsh이 정상 설치되면 커맨드 라인 -> ~ 이렇게 바뀌고 지금 쓰고 있는 쉘.. How the Web works 사용자가 크롬 주소창에 www.google.com을 치면 크롬은 구글 홈페이지를 띄운다. 컴퓨터에 홈페이지의 html 파일이 있는 것도 아닌데 어떻게 보여줄까? 크롬이 구글 홈페이지의 html 파일을 가져오는 과정을 4단계로 보자면 아래와 같다. 1. 브라우저가 DNS 서버에 IP 주소를 찾기 위한 요청을 보낸다. 이 때 이 요청에 domain name이 담겨있다. 2. DNS 서버가 IP 주소를 찾아 응답한다. 3. 해당 IP 주소가 나타내는 웹 서버(호스트 서버)에 브라우저가 요청을 보낸다. 4. 브라우저는 호스트 서버의 응답을 받아 사용자에게 보여준다. 조금 더 자세히 보자면, 1. Send a request to the DNS Server 구글 홈페이지 html 파일은 구글 웹서버에서 가져와야 된.. Ubuntu 20.04에 Node.js, Neovim 설치하기 나중에 우분투를 다시 설치할 때를 대비해 성공했던 기록을 남긴다. Node.js 설치 cf. Windows 10에 nodejs를 설치할 때 $npm install이 cmd에서도 bash terminal에서도 안 되는데 windows powershell에서 된 경험을 한 적이 있다. 이게 정상이었는지는 아직도 모르겠다. $ sudo apt-get install curl # curl 설치 $ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - # ppa 추가 $ sudo apt-get install -y nodejs ppa를 통해 nodejs를 설치하면 npm도 같이 설치된다. npm이 제대로 동작하도록 build-essential을 설치한다. .. 스타벅스 음료 데이터 모델링 스타벅스 음료 페이지를 모델링하는 팀 과제를 받았다. 직전의 수업에서 들은 테이블간 상호관련성 판단에 중심을 두고 상의했다. 필수 구현: 음료 이름, 카테고리, 영양 정보, 알러지, 음료 이미지, 음료 설명, 신상 여부 구현 제외 사항: 프로모션, 음료 사이즈 1. 데이터 성질 파악 2. 팀 회의를 통해 추가적인 정보 습득, 모델링 상의 3. 모델 제출 후 리뷰 4. 리뷰 내용을 반영하여 모델 수정 이후 장고에 이 모델을 넣을 예정이다. 1. 데이터 성질 파악 팀 회의에 들어가기 전에 스타벅스 음료 페이지에 있는 여러 음료들을 들여다보고 대략적인 성질을 파악했다. 음료 이름 - 고유. 카테고리 - 전체상품 제외 9종. 교집합 데이터가 있는지 모르겠다. 영양정보 - 1회제공량 kcal 등 6종. 각각 in.. MSI 노트북에 듀얼부팅으로 Ubuntu 20.04 설치하기 전제 1. Windows 10이 C드라이브에 설치된 상태 2. 최소 40기가 이상의 여유 공간을 확보할 수 있는 상태 3. 나중에 파티션 째로 날리고 다시 설치할 수도 있다는 마음가짐 4. MSI가 리눅스 호환성 쓰레기 3대장 중 하나라는 걸 알고 시작하기 5. 기본 부팅은 윈도우로 하고 우분투 쓰려면 부팅 때 부팅 옵션에 들어가서 선택하는 방식을 목적으로 함. 사실 이걸 온전한 의미의 듀얼부팅으로 부를 수 있나 싶긴 한데 부트매니저를 같은 파티션에 넣어놨으니 그렇다 치고 지금 내가 더 편한 방식이라 선택했다. - 장점: 일상적으로는 윈도우를 더 자주 쓰는 경우에 편하다. 부트 메뉴부터 띄워 선택을 할 수 있게 해주는 무슨 방법(이름 까먹었다)을 한 번 해봤는데 거기서 윈도우를 선택하더라도 부팅 속도가 .. Python - Import 모듈 불러오기 import 이렇게 import한 다음 사용할 때는 . 모듈 이름을 안 붙여주면 파이썬은 호출한 걸 지금 파일에서만 찾으려고 한다. 모듈에서 사용하는 것이 명확할 때 from import , 아래와 같이 쓰면 모듈에 있는 모든 요소를 import한다. 현재 파일에서 다른 것과 이름 충돌이 나면 알기 어려우니 비권장. from import * from .. import .. as 새 이름 여러 모듈을 import하다 불러낸 것들끼리 이름 충돌이 나거나 또는 사용하려고 불러낸 모듈/함수/변수/클래스의 이름이 너무 길면 새로 이름을 줄 수 있다. from my_module import my_func as f1 이러면 이제 my_module의 my_func은 f1으로 호출된다. 패키지를 impor.. Github 협업 - branch 연습하기 12월 28, 30일에 실행한 git 협업 연습에서는 기초적인 시나리오만 진행했다. 한참 뒤에 쓰는 거라 매 단계를 상세히 작성하기 어려워 뼈대만 남긴다. 이 글에서는 28일 내용을 기록했다. 1. branch를 나누지 않았을 때 어떤 문제가 생기는지 체험 2. branch 나누고 반영하기 3. conflict 해결 연습 준비 * git 강의 하나 정도는 들은 머리 : 에러 메세지 이해를 못하면 곤란하다. * 같이 할 사람 2명 이상 : 세명 이상이면 두명일 때보다 더 많이 연습할 수 있다. * 버려도 되는 github repository(이하 repo) : 날려먹는 건 아니지만 연습장이 필요하다. * 에러가 나도 포기하지 않고 변경 사항을 밀어붙일 마음가짐 : 해결할 수 있으니 타협 금지. 한 개의 r.. 개발자 도구 - Application panel 크롬 개발자 도구 단축키: Windows 기준 F12 또는 ctrl + shift + i 개발자 도구란 브라우저가 제공하는 tool이다. element, console, network, application 등 여러 panel이 있다. 이 중 application panel에서는 storage(브라우저 저장소)를 확인할 수 있다. Local storage, session storage 그리고 cookie가 있다. storage에 저장된 데이터는 key-value 형태의 객체이다. 어떤 데이터를 storage에 저장할지 서비스 기획 및 특성에 맞게 적절히 계획하고 처리해야 된다. 클라이언트 사이드에 저장되기 때문에 중요 정보를 저장하는 건 위험하다. 쿠키(cookie) 쿠키는 작은 데이터 파일으로, 클라이.. 이전 1 2 3 4 5 6 7 8 9 다음