본문 바로가기
728x90

📝공부, 스크랩/프로덕트42

[개발필수지식] DB개발 관련, CRUD, SQL DB 보관 관련 - Space : 정보를 모아두기 위한 공간 - Table : 동일한 정보가 올라오는 곳 / Column의 집합 - Record or Row : 각각의 실제 정보가 기록되는 곳 Key, Join, Mapping Table 정보를 찾을때 - 빠르고 쉽게 찾기 위해서 'Key'를 사용 - Key : 중복이 안되고 정렬의 기준이 되는 것 - 해당 데이터를 찾을 수 있는 고유값을 파악하기 종합 정보를 찾을때 - Join : 두 테이블에 공통적인 key를 이용하여 합쳐서 정보를 취함 (ex. 학생 이름 테이블과 학생 성적 테이블을 조인) - mapping table : 같은 데이터지만 표현(워딩)만 달랐을때 합치기 (ex. 대한민국과 한국) CRUD와 SQL CRUD란? - Create, Read.. 2023. 4. 27.
[개발필수지식] 웹관련 용어 - 쿠키, 세션, SSR, CSR, SPA 웹화면이 이동해도 유지되어야 하는 정보 : 로그인정보, 작업정보 (장바구니 등), 상태정보 (N일간 사용 안 하기 등) 쿠키 - 작업정보, 상태정보 - 치명적이지 않은 유지 정보만 (로컬pc에 실제 파일로 저장 => 내pc 공간 자원이 분산되지만 위험함) 세션 - 로그인정보, 개인정보 등 - 치명적인 유저 정보 보관 (서버 메모리 or 외부 저장소에 보관 => 서버 자원 소모는 증가하나 안전) 쿠키 상세정보 - 이름, 값, 만료일, 경로정보 세팅 가능 - 클라이언트에 총 300개 쿠키 저장 가능 - 한 도메인 당 20개 쿠가 가능 - 하나의 쿠키는 4KB까지 저장 가능 HTTP 요청 전달 방식 - 정보가 적을 때 : GET (조회 조건만 전달. body는 비움) - 정보가 많을 때 : POST (입력 정.. 2023. 4. 27.
[개발필수지식] 코딩 필수 개념 코딩 프로세스 백엔드 : DB (data 상태로 보관) > 비즈니스로직 (타입을 부여해 변형) > API (ui에 전달될 모양 확정) 프런트 : UI 로직 코딩 필수 요소 데이터 : ex.1000 타입 : 데이터의 모양 ex.숫자, 날짜 변수 : 데이터를 담는 그릇 ex.숫자를 잔고라고 부여 함수 : input output 기능 ex.잔고(숫자)를 입력하면 대출금액이 나옴 논리 : 함수 안에서 연산, 조건, 반복, 제어 ex. 대출금액을 계산 int balance ; //잔고를 담는 변수 정의 int loan ; //대출금을 담는 변수 정의 balance = 1000; //잔고가 1000원이라고 입력 loan = loanCal (balance) //잔고를 입력, 대출금 출력 int loanCal (bal.. 2023. 4. 6.
[개발필수지식] 정보와 데이터, 웹과앱, 프로그램 개발구조, 개발 순서와 뜻 정보와 데이터 - 데이터 : 가공되지 않은 값 ex.고등어 - 정보 : 가공되어 의미있는 값 ex.고등어구이 데이터 값을 분석하고 가공하면 정보가 됨 1. 데이터 : 500만원 2. 분석 : 이 숫자는 잔고다 3. 가공 : 이 잔고면 대출은 얼마 가능하다. 프로그램 : 데이터를 정보로 만들어 의미있는 정보를 사용자가 이용할 수 있게 하는 것 IT (Information Technology) : 정보가 전자적 기술을 통해 공급자로부터 수요자까지 전달되는 과정 전체 웹과 앱 웹 개발 구조 SSR과 CSR각각 장단점 존재 (SEO, 속도가 중요하다면 SSR) 앱 개발 구조 (크로스플랫폼의 경우 기능 디테일이나 성능이 좀 더 낮고 개발자가 이탈하면 사용할 줄 아는 개발자를 찾기 힘듦) 프로그램 개발 구조 SDK.. 2023. 4. 4.
조건부요청, Etag, 프록시캐시 조건부요청, Etag 캐시가 없다면 데이터가 변경되지 않아도 계속 네트워크를 통해 다운받아야 함 로딩 속도가 느려지고 비쌈 캐시가 있다면 캐시 유효 시간동안 네트워크를 사용하지 않아도 됨 빠르고 저렴함 캐시 시간이 초과되면 서버를 통해 데이터를 다시 조회하고, 응답 결과를 다시 캐시에 저장 (갱신) => 조건부 헤더를 사용해서 해결 1. 캐시 만료 후 서버에서 데이터 변경이 되지 않았다면 '검증 헤더'를 토대로 데이터가 마지막에 수정된 시간으로부터 달라졌는지 체크 수정되지 않았다면 HTTP Body를 전송하지 않음. 304 Not Modified로 전달 쿠키는 응답 결과를 재사용하고 헤더 데이터만 갱신 캐시에서 조회 => 용량이 적은 헤더 정보만 네트워크에서 다운로드 받는거라 실용적 2. 데이터가 변경됐.. 2023. 3. 11.
쿠키 정의, 사용 특징 등 쿠키 : 클라이언트가 서버에서 받은 쿠키를 저장하고, HTTP요청 시 서버로 전달 http는 무상태 프로토콜이라 클라이언트와 서버가 응답을 주고 받으면 연결이 끊어짐 (= 클라이언트가 다시 요청해도 서버는 기억하지 못함) & 만약 모든 요청에 사용자 정보를 다 포함하면 개발이 복잡하고 브라우저를 닫으면 사라짐 => 쿠키 사용 서버에서 쿠키 저장소에 정보 저장 -> 조회 [사용처] 사용자 로그인 세션 관리 광고 정보 트래킹 [주의] 쿠키 정보는 항상 서버에 전송되어서 네트워크 트래픽 추가 유발 => 최소한의 정보만 사용해야 함(세션 id, 인증 토큰) 서버에 전송하지 않고, 웹 브라우저 내부에 데이터를 저장하고 싶으면 웹 스토리지 참고 보안에 민감한 데이터는 저장하면 안됨(주민번호, 신용카드 번호 등등) .. 2023. 3. 11.
Http 상태코드 (1,2,3,4,5xx) 1xx : 거의 사용X 2xx : 성공을 의미 200 : OK 201 : Created 202 : Accepted - 요청 접수되었으나 처리가 완료되지 않음 204 : No contet 3xx : 리다이렉션 - 특정 리소스 URI가 영구적으로 이동하거나, 일시적으로 변경하거나, 캐시를 사용하는 경우 300 Multiple Choices 301 Moved Permanently - 영구 리다이렉션, 요청 메서드가 get으로 변하고 본문이 제거될 수 있음 302 Found - 일시적인 리다이렉션, 요청 메서드가 get으로 변하고 본문이 제거될 수 있음 (기본값으로 많이 사용) 303 See Other - 일시적인 리다이렉션, 요청 메서드가 get으로 변함 304 Not Modified - 캐시 목적으로 사용,.. 2023. 2. 25.
URI 설계, HTTP 메서드 API URI 설계 리소스와 행위 분리 중요 - 리소스 : 명사의 개념, 회원 조회/등록/수정 등을 할 때 '회원' - 행위 : 동사의 개념, 회원 조회/등록/수정 등을 할 때 '조회/등록/수정' URI는 리소스막 식별함 => 행위는 HTTP method로 해결 HTTP 메서드 종류 - GET : 리소스를 조회, 쿼리를 통해 서버에 데이터 전달, 권장하지는 X - POST : 새 리소스를 등록하거나 요청 데이터를 처리, 메시지 바디를 통해 서버로 데이터 전달 - PUT : 리소스를 완전히 대체 (리소스가 없으면 생성, 즉 덮어버림), 클라이언트가 리소스 식별 - PATCH : 리소스 부분을 변경 - DELETE: 리소스 삭제 POST를 제외하고는 두번 이상 요청해도 괜찮음 (멱등) = 서버에게 보냈는데 .. 2023. 2. 19.
728x90