본문 바로가기

전체 글

(64)
Github private repository clone 집에서 작업할 일이 생각나서 개인 데스크탑에서 git config의 user.name과 user.email을 수정한 후 회사 깃에서 내가 작업하고 있는 Repository를 clone하려고 했는데... 일단 해당 Repository는 private인 것을 확인하였으니, 이럴 경우 clone을 하는 방법은 두 가지가 대표적이다. 1. 해당 Repository에서 권한이 부여된 user.name을 github.com 앞에 @를 붙여 clone git clone https://[private repository에 권한이 부여된 user.name]@github.com/[repository].git 2. user.name과 github에서 발급받은 토큰을 함께 사용하여 clone git clone https://..
Reactive streams Interface 1. Publisher 인터페이스 subscribe 메서드를 통한 Subscriber를 등록하는 역할을 담당한다. public interface publisher { public void subscribe(Subscriber
SpringBoot Bean 중복 처리(필드명 수정을 통한 방법) 인터페이스를 사용하다보면 같은 반환 타입을 가진 bean을 설정할 때가 분명히 있다. 이 경우 정확히 명시해주지 않으면 Spring은 다음과 같은 에러를 띄운다. 위 에러는 TestController가 요청하는 bean은 하나인데 반해, 같은 반환 타입을 가진 bean이 세 개 발견되어 나타나는 에러이다. 정확히 어떤 bean을 사용할 것인지 반드시 제대로 설정을 해줘야 한다. 친절하게도 Spring에서 친절하게 해결 방안을 알려준다. @Primary와 @Qurlifier을 이용한 우선순위를 정하는 방법이 가장 많이 쓰이는 것으로 알고 있다. 난 위 두 어노테이션의 힘을 빌리기보다 매우 기본적인 방법으로 bean의 중복을 처리하고자 한다. 위 두 가지의 bean이 존재한다. 인터페이스의 구현체 2 종류로..
Spring Boot + MyBatis 스프링부트를 사용할 때 거의 JPA만 사용했었는데, 때에 따라 MyBatis도 사용하면 괜찮을 것 같았다. 실제로 여러 개발 블로그를 보니 혼용으로 사용하는 분들이 꽤나 많았기에 나도 한 번 그렇게 해봐야겠다라는 생각이 들었고.. 시작이 반이다라는 느낌으로 Spring Boot + MyBatis를 어떻게 사용하는지 간략하게 기록해본다. 1) build.gradle 참고로 현재 Spring Boot와 jsp, Mybatis를 혼용해서 공부를 하고 있다. 그래서 스프링에서 jsp 사용을 위한 tomcat-jasper가 디페던시 되어있고 나머지 mysql과 mybatis를 설정해주도록 하자. 참고로 순서는 뭐가 먼저고 그런건 없으니 그냥 참고.. 2) application.properties spring에게 ..
MySQL 데이터 타입 숫자형 데이터 형식 바이트 수 숫자 범위 설명 BIT 1 0 or 1 or NULL 논리형으로 참, 거짓으로 사용 INT 4 약 -21억 ~ 21억 정수 BIGINT 8 -2^63 ~ 2^63 정수 FLOAT 4 -3.40..x 10^38 ~ 3.40..x 10^38 소수 DOUBLE 8 -1.79.. x 10^308 ~ 1.79.. x 10^308 소수 문자형 데이터 형식 바이트 수 설명 CHAR(n) 0 ~ 8000 고정길이 문자형 NCHAR(n) 0 ~ 8000 유니코드 고정길이 문자형 (한글은 0~4000자) VARCHAR(n) 0 ~ 2^31 - 1 가변길이 문자형 (VARCHAR(MAX) = 2GB) NVARCHAR(n) 0 ~ 2^31 - 1 유니코드 가변길이 문자형 (NVARCHAR(MAX..
MySQL 형변환 사용자가 원하는 데이터로 형변환 할 때 사용하도록 한다. 데이터 형식 중에 가능한 것은 BINARY, CHAR, DATE, DATETIME, DECIMAL, JSON, SIGNED INTEGER, TIME, USSIGNED INTEGER 등이 있다. 형식은 아래와 같다. -- 1 -- CAST ( 표현하고자 하는 데이터 AS 바꿀 데이터 형식[길이]) -- 2 -- CONVERT ( 표현하고자 하는 데이터, 바꿀 데이터 형식[길이]) 아래의 예제를 통해 정확히 알아보자. select avg(pet_id) from residents; 위 SQL은 residents 테이블의 pet_id 컬럼의 평균값을 나타내는 문구이다. 2.5라는 값이 출력된 것을 확인할 수 있다. 이 데이터를 정수로 바꾸어 보자. sel..
트랜잭션(Transaction) 일전에 Oracle DB를 사용할 떄에도 트랜잭션에 대해 공부하는 시간을 가졌었다. 트랜잭션에 대한 기억이 사라지지 않았나 싶어 다시금 내용을 정리해 보고자 한다. 트랜잭션이란? 본 의미는 나눌 수 없는 가장 작은 하나의 단위이고, 이 뜻은 트랜잭션이란 DB의 상태를 변경하는 일종의 작업 단위이다. MySQL이나 Oracle DB에서 행하는 모든 명령어들은 하나의 트랜잭션이기도 하다. 그러면 왜 이러한 트랜잭션에 대해 알고 있어야 하고 또 사용할 줄 알아야 하는가? 바로 여러 개의 작업 단위를 구성할 떄 필요한 것이기 때문이다. 트랜잭션의 대표적인 예로는 입,출금 예제가 있다. 1) A는 계좌에 만원이 있는 상태이고 B는 A에게 빌린돈 천원이 있다. 2) A는 B에게 천원을 입금한다. 3) A는 잔액 9..
Jsp에서 WAS(tomcat)의 작업 http:://localhost:8100/index.jsp가 브라우저에 띄워져 있다면 과연 WAS는 요청을 처리하는 과정을 간략히 정리했다. WAS는 다음과 같은 작업을 실행하게 된다. 첫번째 실행 - index.jsp가 실행되면 index_jsp.java 파일이 생성된다. - 문법 오류가 없다면 자동으로 컴파일되어 index_jsp.class 파일이 생성된다. - 메모리에 올라간다. - _jspInit() 메소드를 호출한다. 두번째 실행 - _jspService() 메소드를 호출한다. => Service 메소드는 doGet, doPost 요청을 전부 소화할 수 있다. 위 두 과정은 간단해 보이지만, 중요한 과정이니 꼭 숙지해야한다.