728x90

All 200

Document 프로젝트 생성

Git 주소 https://github.com/Raconer/django-basic 참고 유투브 https://www.youtube.com/watch?v=-Nmtakm70Ro Django Document https://docs.djangoproject.com/en/3.2/ 프로젝트 목적 사람들이 설문 내용을 보고 직접 투표할 수있는 개방된 사이트 관리자가 설문을 추가, 변경, 삭제할 수 있는 관리용 사이트 View 페이지 구성 질문 《색인》 페이지 – 최근의 질문들을 표시합니다. 질문 《세부》 페이지 – 질문 내용과, 투표할 수 있는 서식을 표시합니다. 질문 《결과》 페이지 – 특정 질문에 대한 결과를 표시합니다 투표 기능 – 특정 질문에 대해 특정 선택을 할 수 있는 투표 기능을 제공합니다. 기본 단어..

BackEnd/Django 2023.04.15

세션 vs 토큰 vs 쿠키?

유투버 노마드 코더에서 다룬 내용으로 세션 과 토큰을 비교 하는 내용을 다룬다 여기서 "쿠키"는 사용자 인증에 관한 내용으로 사람들이 자주 오해 하는지 추가적으로 내용을 다뤘다. https://youtu.be/tosLBcAX1vk 사용자 인증을 만들어야 한다면 쿠키, 세션, 토큰, JWT 같은 단어를 접하게 된다. 각 단어 별 정의가 어떤지 알아 보도록 하자 1. 자주 들어오는질문 쿠키 vs 토큰 이 질문은 잘못된 질문이다. 왜냐하면 "쿠키는 서버에서 브라우저에 저장시킨 데이터" 이기 때문이다. 쿠키 특징 쿠키는 도메인에 따라 제한이 된다. 쿠키 저장 시간은 따로 설정할수있다. 세션(Session) vs 토큰(JWT) 서버는 한번 요청을 끝낸후 다음 요청이 들어와도 사용자가 누구인지 구분을 하지 않는다...

Server 2023.04.15

데이터베이스 트랜잭션(Transaction) 이란?

트랜잭션이란? 데이터 베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위를 뜻한다. 이론적으로 데이터베이스 시스템은 각각의 트랜잭션에 대해 원자성(Atomicity), 일관성(Consistency), 독립성(Isolation), 영구성(Durability)을 보장한다. (ACID) 하지만, 실제로는 성능 향상을 위해 이런 특성들이 종종 완화되곤 한다. 트랜잭션 설정을 하지 않으면 SQL문 하나에 트랜잭션이 설정된다. 예) 홍길동 - 900원 -> 김국밥 READ(홍길동 잔액) 이름 잔액 홍길동 1000 김천사 500 UPDATE(김국밥 잔액) = 김국밥 잔액 + 900 이름 잔액 홍길동 1000 김천사 1400 UPDATE(홍길동 잔액) = 홍길동 잔액 - 900 이름 잔액 홍길동 100 김천사 14..

DB 2023.04.15

기능 개발

문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100% 일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 제한사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 작업 진도는 100 미만의 자연수입니다. 작업 속도는 100 이하의 자..

Coding Test 2023.04.15

Spring boot Test Case

개발을 하다 보면 Service 기능별 테스트를 해야 할 때가 있다. 그렇다고 테스트 할때마다 서버를 동작시켜 서비스가 실행되는 동작까지 가기에는 은근히 시간을 잡아먹게 된다. 이때 Spring Boot 의 Test 기능을 사용하면 시간이 단축되며 수많은 TestCase를 실행할 수 있다. 한번 간단하게만 사용해 보면 끊을수 없다 Import Dependency testImplementation 'org.springframework.boot:spring-boot-starter-test'위의 Dependency를 추가하면 된다. 기본적으로 Junit의 기능을 사용하며 따로 Junit Import 할 수도 있다. 기본 테스트 방법 지금 작성한 내용 2개만 알아도 기본적인 Service, API..

BackEnd/Spring Boot 2023.04.15

