Web Backend
Java 에 대한 기본적인 정리
Java 에 대한 기본적인 정리
2021.06.29Java 의 장점 1. 운영체제에 독립적 2. 객체지향 언어 3. 비교적 낮은 입문장벽 4. Garbage Collector 5. 네트워크와 분산처리 6. 멀티스레드 지원 7. Dynamic Loading 지원 운영체제에 독립적 java는 일종의 애뮬레이터인 JVM(= Java Virtual Machine)을 사용한다. 그렇기 때문에 java로 작성된 코드는 운영체제나 하드웨어가 아닌 JVM과만 통신이 이뤄지기 때문에 java 코드 관점에서는 운영체제나 하드웨어에 대한 차이 없이 동일한 java 코드를 사용할 수 있다. 운영체제가 해당 내용을 이해할 수 있도록 애플리케이션의 명령들을 변환하는 것은 JVM이 수행한다. 그렇기 때문에 java로 작성된 프로그램 자체는 운영체제에 독립적이지만, JVM은 운영체..
Optional
Optional
2021.06.28Optional이 지향하는 핵심적인 내용은 바로 "null"을 직접 다루지 말고 Optional 객체에 넣어서 관리하자! 라는 부분이다. 즉, null을 직접 다루는 것이 아니라 Optional Object라는 중간다리를 통해 관리함으로서 NPE(= NullPointerException)의 발생가능성을 최대한 줄이겠다는 목적을 가지고 탄생한 것이라고 볼 수 있다. 여기서 NPE를 최대한 피하려고 하는 구체적인 이유는 개발하는 프로그램의 size가 커진 경우, NPE의 발생은 디버깅이 어렵기 때문이다. Optional Object를 통해서 Optional null value handling을 위해서 java 8부터 새롭게 추가된 개념 java에서는 null value 때문에 상당히 많은 수의 NPE(= N..
enum
enum
2021.06.28enum 서로 관련성 있는 상수들을 모아서 심볼릭한 명칭의 집합으로 정의한 것 별도의 파일로 분리해서, 클래스 내부에, 클래스 외부에 정의하여 사용하는 것이 모두 가능함 그냥 열거하여 상수의 이름들을 적어내는 경우 → 열거된 순서대로 0부터 1씩 증가하는 형태로 값을 가지게 됨. ⇒ 이 때 ';'을 붙이지 않는 것이 포인트 출력하는 경우? → 할당된 상수 값이 아닌 심볼릭하게 지정된 상수명이 출력됨 함께 사용할 수 있는 관련 method 들도 존재함 - class의 개념이라고 볼 수 있음 values() - 열거된 모든 원소들을 배열에 담아서 순서대로 반환 ordinal() - 열거된 순서를 정수값으로 반환 (0부터 시작함) valueOf() - 매개변수로 주어진 String과 일치하는 이름을 가진 원소..
Map & HashMap의 차이점
Map & HashMap의 차이점
2021.06.28일반적으로 Java Code에서 HashMap을 선언해서 사용한다고 할 때, 아래와 같이 선언하여 사용할 수 있으며 그 둘은 모두 동일하게 HashMap을 사용할 수 있도록 이를 선언하는 코드에 해당한다. HashMap map = new HashMap(); Map map = new HashMap(); 그렇다면 여기서 가질 수 있는 궁금증은 다음과 같다. HashMap으로 받을 때와 그냥 Map으로 받을 때와 무슨 차이가 있는 것일까? 위의 코드에서 두번째 라인 코드에서 사용된 Map은 "HashMap이 구현하는 인터페이스"의 개념으로 이해하면 된다. 그렇기 때문에 실질적으로 위의 두 코드 모두 정상적으로 HashMap을 선언하여 사용할 수 있고 그 기능상에서 차이를 보이지 않는다. 하지만, 위의 두 코드..
LocalDateTime
LocalDateTime
2021.06.28LocalDateTime은 java에서 날짜와 시간에 대한 정보를 다룰 때 사용할 수 있는 class로서 java8 부터 지원되기 시작한 API에 해당한다. 다음과 같은 코드들을 작성함으로서 아주 편리하게 날짜와 시간에 대한 정보를 java code 상에서 다룰 수 있게 된다. LocalDateTime currentDateTime = LocalDateTime.now(); 위와 같이 LocalDateTime Class가 가지는 .now() method를 사용하면 해당 코드를 실행하는 로컬 컴퓨터의 현재 날짜와 시간정보를 로딩하여 LocalDateTime Object에 저장한다. 아래와 같은 코드를 실행해보면 현재날짜와 시간에 대한 정보를 간단하게 다룰 수 있게 된다. import java.time.*; p..
String.split() method
String.split() method
2021.06.28String.split() 입력받은 정규표현식 or 특정 문자를 기준으로 String을 쪼개서 String의 배열에 저장하는 함수 parameter 1개 - 입력한 parameter를 기준으로 String을 쪼개서 String의 배열에 저장 parameter 2개 - 첫번째 parameter를 기준으로 쪼개고, 두번째 인자 값을 String을 쪼개서 저장한 최대 배열의 길이로 설정
String.valueOf( ) method
String.valueOf( ) method
2021.06.28해당 method에 대해 공부하기 위해서는 우선 toString() method를 함께 같이 알아봐야할 필요성이 있다. 사실 valueOf() method는 toString method와 수행하는 기능 자체 "Object의 값을 String으로 반환한다" 라는 점에서 크게 다르지 않다. 다만, Object가 null인 경우 이를 처리하는 방식에서 차이를 보인다. toString() method의 경우 해당 method를 호출한 Object가 null인 경우 NPE(= NullPointerException)를 발생시킨다. 하지만 valueOf() method의 경우 해당 method를 호출한 Object가 null인 경우 "null" 이라는 String을 반환한다는 점에서 그 차이가 있다. String.v..
String.join() method
String.join() method
2021.06.28java8 부터는 String class에서 .join() 이라는 method를 지원한다. String.join() 여러 개의 String을 이어붙여 하나의 String으로 만들어주는 method 실제로 다음과 같은 형식으로 활용해볼 수 있다. .join("delimiter", List); .join("delimiter", Array); 여기서 "delimiter"는 각 String을 이어 붙일 때 그 사이에 삽입할 문자를 가리키는 것이며, 두번째 parameter로 위치하는 List또는 Array는 이어붙일 String들의 set이라고 이해하면 된다. 간단하게 예시를 살펴보도록 하자. 위의 예시에서 str_set은 여러 명의 이름을 저장하는 String Array 이며, 그 아래와 같이 join met..
Annotation을 통한 DI를 사용한 CRUD 프로젝트 만들기
Annotation을 통한 DI를 사용한 CRUD 프로젝트 만들기
2020.11.29이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
JSP Model1, JSP Model2, Spring MVC pattern
JSP Model1, JSP Model2, Spring MVC pattern
2020.08.10이번 시간에는 JSP Model1, JSP Model2, Spring MVC pattern에 대해서 알아보고 각각에 대해서 비교해보도록 하겠습니다. 해당 개념들은 Spring을 이해함에 있어서 대단히 중요한 개념이므로 이에 대해서 정확하게 이해하고 넘어가야할 필요성이 있습니다. 위에서 언급한 3가지 용어 JSP Model1, JSP Model2, Spring MVC pattern은 서로 모두 다른 용어인 것 같지만 서로 연관성을 가지고 있는 용어들입니다. 이에 대해서 한 번 알아보도록 하겠습니다. 우선 JSP Model에 대한 이야기를 하기에 앞서서 우선 Controller, Model, View라는 3가지 용어에 대해서 이해해야 합니다. 다음 3가지 용어는 JSP Model을 설명할 때 사용되는 용어로..
Framework 개념 및 Spring 개요
Framework 개념 및 Spring 개요
2020.08.10Spring에 대해서 알아보기 이전에 먼저 프레임워크의 개념에 대해서 먼저 알아야할 필요가 있습니다. 프레임워크(Framework) 특정한 목적에 맞게 프로그래밍을 쉽게 하기 위한 약속 프레임워크란, 특정한 목적에 맞게 프로그래밍을 쉽게하기 위한 규약, 약속을 말합니다. 간혹 식당에 가서 주문을 하실 때 이러한 상황을 겪어보신 적이 있을 겁니다. 종업원 : 주문 도와드리겠습니다. 나 : 로제파스타 하나랑 고르곤졸라피자 하나 주세요. 종업원 : 네 알겠습니다. (주방에) 13번 52번 하나! 일상 속에서 쉽게 지나칠 수 있는 너무나 자연스러운 상황이지만 이러한 상황을 통해서 우리는 프레임워크의 개념을 볼 수 있습니다. 위의 상황을 그림으로 아래와 같이 표현해 보겠습니다. 위의 예시에서 손님은 로제파스타, ..