전체 글298 [Spring] 스프링 5.0 WebFlux 에 대해 WebFlux 개요 Spring 5에서 도입된 reactive-stack web framework asynchronous (비동기) - non-blocking(논블로킹) reactive 개발에 사용 reactive streams 의 back pressure 지원 non-blocking server에서의 실행 지원 (Netty, Undertow, and Servlet 3.1 + containers) Tomcat, Jetty 와도 실행 가능 스레드나 CPU 자원을 낭비하지 않고, 많은 요청을 처리할 수 있는 고성능 웹 애플리케이션 개발 목적 Spring 5.0 의 WebFlux 주요 특징 ? 함수형 프로그래밍 - 최소 Java 8 + 버전 사용, Java 8에 람다 함수 표현이 추가되어 함수형 프로그래밍 가.. JVM/Spring 2022. 5. 11. [Git] Git GUI 소스트리(Soure Tree) 다운로드 및 설치하기 - ① Setup 기본적으로 Git은 명령어를 기본으로한 명령어 프로그래밍으로, 터미널에서 커맨드로 배워야 Git을 정확하게 사용하는 방법을 배울 수 있다. Git을 좀 더 편하게 사용하기 위해 Git GUI (Graphic User Interface)를 사용한다. Git 공식홈페이지에서 보면 사용할 수 있는 UI Application도 많이 알아볼 수 있는데, 각자 사용하는 운영체제를 선택한 뒤 스크롤해서 확인가능하다. Git - GUI Clients GUI Clients Git comes with built-in GUI tools for committing (git-gui) and browsing (gitk), but there are several third-party tools for users looking fo.. SCM/Git + Github 2022. 5. 4. [Git] Windows11 64bit 환경 Git 다운로드 및 설치하기 - ① Setup 1. Git Download Git 홈페이지에서 본인 PC 환경에 맞는 설치파일을 다운로드받는다. Git - Downloads Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific exp git-scm.com 2. Git Install 3. Git Install Complete 설치가 정상 완료되면, 시작화면에서.. SCM/Git + Github 2022. 5. 4. [Git] Git 원격 저장소 레파지토리(Repository) 삭제하기 Git 원격 저장소인 레파지토리(Repositories)를 만든 뒤에 삭제하는 방법을 몰라 헤매다가 포스팅을 남기게 되었다. 1. 삭제하고자 하는 레파지토리 경로에 들어간다. 2. 삭제할 레파지토리에서 Settins 버튼을 클릭한다. 3. 화면 하단으로 내리면 Danger Zone이 나오는데, Delete this repository 버튼을 클릭한다. 4. 제거할 레파지토리명을 입력해주면 삭제된다. SCM/Git + Github 2022. 5. 3. [JavaScript] 문자열 특정 문자/정규 포현식 위치 찾기 (indexOf, search) String.prototype.indexOf 주어진 값과 일치하는 첫 번째 인덱스를 반환한다. 일치하는 값이 없다면 -1을 반환한다. str.indexOf(searchValue [, fromIndex]) searchValue 찾으려는 문자열. 아무 값도 주어지지 않으면 문자열 "undefined" 를 찾으려는 문자열로 사용한다. fromIndex (optional) 문자열에서 찾기 시작하는 위치를 나타내는 인덱스 값으로 기본 값은 0이고 음의 정수인 경우 전체 문자열을 대상으로 찾는다. 'Blue Whale'.indexOf('Blue'); // returns 0 'Blue Whale'.indexOf('Blute'); // returns -1 'Blue Whale'.indexOf('Whale', 0); /.. Front/JavaScript 2022. 4. 7. [JavaScript] 자바스크립트 날짜 문자열 포맷 반환 함수 만들기 (기본값 매개변수 설정하기) 기본값 매개변수 기본값 함수 매개변수 (default function parameter) 를 사용하면 값이 없거나 undefined 가 전달될 경우 이름붙은 매개변수를 기본 값으로 초기화할 수 있다. function multiply(a, b = 1) { console.log(a * b); } multiply(5, 2);// console : 10 multiply(5);// console : 5 자바스크립트 함수의 매개변수는 undefined 가 기본이지만, 일부 상황에서 다른 기본값 매개변수가 필요할 때 설정한다. 위의 예제에서 만약 매개변수 b를 기본 값 설정하지 않았다면 multiply(5) 는 b가 undefined가 되어 NaN 이 표출됐을 것이다. 날짜 Date / String → 문자열 포맷 .. Front/JavaScript 2022. 4. 6. [Spring] Request Parameter (QueryString, Json) 데이터와 Annotation (@RequestParam, @RequestBody) 알고 쓰자 선행지식 쿼리스트링 (Query String) ? 사용자가 입력 데이터 전달하는 방법 중 하나로, URL 주소에 미리 협의된 데이터를 파라미터를 통해 넘기는 것으로 를 붙여 어러 개의 파라메터를 넘 길 수 있다. key1=value1&key2=value2 JSON (JavaScript Object Notation) ? 속성과 값 또는 키와 값을 쌍으로 이루어진 데이터 교환 형식을 의미한다. key1:value1, key2:value2 이번 포스팅에서는 SpringMVC 구조에서 요청 파라메터 데이터 타입 이나 요청 타입을 고려하지 않고 Annotation 을 무분별하게 사용하는 것을 방지하고자한다. 클라이언트에서 요청하는 데이터 타입은 총 2가지 Query String 형태, Json 형태 로 살펴볼 것.. JVM/Spring 2022. 4. 5. [SpringBoot] 전자정부프레임워크 SpringBoot 테스트용 웹 프로젝트 만들기 기본Spec EgovFramework 4.0 - 64bit Java 1.8 Tomcat 8.0 Gradle Project SpringBoot 2.6.5 전자정부 프레임워크 4.0 설치 https://haenny.tistory.com/294 [EgovFramework] 전자정부프레임워크 4.x 개발환경 다운로드 및 Lombok 설치 [EgovFramework] 전자정부프레임워크 4.x 개발환경 다운로드 및 Lombok 설치 전자정부프레임워크 다운로드 전자정부프레임워크 4.x 개발환경 다운로드 받으러가기 개발환경 - 4.x 다운로드 | 표준프레임 haenny.tistory.com JDK (Java) 설치 https://haenny.tistory.com/219 [Java] Windows10 환경 OpenJDK.. JVM/SpringBoot 2022. 4. 4. SpringBoot "Path with "WEB-INF" or "META_INF" : [WEB-INF/jsp/main.jsp]" 경고 및 Whitelabel Error Page 오류 "Path with "WEB-INF" or "META-INF" : [WEB-INF/jsp/main.jsp]" SpringBoot 에서 main.jsp 화면을 만들고, Controller에서 View로 리턴을 하였는데 jsp 파일을 찾지 못하는 경우 ResourceHttpRequestHandler : Path with "WEB-INF" or "META-INF" 이런식으로 발생하는 오류이다. 브라우저에는 첨부한 이미지와 같이 Whitelabel Error Page가 표출되고, Console에서는 위와 같은 오류 로그를 확인할 수 있다. 이 오류는 Spring Boot에서 내장된 Tomcat을 사용 하는 경우 JSP 를 처리하는 서블릿을 추가하지 않아 발생하는 것으로 의존성(dependency)을 추가해주면 .. JVM/SpringBoot 2022. 4. 3. Failed to determine a suitable driver class 오류 해결 오류 로그 ********************************* APPLICATION FAILED TO START ********************************* Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.. JVM/SpringBoot 2022. 4. 2. SpringBoot 2.5 → 2.6 업그레이드 시No more pattern data allowed after {*...} or ** pattern element 오류 해결 오류 로그 No more pattern data allowed after {*...} or ** pattern element ********************************* APPLICATION FAILED TO START ********************************* Description: Invalid mapping pattern detected: /**/*.do ^ No more pattern data allowed after {*...} or ** pattern element Action: Fix this pattern in your application or switch to the legacy parser implementation with 'spring.mvc.pa.. JVM/SpringBoot 2022. 4. 2. SpringBoot Initializing Spring DispatcherServlet 'dispatcherServlet' SpringBoot 실행 후 웹페이지 로드 시에 표출되는 로그 Initializing Spring DispatcherServlet 'dispatcherServlet' Initializing Servlet 'dispatcherServlet' Completed initialization in 1 ms application.properties 에 load-on-startup 추가 spring.mvc.servlet.load-on-startup=1 load-on-startup web-xml 에서 서블릿 설정 시 들어가는 숫자 해당 서블릿의 init() 메소드가 호출되는 시기와 순서를 정하는 것 보통의 서블릿은 반드시 '해당 서블릿'에 최초 요청이 들어올 때만 인스턴스화 초기 설정을 하게 되는데 시간이 너무 오래 .. JVM/SpringBoot 2022. 4. 1. [EgovFramework] 전자정부프레임워크 4.x 개발환경 다운로드 및 Lombok 설치 전자정부프레임워크 다운로드 전자정부프레임워크 4.x 개발환경 다운로드 받으러가기 개발환경 - 4.x 다운로드 | 표준프레임워크 포털 eGovFrame 처리중입니다. 잠시만 기다려주십시오. www.egovframe.go.kr Lombok 설정 lombok 다운로드 Project Lombok projectlombok.org lombok.jar 파일이 있는 위치에서 lombok.jar 파일을 실행시킨다. 명령프롬포트(cmd) 창에서 lombok.jar 파일이 있는 위치로 이동한 뒤 jar 파일 실행 명령어를 입력한다. 더보기 java -jar lombok.jar 명령어를 실행시키면 아래와 같은 lombok Installer 창이 열릴 것이다. IDE를 찾을 수 없다는 경고 문자가 뜨는 것은 무시해도 좋다. l.. IDE/Eclipse 2022. 3. 31. [Java] 스트림 (Stream) 타입별 변환 스트림 (Stream) 만들기 컬렉션 스트림 Collection에 stream()이 정의되어 있어 Collection의 자손인 List와 Set을 구현한 컬렉션 클래스들은 모두 stream()으로 스트림을 생성할 수 있다. Stream Collection.stream() // List로부터 스트림 생성 List list = ARrays.asList(1,2,3,4,5); Stream intStream = list.stream(); 배열 스트림 배열을 소스로하는 스트림을 생성하는 메서드로 Stream과 Arrays에 static 메서드로 정의되어 있다. 문자열 스트림 Stream srtSTream = Stream.of("a","b","c");// 가변인자 Stream srtSTream = Sream.of(n.. JVM/Java 2022. 3. 30. [Javascript] 자바스크립트의 "특별한 함수" Class의 정의 Class 정의 ES6에 새로 추가된 문법 class 자바스크립트 Class는 Java와 같은 객체 지향언어와 같은 동작을 하는 것이 아닌 객체 지향의 일부개념을 활용하기 위한 "특별한 함수"이다. 함수를 함수 표현식과 함수선언으로 정의할 수 있듯이 class 문법도 class 표현식과 class 선언으로 정의할 수 있다. Class 선언식 class Rectangle { constructor(height, width) { this.height = height; this.width = width; } } Class 표현식 class 표현식은 이름을 가질 수도 있고, 갖지 않을 수도 있다. 이름을 가진 class 표현식의 이름 클래스는 body의 local scope에 한해 유효하다. (하지만, 클래스의 .. Front/JavaScript 2022. 3. 18. [Javascript] 자바스크립트 strict mode(엄격 모드)에 대해 strict mode (엄격모드) 자바스크립트 언어의 문법을 좀 더 엄격히 적용하여 최적화 작업에 문제를 일으킬 수 있는 코드에 대해 명시적인 에러를 발생시키는 것이다. 'use strict'는 자바스크립트의 의도지 않은 여러 잠재적인 오류를 막아주는데 많은 도움을 주지만, 잘못 사용하면 없던 오류를 새로 만들어내는 애물단지가 될 수 있다. 반대로 공식적인 용어는 아니지만, 가끔 엄격하지 않은 기본값을 sloppy mode (느슨한 모드) 라고 부르기도 한다. sloppy mode 의 예제 실행결과는 무엇일까? function foo() { x = 10; } foo(); console.log(x);// 실행결과는 ? foo 함수 내 선언하지 않은 x 변수에 10을 할당했다. 이때 x 변수를 찾아 x 에 .. Front/JavaScript 2022. 3. 17. [Oracle] 특정 컬럼이 존재하는, 존재하지 않는 테이블 찾기 1. '특정컬럼'이 존재하는 테이블 찾기 SELECT DISTINCT TABLE_NAME FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME = '특정컬럼' ORDER BY TABLE_NAME 2. '특정컬럼1'과 '특정컬럼2'가 동시에 존재하는 테이블 찾기 SELECT DISTINCT TABLE_NAME FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME IN ('특정컬럼1', '특정컬럼2') ORDER BY TABLE_NAME 3. '특정컬럼1'과 '특정컬럼2'가 동시에 존재하지 않는 테이블 찾기 SELECT DISTINCT TABLE_NAME FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME NOT IN ('특정컬럼1', '특정컬럼2') ORD.. Database/SQL 2022. 3. 16. [MyBatis] Dynamic Query Map(or Value Object) 파라메터 foreach 문법에 key, value 사용하기 단순 List나 Array의 foreach INSERT, UPDATE, DELETE, MERGE 문의 관한 내용은 아래 게시글을 참고하자. [MyBatis] List 파라메터 foreach 사용 (INSERT, DELETE, MERGE, UPDATE) - Oracle [MyBatis] List 파라메터 foreach 사용 (INSERT, DELETE, MERGE, UPDATE) - Oracle foreach문은 사용할 때마다 사용되는 위치도 속성도 어려워서 더이상 헷갈리지 않기 위해 남겨본다 :-) ! MySQL foreach 사용방.. haenny.tistory.com [MyBatis] List 파라메터 foreach 사용 (INSERT, DELETE) - MySQL [MyBatis] List 파라메터.. JVM/Spring 2022. 3. 15. [Oracle] DATE 타입의 컬럼 조회 조건 쿼리문 TO_DATE 사용? TO_CHAR 사용? DATE 타입 컬럼 조회 (TO_CHAR 사용) DATE 타입의 컬럼 조회 일자 조회 조건을 줄 때, 습관적으로 TO_CHAR를 사용해왔다. 보통 Javascript 에서 datetimepicker 등의 라이브러리를 이용해서 조회일자의 기간을 조건으로 조회하고, 시작일자와 종료일자의 문자열을 파라메터로 BETWEEN AND 쿼리로 테이블을 조회한다. 큰 고민 없이 주로 TO_CHAR를 사용해왔던 큰 이유는 TO_DATE 처리 시에 DATE FORMAT 에 따라서모두 초기값 처리 되는 문제 때문이었다. SELECT TO_DATE('2022' , 'YYYY') AS YYYY , TO_DATE('2022-01' , 'YYYY-MM') AS YYYYMM , TO_DATE('2022-01-02' , 'YYYY-M.. Database/SQL 2022. 3. 14. [Spring] Spring Scheduler 간단하게 설정하기 일정주기마다 특정 작업을 실행하기 위해 스프링 스케쥴러를 사용하여 구현하는 방법을 살펴보자. Scheduler Class 생성 package com.haenny; public class Test { public void start() { // 주기적으로 실행할 코드 } } dispatcher-servlet.xml 설정 일정 주기마다 실행하는 스케쥴러 등록을 위해 bean 태그에 task를 추가한다. /* 스케줄러를 위한 xmlns */ xmlns:task="http://www.springframework.org/schema/task" /* task shcema */ http://www.springframework.org/schema/task http://www.springframework.org/sche.. JVM/Spring 2022. 3. 7. 이전 1 2 3 4 5 6 7 8 ··· 15 다음 추천 글 728x90 반응형