Spring Request Flow

Spring을 사용하면서 Client에서 Request 요청 시 어떤 동작을 하는지에 대해 정리 한 내용입니다. 설명 Request : 요청, Response 응답 Dispatcher Servlet Dispatcher란? 준비 리스트의 맨 앞에 있던 프로세스가 CPU를 점유하게 되는 것, 즉 준비 상태에서 실행 상태로 바뀌는 것을 디스패치라고 하며 다음과 같이 표시한다. Servlet 이란? 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말한다. DispatcherServlet 이란? DispatcherServlet은 Spring MVC 웹 애플리케이션에 대한 클라이언트 요청에 대한 단일 진입점을 제공하고 처리를 위해 요청을 Spring MVC 컨트롤러에 전달하는 것과 같은..

BackEnd/Spring Boot 2023.04.15

Token JJWT

JJWT aims to be the easiest to use and understand library for creating and verifying JSON Web Tokens (JWTs) on the JVM and Android. JJWT는 JVM 및 Android에서 JSON 웹 토큰(JWT)을 생성하고 확인하기 위해 사용하고 이해하기 가장 쉬운 라이브러리를 목표로 합니다. JWT 란? JWT는 검증 가능한 간결한 형식으로 두 당사자 간에 정보를 전송하는 수단입니다. 사용 방법 방법. 1 jjwt Dependency 사용 1. Repository 홈페이지에서 Dependency 를 설정 import io.jsonwebtoken.*; import org.springframework.beans.Nul..

BackEnd/Spring Boot 2023.04.15

JSON 이란?

JavaScript Object Notation의 약자이며 속성-값 쌍 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. 사용 용도 비동기 브라우저/서버 통신 (AJAX)에 주로 사용 되고 XML을 대체하는 데이터 포맷으로 쓰인다. 특히, 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법으로 알려져 있다. 자료의 종류에 큰 제한은 없으며, 특히 컴퓨터 프로그램의 변수 값을 표현하는데 적합하다. 추가 설명 본래는 자바스크립트 언어로 부터 파생되어 자바스크립트의 구문 형식을 따르지만 언어 독립형 데이터 포맷이다. 즉, 프로그래밍 언어나 플랫폼에 독립적으로, 구문 분석 및 JSON 데이터 생성을 위한 코드는 C, C++, C#..

Server 2023.04.15

Rest API 란?

Rest API 란? "Representational State Transfer"의 약자이며 "응용 프로그램이나 장치가 서로 연결하고 통신하는 방법을 정의하는 규칙 집합"이다. HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것 장점 거이 모든 프로그래밍 언어로 개발할 수 있는 다양한 데이터 형식 지원 높은 수준의 유연성과 자유를 제공 디자인 규칙 가장 기본적인 수준에서 API는 애플리케이션이나 서비스가 다른 애플리케이션의 서비스 내 리소스에 액세스 할 수 있도록 하는 메커니즘입니다. 접근하는 응용 프로그램이나 서비스를 _클라이언트_라고 하고 리소스를 포함하는 응용 프로그램이나 서비스를 _서버_라고 합니다. *SOAP 또는 X..

BackEnd 2023.04.15

Function(함수) VS Method(메소드)

함수(function), 서브루틴(subroutine), 루틴(routine), 메서드(method), 프로시저(procedure)는 소프트웨어에서 특정 동작을 수행하는 일정 코드 부분을 의미한다. Function(함수) 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드의 집합으로 정의할 수 있습니다. 주로 Javascript, C++ 등의 언어에서 사용된다. Method(메서드) 메서드(method)란 객체 지향 프로그래밍(OOP)에서 클래스(class) 내부에 정의된 함수(函數, function)를 말한다. 멤버 함수라고도 한다. 메서드라고도 쓴다. **따라서 Java에서는 Class 외에 함수를 작성할 수 없으므로 Java에서는 무조건 메서드를 사용한다. 함수가 메소드를 포함하는 개..

Language 2023.04.15
728x90