정보처리기사를 공부할 때, 객체지향의 3요소 객체, 클래스, 메시지를 외웠다.캡슐화, 추상화, 상속, 다형성같은 객체 지향의 특징도 달달달 외웠다.Java 강의를 통해 객체지향적으로 코드를 짜려면 인터페이스를 사용해야한다는 것도 배웠다.인풋이 있으면 그만큼 아웃풋도 있어야 하는데, 나는 과연 배운 만큼 제대로 아웃풋을 내왔을까?🤔이 책이 이론을 실무에 녹여낼 수 있는 징검다리가 되주길 바라며 차근히 완독해봐야겠다. 이 책의 목차는 이렇게 이뤄져있다.01 .협력하는 객체들의 공동체02 .이상한 나라의 객체03 .타입과 추상화04 .역할, 책임, 협력05 .책임과 메시지06 .객체 지도07 .함께 모으기 이 목차만 봤을 때는 아직 감이 잡히지 않는다.책 앞단에 이 책은 1장부터 7장까지 유기적인 흐름으로..
분류 전체보기
1. 스프링 시큐리티란?스프링 기반 애플리케이션의 인증(Authentication)과 권한(Authorization)을 처리하는 보안 프레임워크다. 2. 주요 개념2-1) 인증(Authentication)사용자 요청을 처리하려면 사용자가 누구인지 인증을 해야한다.사용자의 신원 확인을 하는 것! * 인터페이스Authentication : 현재 인증된 사용자의 정보를 담은 객체. AuthenticationManager : 인증을 처리하는 주요 엔트리 포인트다.SecurityContext : 현재 애플리케이션의 보안 컨텍스트. 인증된 사용자 정보를 담는다. *클래스SecurityContextHolder : 현재 스레드의 SecurityContext를 관리하는 헬퍼 클래스. UsernamePasswordAuth..
대분류는 스프링 시큐리티이지만, 이 포스팅에서는 스프링 시큐리티에 대한 내용이 없다.스프링 시큐리티에 대한 본격적인 이야기는 다음 포스팅에서 할 예정이다. 스프링 시큐리티를 프로젝트에 도입하기 전에 알아두면 좋을 배경 지식이니 찬찬히 정리해보았다. 1. 인증과 권한1-1) 인증사용자가 누구인지 확인하는 과정이다.예를 들어, 아이디와 패스워드, 인증 토큰, 인증서 등으로 신뢰할 수 있는 사용자인지 검증하는 것이다. 1-2)권한인증된 사용자가 무엇을 할 수 있는지 결정하는 과정이다.주로 역할이나 권한 기반으로 관리한다.역할: 관리자, 사용자 등.권한: 읽기, 쓰기, 삭제 등. 예시)네이버 블로그에 내 계정으로 로그인 하면, 내 블로그를 관리할 수 있는 계정 관리에 접근할 수 있다.그리고 글을 쓸 수 있고 수..
2진수를 4개의 비트를 한 그룹으로 묶어서 변환한다.16진수는 각 자릿수가 4비트와 대응되기 때문에 각 그룹을 16진수로 치환하면 된다. 비트의 수가 4의 배수가 아니라면, 앞쪽에 0을 추가해서 4비트로 맞추면 된다. 2진수16진수000000001100102001130100401015011060111710008100191010A1011B1100C1101D1110E1111F ✅예시) 1101011010 을 16진수로 변환하기1. 앞에 00을 추가해서 12비트로 만들어준다.001101011010 2. 4비트씩 쪼개준다.0011 0101 1010 3. 4비트를 16진수로 변환한다.0011 -> 30101 -> 51010 -> A 결과 : 35A
1. Dockerfile1-1) Dockerfile이란?애플리케이션을 패키징하여 Docker 이미지로 만들기 위한 스크립트다.패키징이란, 실행되기 위해 필요한 모든 파일, 라이브러리, 의존성 등을 하나의 배포 가능한 단위로 묶는 것을 의미한다. Dockerfile을 통해 애플리케이션을 다른 환경에서 손쉽게 배포하고 실행할 수 있게 된다.패키징된 애플리케이션은 해당 환경에서 설치나 설정 없이도 바로 동작한다. 1-2) Dockerfile 경로애플리케이션의 루트 디렉토리에 위치해야 한다. 왜냐하면 Docker 이미지 빌드 시 Docker 컨텍스트가 설정되는데, 컨텍스트는 Dockerfile이 있는 디렉토리 기준으로 로컬 파일을 컨테이너로 복사하거나 참조할 수 있기 때문이다.(*컨텍스트란 Docker 이미지를..
Jira, Confluence 가 각광받는 협업툴이지만 언제, 어떤 상황에 어떻게 사용해야할지 규칙이 있어야 효과적으로 사용할 수 있다. 왜 사용하는지, 협업툴을 사용하면 뭐가 좋은지 팀 내에 공동의 이해가 있어야 한다. 1. 규칙1) 브랜치명, 커밋메시지 앞에는 이슈번호를 붙인다.Githook으로 이슈번호 입력을 자동화 할 수 있다. 2) 브랜치 규칙 3) 커밋 메시지 규칙Add, Fix, Change, Improve 태그를 붙인다.Add : 추가Fix : 수정Change : 변경Improve : 개선4) 이슈관리- 에픽을 달성하기 위한 이슈를 등록한다. - 이슈유형, 요약, 담당자, 우선순위, 레이블(Front, Back, DB, Infra) , 이슈연결 필드에 내용을 채운다. - 작업자는 현재 작업..
CASE문은 조건에 따라 다른 값을 반환하는 구문이다. 1. 단순한 CASE문조건이 특정 컬럼 값에 따라 단순하게 매칭될 때는 조건과 반환값을 나열하는 식으로 쓰면 된다.List result = queryFactory .select(member.age .when(10).then("열살") .when(20).then("스무살") .otherwise("기타")) .from(member) .fetch(); ▪️ 필드.when(조건).then(반환값).otherwise(조건 외 반환값) 2. 복잡한 CASE문비..
1. JPAExpressions Querydsl에서 서브쿼리를 작성할 때, com.querydsl.jpa.JPAExpressions 사용해야한다.List result = queryFactory .selectFrom(member) .where(member.age.eq( JPAExpressions .select(memberSub.age.max()) .from(memberSub) )) .fetch();서브쿼리 시작할 때 JPAExpressions를 붙이면 된다. static import해서 쓰자!import static com.querydsl.jpa.JPAExpressions.select;static import하고 나면 JPAExpre..