전체 글
-
(3) 좋은 객체지향 프로그래밍자바 Study/Spring - 핵심원리 2021. 7. 13. 22:28
1. 객체 지향의 특징 자바 언어의 특징과 일치함 1-1) 특징 > 추캡상다 참조 자료 : https://korshika.tistory.com/94?category=962145 절차지향 vs 객체지향(객체지향 3대요소) ■ 절차지향 1) 정의 : > 순차적인 처리가 중요한 프로그래밍 방식 - 컴퓨터 작업 방식과 비슷 - 데이터 위주의 thinkig 2) 장단점 : > 장점 - 컴퓨터의 처리구조 방식과 비슷해 실행속도가 빠름 > 단 korshika.tistory.com 추상화 캡슐화 상속 다형성 1-2) 객체 지향 프로그래밍의 정의 (a) 정의 객체지향 프로그래밍은 컴퓨터 프로그램을 명령어 목록으로 보는 시각에서 벗어나 특정 기능을 수행하는 객체들의 모임으로 파악하고자 하는 것 각 객체는 메시지를 주고 받..
-
(9) RedisCS 지식/○ Database 2021. 7. 10. 23:55
1. Redis 1-1) 정의 레디스(Redis)는 메모리 기반의 Key/Value Store - 리스트, 해시, 셋 정렬된 셋 등 여러 형식의 자료구조를 지원 [Redis 자료구조 예시▼] 더보기 1. String 일반적인 문자열로 최대 512mbyte 길이까지 지원한다. Text 문자열뿐만 아니라 Integer와 같은 숫자나 JPEG 같은 Binary File까지 저장할 수 있다. 2. Set set은 String의 집합이다. 여러 개의 값을 하나의 Value 내에 넣을 수 있다고 생각하면 되며 블로그 포스트의 태그(Tag) 등에 사용될 수 있다. 재미있는 점은 set 간의 연산을 지원하는데, 집합인 만큼 교집합, 합집합, 차이(Differences)를 매우 빠른 시간 내에 추출할 수 있다. 3. S..
-
(2) 강의 입문자바 Study/Spring - 핵심원리 2021. 7. 10. 22:23
1. 스프링 개요 스프링과 사용되는 프로젝트들 스프링 데이터 : RDBMS 스프링 세션 : 세션 관리용, Authentication 스프링 시큐리티 : 보안 스프링 Rest Docs : API 문서를 편리하게 하는 도구 스프링 배치 : Batch job에 특화된 기술 다른 기술들 예시 : https://spring.io/projects 1-1) 스프링 프레임워크 핵심요약 ※ Groovy 특징 - groovy 는 JVM에서 스크립트로 돌아가는 언어 - gradle(빌드툴)을 작성할 때 쓰기도 함 (DSL 은 코틀린, 그루비 등으로 작성하도록 되어있음) - 빌드를 안돌리고 script로 실행 하는 것이 특이점 - Maven을 대체하는 빌드 도구 참조 : https://araikuma.tistory.com/4..
-
(1) 강의 입문자바 Study/Spring - 핵심원리 2021. 7. 10. 21:32
1. 목표 1-1) 목적 단순 레퍼런스 문서 설명 X 왜 Spring을 사용하는지에 대해 이유와 핵심 원리 설명 1-2) 결과 스프링 기본 기능 학습 스프링 본질 깊은 이해 객체지향설계를 고민하는 개발자로 성장 2. 역사 2-1) 태초의 EJB 2000 초반 그당시 자바 표준기술 Spring + JPA 합친것과 비슷 거의 종합 선물세트 - 비용은 비쌌음 2-2) EJB 지옥 어렵고, 복잡하고, 느림 EJB 인터페이스에 의존적으로 짜야됨 2-3) 분리, 옛날 JAVA로 돌아가자 (1) JPA - JAVA 진영 ORM JPA라는 표준을 제정하게 됨 - 용어, API 등을 정제하여 핵심과 깔끔함을 유지 (2) Spring 1) 스프링 프레임워크 출시 2) 스프링 부트 출시 - 스프링 프레임워크가 설정이 너무 ..
-
(8) 트랜잭션 격리 수준CS 지식/○ Database 2021. 7. 7. 21:34
1. 격리 수준(Isolation level)이란? 1-1) 정의 동시에 수행되는 트랜잭션 thread/작업들에서 일관성을 해칠 수 있는 데이터 작업을 허용하도록 하는 수준 1-2) 필요성 ACID 특성을 지키면서 트랜잭션이 수행되도록 하는데 보통 격리수준과 성능이 반비례 관계에 있게 됨 ACID 참조 : https://korshika.tistory.com/171 (7) DB Transaction 1. 트렌젝션이란? 1-1) 정의 데이터베이스의 상태를 변화시킬 때 수행하는 정해진 "작업 단위"를 의미 이때 작업은 다음의 CRUD의 SQL 문을 의미 - SELECT - INSERT - DELETE - UPDATE 1-2) 용어 (a) 트랜잭션 특.. korshika.tistory.com > Trade-of..
-
(7) DB TransactionCS 지식/○ Database 2021. 7. 7. 00:02
1. 트렌젝션이란? 1-1) 정의 데이터베이스의 상태를 변화시킬 때 수행하는 정해진 "작업 단위"를 의미 이때 작업은 다음의 CRUD의 SQL 문을 의미 - SELECT - INSERT - DELETE - UPDATE 1-2) 용어 (a) 트랜잭션 특징 ACID 특성 원자성(Atomicity) 이분적인 상태를 의미 트랜잭션이 DB에 모두 반영(Commit)되거나, 혹은 반영되지 않아야(Rollback) 함 일관성(Consistency) 트랜잭션의 작업 처리 결과는 항상 일관성이 있어야 함 독립성(Isolation) 둘 이상의 트랜잭션이 동시에 병행 실행되고 있을 때 어떠한 트랜잭션도 다른 트랜잭션 연산에 끼어들 수 없음 (OS 데이터 정합성-세마포어 뮤텍스와 비슷) 지속성(Durability) 트랜잭션이..
-
(17) HTTP - 인증 & 쿠키HTTP 웹/Http 웹 기본 2021. 7. 6. 22:23
1. 인증 헤더 1-1) 정의 Authorization: 헤더를 이용하여 클라이언트 인증 정보를 서버에 전달하는 기능 WWW-Authenticae: 헤더를 이용하여 리소스 접근시 필요한 인증 방법을 정의 1-2) 방식 클라이언트 인증 정보를 서버에 전달 > Authorization: - ex) Authorization: Basic xxxxxxxxxxxxx - Basic 이외 수많은 방식들이 있음 OAUTH1, 2 등등... - 헤더에 정보가 들어가는 것이 핵심(어떤 방식으로든 이 헤더는 인증과정에서 포함됨) + 헤더의 value는 바뀔수 있음 인증 방식을 클라이언트에 서버가 전달 > WWW-Authenticate: - 리소스 접근시 필요한 인증 방법 정의 - 401 Unauthorized 응답과 함께 사..
-
(16) HTTP - 일반 정보 & 특별한 정보HTTP 웹/Http 웹 기본 2021. 7. 5. 04:41
1. 일반 정보 헤더 1-1) 정의 단순히 일반적인 정보에 대한 것만 포함하는 헤더 1-2) 종류 From 유저 에이전트의 이메일 정보 - 일반적으로 잘 사용되지 않음 - 검색 엔진 같은곳에서 주로 사용 (크롤링하는 봇들에게 응답이메일 정보 뿌릴 때 - 접근하지 마라고) - 요청에서 사용 Refer 이전 웹 페이지의 주소 - 현재 요청된 페이지의 이전 웹페이지 주소 - A → B로 이동하는 경우, B를 요청할 때 Refer: A를 포함해서 요청 - 참고 : referer는 단어 referrer의 오타 - Refer를 사용해서 유입 경로 분석 가능, 데이터 분석에 사용 - 요청에서 사용 - 예시 : 구글에서 "Hello" 검색 이후, 위키로 "Hello"를 들어갈 시 User-Agent 유저 에이전트 에플..