일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 자바할래
- Java
- 정렬
- 상속
- annotation processor
- 항해99
- Effective JAVA
- junit 5
- 브릿지 메소드
- 익명 클래스
- 접근지시자
- 제네릭 타입
- System.err
- 함수형 인터페이스
- public 필드
- 자바스터디
- 제네릭 와일드 카드
- 로컬 클래스
- Study Halle
- 바운디드 타입
- System.in
- Switch Expressions
- 프리미티브 타입
- 람다식
- System.out
- 스파르타코딩클럽
- 합병 정렬
- github api
- auto.create.topics.enable
- raw 타입
- Today
- Total
목록전체 글 (286)
코딩하는 털보
11 to 9, Day 4 Today, ToDoList 자바 라이브 스터디 14주차 공부 마무리 Toy Project - NGMA 테스트 코드 작성 14주차 공부 마무리 드디어 마무리 하고 포스팅 완료~ https://rockintuna.tistory.com/102 테스트 코드 application.properties 왠지 테스트가 mysql에서 돌더니 진작에 했어야 했는데 이제서야 찾아서 test/resources 에 새로운 application.properties 추가해서 테스트는 H2 DB에서 실행되도록 변경하였다. Schedule Controller 테스트 코드 @SpringBootTest @AutoConfigureMockMvc @TestInstance(TestInstance.Lifecycle.P..
목표 자바의 제네릭에 대해 학습하세요. 학습할 것 제네릭 제네릭을 사용하는 이유 자바 제네릭 제네릭 사용법 제네릭 클래스 선언하기 제네릭 타입 호출하기 다이아몬드 여러개의 타입 파라미터 raw 타입 제네릭 메소드 제네릭 주요 개념 (바운디드 타입, 와일드 카드) 바운디드 타입 와일드 카드 Type Erasure Erasure 브릿지 메소드 제네릭 타입 주의사항 전체적으로 아래 문서를 참조하였고 부분적으로는 각 파트에 명시함. https://docs.oracle.com/javase/tutorial/java/generics/index.html 자바 제네릭 Generics를 사용하는 이유 간단히 말해서 제네릭은 클래스, 인터페이스 및 메서드를 정의 할 때 자료형이 매개 변수가되도록한다. 메서드 선언에 사용되는..
Today, ToDoList 자바 라이브 스터디 13주차 다시보기 14주차 공부하기 13주차 리뷰 BufferedStream 을 사용하는 이유? -> 버퍼에 모아서 보내거나 받을 때 왜 빠를까? -> I/O입출력은 OS 레벨의 시스템 콜인데, 버퍼를 사용하면 이 콜 자체를 줄일 수 있기 때문이다. 주방에서 물컵에 한 모금씩 물을 떠오는 것 보다 한 컵을 채워 떠오는 것이 빠른데 주방에 왔다갔다하는(시스템 콜) 시간이 줄어들기 때문이다. 생각보다 성능 차이가 크기때문에 BufferedStream 을 사용하는 것을 추천! Direct Buffer vs Non direct Buffer 구분Direct BufferNon Direct Buffer 사용공간 OS의 메모리 JVM 힙 메모리 버퍼의 생성속도 느리다 빠..

Today, ToDoList Toy Project - NGMA 로그인 redirect /error 확인 Schedule List 페이지 data load 새로운 Schedule 추가 구현 Schedule 제거/수정 버튼 추가 Login redirect "/error" 어제 애플리케이션 실행 후 최초 로그인 시 /error로 리다이렉트 되던 문제가 있었다. 몇 차례 문제를 검토하면서 알게된 것은 chrome devtools를 이용했을때만 이런 문제가 발생하는것. 기본적으로 로그인 성공시 root page로 이동하도록 해놓았는데, root page에서 아래 사진과 같이 콘솔 화면에 2개의 에러 메시지가 발생하는 것을 확인했다. 이 에러를 없애면 되지 않을까라는 생각이 들어서 bootstrap의 css파일 및..

