오늘부터 위코드 준비를 위한 사전 공부 기록을 남기려고 한다.사실 이전부터 공부를 해오기는 했지만 기록을 따로 남겨두지는 않았기에 이제라도 기록을 해보려고 한다.지금은 사무 보조로 일을 하고 있기에 공부시간이 많이 없는 상황이다. 그래서 점심시간을 활용하여 조금이라도
2021.10.21 작성오늘 푼 문제는 총합과 평균을 구하는 메서드를 가진 Calculator 클래스 작성과 입력된 문자열에 특수문자 삽입하기이다.1\. 예시와 같이 작동하는 클래스 Calculator를 작성하라오늘 배운 점은 다음과 같다.첫번째. map()의 쓰임.
오늘은 Django를 설치해보았다.파이썬 공부를 하던 중에 문득 이렇게 문법만 익혀서 어디다가 쓰지라는 생각이 들었다. 문법 물론 중요하지만 직접 간단한 프로그램이라도 짜보면서 모르는 부분은 그때 그때 찾아보는게 훨씬 효율적이고 기억에도 오래 남을 것 같았다.그래서 실
지난 번에는 장고 설치 및 가상환경 설정을 하였다. 오늘은 장고 사이트에 나와있는 튜토리얼을 따라해보려고 한다. 설문조사앱 만들기프로젝트 내에 앱을 만들기 위해 다음을 입력하여 polls앱을 추가해 줬다.위와 같이 polls 앱이 생기게되고 view.py를 열어 간단한
오늘은 장고 튜토리얼 중 데이터베이스 설정 부분을 따라해보았다.앞으로 Mysql을 사용할 것이긴 하지만 아직 설치 전이라 파이썬에 내장되어있는 SQLite로 실습을 진행했다.오늘 수행한 실습 과정은 다음과 같다.데이터베이스 모델링프로젝트에 polls 앱 설치하기migr
오늘은 Django에서 관리자 창 생성 및 사용을 해보았다. 관리자 생성하기관리자 사이트에 poll 앱 추가하기관리 기능 탐색하기장고에서의 관리자 창은 자동 생성이 된다. 따라서 사용자를 추가해주면 사이트 관리자는 이곳에서 컨텐츠 수정을 할 수 있다. 관리자 창에 로
뷰 추가하기템플릿 추가하기404 에러 일으키기템플릿에 하드코딩된 URL 제거하기네임 스페이싱지난번에는 index 뷰만 추가하여 간단한 문장을 브라우저에 띄워보았다. 이번에는 몇가지 뷰를 더 추가해 보도록 하자.이렇게 뷰를 추가하였으면 polls/urls.py에 path
지난 시간엔 뷰를 추가하고 템플릿을 지정해 원하는 디자인으로 데이터가 출력될 수 있게끔 하였다. 오늘은 질문에 대한 대답을 투표할 수 있는 폼을 만들어 보고 제네릭 뷰의 사용에 대해 알아볼 것이다. > 투표 폼 만들기 제네릭 뷰 사용하기 1. 투표 폼 만들기 지
오늘은 생활 코딩의 WEB강의를 들었다. 네트워크 관련된 내용인데 평소 궁금하던 내용이라 흥미롭게 들었다.IP주소: 각각의 컴퓨터는 통신을 위해 고유한 주소를 가지고 있다. 통신사와 계약을 해서 회선을 꽂거나 공유기를 통해 인터넷에 연결하면 부여된다.공유기: 하나의 I
Semantic Web의 의미와 목적Semantic Tag의 종류Semantic을 구글에 검색하면 '의미의' 라는 뜻을 가진다는 것을 알 수 있다.결국 Semantic Web이란 의미있는 웹이라는 뜻인데 의미있는 웹이라는 것은 어떤 것일까.웹을 사용하다보면 검색이라는
relativeabsolutefixedPostion 속성은 요소의 배치를 위해 쓰이며 올 수 있는 값으로는 다음이 있다.staticrelativeabsolutefixed기본값은 static으로 지정이 되어있으며 아무런 영향을 주지 않는다.relative 부터 하나씩 살
HTML, CSS에서 각 요소들은 inline, block, inline-block레벨로 나뉜다. 어떤 레벨에 해당되느냐에 따라 화면에 표현되는 방식이 다른데 이를 한번 알아보도록 하자.inline 레벨block 레벨inline-block 레벨inline 레벨 요소는
출력자료형사칙연산들여쓰기파이썬에서의 출력은 print() 를 사용한다.문자열을 출력할 때 여러 문자열을 합쳐서 출력하고자 한다면 + 를 사용할 수 있다. 이 경우 문자열과 변수를 함께 출력해야할 때 유용하게 사용할 수 있다.
Positional Arguments 와 Keyword ArgumentsParameter Default Value과 그 순서의 의미가변 인자 전달Positional ArgumentsPositional Arguments는 함수에 정의된 순서대로 인자를 보내는 방법이다.인
Element PanelConsole PanelNetwork PanelApplication PanelOpen DevTools : cmd + option + i / ctrl + shift + iOpen Elements Panel : cmd + option + cOpen
Set과 Dictionary 의 차이List와 Tuple의 차이Set와 Dictionary의 대표적인 특징은 다음과 같다.Set: 중복을 허용하지 않음. 순서가 없음. Dictionary: 요소가 key와 value의 쌍으로 구성됨. 순서 없음.순서가 없어 인덱싱을 지
모듈 / 패키지 import하기 1. 모듈/패키지 import하기 파이썬에서는 import.모듈 또는 from 모듈 import 이름로 모듈을 가져올 수 있다. 위와 같은 코드를 추가 했을 때 파이썬은 sys.modules - built-in modules -
Database란? Database 컴퓨터 시스템에 저장된 정보나 데이터를 모두 모아놓은 집합. 사용 목적 데이터 보존 및 유지 - Database는 메모리 사용해 저장하는 것이 아니기 때문에 데이터를 오래 보존 가능. 체계적으로 보존 및 관리 - 자료를 원하는
운영체제 > 사용자와 하드웨어간 인터페이스 역할을 하며 응용 프로그램 관리 및 자원 관리 등을 하는 시스템 소프트 웨어. 커널과 쉘로 이루어져 있다. 쉘과 커널 사용자가 컴퓨터를 이용하다 보면 하드웨어를 제어하게 될 경우가 생긴다. 이때 사용자가 직접 하드웨어를 제
이번 시간에는 django에 데이터베이스를 셋업해볼 것이다. 저번에 장고 튜토리얼은 어느정도 끝냈지만 아직 데이터베이스 연동은 건너뛰었기 때문에 이번에 해보려고 한다. 커넥터 (DB API Driver) 설치 파이썬에서 MySQL과 통신하게 해주는 데이터베이스 커넥
지난번에 함수형으로 작성한 뷰를 제네릭 뷰로 바꿔보았다. 함수형으로 작성했을 때는 어떻게 동작하는지 이해가 잘됐는데 클래스형으로 작성하다 보니 코드는 단축되었지만 나한테는 좀 마법같이 느껴졌다.. 나는야 이해가 안되면 기억이 오래 남지 않는 사람이기 때문에... 오
Web Framework > 웹 어플리케이션 개발을 편리하게 도와주는 소프트웨어이다. 유지 보수의 용이함은 물론 데이터베이스와의 상호작용, 적절한 url로의 라우팅, 유저 인증과 세션 지원, 보안 등의 작업을 단순화하는 도구 및 라이브러리를 제공한다. 장점 Http
HTTP(Hyper Text Transfer Protocol) > HTML 문서를 주고 받는 통신 규약. 메세지 형태의 요청과 응답의 방식으로 소통한다. 메세지 방식의 단점->요청이 유출될 위험성 stateless(무상태 프로토콜) http 통신의 독립적으로 이루어져
이번에는 저번에 살펴본 내용을 토대로 직접 westarbucks 모델을 작성해보도록 하자. (스타벅스 홈페이지 참고) 일단 westarbucks 프로젝트를 만들고 products라는 앱을 추가한다. 이후 다음과 같이 모델링을 해주었다. 1. models.py 작성
import 규칙 python built-in module pip를 통해 설치한 외부 모듈 사용자 정의 모듈 -> 각 규칙마다 한줄씩 띄워 놓을 것 개발 시 앱 같은 부분은 최대한 쪼개서 개발하기 때문에 owner, dog도 각각의 앱으로 나누는 것이 좋음. v
유저가 누구인지 확인하는 절차개인을 특정할 수 있는 정보(비밀번호, 주민등록번호 등)은 무조건 암호화하여 저장하도록 법으로 규제되어 있음.프론트에서 넘어온 암호는 해싱하여 복원할 수 없도록 하여 저장한다.다만 프론트에서 비밀번호가 전달될 때도 SSL를 기반으로 암호화가
이번에는 지난번에 작성한 westarbucks model을 가지고 음료를 등록하고 조회하는 view를 작성해보려고 한다.post(): request에 음료 이름, 설명, 카테고리 아이디의 정보가 함께 오면 category_id에 맞는 레코드에 정보를 저장한다.get()
이번에는 위스타그램 프로젝트를 만들어 볼 것이다.초기 셋팅모델링초기 셋팅은 git initial 브랜치에서 하면되는데, westarbucks에서 하던것과 크게 다르지 않다.대신 패키지들을 정리해 놓은 requirements.txt도 함께 작성한다. 이 파일을 작성해 놓
이번에는 회원가입을 할 수 있는 SignUpView를 작성할 것이다.signup 브랜치를 만들고 다음과 같이 view를 작성한다.이메일에는 @,. 가 포함되어 있을 것비밀번호는 8자리 이상, 숫자, 문자, 특수문자가 포함되어 있을 것이메일은 중복될 수 없음전화번호 형식
이번에는 로그인을 할 수 있는 뷰를 만든다. signin 브랜치에 다음의 내용을 구현한다. 구현사항 >
로그인 기능까지 구현을 하고 remote에 push를 했는데, signup브랜치가 메인에 머지되기 전에 signin 브랜치를 만들어서 conflict가 발생했다.서로 다른 내용 중 어떤 것을 택할 건지만 정해주면 되기 때문에 걱정할 거 없이 conflict를 해결해보자
이번에는 인증/인가 시간에 배운 것을 토대로 비밀번호를 암호화하고 구현사항 > 회원가입 코드에 비밀번호 암호화 추가 로그인 성공 시 JWT 발행 코드 비밀번호 암호화 bcrypt 라이브러리를 사용하기 위해선 pip으로 먼저 설치해주어야 한다. bcrypt란? 단방
지난 시간에는 로그인을 성공했을 시 토큰을 발급하는 것을 구현했다.이번에는 users앱 내에 utils.py를 작성하여 로그인 토큰이 유효한지 검사하는 것을 구현해 볼 것이다.토큰이 발급되면 request 헤더에 담기기 때문에 request 헤더에서 "Authoriza
이번에는 게시글을 작성할 수 있는 앱을 구현해보려고 한다. > 앱 생성 모델링 뷰 작성 1. 앱 생성 장고에서는 다루는 데이터를 기준으로 앱을 나눈다. 후에 게시글 데이터를 다루기 위한 모델링을 해줄 것이기 때문에 따로 앱을 생성해준다. users.User
RESTful api 란 (Representational State Transfer): 장점: self-descriptiveness. 직관적이다. 자명하다. api의 목적 쉽게 이해 가능 단점: 표준 규약이 없어 안티패턴으로 작성되는 경우가 있을 수 있음 설계 규칙:
Git flow semantic versioning 1.2.3 3: bug/hotfix -> 서비스가 진행되는 와중에 에러가 생겼을 때 긴급하게 고치고 main에 바로 push하는 것 2: Minor: 기존 기능이 다 작동하면서 새로운게 추가된거 1: Major:
docker 란? 개발, 배포,운영 컨테이너 가상화 기술(을 제공하는 회사중 가장 많이 쓰이는 것. 다른거는 container d가 있음) 가상화? 우리가 썼던 ec2가 비슷한 예. 왜쓰는가? 성능이 좋아진 컴퓨터를 최대한 활용하기 위해. 한가지 서비스만 돌리게 하
오늘은 타입 힌팅 / 어노테이션에 대해 포스팅 해보려고 한다.파이썬은 기본적으로 동적 타입 언어이다.변수의 타입을 코드 상에 지정해주는 것이 아니라 실행될 때 자료형이 정해진다. 때문에 정수가 할당되었던 변수에 문자열이 할당되는 등의 동작이 가능한 것이다.이러한 특징은
3차 프로젝트 진행 중에 DB 모델링에 관해 흥미로운 사실을 알게 되었다.바로 외래키를 사용하지 않는다는 것이었다...!지금까지 DB모델링을 해오면서 서로 관계되어있는 테이블은 외래키로 엮어주는 것이 필수처럼 여겨졌었는데 그걸 하지 않는다니.. 정말 신선한 충격이었다.
노드 공부 차원에서 이전에 장고로 진행했던 프로젝트를 노드로 바꿔보는 작업을 하고있다. 기존에 해왔던 것처럼 로컬에 개발 환경을 구축하지 않고 도커를 이용해서 초기셋팅을 하기로 했다.현 프로젝트에서 필요한 컨테이너는 (1) 노드 서버, (2) postgres 서버이다.
테스트 가능한 가장 작은 단위의 모듈을 실행하여 올바른 결과물이 출력되는 지 확인하는 테스트이다. 일반적으로 클래스 또는 메서드 단위로 실행하며 단위가 작을수록 복잡성이 낮아진다. 자신이 작성한 코드에 대해 테스트 코드를 작성하며 구현된 코드의 내용을 알고 있어야 하는
👉 Testing(1) - 단위 테스트란?TDD란 Test-Driven-Development의 약자로, 테스트 주도 개발 방법론을 의미한다.일반적인 개발 방식은 설계 - 개발 - 테스트의 단계를 반복하는것에 비해 TDD는 위 그림처럼 테스트를 먼저 작성하고 테스트를
sentry.io 가입 후 원하는 플랫폼 선택 -> create projectFastAPI는 목록에 없어 python으로 선택하였다.안내에 따라 패키지 설치에러 발생 테스트 해보기sample.py를 만들어 화면에 나오는 예제코드를 그대로 실행시켜보았다.위와 같이 미들웨
소셜 로그인을 구현하려 이것저것 알아보면서 깨달은 것은 내가 지금까지 굉장히 단순한 방법으로 소셜로그인을 이해하고 구현해왔다는 것이었다.지금까지의 내가 생각하고 있던 소셜 로그인의 플로우는 다음과 같다.토큰 발급을 위한 인증 코드 요청 -> 토큰 발행 -> 토큰으로 사
네트워크를 경유하는 프로세스 간 통신의 종착점. OSI 7계층 중 응용 계층에 속하는 프로세스들은 데이터 송수신을 위해 반드시 소켓을 거쳐 전송 계층으로 데이터를 전달해야한다. 즉, 소켓은 전송 계층과 응용 프로그램 사이의 인터페이스 역할을 하며 떨어져 있는 두 호스트