실전 JAVA 소프트웨어 개발 | 입출금 내역 분석기 확장 실습하기
·
JAVA
지난 학습 : 2022.03.26 - [JAVA/자바 학습] - 실전 Java 소프트웨어 개발 | 입출금 내역 분석기 실습하기 이번에는 지난시간(챕터2)의 입출금내역 분석기를 확장하면서, JAVA소프트웨어 개발의 다른 원칙을 배운다. [ 입출금 내역 분석기 - 확장 ] 정리 내용 1. 확장된 프로젝트 구조 2. 실습에서 배운 것 3. 도전과제 해결 4. 앞으로 더 알아가야 할 것 1. 확장된 프로젝트 구조 기존 클래스의 구조도 개선하긴 했는데 일단 덮어두고, 아예 새롭게 추가한 클래스는 이렇다. Validator : 읽어온 데이터에 대한 검증(예외처리)을 하는 Validator Notification : 예외 내용은 여기에 기록해둔다. 함수형 인터페이스 Filter : 비슷한 메서드(month월에 amo..
JAVA 코테 | Scanner, println → BufferedReader/Writer | 시간초과로 입출력 변경
·
JAVA
Java로 코딩테스트를 칠 때, 느리다고 유명한 Scanner보다 BufferedReader를 쓰라는 말이 있다. 지금까지는 나는 Scanner를 사용했었다. 왜냐하면, 직접적으로 BufferedReader의 필요를 느끼는 순간이 금방 올 거라고 생각했고, 그 순간에 BufferedReader의 효과를 직접 느끼면서 Scanner -> BufferedReader로 갈아끼우고 싶어서이다. 이번에 그 순간이 왔다! 이 문제를 풀면서다. BOJ2448 이 문제의 입출력 특징 : 입력 : 맨 처음에 정수 하나만 들어온다. 출력 : matrix의 모든 내용물을 for문을 돌며 출력해줘야 한다. 첫 시도에서는 여기서 System.out.print()를 사용해주었는데, 시간 초과를 만났다. 그래서 print대신에 B..
실전 Java 소프트웨어 개발 | 입출금 내역 분석기 실습하기
·
JAVA
* 한빛미디어+O'REILLY의 Real-World Software Development (실전 자바 소프트웨어 개발)의 실습내용을 정리한 것이다. 실전 자바 소프트웨어 개발 이제 막 경력을 쌓기 시작한 자바 개발자가 최신 소프트웨어 개발 방법까지 알기란 벅찬 일입니다. 테스트 주도 개발 같은 객체지향 원칙을 배워야 할지, 함수형 프로그래밍을 배워야 할지 갈피 www.hanbit.co.kr 책택배를 받고나서 바로 다음날이 마침 주말이라, 바로 실습해봤다. 이 책을 한마디로 표현하자면 멈출 수 없는 맛...🤣 첫번째 실전 자바 소프트웨어 실습, [ 입출금 내역 분석기 ] 정리 내용 1. 프로젝트 구조 2. 실습에서 배운 것 3. 도전과제 해결 4. 앞으로 더 알아가야 할 것 1. 프로젝트 구조 이번 실습한..
열거 타입, 열거 상수란? | 열거타입(enum) 변수 | enum, enumeration type
·
JAVA
알고리즘 공부하다가 enum이라는 타입과 다시 만났다. 내가 작년 7월 5일에 학습했던 타입이다. 거의 1년 전에 한번 슥 보고 지나갔더니 잊어서 다시 공부한다. 1년간 크게 발전하지 못했음을 반성하며 학습에 들어간다. 열거 타입(enum): 한정된 값만을 갖는 타입이다. 예를 들어 보자. 아래 사진에서 열거타입(enum)인 Week는 한정된 7개의 값(MONDAY...SUNDAY)만을 가진다. 한정된 7개의 값(MONDAY...SUNDAY)은 '열거 상수'라고 한다. 한정된 열거 상수 중 하나의 상수를 저장하는 타입이 바로 enum 즉 열거타입이다. ▶ 이름짓기 관례 - 열거타입 이름은 관례적으로 첫 글자를 대문자로 (예시에서는 Week) - 열거 상수는 관례적으로 모두 대문자로 작성 (MONDAY....
클래스의 정렬(대소판정)기준 | comparable, compareTo, comparator, compare | 자연정렬(natural ordering)
·
JAVA
간단히 말하자면 자연스러운 정렬 즉, 자연정렬은 자연스러운 순서 1,2,3, ... 를 따라 정렬한다. 하지만 모든 타입의 배열이 이러한 자연스러운 정렬 방식을 따르는 것은 아니다. 배열의 정렬 방식은 배열 요소의 형식(타입, 클래스)마다 다르다. 좋은 예시 하나는 String클래스다. String 즉 문자열의 정렬 방법을 확인해보자. String[] a = {"324", "43", "12", "1", "39", "9"}; System.out.println(Arrays.toString(a)); Arrays.sort(a); System.out.println(Arrays.deepToString(a)); 실행 결과는 아래와 같다. [324, 43, 12, 1, 39, 9] [1, 12, 324, 39, 43,..
[Java] String.format() | 문자열 형식 지정하기 | %%%ds가 뭘까? | %%
·
JAVA
String은 String의 static method인 format()을 통하여 형식을 지정할 수 있다. format 메서드: format 메서드의 인자로 "String format"과 "Object... args"가 보인다. 이에 대한 설명을 읽어보자: 첫 번째 인자로 들어가는 format은 format string을 의미한다. format string이라는 구문(Syntax)은, 문자열과 형식 지정자(format specifiers)의 구문이다. 흔히 보는 System.out.printf("안녕하세요 저는 %d살이고 %s에 살아요", age, region)에서 %d, %s가 형식 지정자이다. 이때, format의 두 번째 인자인 args는 위 예시에서 age, region에 해당한다. 즉, Strin..
Spring 학습 1일차 - 자바 웹 개발 첫경험을 위해
·
JAVA
www.youtube.com/playlist?list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T 스프링 프레임워크 강좌/강의 ALL www.youtube.com 복습용 강의 정리 - 1강 위 강의의 학습로드맵 (이해 순서) 느슨한 결합력과 인터페이스 -> DI (Dependency injection) -> MVC AOP -> 트랜잭션 Servlet Filter -> 인증과 권한 선행학습이 필요 ㅇ 자바 ㅇ MVC ㅇ SQL 스프링의 매력 ㅇdependency injection 더보기 gmlwjd9405.github.io/2018/11/09/dependency-injection.html [Design Pattern] DI란 (Dependency Injection) - Heee's Dev..
안드로이드 - 챕터10, 지도와 GPS
·
JAVA
안드로이드 생존코딩 (오준석) 챕터10 학습 정리 10장. 지도와 GPS ㅡ하나의 액티비티로 구성한다. ㄴ프로젝트 생성할 때 Google Maps Activity를 선택: 지도 표시하는 기본 템플릿 ㅡ현재 위치 정보 ㄴ권한 필요 ㅡ액티비티 생명주기에 따라 위치 업데이트 리스너 등록/해제 필요 ㅡ위도, 경도 정보를 가지고 있는 Location 객체 ㅡ주기적으로 현재 위치를 갱신하며 선 그리기 ㄴ구글지도가 메서드 제공 Anko: 인텐트, 로그 등의 구현에 도움 되는 라이브러리 play-services-maps: 구글 지도 라이브러리 play-services-location: 위치 정보 라이브러리 더보기 라이브러리 의존성 추가 (구글지도) 위에 거는 위치 정보, 아래 거는 구글 지도. 구글 지도 의존성은 Go..
안드로이드 생존코딩(오준석) - 챕터9 전자액자 Fragment 상세설명 - 안드로이드 스튜디오 4.1
·
JAVA
책과는 달리 안드로이드 스튜디오 버전을 4 이상으로 설치하여 학습하는 사람들은 이 전자액자 챕터에서 당황했을 것이다. 물론 저자님의 깃헙에 변경점에 대한 정리가 잘 되어있지만, 어댑터 클래스 부분이 아직 업데이트가 안 된 것 같아서 개인적으로 공부한 뒤에 이 챕터9의 전자액자를 완성했다. 이 어댑터 부분을 혼자서 처리해보는 과정에서 뷰와 레이아웃에 대한 이해와 어댑터의 역할을 더 명확히 알게 되었다. 그래서 이 포스팅에서는 내가 학습한 내용을 잘 엮어서 전자액자 어플의 구성을 재학습하려고 한다. [안드로이드 입문자인 만큼 틀린 내용이 있을 수도 있습니다. 혹시 오류를 발견하신 최고로 멋진 선생님께서는 댓글을 부탁드립니다.. >ㅅ< ] 먼저, 챕터9의 전자액자의 큰 구성은 이렇다. [간단히 정리한 표다.]..
동반객체와 팩토리 패턴 | companion object, Factory Method Pattern
·
JAVA
[이 포스팅에서 다루는 내용] ㅡ 동반객체 개념과 사용법 잡기 ㅡ 팩토리 메서드 (팩토리 패턴) 개념 - 팩토리 패턴 사용 이유 (+팩토리 클래스 이야기) - 동반객체의 팩토리 메서드 ㅡ 프래그먼트에서의 동반객체 동반객체 개념과 사용법 잡기 어떤 클래스 내부의 멤버들을 이용하려면 해당 클래스를 인스턴스화 해야 한다. 그러나 인스턴스화 여부와 상관 없이 사용하고 싶은 멤버도 만들 수 있다. 즉, 객체를 생성하지 않고 접근할 수 있는 변수, 메서드 등을 선언하고 싶을 때가 있을 것이다. 이때 그러한 멤버에다가 자바에서는 static 키워드를 붙인다. 다만 코틀린에는 static 키워드는 없다. 자바의 static 키워드를 통한 정적 멤버, 정적 메서드는 코틀린에 없다. 대신 동반객체(companion obj..