[JAVA] Effective JAVA. 9장 일반적인 프로그래밍 원칙 1편(item 57, 58, 59, 60)
·
언어/JAVA
개요 회사 업무로 진행하는 이펙티브 자바 세미나 자료 내용이다. 책과 블로그를 참고하였으며, 자세한 코드는 여기서 확인할 수 있다. GitHub - cobinding/effective-java-semina: [JAVA] 인턴십 업무로 진행한 Effective-JAVA 세미나 코드 [JAVA] 인턴십 업무로 진행한 Effective-JAVA 세미나 코드. Contribute to cobinding/effective-java-semina development by creating an account on GitHub. github.com 9장은 내용이 많아서 1편과 2편으로 나누어서 포스팅할 예정이다. item 57. 지역변수의 범위를 최소화하라. 코드 가독성과 유지보수성을 위해 지역변수의 유효 범위를 최소..
[JAVA] 날짜/시간 클래스 알아보기(Date, LocalDateTime, ZoneDateTime)
·
언어/JAVA
개요 회사에서 새로운 기능 추가를 위해 팀원 분이 Date를 쓴 것을 발견하였다. 이펙티브 자바 스터디에서 Date클래스는 사용을 지양해야 한다고 공부했기에 이 부분에 대해 자세한 기록을 남겨 곱씹어야겠다고 다짐했다. DATE java의 util 클래스다. 공식 문서를 살펴 보면, Date 클래스가 구현한 인터페이스는 다음과 같다. Serializable: 특별한 메소드를 포함하지 않는 마커 인터페이스다. 객체의 상태를 저장하거나(메모리에 존재하는 객체를 디스크에 저장) 네트워크를 통해 전송할 수있도록 바이트 스트림으로 변환하는 것이다. Clonable: 이또한 마커 인터페이스다. 객체를 복사할 때 사용된다. Comparable: Date의 compareTo 메소드를 지원하는 인터페이스다. DATE 클래..
[JAVA] Effective Java. 6장 열거 타입과 애너테이션
·
언어/JAVA
개요 회사 업무로 진행하는 이펙티브 자바 세미나 자료 내용이다. 책과 블로그를 참고하였으며, 자세한 코드는 여기서 확인할 수 있다. GitHub - cobinding/effective-java-semina: [JAVA] 인턴십 업무로 진행한 Effective-JAVA 세미나 코드 [JAVA] 인턴십 업무로 진행한 Effective-JAVA 세미나 코드. Contribute to cobinding/effective-java-semina development by creating an account on GitHub. github.com item34. int 상수 대신 열거 타입을 사용하라 같은 그룹으로 묶이는 int 타입 상수들은 나열하지 말고, enum 클래스를 활용하자. 열거 타입은 그 자체가 클래스이..
[JAVA] 익명 클래스(Anonymous Class), 람다식(Lambda)
·
언어/JAVA
개요 Effective Java 7장에서 등장하는 개념을 공부하기 위한 포스팅이다. 1-1) 익명 클래스(Anonymous Class) 프로그램에서 일시적으로 한번만 사용되고 버려지는 객체다. 분명히 Java Spring을 공부할 때는 코드의 재사용성을 고려하며 프로그래밍을 해야 좋은 개발자라고 배웠다. 그렇다면 재사용이 불가능하고 확장성도 좋지 않은 익명클래스를 왜 사용하는 걸까? 프로그램 내에서 일시적으로 사용되는 객체 처리에 사용한다. 확장성을 활용하는 것이 유지보수에서 더 불리할 경우에 사용한다. 해당 블로그 에서 이를 이해하기 위한 아주 좋은 예시를 들고 있다. 일부를 발췌해서 이해해보자. 1-2) 확장성이 필요없는 극단적인 예시 (출처) 곤충이라는 부모클래를 상속받는 거미 구현 클래스가 있다...
[spring] @Async와 SimpleAsyncTaskExecutor, TaskExecutor 그리고 thread pool
·
Dev/Spring & JPA
@Async Asynchronous excution을 지원하는 스프링 어노테이션이다. 빈에 등록된 함수에 이 하지만 이러한 방식은 @Async 어노테이션을 적용하면 요청을 별도의 스레드(같은 Object data를 공유하는 스레드 중 하나)에서 실행한다. 이러한 Async 동작방식을 적용하여 호출자는 해당 메서드가 완료되는 것을 기다릴 필요가 없다. public interface EmailService { @Async void sendEmail(String template, Map properties); } → 위 예시에서 sendEmail 메소드는 별도의 스레드에서 실행된다. Spring’s @Async annotation, indicating that it should run on a separate..
[python] 리스트에 대해서 알아보자.
·
언어/PYTHON
프로그래밍을 공부하는 사람이라면 한번 쯤은 알고리즘과 자료구조에 대해 들어보았을 것이다. 알고리즘은 특정 문제를 해결하기 위한 단계를 뜻하고, 자료구조는 컴퓨터 내에서 자료를 구조화하는 특별한 방식이다. 우리는 알고리즘과 자료구조를 통해 효율적인 프로그래밍을 할 수 있다! 자료구조의 한 종류인 리스트에 대해 알아보자. 1. 리스트란? 리스트는 기본적으로 리스트 상수이며, 어떤 변수에 할당된다. friends = ['Amy', 'Jack', 'Effy'] fruits이라는 변수는 3개의 문자열을 가지고 있는 것이다. 리스트는 컬렉션의 한 종류이다. 컬렉션: 하나의 변수에 여러 값을 넣는 것이 가능하도록 하는 것! 2. 리스트 선언 리스트의 각 항목들은 '[]'로 둘러싸이게 되며, 항목들에 대한 구분은 ,(..
sebinChu
'Java' 태그의 글 목록