목표 단일 책임 원칙 (single responsibility principle) 줄여서 SRP KISS 원칙 CSV 파일을 읽어서 요구사항 구현하기 은행 입출금 내역의 총 수입과 총 지출 구하기 결과가 양수? 음수? 특정 달엔 몇 건의 입출금 내역 발생? 지출이 가장 높은 상위 10건? 돈을 가장 많이 소비하는 항목? 30-01-2017,-100,Deliveroo 30-01-2017,-50,Tesco 01-02-2017,6000,Salary 02-02-2017,2000,Royalties 02-02-2017,-4000,Rent 03-02-2017,3000,Tesco 05-02-2017,-30,Cinema KISS (Keep it short and simple!) 원칙을 이용해 일단 만들어보자. 응용프로그..
메모 핵심만 적어라 속기하듯이 적지마라 (내가 하는거) 순간의 생각 - 생각의 이음 지시받은 일 - 몇 가지 영역으로 분류해서 생각해라 고민이 있을 때도 메모가 도움이 된다. 1. 고민하게 된 배경 고민을 하게 된 배경이나 환경 2. 발생 원인 직접적인 원인이나 조금 멀리 있는 원인 3. 해결 방안 배경과 원인을 적다보면 내 고민을 객관화 해서 볼 수 있다. 종이 노트와 메모앱중 추천? 취향 차이라 고를 순 없다. 나같은 경우는 메모앱을 선호한다.. 그런데 대부분의 메모 전문가들은 종이를 선호하는 것 같다. 아날로그에서 핵심만 정리해놓고 디지털로 옮겨놓는 것 같음. (나는..종이노트에 쓰다보면 워낙 악필이기도하고 손도 아파서..비선호ㅠㅠ) 마무리 핵심 키워드만 적어보는 연습을 해보고 생각날 때마다 한번씩..
윈도우에서 프로세스 종료하는 방법 taskkill 도움말을 보려면 taskkill /? 자바 프로세스를 죽인다고 가정 /im은 프로세스의 이미지 이름을 나타낸다. 1. 종료 요청 보내기 taskkill /im java.exe 2. 종료 요청없이 그냥 죽이고 싶다. 강제종료 taskkill /im java.exe /f 3. 프로세스 아이디로 죽이기 taskkill /pid {porcess id} 4. *를 활용한 모든 프로세스 죽이기 java라고 붙은 모든 프로세스를 죽인다. taskkill /im java* /f 5. 프로세스 리스트 확인하는 방법 netstat -ano | findstr LISTEN netstat -ano | findstr {특정포트도가능} 추가로 실행중인 프로세스 목록을 보고 싶으면 ..
LocalDate, LocalTime, Instant, Duration, Period 클래스 LocalDate, LocalTime 사용 LocalDate 인스턴스는 시간을 제외한 날짜를 표현하는 불변 객체다. 특히 LocalDate 객체는 어떤 시간대 정보도 포함하지 않는다. 정적 팩토리 메서드 of로 LocalDate 인스턴스를 만들 수 있다. LocalDate date = LocalDate.of(2022,03,01); 팩토리 메서드 now는 시스템 시계의 정보를 이용해서 현재 날짜 정보를 얻는다. LocalDate today = LocalDate.now(); 내장 메서드 getYear(), getMonthValue(), getDayOfMonth() 를 이용해서 시간 객체의 값을 알 수 있다. Loca..
자바 개발을 하다보면 피할 수 없는 NPE (NullPointerException) 값이 없는 상황을 어떻게 처리할까? 보수적인 자세로 NullPointerException 줄이기 대부분의 프로그래머는 필요한 곳에 다양한 null 확인 코드를 추가해서 null 예외 문제를 해결하려 할 것이다. 모든 변수가 null임을 체크하는 중첩된 if문을 추가하면 코드 들여쓰기 수준이 증가한다. 이와 같은 반복 패턴 코드를 깊은 의심이라고 부른다. 즉, 변수가 null인지 의심되어 중첩 if 블록을 추가하면 코드 들여쓰기 수준이 증가한다. null 때문에 발생하는 문제 에러의 근원 NullPointerException은 자바에서 가장 흔히 발생하는 에러이다. 코드를 어지럽힌다. 때로는 중첩된 null 확인 코드를 추..
가독성과 유연성을 개선하는 리팩터링 코드 가독성 개선 일반적으로 코드 가독성이 좋다는 것은 어떤 코드를 다른 사람도 쉽게 이해할 수 있음을 의미한다. 즉, 코드 가독성을 개선한다는 것은 우리가 구현한 코드를 다른 사람이 쉽게 이해하고 유지보수할 수 있게 만드는 것을 의미한다. 코드 가독성을 높이려면 코드의 문섷화를 잘하고, 표준 코딩 규칙을 준수하는 등의 노력을 기울여야 한다. 익명 클래스를 람다 표현식으로 리팩터링하기 하나의 추상 메서드를 구현하는 익명 클래스는 람다 표현식으로 리팩터링할 수 있다. Runnable r1 = new Runnable() { @Override public void run() { System.out.println("Hello"); } }; Runnable r2 = () -> ..
컬렉션 팩토리 작은 컬렉션 객체를 쉽게 만들 수 있는 방법 List friends = Arrays.asList("Raphael", "Olivia", "Thibaut"); 요소를 갱신할 순 있지만 추가하거나 삭제하려면 UnsupportedOperationException이 발생한다. 내부적으로 고정된 크기의 변환할 수 있는 배열로 구현되었기 때문에 이와 같은 일이 일어난다. 리스트 팩토리 List.of 팩토리 메소드를 이용해서 간단하게 리스트를 만들 수 있다. List friends = List.of("Raphael", "Olivia", "Thibaut"); List.of 으로 만든 리스트에 수정 또는 삭제를 할 때 UnsupportedOperationException이 발생한다. 컬렉션 팩토리 메서드 대..
- Total
- Today
- Yesterday
- LocalDate
- docker
- k8s
- rocky
- intellij
- svn
- jQuery
- Spring Security
- Github Status
- config-location
- LocalDateTime
- mybatis
- input
- localtime
- 베리 심플
- 오라클
- 북리뷰
- Spring
- Kotlin
- elasticsearch
- Mac
- JavaScript
- springboot
- mybatis config
- oracle
- Linux
- Java
- window
- maven
- Bash tab
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |