[Java] JsonArry 형태의 문자열을 List<VO>객체로 변환하기
·
Language/Java
1. ajax 에서 컨트롤러로 JsonArry 보내기 projectInfo = new Array(); for(var i=0; i < day; i++){ projectInfo.push({ "userId": 'test01', "workDate": (year+month+(i+1)), "activityCode": datagrid1.getCellData(2,6), "activityDetailCode": (datagrid1.getCellData(2,7)), "compProjectCode": value[0].data.compProjectCode, "workMonth": month, "workYear": year, "manHour": datagrid2.getCellData(2,i), "isConfirmed": 0 })..
[Java] Optional이란?
·
Language/Java
개발을 할 때 가장 많이 발생하는 예외 중 하나가 바로 NullPointerExeption이다 이 NPE를 피하려면 null 여부를 검사해야하는데, null 검사를 해야하는 변수가 많은 경우 코드가 복잡해지고 번거롭다 그래서 Java 8 버전부터 등장한 것이 Optional 클래스이다 Optional은 null 값이 올 수도 있는 값을 감싸는 Wrapper 클래스로 참조하더라도 NullPointerExeption이 발생하지 않도록 도와준다 자바 공식 문서에는 다음과 같이 Optional을 만든 의도가 적혀있다 메소드가 반환할 결과 값이 '없음'을 명백하게 표현할 필요가 있고 null을 반환하면 에러가 발생할 가능성이 높은 상황에서 메소드 반환 타입으로 Optional을 사용하자는 것이 Optional을 ..
[JavaScript] var, let, const 차이
·
Language/Java Script
회사에서 개발중인 프로젝트 코드를 읽다가 변수를 선언하는데 var와 const가 섞여있는것을 보고 이 두개의 차이가 궁금해서 찾아보고 정리하는 시간을 가져보았다 JavaScript 에서는 변수를 선언할 때 var, let, const를 사용한다 모두 변수를 선언하기 위해 사용하지만 각각의 기능에는 조금씩 차이가 있다 변수 선언 var var title = 'book'; title = 'movie'; title = 'music'; 중복 선언 O 재할당 O var는 원조 변수 선언 방식으로 동일한 이름으로 중복 선언이 가능하다 즉, 마지막으로 할당된 값이 변수에 최종으로 저장된다 변수를 유연하게 사용할 수 있지만, 기존에 선언해둔 변수의 존재를 잊고 재선언 하는 경우 문제가 발생할 수 있다 간단한 테스트에는..
[JAVA] 자바11 설치 / 환경변수 설정 (Window11)
·
Language/Java
1) 자바 11 다운로드 (JAVA SE JDK 설치) https://www.oracle.com/java/technologies/downloads/archive/ Looking for an Older Java Release? Access the historical java release archive that includes JRE and JDK to help developers debug issues in older systems. www.oracle.com SE는 Standard Edition으로 기본 에디션이라는 뜻으로 기본 에디션을 설치해 주면 된다. EE는 Enterprise Edition으로 기업용환경을 구성해주는 에디션이다. 2) 자바 환경변수 설정 이미 자바 8을 설치해 사용하고 있었기 때..
[TypeSctript] Utility Type : union타입과 record 타입
·
Language/Type Srcipt
타입스크립트의 유틸리티 타입에는1. Pick 타입2. Omit 타입3. Partial 타입4. Required 타입5. Record 타입 이렇게 있다. 그 중에서 Record 타입에 대해 정리해 보려고 한다.Record 타입을 설명 하기 전에 Union 타입에 대해 먼저 알아야 한다. type fruit = "사과" | "배" | "딸기"이렇게 fruit이라는 타입을 만들어 놓고 변수를 만들어 타입을 fruit으로 지정하게 되면 3가지 밖에 쓰지 못한다.vsCode에서 확인하면 이렇게 사용할 수 있는 값을 미리 보여준다. Record타입은 이렇게 union 타입으로 만들어 놓은 것을 키 값과 Value로 사용할 수 있다. interface Ifruit { price: number; } type ..
[JAVA] 입출력 스트림(자바I/O 스트림)
·
Language/Java
더보기 프로그램은 데이터를 읽고 출력하는 작업을 빈번히 수행한다. 데이터는 키보드를 통해 입력될 수 있고, 파일 또는 네트워크로부터 입력될 수도 있다. 반대로 모니터로 출력될 수도 있고, 파일 또는 네트워크로 출력될 수도 있다. 데이터를 읽고 출력하기 위해 사용되는 입출력 API에 대해 알아보자 자바에서 데이터는 스트림(Stream)을 통해 입출력된다. 스트림은 단일 방향으로 연속적으로 흘러가는 것을 말하는데, 데이터는 출발지에서 도착지로 흘러간다. 프로그램이 출발지냐 도착지냐에 따라서 사용하는 스트림의 종류가 결정된다. 프로그램이 도착지이면 데이터를 입력받아야 하므로 입력 스트림을 사용한다. 프로그램이 출발지이면 데이터를 출력해야 하므로 출력 스트림을 사용한다. 입출력 스트림의 종류 java.io 패키..
[JAVA] throws 키워드 : 예외 떠넘기기
·
Language/Java
메소드 내부에서 예외가 발생할 수 있는 코드를 작성할 때 try-catch 블록으로 예외를 처리한다. https://sy-blog.tistory.com/76?category=899823 예외 처리 코드 (try - catch - finally) try - catch - finally 블록은 생성자 내부와 메소드 내부에서 작성되어 일반 예외와 실행 예외가 발생할 경우 예외 처리를 할 수 있도록 해준다. ∙ try 블록에는 예외 발생 가능 코드가 위치한다. ∙ t sy-blog.tistory.com 하지만 경우에 따라서는 메소드를 호출한 곳으로 예외를 떠 넘길수도 있다. 이때 사용하는 키워드가 throws이다. throws 키워드는 메소드 선언부 끝에 작성되어 메소드에서 처리하지 않은 예외를 호출한 곳으로 ..
[JAVA] 컬렉션 프레임워크: List
·
Language/Java
더보기 배열은 기본 타입 뿐만 아니라 클래스 타입의 배열도 만들 수 있기 때문에 객체 저장소로 사용될 수 있다. 하지만 배열은 선언 시 정한 크기(저장 용량)를 변경할 수 없고, 항목을 저장, 삭제, 추가하는 메소드가 없기 때문에 직접 인덱스를 사용해야 한다. 이러한 불편함을 해결하기 위해 자바는 컬렉션 프레임워크를 제공한다. 자바는 널리 알려져 있는 자료구조를 사용해서 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 인터페이스와 구현 클래스를 java.util 패키지에서 제공한다. 이들은 총칭해서 컬렉션 프레임워크라고 부른다. 컬렉션은 객체의 저장을 뜻하고, 프레임워크란 사용 방법을 정해놓은 라이브러리를 말한다. 실제로 컬렉션 프레임워크는 사용 방법을 정의한 인터페이스와 실제 객체를 저장하는 다양한..
예외 처리 코드 (try - catch - finally)
·
Language/Java
try - catch - finally 블록은 생성자 내부와 메소드 내부에서 작성되어 일반 예외와 실행 예외가 발생할 경우 예외 처리를 할 수 있도록 해준다. ∙ try 블록에는 예외 발생 가능 코드가 위치한다. ∙ try 블록의 코드가 예외 발생 없이 정상 실행되면 catch 블록의 코드는 실행되지 않고 finally 블록의 코드를 실행한다. ∙ 만약 try 블록 코드에서 예외가 발생하면 즉시 실행을 멈추고 catch 블록으로 이동하여 예외 처리 코드를 싱행한다. 그리고 finally 블록의 코드를 실행한다. ∙ finally 블록은 생략 가능하다. 예외 발생 여부와 상관없이 항상 실행할 내용이 있을 경우에만 finally 블록을 작성해주면 된다. 심지어 try 블록과 catch 블록에서 return ..