본문 바로가기

반응형

분류 전체보기

(218)
[JavaScript] Template Literals ES6에서 소개된 Template Literal은 여러 줄로 이루어진 문자열과 문자 보간기능(특정 값으로부터 다른 값을 추정하는 것)을 지원한다. 가장 큰 특징은 이중 따옴표(" ")나 작은 따옴표(' ') 대신 백틱(backtick)문자(` `)_키보드 숫자 1 왼쪽에 위치 를 사용한다는 것이다. 세부 특징은 다음과 같다. Multi-line strings 일반 문자열 사용 시 개행(改行)을 위해서 문자 사이에 '\n' 를 사용해야 한다. 하지만 template literal을 활용하면 문자열이 있는 그대로 적용된다. 일반 문서 작성 하듯이 작성해도 그대로 적용된다. 일반 문자열 console.log( "There Is A Light \nThat Never Goes Out" ); // There Is ..
[Java] JAVA_HOME 환경변수를 설정하는 이유는? Java를 처음 설치하면 자바 개발 도구인 JDK(Java Development Kit)를 설치한 후 JAVA_HOME 환경변수를 설정한다. 왜 이런 작업을 해야 할까? 구글링을 통해 알아본 결과, 일단 반드시 하지 않아도 되는 작업으로 보인다. 환경변수 설정은 일종의 단축키(Shortcuts)를 설정하는 개념으로 생각된다. 그러니까 윈도우 터미널에서 자바 파일에 접근하기 위해서 일반적으로 경로까지 정확히 작성해야 한다. 하지만 환경변수를 설정하면 자바 파일의 위치에 상관 없이 명령어 하나로 호출 가능하다. 환경변수 설정이 필요한 경우는? 하지만 만약 본인이 Apache Tomcat과 같은 서드파티 프로그램을 사용하려면 JDK 또는 JRE 환경변수가 설정되어 있어야 한다. 이런 상황이라면 JAVA_HOM..
Parameter와 Argument의 차이점 이 두 단어의 명확한 차이점에 의문을 가지게 된 이유는 영문으로 된 원문 기술문서를 제대로 해석하기 위함이다. 별다른 소란 없이 어물쩍 넘어갈 수도 있지만, 프로그래밍은 확실히 아는 것이 매우 중요한 분야라고 생각하기 때문에 할 때 확실히 알아야 한다. Parameter(매개변수) 함수 정의에 사용되는 임의의 값(변수) Argument(전달인자) 함수가 실행되어 전달되는 실제 값 int add(int x, int y) { return x + y; } 함수 add는 변수 두 개를 더한 값을 결과로 리턴하도록 설계되어 있다. 따라서 정수 변수 x, y를 임의로 설정했다. 여기서 변수로 설정된 x, y는 매개변수라고 할 수 있다. 매개변수는 이 함수에 어떤 타입의 값이 들어와야 하는지 알려주는 표지판의 역할을..
[Lombok] 생성자를 만드는데 사용되는 Lombok 어노테이션 @NoArgsConstructor No Argument Constructor, 파라미터가 없는 생성자를 만든다.('인수'라고 해야할지, '파라미터'라고 해야할지..) 만약 필드가 final로 설정되어 있는 경우 컴파일러 에러가 발생한다. 필드가 final로 설정되어 있는 경우@NoArgsConstructor(force = true)옵션을 사용하면 final 필드를 0,false,null 등으로 강제 초기화를 하여 생성자를 만들 수 있다. @NoArgsConstructor public class Employee { private String name; private int salary; } public class Employee { private String name; private int salary; ..
[Spring Boot] @RequiredArgsConstructor 사용 시 final 키워드 사용하지 않아서 에러가 발생한 것 같은데.. 게시판 구현 연습 중 다음과 같은 에러와 마주했다. java.lang.NullPointerException: Cannot invoke "com.changon.springboot.domain.posts.PostsRepository.findAllDesc()" because "this.postsRepository" is null at com.changon.springboot.service.posts.PostsService.findAllDesc(PostsService.java:46) ~[classes/:na] at com.changon.springboot.web.IndexController.index(IndexController.java:17) ~[classes/:na] findAllDesc() 메소드는 게시판..
[Spring] @PathVariable, @RequestParam, @RequestBody, @ResponseBody @PathVariable URI 경로의 일부를 파라미터로 사용할 때 이용(URI 경로에서 값을 가져온다) 템플릿 변수의 값을 추출하고 그 값을 메소드 변수에 할당하는데 사용된다. @RequestMapping("/users/{userid}", method=RequestMethod.GET) public String getUser(@PathVariable String userId) { // implementation omitted... } 요청 결과 localhost:8080/users/charlie 와 같은 URI가 넘어왔다고 하자. 'charlie'는 URI 템플릿 변수의 값으로, getUser 메소드 매개변수 userId의 요청 값으로 바인딩된다. @RequestMapping("/owners/{owner..
[LeetCode] Length of Last Word | 난이도: Easy 문제 Given a string s consisting of some words separated by some number of spaces, return the length of the last word in the string. A word is a maximal substring consisting of non-space characters only. 예시 Example 1: Input: s = "Hello World" Output: 5 Explanation: The words are "Hello" and "World", both of length 5. Example 2: Input: s = " fly me to the moon " Output: 4 Explanation: The longest w..
[Spring] Spring 웹 계층 Web Layer 웹 어플리케이션의 최상위에 있다. Controller, JSP/Freemaker 등의 뷰 템플릿 영역이다. 사용자의 요청(input)을 받고 요청에 따른 정확한 응답(output)을 전달한다. 외부 요청을 처리하고, 올바른 응답을 사용자에게 반환하는 것에 대한 전반적인 영역을 말한다. Web Layer는 웹 어플리케이션의 최전방에 있기 때문에 다른 레이어에서 발생한 예외 처리, 인증 관리 및 권한 없는 사용자 인가 거부 등을 통해 해당 웹 어플리케이션에 대한 보안 위협을 방지할 수 있다. Service Layer @Service, @Transactional에 사용되는 서비스 영역. 트랜잭션과 도메인 간의 순서만 보장하는 역할 수행. 트랜잭션에 대한 경계(구분선) 역할을 하고 어플리케이션..

반응형