11 to 9, Day 1 불규칙적이었던 생활 습관을 개선하고 프로그래밍 공부에 더 집중하고자, 오늘부터 체계적으로 공부 및 프로그래밍 시간을 정해놓고 취업을 준비하려고 한다. 백기선 선장님의 10to10에서 영감을 받아 지금 처럼은 안되겠다는 생각이 들어서 계획하게 되었다. 일단 초반은 선장님의 온라인 스터디 Live Study와 개인 토이 프로젝트에 집중할 계획이다. 우선 한달을 아래와 같이 진행해 볼 예정. 11:00 - 21:00, 10시간을 공부와 프로그래밍에 집중! 일요일을 제외한 매일 불가피하게 주중에 쉬게 되었을 경우 일요일로 변경 장소는 특정하지 않았으나 되도록 집중이 잘 되던 스터디 카페에서 매일 시작하는 한시간은 오늘 할 일을 정리하고 마무리하는 한시간은 다음날 할 일을 정리 Toda..
목표 자바의 Input과 Ontput에 대해 학습하세요. 학습할 것 (필수) 스트림, 버퍼, 채널 기반 I/O I/O 스트림 Byte 스트림 Character 스트림 Buffered 스트림 java.nio 표준 스트림 (System.in, System.out, System.err) 파일 읽고 쓰기 이번 스터디는 대체적으로 Oracle Java Tutorials 문서와 자바 관련 서적(Do it! 자바 프로그래밍 입문)을 참조하였다. https://docs.oracle.com/javase/tutorial/essential/io/ 스트림, 버퍼, 채널 기반 I/O 스트림 기반 I/O 스트림은 데이터가 이동하는 단방향통로를 의미한다. FIFO 구조를 가지고 있으며 일련적으로 밖에 접근할 수 없기 때문에 특정 ..
목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 Java Ennotation 애노테이션을 정의하는 방법 Java 언어에서 사용되는 애노테이션 다른 애노테이션에 적용되는 애노테이션 애노테이션 프로세서 Java Ennotation 애노테이션은 프로그램의 일부가 아닌 프로그램에 대한 데이터(메타 데이터)를 제공한다. 애노테이션은 애노테이션이 추가 된 코드의 작동에 직접적인 영향을 주지 않는다. 애노테이션의 용도 컴파일러를 위한 정보 컴파일러는 애노테이션을 사용하여 오류를 감지하거나 경고를 숨길 수 있다. Compile-time 및 deployment-time 처리 (애노테이션 프로세서) 소프트웨어 도구는 애노테이션 정보를 처리하여 코드, XML 파일 등을 생성할 수 있다. 런타임 처리 일부 애노테이션은 ..
스프링 부트 활용 (기술 연동) 스프링 웹 MVC 스프링 부트 MVC는 자동 설정(WebMvcAutoConfiguration)을 통해 여러 기본 기능을 제공한다. 스프링 MVC 기능 확장하기 @Configuration + WebMvcConfigurer @Configuration public class WebConfig implements WebMvcConfigurer { } 스프링 MVC 기능 재정의하기 @Configuration + @EnableWebMvc @Configuration @EnableWebMvc public class WebConfig implements WebMvcConfigurer { } HttpMessageConverters Http 요청 본문을 객체로 변경하거나, 객체를 Http 응..
스프링 부트 활용 (핵심 기능) SpringApplication 기본 로그 레벨은 INFO이다. 여러 FailureAnalyzer가 등록되어 있어 애플리케이션 에러 출력 효과를 볼 수 있다. 배너를 변경할 수 있으며(classpath:banner.txt 또는 Banner 객체로 구현) 여러 변수를 사용할 수 있다. 배너 끄기 app.setBannerMode(Banner.Mode.OFF); 스프링부트는 여러가지 ApplicationEvent를 지원한다. 예를들어 애플리케이션이 시작될 때 또는 시작을 마쳤을 때 등이 이벤트로 등록되어 있다. 보통 이벤트 핸들러(리스너)는 빈으로 등록하면 되지만, 만약 애플리케이션이 시작되는 이벤트 같이 ApplicationContext가 생성되기 전의 이벤트들의 처리는 직접..
스프링 부트의 원리 의존성 관리 spring-boot-parent POM의 부모인 spring-boot-dependencies에는 dependencyManagement로 여러 의존성에 대한 버전을 정해주고 있다. 이를 통해서 의존성을 추가할 때 버전에 정보를 직접 기입하지 않더라도 사용하는 spring boot의 버전에 맞는 의존성 버전이 선택된다. org.apache.activemq activemq-amqp ${activemq.version} ... 의존성 관리 응용 (Maven) spring-boot-data-jpa 의존성 추가하기 버전을 명시하지 않아도 된다. org.springframework.boot spring-boot-starter-data-jpa 만약 버전을 명시하면 spring-boot-..