언어 19

[IE] NaN 오류

IE가 종료되었지만 사용 할 일이 있어 확인도중 NaN 오류가 나왔다. DB에서 YYYY_MM_DD HH24:MI:SS 형식의 값을 받아와 자바스크립트에서 new Date("DB에서 받아온 String값)을 하면 NaN 오류가 나온다.. 익스 콘솔 찍어보면 NaN으로 찍힘. 해당 소스는 크롬, 엣지에서는 모두 정상 작동을 하지만 IE만 NaN가 뜨는 상황. * DB에서 받아온 String 값 dbDate = "2023-05-17 14:55:13"; 오류가 나지 않게 하기위해서는 ISO 형식으로 날짜 및 시간을 지정하면 된다. 날짜 + T + 시간 dbDate = dbDate.replace(" ","T"); 결과 2023-05-17T14:55:13

DTO VS VO

DTO 와 VO의 차이는 무엇일까? 결론! DTO VO 목적 계층간 데이터 전달 값 자체 표현 동등성 필드값이 같아도 같은 객체 X 필드값이 같으면 같은 객체 가변성 setter 존재 시 가변 setter 없을 시 불가변 불변 로직 getter/setter 이외 로직이 필요 X 이외 로직이 있어도 무방 1. DTO(DataTransfer Object) : 계층 간 데이터 교환을 하기 위해 사용하는 객체 DTO는 로직을 가지지 않는 순수한 데이터 객체(Java Beans) * DTO는 Getter, Setter 메서드만 가진 클래스 * DB에서 데이터를 얻어 service or controller 등으로 보낼 때 사용 public class UserDTO { private String name; priva..

언어/자바 2023.05.12

getter, setter 사용 이유 및 지양해야 하는 이유

getter 와 setter은 데이터를 보호하기 위해 사용한다. -> 외부에서 직접적으로 접근할 경우, 잘못된 값 입력 시 객체의 무결성이 깨지는 일이 발생. -> 이를 방지하기 위해 필드를 private로 만들어 외부의 접근을 제한한 후, setter을 사용해 사용해 파라미터를 내부에서 가공해 필드에 넣어주는 방식을 사용. getter을 사용해 본 필드의 값을 숨긴 채(정보 은닉) 내부에서 가공된 값을 꺼냄 getter : 변수를 반환 setter : 파라미터를 받아 변수에 할당 * SETTER , GETTER 사용 방법 public class User{ private String name; private int age; private String eamil; public String getName()..

언어/자바 2023.05.11

[JavaScript] 브라우저 동작 방식

* 브라우저 동작 방식1. DOM 트리 구축, CSSOM 트리 구축: HTML 파싱하여 DOM(Document Object Model) 트리를 만든다.   브라우저는 "위"에서 "밑"으로 HTML 태그들을 읽어나간다.    * 여기서 index "hellooooooooooooooooooo"어떤 차례대로 실행될것 같은가?위에서 부터 내려올거라고 계쏙 설명했으니 차례대로라고 생각할 수 있지만 제이쿼리 펑션은 DOM이 완성되면 실행되기에 아래의 결과가 나온다.위에서부터 첫번째: 태그 안에서 스크립트가 실행됩니다. 안에 있는 스크립트는 HTML 파싱 과정 중 가장 먼저 실행됩니다. 위에서부터 세번째: 태그 안에서 스크립트가 실행되기 때문에 두번째로 출력됩니다.위에서부터 다섯번째..

컴파일 언어 VS 인터프리터 언어

컴파일 언어 인터프리터 언어 * 정의 : 컴파일러 언어는 컴파일러를 통해 컴파일 타임에 전체 소스 코드를 한번에 기계어로 변환 후 실행파일을 만든다. *특징 1. 컴파일러 언어는 컴파일 단계와 실행단계가 분리되어 있고 컴파일을 단 한번만 수행. 2. 실행은 실행파일을 실행시키면 되며 실행시에는 컴파일 과정을 거치지 않고 실행만 하면 되므로 코드 실행 속도 빠름 3. 단, 프로젝트의 규모가 클 경우 컴파일 시간이 오래 걸리는 단점이 있음. EX > C, C++,JAVA 등 *정의 :인터프리터는 프로그래밍 언어 소스 코드를 바로 실행하는 컴퓨터 프로그램을 말한다. *특징 1. 컴파일 하지 않고 소스 코드를 한 줄씩 읽어들여 실행. 2. 컴파일 하는 과정이 없기에 컴파일 하는 시간 소요 X 3. 단, 실행파일..

언어/자바 2023.05.10

HttpServletRequest로 Json 데이터 받기

Json Data 파라메타가 아래라고 가정할 경우, { "userid" : "testid", "userJumin" : "9800000000000" } * HttpServletRequest로 온 Json 데이터 파싱 public ModelAndView httpJsonTest(HttpServletRequest request, HttpServletResponse response) throws UserDataHandleException, ModelBindingException { System.out.println("=======httpJsonTest========"); String bodyJson = ""; StringBuilder stringBuilder = new StringBuilder(); Buffere..

언어/자바 2023.04.27

net.sf.json VS json-simple

NET.SF.JSON 과 JSON-SIMPLE은 JSON 데이터를 처리하는 데 사용되는 Java 라이브러리이다. 그렇다면, 제이슨 라이브러리 NET.SF.JSON 과 JSON-SIMPLE 의 차이는? json-simple net.sf.json Map 및 List를 사용하여 JSON데이터 처리 자체 JSONObject 및 JSONArray 클래스 사용 JSON 데이터 구문 분석 및 파일 Write 가능 JSON 데이터 구문분석만 지원 외부종속성 X (가벼운 API) 외부종속성 O * net.sf.json 의 json 처리방법 JSONArray.fromObject(jsonString)JSONArray : 이 메소드는 JSON 문자열에서 객체를 생성하는 데 사용. 매개 변수 jsonString는 입력 JSON..

언어/자바 2023.04.26

[JAVA] String.format()

* String.format() - 리턴되는 문자열 형태를 지정하는 메소드 - 문자열 앞에 %를 붙여 문자열에 사용 시, 그 위치의 변수값을 형식화 하여 대입가능. public class stringFormatTest{ public static void main(String[] args){ String s = "HelloWorld"; int n = 12345; String test="" test= String.format("문자열=%s,%S",s,s); //문자열=HelloWorld , HELLOWORLD test= String.format("정수=%d",n); //정수=12345 } } * 포맷 지정 서식 서식 분류 설명 'b' ,'B' 참/거짓 boolean 값 'h',H' 16진수 16진수 표시 '..

언어/자바 2023.04.19