
Vue.js를 띄워둔 상태에서 Spring Boot를 실행했더니 포트 8080 충돌로 서버가 뜨지 않았습니다.(포트를 둘 다 8080을 사용하고 있었음)에러화면에러 로그:스프링의 포트를 변경하는 방법도 있지만8080을 점유한 프로세스의 PID를 조회하고 해당 프로세스를

팀 프로젝트를 진행하면서 협업하면서 서로 어떤 작업을 진행하고, 진행하려하는지 파악하기위한 목적으로 Issue를 사용하기로 하였습니다. 1. Issue란? 작업할 내용, 버그, 개선 사항, 질문 등을 관리하기 위한 용도 누가 어떤 작업을 하고 있는지 추적할

자바에서 객체 복사를 지원하기 위해 Cloneable 인터페이스와 clone() 메서드가 존재한다.Cloneable은 메서드가 하나도 없는 인터페이스다. \- 메서드가 하나도 없이 단순하게 복사할 수 있는 객체라고 표시만 한다.이렇게 표시만 하는 인터페이스를 마커 인터

기본 Object.toString()은 클래스이름@16진수해시코드를 반환한다.의미 없는 정보만 제공하기 때문에 가독성이 떨어지게되어 사용자에게 유용한 정보를 포함하는 toString()을 직접 재정의해야 한다.예를 들어, PhoneNumber 클래스의 기본 toStri

equals를 재정의하면 같은 논리적 값을 가진 객체들은 서로 동일한 hashCode를 반환해야 한다.hashCode를 재정의하지 않으면 않으면 HashMap, HashSet, HashTable 같은 해시 기반 컬렉션에서 동작이 제대로 이루어지지 않는다. 즉 동일한 객

꼭 필요한 경우가 아니라면 equals를 재정의하는 것이 좋지 않다.equals를 재정의하지 않는 것이 좋은 상황은 대표적으로 아래 4가지 상황이 있다.1\. 각 인스턴스가 본질적으로 고유하다.값이 아닌 동작(행위) 중심 객체라면 동치성이 의미가 없다.예 : Threa

자바 라이브러리와 프레임워크에는, 직접 자원을 닫아야 하는 클래스들이 많이있다.InputStream, OutputStream, Reader, Writer (IO 관련)java.sql.Connection, Statement, ResultSet (JDBC 관련)JPA(Hi

자바는 C++와 달리 파괴자(destructor)가 없다. 대신 가비지 컬렉터(GC)가 자동으로 메모리를 회수한다. 그러나 자바도 예전에 "finalizer"라는 메커니즘, 그리고 자바 9부터 "cleaner"라는 메커니즘을 제공한다. 자바에서는 finalizer나 c

자바는 가비지 컬렉션(Garbage Collection, GC)을 통해 자동으로 메모리를 관리한다. 그래서 메모리 관리에 신경 쓰지 않아도 된다고 착각하기 쉽다. 하지만 잘못된 객체 참조를 계속 유지하면 메모리 누수(메모리 낭비)가 발생한다.가비지 컬렉터 : 프로그래머

1. 객체를 반복 생성하지 말고 재사용하자 같은 기능을 하는 객체를 매번 생성하는 것보다 이미 생성된 객체를 재사용하는 것이 성능 면에서 유리하다. 불변(Immutable) 객체는 언제든 재사용할 수 있으며, 대표적인 예 String 클래스가 있다. String을

자원이 여러 개 필요할 때 정적 유틸리티 클래스나 싱글턴을 사용하는 것은 좋지 않다.필요한 자원이 여러 개일 수 있다 하나의 자원으로 모든 경우를 처리할 수 있다고 가정하는 것은 바람직하지 않다. 맞춤법 검사기에서 필요한 사전은 언어별 사전일 수도 있고, 특수 어휘

item4 에서는 정적 메서드와 정적 필드만을 담은 클래스를 왜 이런 클래스가 객체 지향적이지 않다는 것인지 어떻게 안전하게 만드는지를 말한다.객체 지향(OOP)은 보통 상태(필드)와 행동(메서드)을 갖는 객체들이 협력하여 프로그램을 설계하는 것이다.그러나 정적 멤버만

싱글턴(Singleton)은 인스턴스를 단 하나만 생성할 수 있는 클래스를 의미한다.시스템 전체에서 해당 클래스의 객체가 하나만 존재하도록 보장하는 패턴이다.무상태(stateless)는 내부에 상태(멤버 변수)를 가지지 않는 객체를 의미한다.객체의 상태가 공유되지 않아

객체를 생성할 때 선택적 매개변수가 많으면 일반적인 생성자나 정적 팩터리 메서드만으로는 적절히 대응하기 어렵다. 이를 해결하기 위한 대안으로 3가지 방법이 존재한다.기본 생성자부터 시작해서 매개변수를 점진적으로 추가하는 방식이다.매개변수 개수가 많아질수록 생성자가 너무

자바에서 객체를 생성하는 일반적인 방법은 new 키워드를 사용하는 생성자다. 자바에서는 생성자 외에도 정적(static) 팩터리 메서드를 활용하여 객체를 생성할 수 있다. 여기서 말하는 정적 팩터리 메서드는 GoF의 Factory Method 패턴과는 다르며, 단순히

그림으로 배우는 리눅스를 읽으며 따라 실습해보기 위해우분투 상에서 실습을 준비한다.실습을 위해서 docker hub에서 ubuntu 이미지를 직접 다운 받거나 명령어를 통해서 다운받는다.우분투 이미티 다운다운로드한 Ubuntu 이미지를 기반으로 새로운 컨테이너를 만들고

Comparator는 객체를 비교해서 정렬 순서를 정해주는 Java 인터페이스다.정렬 기준을 직접 정의할 수 있기 때문에 우리가 원하는 방식으로 데이터를 정렬할 때 유용하다.Comparator의 가장 핵심 메서드가 compare이다.두 값을 비교해서 순서를 정렬해준다.