전체 글
-
Java Study[2022-09-07] - 객체지향프로그래밍(reflection programming, forName(), 동적 로딩)백엔드 2022. 9. 9. 01:13
🔸 2022-09-07 수요일 [객체지향프로그래밍] 1. Object 클래스 reflection 프로그래밍 Class 클래스로부터 객체의 정보를 가져와 프로그래밍하는 방식 => 로컬에 데이터 타입이 있다면, 굳이 이렇게 사용하지는 않음, 로컬에 객체가 없거나 자료형을 알 수 없는 자료형이 있을 경우 위 방식 사용 로컬에 객체가 없고, 자료형을 알 수 없는 경우 유용한 프로그래밍 java.lang.reflect 패키지에 있는 클래스 활용 newInstance() 메서드 Class 클래스 메서드 new 키워드를 사용하지 않고 인스턴스를 생성 Class c3 = Class.forName("java.lang.String"); => 클래스 정보를 가져옴 Constructor로 어떤 것을 가지고 있는지 확인 Con..
-
Java Study[2022-09-06] - 객체지향프로그래밍(finalize(), Class 클래스, 동적로딩)백엔드 2022. 9. 7. 23:23
🔸 2022-09-06 화요일 [객체지향프로그래밍] 1. Object 클래스 finalize 메서드 clone(), equals(), hashcode(), toString()처럼 호출하는 메서드가 아님 이 객체가 Heap 메모리에서 해제될 때, 가비지 콜렉터에서 호출되는 메서드 리소스 해제, 안 닫혀있는 소켓 닫기 역할 예외처리 많이 들어감 정리 : 직접 호출되는 메서드가 아니라 인스턴스가 힙 메모리에서 해제될 때, 가비지 콜렉터에서 수행되는 메서드 2. Class 클래스 자바의 모든 클래스와 인터페이스는 컴파일 후 class 파일로 생성됨 class 파일에는 객체의 정보(멤버 변수, 메서드, 생성자 등)가 포함되어 있음 Class 클래스는 컴파일 된 class 파일에서 객체의 정보를 가져올 수 있음 실..
-
Java Study[2022-09-05] - 스프링부트 프로젝트(JPA, Entity, model)백엔드 2022. 9. 6. 23:26
🔸 2022-09-05 월요일 [스프링 부트 프로젝트] 1. JPA를 통한 CRUD create() 메서드 작성 @Test public void create(){ User user=new User(); user.setAccount("TestUser01"); user.setEmail("TestUser01@gmail.com"); user.setPhoneNumber("010-1111-1111"); user.setCreatedAt(LocalDateTime.now()); user.setCreatedBy("admin"); User newUser=userRepository.save(user); System.out.println("newUser : "+newUser); } 결과 : newUser : User(id=1,..
-
Java Study[2022-09-04] - 스프링부트 프로젝트(JPA CRUD, @Autowired, save())백엔드 2022. 9. 6. 00:42
📌 Java Study 🔸 2022-09-04 일요일 [스프링 부트 프로젝트] 1. JPA를 통한 CRUD 이전까지 학습을 통해 @Repository 생성 스프링 프로젝트 src에서 main은 핵심 test는 main 패키지가 동일하고, main에서 작성한 코드를 테스트하는 패키지 보통 자바 코딩 시, private UserRepository userRepository = new UserRepository(); new를 붙여 직접 객체를 만들어서 userRepository를 가지고, 그 안에 속한 메서드를 사용했음 @Autowired => Dependency Injection(DI) - 스프링의 장점 사용자가 직접 객체를 만들지 않고, 스프링에서 직접 관리 따라서 new를 사용하지 않고, @Autowir..
-
Java Study [2022-09-03] - 객체지향프로그래밍(Object 클래스, equals(), hashcode(), clone())백엔드 2022. 9. 4. 23:31
📌 Java Study 🔸 2022-09-03 토요일 [객체지향프로그래밍] 1. Object 클래스 여러 객체들에 대한 equals()와 hashcode() 메서드 구현 시 먼저 작성한 equals()의 멤버를 활용하기 단, 멤버가 여러 개 있을 경우 재정의 해야 하는 경우도 있음 equals() => 두 개의 객체가 같다고 했을 때, 두 개의 객체가 반환하는 hashCode 값도 동일하게끔 오버라이딩 함 Integer i1 = new Integer(100); Integer i2 = new Integer(100); System.out.println(i1.equals(i2)); System.out.println(i1.hashCode()); System.out.println(i2.hashCode()); 실제..
-
[IntelliJ] Mac 사용 시 클릭 안되는 이슈(마우스 커서)트러블 슈팅(Trouble Shooting) 2022. 9. 3. 19:32
Windows는 해당 이슈를 발견하지 못했으나 Mac으로 IntelliJ 사용 중 마우스 커서가 어느 한 곳에 위치해있고, 다른 곳을 누르면 커서가 이동하지 않음 혹은 엉뚱하게 드래그가 되는 현상이 발생 마우스로 이동이 되지 않아 키보드로 커서를 수동으로 움직이면 되는데 이러면 생산성이 굉장히 떨어짐 인텔리제이를 종료했다가 다시 실행하면 해당 이슈가 사라지지만 매번 끄고 킬 수 없는 노릇.. 해결 방법 : 한영키 를 누르면 마우스 커서 고정이 풀려 해결
-
Java Study[2022-09-02] - 스프링부트 프로젝트(JPA, Entity 생성, Repository 선언)백엔드 2022. 9. 3. 19:26
📌 Java Study 🔸 2022-09-02 금요일 [스프링 부트 프로젝트] 1. Entity 생성 Entity Camel Case : 단어를 표기할 때, 첫 문자는 소문자로 시작하며 띄어쓰기 대신 대문자로 단어를 구분 Java의 변수를 선언할 때, Camel Case로 선언 ex) phoneNumber, createdAt, updatedAt Snake Case : 단어를 표기할 대, 모두 소문자로 표기하며 띄어쓰기 대신 (_)로 표기 DB 컬럼에 사용 ex) phone_number, created_at, updated_at API를 정의하기에 따라 다르지만, 주로 API 통신 규격에는 구간에서는 Snake Case를 많이 사용 Entity : JPA에서는 테이블을 자동으로 생성해주는 기능 존재 DB ..
-
[MySQL] 계정 비밀번호 변경 및 에러 해결방법트러블 슈팅(Trouble Shooting) 2022. 9. 2. 22:44
1. root 계정 로그인(기존 비밀번호 입력 후 로그인) $ mysql -u root -p; 2. mysql 접속 $ use mysql; 3. mysql 버전에 따른 password 변경 쿼리 입력 # 5.6 이하 > update user set password=password('new password') where user = 'root'; # 5.7 이상 > update user set authentication_string=password('new password') where user = 'root'; # 8.x 이상 > alter user 'root'@'localhost' identified with mysql_native_password by 'new password'; 4. 변경 후 Mys..