본문 바로가기

Language

(93)
인텔리제이 Process finished with non-zero exit value 1 오류 오류 발생 > Process 'command '/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1 해결방법 1. File > Settings > Build Tools > Gradle Gradle 인텔리제이 IDEA 로 변경 이렇게 하면 해결이 된다.
[Java] Record class란? Jdk 버전에 대한 팔로우업에 잊고 행복한 삶을 살다가 Jdk 14부터 정식 릴리즈한 Record class라는 애가 나왔고. DTO로써 사용하기 최고라고 추천을 받아 공부겸 포스팅을 진행하려고한다. 1) Record 클래스가 뭔데? 레코드란 데이터클래스 이며, 순수하게 데이터를 보유하기 위한 특수한 종류의 클래스이다. 코틀린의 데이터 클래스와 비슷한 느낌이다. 데이터의 유형만 딱 나타내는 느낌으로, DTO클래스를 생성할때 굉장히 간결해지는 장점이 있다. 2) 샘플 소스 및 대략적인 사용 예제 한 30%의 사람들 혹은 옛날 코드들은 이렇게 DTO가 짜여있다. package com.inna.innabackend.dto; public class SampleRecordDto { private String na..
싱글턴 패턴 사용 및 정리! 싱글턴 패턴은 클래스의 인스턴스를 하나만 생성해서 사용하는 패턴이다. 주로 특정 객체를 여러곳에서 공유해야 할 떄 사용한다. 싱글턴 패턴을 이용함으로써, 메모리에 인스턴스를 하나만 등록해 여러 쓰레드에서 동시에 하나의 객체를 이용할 수 있도록 하기 위함이다. 문제는 동기화 문제인데, 동기화 문ㅁ제만 잘 해결한다면, 리소스의 효율을 가져다 줄 수 있다. 일단 싱글턴 테스트 코드를 적어보자 package com.practice.demo.config; public class SingleTon { private static SingleTon instance; private int msg; private SingleTon(int msg) { this.msg = msg; } public static SingleTo..
[DesignPattern] 행동패턴 자바 디자인 행동 패턴에 대해서 알아보자 Chain of Responsibility : 책임연쇄 패턴, 책임들이 연결되어있어 내가 책임을 못지면, 다른 책임자에게 자동으로 넘어가는 구조이다. Command :명령어를 각각 구현하는 것보다는 하나의 추상 클래스에 메서드를 하나 만들고, 각 명령이 들어오면 그에 맞는 서브 클래스가 선택되어 실행한다. Interpreter : 문법 규칙을 클래스화한 구조를 갖는 SQL언어나 통신 프로토콜 같은 것을 개발할 때 사용한다. Iterator : 반복이 필요한 자료구조를 모두 동일한 인터페이스를 통해 접근할 수 있도록 메서드를 이용해 자료구조를 활용할 수 있도록 해준다. Mediator : 클래스 간의 복잡한 상호작용을 캡슐화하여 한 클래스에 위임해서 처리한다. Me..
[DesignPattern] 구조 패턴 어댑터 - 기존의 클래스를 재사용하거나, 사용자가 원하는 인터페이스를 하도록 클래스를 활용하기 위해 많이 쓰인다. 브릿지 - 기능의 확장과 구현의 확장 계층을 분리 하기 위함 컴포지트 - 비슷한 기능을 하는 구성요소들로 설계를 구성하는 패턴 데코레이터 - 종속적인 기능들이 공통적으로 동작하게 끔 동작하는 패턴 퍼샤드 - 하위 수준에서 사용되는 여러 기술들을 상위 기술에서 단순화 하여 제공하는 패턴 플라이웨이트 - 생성해야하는 객체나 클래스가 많은 경우 사용하면 효과적이다. 프록시 - 실제 동작하는 클래스가 아닌, 대체자, 대행자를 두어 그 프록시 클래스가 대신 수행하도록 해준다.
[Java] Java 11은 뭐가 다를까? 생각해보니 전 회사에서 Java 6 -> 8에 대한 컨버전을 진행했다. 근데, 지금 회사에서는 자바 11을 쓴다. 어떤게 어떻게 다를까? 1) String 문자열 관련 메소드가 많다. isBlank(),line(),repeat(),stripLeading(),stripTrailing(),strip()과 같은 문자열 관련 메소드가 많이 도입됬다. 2) 파일에 대해서 많은 작업을 수행할 수 있다. writerString,readString,isSameFile과 같은 메소드들이 지원된다. 3) 패턴인식이 가능하다. asMatchPredicate()메소드 도움을 받을 수 있따. 4) 컬렉션 인터페이스, 메서드 추가 5) Predicate 인터페이스 static not 메서드 추가 해당 과 같이, static no..
[DesignPattern] 생성패턴 하나씩 깊게 파보기 전에, 디자인 패턴 한개씩 써머리? 요약?을 진행해보자 하나씩 하나씩 요약을 진행하면서 간단하게 정리를 하고, 한개씩 깊게 파보도록 하자 * 싱글턴 패턴 : 생성자가 한번만 인스턴스를 생성하고, 이후 호출에서는 해당 생성된 인스턴스가 리턴되는 패턴 * 프로토타입 : 객체들의 인스턴스가 프로토타입인스턴스를 바탕으로 생성되는 것을 결정, 해당 결정되어 생성된 인스턴스를 사용 * 팩토리 메소드 : 기본 생성자나 생성자 메소드가 아니라 서브클래스(팩토리) 메서드에게 생성을 위임, 해당 클래스에서 생성을 한다. * 빌더 : 생성 객체의 속성이 옵셔널한 경우가 좀더 적합, 다양한 표현으로 생성자를 사용할 수 있다. * 추상 팩토리 패턴 : 관련 클래스들을 팩토리로 한데 모으고, 이 전체를 캡슐화..
[DesignPattern] 1. Index_StudyList 갑자기 데일리로 디자인 패턴 공부를 하고싶어졌다.. 해야겠다. 짧게나마 공부를 하고 익혀야겠다. 뭔가 디자인 패턴같은건 많이 알수록 좋다고 생각이든다.. ㅎㅎ 일단 목록을 나열해보자. 하루에 하나씩 진행해보고 정리해볼 리스트 말이다. Gof 디자인 패턴 위주로 공부하고 추가로 더 있다면, 뭐 하면되지 ㅋ * 싱글턴 패턴 * 프로토타입 * 팩토리 메소드 * 빌더 * 추상 팩토리 패턴 * 어댑터 * 브릿지 * 컴포지트 * 데코레이터 * 퍼샤드 * 플라이웨이트 * 프록시 * Chain of Responsibility * Command * Interpreter * Iterator * Mediator * Memento * Observer * State * Strategy * Template Method * Vis..