본문 바로가기
반응형

학습/Java43

Optional의 배경지식 Optional의 의도된 쓰임새는 이펙티브 자바 3판 [ 아이템 55 ] 옵셔널 반환은 신중히 하라에서 잘 나와있는데, stackoverflow의 Should Java 8 getters return optional type? 글에서 해당 기술의 개발자가 답글한 내용 중에 핵심 부분을 가져왔습니다. (다수 의역) Our intention was to provide a limited mechanism for library method return types where there needed to be a clear way to represent "no result", and using null for such was overwhelmingly likely to cause errors. For example,.. 2021. 2. 18.
Java에서 static 사용하면 안되는 이유 PHP, Java와 같은 언어들은 static class를 가지고 있지 않습니다. 하지만, 그 컨셉은 여전히 존재합니다. static methods로만 완벽하게 이루어진 클래스는 static class과 완전히 똑같은 효과를 가지게 됩니다. static class들은 절차지향적으며, 테스트가 불가능합니다. 1. Classes Tend to Go From Big to Huge static methods를 가지고 있는 class들은 객체를 통해서 할 일이 없습니다. 자신들의 정체성도 없으며, 무엇을 해야 하는지, 무엇을 하면 안되는지 정의되어 있는 부분이 없습니다. 경계선이 흐릿하기 때문에 우리는 단지 명령어를 써내려갈 뿐입니다. 우리가 일을 다 마치기 전까지 중간에 정지할 수 없습니다. 불가피하고 객체지향.. 2021. 1. 25.
Front-End와 Back-End 연계하기 JAVA, Spring 프로젝트이지만 webpack을 연동하여 Front-End를 적극적으로 활용한다. 또다른 내부의 Directory를 만들고 npm을 통해 webpack을 설치했다. 우리는 이제 보다 자연스럽고 체게적으로 front-end에 관한 코드들을 관리할 수 있다. node.js를 이용하므로 별도의 서버에 업로드 되고, 서버는 tomcat 중심으로 별도의 서버에 업로드 될 것이다. 이제 Front-End와 Back-End는 서로의 통신을 api를 통해서 어떻게 하는지 더 명확하게 구분이 간다. 그 역할은 Controller에서 이루어지기 때문에, @CrossOrigin를 선언해 주어야 한다. javascript 파일에서 async, await, join 등 이해하기 힘든 기술들이 나왔다. 이 .. 2020. 12. 22.
Map에서 Key, Value 다루기 알고리즘 문제를 풀다보면 map으로 해결해야 하는 상황이 많습니다. 또한 map을 적절히 이용해 문제가 원하는 key값과 value값을 꺼낼 수 있어야 합니다. 빠르고 쉽게 값을 뽑아내는 방법을 알아보겠습니다. 다음의 조건이 주어질 때 어떤 방식을 사용하는 것이 효율적일까요? 개인적으로 iterator를 순회하는 것보다 for문으로 조회하는 것을 선호합니다. Map 기준 *변형 내용 1. Map의 요소들을 순회하는 방법은? ( 1. key 순회 2.value 순회 3. key , value 동시 순회) 2. Map의 key 값, value 값 중 최대 값을 뽑는 방법은? 3. Map의 value값 중 최대 값의 key값을 뽑는 방법은? ( + 중복일 경우도 포함) 1번 import java.util.Ha.. 2020. 11. 2.
자바 시간 Millisecond 다루기 *시간 계산하기 1. 시간은 String 형으로 저장되어 있어야 하며, 2. SimpleDateFormat의 parse를 통해 Date형으로 변환한다. 3. Calendar의 setTime을 통해 시간을 정하고 add를 통해 원하는 시간만큼 더하고 뺄 수 있다. ( 시, 분, 초, 밀리초) 4. SimpleDateFormat의 format을 통해 Date를 다시 원하는 모양의 String으로 변환한다. package kakao; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; public class Main { public static void main(String[] args) throws Pa.. 2020. 10. 23.
실수 소수점 다루기 ( Math & String.format) 목차 1. 소수점을 나타내는 JAVA의 자료형은? ( float, double ) 2. 소수점 자르는 함수 1) Math.round() , Math.ceil() , Math.floor() 2) String.format 코딩테스트를 풀던 중, 시간 계산과 관련한 문제들이 많이 등장한다. 소수점은 몇자리까지 필요한지, 나타내야 하는 실수는 어떤 형태인지 자유자재로 다루는 기술이 필요하다. 자바에서 제공하는 소수점과 관련한 함수들을 살펴보고 필요한 것을 골라 써보자. 1. float vs double 실수 형을 나타내는 데이터 타입은 float, double 2가지 종류가 있다. 세세한 기능과 원리의 비교보다는 소수점을 다루는 관점에서 살펴보고자 한다. 크게 구분하는 방법은 소수점 자리의 표현 갯수이다. fl.. 2020. 10. 22.
JDK JRE JVM 매번 eclipse를 설치하면서 들었던 생각 1. JDK, JRE 는 왜 설치하는가? 2. 환경변수 설정은 왜 하는가? 3. Java 실행과정 JRE(Java Runtime Environment) - for Consumers (사용자를 위한 소프트웨어) 자바 파일을 구동하기 위한 javac.exe(컴파일 시 필요) , java.exe(JVM을 구동), JVM 등이 있으며 이것만 설치하면 자바 파일실행이 가능하다.(JVM 있어도 가능) JDK(Java Development Kit) - for Developers (개발자를 위한 소프트웨어) javac.exe, java.exe 에 더해서 debugging, jar 등이 있으며, 이것이 자바 개발을 위한 핵심 프로그램이다. JDK를 설치하면 자동으로 JRE도 .. 2019. 2. 17.
반응형