Java; Generic Methods

제네릭 메소드 개요 용법 : <T, R> R method(T t)제네릭 메소드는 매개 타입과 리턴 타입으로 타립 파라미터를 갖는 메소드를 말한다. 제네릭 메소드를 선언하는 방법은 리턴 타입 앞에 <> 기호를 푸가하고 타립 파라미터를 기술한 다음, 리턴 타입과 매개 타입으로 타입 파라미터를 사용하면 된다. 제네릭 메소드는 두 가지 방식으로 호출 할 수 있다. 예제코드

자바 마이크로서비스를 활용한 SRE – 책 소개

MSA로 구축된 어플리케이션 관리를 단계적으로 안내하는 실전 가이드 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." 원제 : SRE with Java Microservices 저자 : Jonathan Schneider O'Reilly Media, 2020 / 한빛미디어, 2022 한국에서 MSA는 채용 시장에서 가장 핫한 주제다. MSA는 대용량 서비스를 안정적으로 운영하기 위해 느슨한 결합도, 무중단 배포, 기민한 릴리즈 대응, 탈중앙화에 부합해... » read more

요즘 하는 생각

개발자 커리어 시작 취업했다. 자바 웹 개발자가 됐다. Spring 자체개발 해서 돌려쓰는 플랫폼을 주입당한 서비스 업체다 (나쁘다는게 아니다!). 이 회사는 최근 M&A됐다. 나는 흔히 SI에서 많이 쓰이는 스택 (Spring 레거시, JSP, Tomcat, 넥사크로, Oracle..) 은 하나도 모르는 상태에서 입사했다. 특히 SQL과 jQuery 준비가 하나도 안된 상태에서 인수인계에 참여했다. 많이 깨졌다 (앞에서는 말 안해도...). 그러나 이후... » read more

JDBC의 Prepared Statement

NamedParameterJdbcTemplate NamedParameterJdbcTemplate query() 가장 정확한 사용법 Prepared Statement 일반 JdbcTemplate은 SQL을 실행할때 Prepared Statement 라는게 있는데,쌩 SQL을 사용하는게 아니라 SELECT * FROM user WHERE id = ? 이런식으로 일정 형식문자열로 SQL을 준비하는 것이다.저걸 Prepared Statement 라고 부른다.그러면, 저 쿼리를 DB가 받으면 무슨일을 하냐면. SQL을 파싱하여 대기 상태로 놓는다.→ 만약 기존에 동일한 SQL쿼리가 있었다면 그 쿼리캐시를... » read more

Java; Optional

기본적인 사용법 Optional 객체 만들기 Optional 개체 를 만드는 방법에는 여러 가지가 있습니다. 빈 Optional 객체 를 생성하려면 empty() 정적 메서드 를 사용하기만 하면 됩니다 . 값의 비교 isPresent(), isEmpty() isPresent() 메서드를 사용 하여 Optional 객체 내부에 값이 있는지 확인했습니다 . 값은 null 이 아닌 값으로 Optional 을 만든 경우에만 존재 합니다. 다음 섹션에서 isPresent()... » read more

Java; Class

Object class java.lang 패키지 java.lang.*은 컴파일 할때 자동으로 추가된다. 모든 클래스의 최상위 클래스 Object Object클래스는 모든 자바 클래스의 최상위 클래스다. 모든 클래스는 Object 클래스로부터 상속을 받는다. 클래스를 만들때 extends Object를 하지 않지만, 컴파일 과정에서 자동으로 들어간다. 모든 클래스가 Object 클래스를 상속 받았으므로 Object의 메소드를 사용할 수 있고 재정의 할 수도 있다 주로 사용되는 Object클래스의 메소드... » read more

Java; Other I/O stream

직렬화 직렬화와 역직렬화 클래스의 상태를 저장해 전송하거나 저장할 일이 있다. 그럴때 인스턴스의 어느 순간을 저장하는것을 직렬화라고 한다. (Serialization) 인스턴스의 저장된 상태를 다시 복원하는 것을 역직렬화라고 한다. (Deserialization) 직렬화란 간단하게 인스턴스의 내용을 연속 스트림으로 만드는 것이다. 스트림으로 만들어야 파일에 쓸 수도 있고 네트워크로 전송할 수도 있다. 직렬화를 위한 보조 스트림 ObjectInputStream(InputStream in) ObjectOutputStream(OutputStream out) 직렬화/역직렬화 테스트... » read more

Java; I/O Stream

자바 입출력과 스트림 스트림이란? 자바에서 모든 입출력은 Stream을 통해 이루어진다. 파일 디스크 키보드 모니터 메모리 네트워크 등등 모두 포함. Stream이란 용어는 네트워크에서 유래됐다. 입출력장치가 다양하기 때문에 자바는 입출력 장치와 무관하고 일관성 있게 프로그램을 구현할 수 있도록 일종의 가상 통로인 Stream을 제송한다. Source와 target에 따라 각각 다른 Stream 클래스를 제공한다. 입력 스트림과 출력 스트림 입력 스트림... » read more

Java; Exception

예외처리 예외 클래스 오류란 무엇인가? 프로그램에서 오류가 발생하는 상황은 Compile error와 runtime error 두가지다 Compile error : 프로그램 코드 작성 실수로 발생하는 오류. 개발 환경에서 대부분의 원인을 알 수 있다. Runtime error : 실행 중인 프로그램이 의도하지 않은 동작을 하거나 프로그램이 중지되는 실행 오류. 프로그램을 잘못 구현해 의도한 바와 다르게 실행됙어 생기는 오류를 버그라고 한다.... » read more

Java; Stream

스트림 스트림이란? 배열 요소를 특정 기준에 따라 정렬 하거나 (sort), 요소 중 특정 값은 제외하고 출력하는 기능 (filter). 이런 자료처리에 대한 기능을 구현해놓은 클래스가 stream이다. 스트림을 활용하면 자료를 일관성 있게 처리할 수 있다. 자료에 따라 기능을 새로 구현하는 것이 아니라 자료형에 상관없이 같은 방식으로 메소드를 호출한다. 간단한 스트림 예제 Arrays.stream() : 스트림의 생성 부분이다 forEach()... » read more