분류 전체보기 (26) 썸네일형 리스트형 [ Spring Security ] Filter 에 @Component 어노테이션을 붙이면, 모든 URL 에 필터 로직이 적용된다. 프로젝트를 하면서 JWT를 통해 사용자 인증, 인가를 구현하게 되었는데 / package ourtine.auth.filter; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.cor.. [ OS ] 프로세스, 쓰레드 [ 프로세스 ] - 프로그램 : 어떤 작업을 위해 실행할 수 있는 파일 - 프로세스 : 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 : 운영체제로부터 시스템 자원을 할당받는 작업의 단위 ( 시스템 자원 : CPU 시간, 운영되기 위한 주소 공간, Code/Data/Stack/Heap의 구조로 되어있는 독립적인 메모리 영역 ) : CPU에 의해 처리되는 사용자 프로그램 / 시스템 프로그램 즉, 실행중인 프로그램을 의미하며, 작업 또는 테스크라고 한다. : PCB ( Process Control Block )을 지닌 프로그램 : PC ( Program Counter )를 지닌 프로그램 : 능동적 개체로, 순차적으로 수행하는 프로그램 -> 입출력 중심( I/O - Boun.. [ OS ] 메모리 관리 운영체제의 역할 중 가장 핵심은 여러 프로세스들이 공유하는 컴퓨터 시스템 자원을 관리하는 것이다. 그 중, 메모리 관리에 대해 정리해보자. [ 메모리 관리 개념 ] - 메모리 관리는 중앙 처리 장치, 메모리, 스토리지, 주변 기기등을 적절히 관리하는 기법이다. - CPU가 프로그램을 읽어서 연속적으로 동작하기 위해서는 메모리 관리의 역할이 중요하다. [ 메모리 관리 기본 사항 ] [1] 가상 메모리 ( Virtual Memory ) : 각 프로그램에 실제 메모리 주소가 아닌 가상의 메모리 주소를 부여하는 방식 : 가상 주소(Virtual Address), 물리 주소(Physical Address)가 있고, 가상 주소의 범위를 가상 주소 공간, 물리 주소의 범위를 물리 주소 공간이라 한다. : 가상 주소 .. [ OS ] 운영체제 기초 - 운영체제 개념, 종류 운영체제의 종류 [1] 운영체제의 개념 - 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있는 환경을 제공하는 여러 프로그램의 모임 ( 시스템 소프트웨어 ) - 운영체제는 사용자와 하드웨어 사이의 인터페이스 역할을 한다. - 여기서 하드웨어는 CPU, 주기억장치, 보조기억장치, 통신 장치, I/O 장치 등으로 구분된다. - 운영체제의 관리 대상이 되는 자원은 하드웨어도 있겠으나, 소프트웨어 자원 ( ex. 프로세스 )도 포함된다. [2] 운영체제의 특징 - 사용자 편리성 - 인터페이스 - 스케줄링 ( ex. CPU Scheduling ) - 자원관리 - 제어 I. 사용자 편리성 제공 & 인터페이스 기능 - 사용자가 직접적으로 하드웨어, 프로세스를 관리.제어.. [ 23/2/6 : TIL : ] 2/06 : SA 작성, 기획 및 API 명세서 작성 붕어빵 꺼내지 말기 2. 엔티티한테 위임.. 3. api -> 복수명사/{id} 4. 내프로필 조회 -> /users/me transactional 활용 잘 해야함 enum 타입에 getter 가 꼭 필요한지 먼저 확인해보자 VO는 행위를 갖고있다. / VO와 Entity의 차이 → VO는 @Id가 없고 Entity는 있다. (식별자 유무) 유일하지 않은 것을 객체로서 표현하고자 할때 VO 를 쓴다. @Embedded 인 녀석들은 다 VO다. @Embeddable : 값 타입을 정의하는 곳에 표시 @Embedded : 값 타입을 사용하는 곳에 표시 [ 23/2/5 : SubQuery / With / 문자열 데이터 / Case When ] [ SubQuery ] -- kakaopay로 결제한 유저들의 정보보기 (join version) select u.user_id, u.name, u.email from users u inner join orders o on u.user_id = o.user_id where o.payment_method = 'kakaopay' vs -- subquery version select user_id, name, email from users where user_id in ( select user_id from orders o where payment_method = 'kakaopay' ) ( WHERE 절에 쓰는 서브쿼리 ) 쿼리문 안에 들어가는 쿼리문을 서브쿼리라고 한다 ( WHERE / SELECT. / F.. [ 23/2/4 SQL : Join / Group by / Order by를 두 개 이상의 Field로 정렬하는 경우 | Join 을 두번 이상 수행하는 경우 | Union ] [ 웹개발, 앱개발 종합반의 week 별 체크인 수를 세어보기 & 보기 좋게 정리해보기 ] select c.title, ch.week, count(*) as cnt from courses c inner join checkins ch on c.course_id = ch.course_id group by ch.week, c.title order by ch.week, c.title - Group by 는 한가지 필드를 대상으로만 할 수 있는 줄 알았는데, 생각지도 못하게 두 개 이상의 필드로 할 수 있는 것을 알고 놀랐다. - Group by {field1} -> 이 때, {field 1}의 값들로 구분되어 모여진 데이터를 모아놨다가 ( a ) Grou.. [ 23/2/3 SQL : Join - Left Join, Inner Join ] Join이란? 두 테이블의 공통된 정보 (key값)를 기준으로 테이블을 연결해서 한 테이블처럼 보는 것을 의미한다. ex) user_id 필드를 기준으로 users 테이블과 orders 테이블을 연결해서 한 눈에 보기! Foreign Key 로 이어져있는 관계의 테이블들을 연결해준다. Join 에는 Left Join / Inner Join / Outer Join / Self Join 의 종류가 있는데, 이번에 배우게 될 내용은 Left Join / Inner Join이다. ( => Outer Join은 현업에서 그리 많이 쓰지 않는다고 한다 ) [ Left Join ] - Left Join 은, 조인을 하는 주체인 테이블의 데이터와, 다른 테이블의 참조 데이터를 가져와서 다 뿌려주는 것을 의미한다. se.. [ 23/2/2 TIL : SQL - SELECT * FROM Table ~ Group by / Order by : 통계적인 값들 구해보기 ] 동일한 범주의 데이터를 묶어주는 Group by 깔끔하게 데이터를 정렬해주는 Order by ( 오름차순 / 내림차순 ) [1] Group by 이용 예시. *Q) users 테이블에서 같은 성씨가 각각 몇개가 있는지 알고 싶다. 1) 일단 users 테이블에서 name 필드를 기준으로 정렬해본다. select * from users u group by name 이 결과는 아래와 같이 나온다. 쿼리문을 해석하면, select * : 테이블 내에 모든 필드들을 보여줘라. from users u : users라는 테이블에서 ( users의 별칭을 u로 하겠다 ) group by name : 이름 필드값을 기준으로 동일한 데이터는 묶어줘. 자세히 보면, name필드 값이 겹치지 않음을 알 수 있다. 사실 이*.. [ 23/2/1 TIL - SQL 기본 : SELECT 문 - WHERE / BETWEEN / IN / AND / OR | 크롬 개발자 도구 console 창 글자 크기 키우기 | Java class & interface : extends vs implements ] 이번에 듣게 된 '엑셀보다 쉬운 SQL' 강의에서 SQL 기본 문법에 대해 학습했다. 데이터베이스와 테이블을 설계하고 관리하는 DBA를 위한 강의가 아니라, ( 관계형 데이터베이스.. ERD ... Schema ... Entity ... ) 단순히 데이터베이스 상에 있는 데이터를 검색해오는 기본적인 기능만 이용하게 해주는 입문자용 강의이다. 괜히 데이터베이스 상의 데이터를 Insert / Update / Delete 등의 작업으로, 데이터의 변경을 주지 않으면서 데이터베이스에서 데이터를 선택해서 가져온다는 의미인 SELECT문을 제대로 사용하여 내가 원하는 데이터를 뽑아올 수 있게 하는 것이 강의의 목표이다. [1] SELECT Query - DB의 CRUD 중, 'Read' 기능의 역할을 한다. - 쿼.. 이전 1 2 3 다음