반응형

Wecode/Session 21

Session-How the web works? - advanced (SPA,CSR,SSR)

Keyword - SPA(Single Page Application) : 하나의 HTML파일로 이루어져 있음. - CSR(Client Side Rendering) : 클라이언트 쪽 위주로 해서 웹페이지가 구성이 됨. 빈 html에서 클라이언트의 요청(?)에 따라 비어진 부분이 채워지는 개념 - SSR(Server Side Rendering) : 서버에서 이미 렌더링이 된 화면을 보내는 것. - MPA(Multi Page Application) : 여러 html파일로 페이지마다 구성하는 것 - SEO(Search Engine Optimization) : 검색 엔진(ex.구글, 네이버)회사에서 봇으로 웹사이트를 평가하여 점수를 내려 점수에 의해 검색에 노출되게 하는 것 - Hydration : CRA와 같은..

Wecode/Session 2020.06.12

Session-소셜 로그인

카카오톡이나 페이스북을 통해 로그인을 하게 해주는 것 카카오톡을 예로 설명 시작 카카오에서 토큰을 받을 것임. 예) api /kakaologin 에 토큰이 옴 그리고 다시 kakao에 토큰을 보내서 토큰에 해당하는 유저가 누구인지 물어본다. 그리고 우리가 원하는 유저의 정보들을 카카오서버에서 응답을 받는다. 응답 받은 후 로그인인지 회원가입인지 판별 후 토큰을 발행하여 프론트에게 다시 줌.

Wecode/Session 2020.06.10

Session-파이썬 유닛테스트 (Python unittest)

시스템을 테스트할 때 크게 3가지 방법이 있다. - UI Testing / End-To-End Testing - Intergration Testing - Unit Testing 여기서 UI Testing이 가장 어렵고 까다롭다. Manual Testing은 실행하기 쉽다는 장점이 있지만 비용이 많이 들고 부정확 하며 실행 시간이 오래 걸림. 자동화 할 수 있지만 UI Testing은 자동화 하기가 가장 까다롭고 또 실행하기도 까다로움. Integration Testing이 그 다음으로 힘듬. Unit Testing이 가장 쉬우며 가장 효과가 좋음. UI Testing은 10%, Integrating Testing은 20%, 그리고 Unit Testing을 70% 전체 테스트 coverage를 구현 하는것..

Wecode/Session 2020.06.09

Session-AWS, Sever(EC2),Database(RDS) 열고 이동하는 것 까지

기존에는 하드웨어적으로 관리를 하고 관리하는 사람들이 있었다. 서버 점검은 주기적인 이벤트이자 오프라인이 불가피했다. AWS는? 2006년 정식으로 서비스 출시하여 EC2 , S3(Simple Storage Service)등을 제공하기 시작. 현재는 전체 클라우드 사용자 중 40%이상의 점유율을 가지고 전세계 1위 클라우드 서비스로 자리 잡음. 클라우드 컴퓨팅 서비스는? 기존의 직접 서버를 구입해서 IDC에 넣고 관리하는 비용보다, 사용한 만큼의 비용만 지불하는 방식이 기업 입장에서 경제적으로 다가옴. 기존 호스팅 서비스와 다른점은 가상이지만, 독립적으로 인프라 각각의 요소를 제어 가능하고, 원하는 대로 구성해서 사용하는데 간편한 인터페이스를 제공해서 고객은 생산적인 부분에만 집중할 수 있게 됨. 주요 ..

Wecode/Session 2020.06.04

Session-페이지네이션(Paging, Pagination)

프로젝트 얼마 안 남았는데 코드 리팩토링하면서 해야함. 페이지네이션(paging, pagination) 목록형 UI에서 데이터를 한 번에 가져오는 것이 아니라 필요한 만큼, 또는 화면에 보이는 만큼만 백앤드에 요청하고 응답받아 사용하는 방식을 말한다. 꼭 게시판처럼 1~10페이지가 있는 형식 뿐 아니라 인스타그램처럼 가장 하단의 스크롤로 내려왔을 때 새로운 데이터를 가지고 오는 것도 모두 페이지네이션이다. 페이지네이션을 구현하기 위해서는 해당 api에 대해 백엔드와 미리 약속이 되어있어야 한다. 페이지네이션에서는 주로 limit과 offset이라는 parameter를 사용한다. limit or Page size : 한 페이지에 보여줄 데이터 수 Offset : 데이터가 시작하는 위치(index)

Wecode/Session 2020.06.03

Session-데이터 구조(Data Structure) 중 나무(Tree),트리

1. Tree 트리는 일반적으로 대상정보의 각 항목들을 계층적으로 연관되도록 구조화 시키고자 할때 사용하는 비선형 자료구조입니다. 데이터 요소들의 단순한 나열이 아닌 부모-자식 관계의 계층적 구조로 표현이 됩니다. 트리는 그래프(Graph)의 한 종류이며 사이클이 없습니다. 트리 자료구조는 여러유형이 있지만 그 중 가장 기본은 binary tree(이진 트리)구조가 대표적입니다. 이진 트리는 두개의 자식노드를 가진 트리 형태입니다. 트리 자료구조는 데이터를 거꾸로된 나무 형태로 저장하는 모양입니다. 계층적인 관계의 표현에 쓰이고, 윈도우와 리눅스의 파일시스템 구조도 트리로 표현됩니다. 대용량의 데이터를 저장할때도 많이 쓰입니다. Node : 트리 구조의 교점입니다. Node가 데이터를 가지고 있고 또한 ..

Wecode/Session 2020.06.02

Session-데코레이터, 쿼리셋(Decorater, Queryset)

다른 언어에서는 데코레이터 패턴을 자주 쓰지 않음. json response 에 error_code : user_not_found error_code : need login 등 일단 구조 데코레이터 if와 트라이 위치 바꾸기 if 가 먼저오게 만약 토큰이 헤더에 없으면 로그인먼저하라고 하고 있을 경우 디코드하고 검증함. 쿼리셋 from account.models import Account 포린키 할때 account = moels.ForeignKEy(Acocunt, on_delete=models.SET_NULL, null=True) -- protect, cascade name = models.CharField(max_length=100) models.SET_NULL은 참조하는 키가 삭제되어도 빈칸으로 만들..

Wecode/Session 2020.05.22

Session-MySQL 설치 및 연결 / 기본 사용법(MySQL install/connect/ basic command)

MySQL 설치 관계형 DB $ brew install mysql brew 명령어를 위한 HomeBrew 패키지 관리자 미설치시 아래 명령어를 통해 설치 필요 $ /usr/bin/ruby -e "$(curl -fsSL )" MySQL 설정 아래 명령어로 mysql을 시작합니다. $ mysql.server start 아래 명령어로 기본 설정을 시작합니다. $ mysql_secure_installation 이제 여러 질문들이 출력됩니다.출력에 대한 답은 본인이 한 방법으로만 간단하게 기술하겠습니다. 1. 비밀번호 복잡도 검사 과정 (n) ``` Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE P..

Wecode/Session 2020.05.19

Session-프로젝트에 유용한 툴

Trello : 팀 프로젝트 진행 시 유용하게 사용되는 프로젝트 관리 프로그램 업무들을 세분화 시켜 하나의 티켓으로 만들고, 전체 프로세스를 크게 앞으로 해야할 것들(Backlog), 이번주에 해야 할 것들(This Week), 현재 진행 중인 것들(In Progress), 완료한 것들(Done) 이렇게 네 가지 카테고리로 나눠서 각각의 티켓을 과정에 따라 하나씩 이동시키며 프로젝트의 모든 일정과 업무를 관리할 수 있는 툴이다. When to Use - 프로젝트 첫 미팅 - 프로젝트 기획, 업무 분담 - 매일 진행되는 스탠드업 미팅 - 각자 개발을 진행할 때 - 중간 중간 팀원들과 기술적 소통 및 기획, 일정을 조율할 때 - 기간에 맞춰서 기획을 조정할 때 - 그 외에도 개발 프로세스의 모든 과정에 있어..

Wecode/Session 2020.05.19

Session-토큰생성, 암호화 Bcrypt, PyJWT

백엔드 세션 일단 가상환경설정 해주고 pip freeze해주고 pip install bcrypt PyJWT 해주고 설치해줌. 그리고 파이썬 쉘로 가서 실습함 bcrypt.hashpw() # 해쉬화 하겟다. 라는 명령어고 인자를 ('1234', bcrypt.gensalt())을 넣어줌 이렇게 치면 인코드가 안되었다고 오류남 해쉬하기전에 바이트화 한다음에 넣어주면 됨 바이트화 어떻게 하는지! { b = '1234' bytes('1234','utf-8') 라고 하면 '1234'를 바이트화 해줌. or b.encode('utf-8') 인코딩하면 바이트되고 디코딩하면 다시 스트링이 됨. } 다시 a= bcrypt.hashpw('1234'.encode('utf-8'), bcrypt.gensalt()) 로 하면 12..

Wecode/Session 2020.05.18
반응형