자바스크립트: JSFiddle 간략하게 흉내내기 (페이지의 소스를 편집 후 스스로 반영)

JSFiddle(https://jsfiddle.net/) 이라는 사이트가 있는데 웹 브라우저 내에서 HTML, JS 코드를 입력하면 즉석에서 결과를 보여주고 공유할 수 있는 사이트입니다. document 객체와 document.write 기능을 이용해서 비슷하게 흉내내볼 수 있습니다. 라이브러리 등의 예제 페이지에서 최초에 작성된 소스를 먼저 보여주고 편집도 가능하게 하고 싶을 때 사용하면 되겠습니다. This file contains bidirectional Unicode text that 더보기…

Java, Spring Boot 예제: 이미지를 클라이언트로부터 받아 파워포인트로 만들기

작업순서는 다음과 같습니다. 사용자(클라이언트, 크롬 등 웹브라우저 이용하는 사람)는 이미지파일을 브라우저에서 업로드한다. 서버에서 그 이미지를 받아서 파워포인트 파일에 삽입한다. 만들어진 파워포인트 파일을 다시 사용자한테 반환한다. 사용자는 다운로드 받을 수 있다.   파워포인트는 org.apache.poi 라는 라이브러리를 사용해 만들 수 있으며 depency는 다음과 같습니다. <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> 더보기…

Node.js: Webpack 4 추가 설정 (CSS, HTML, dev-server) 빌드 및 배포

Node.js: 설치, 코드 실행 (Windows 기준) Node.js: Webpack 설치하기 (Webpack 4 버전 기준) 1. 아래 명령어들을 터미널에 입력합니다. npm install –save-dev html-webpack-plugin npm install –save-dev css-loader npm install –save-dev style-loader npm install –save-dev webpack-dev-server   2. webpack.config.js 파일을 다음과 같이 작성합니다. // webpack.config.js var HtmlWebpackPlugin = require(‘html-webpack-plugin’); var path = 더보기…

Node.js: Webpack 설치하기 (Webpack 4 버전 기준)

이전 글: Node.js: 설치, 코드 실행 (Windows, macOS 기준)   Webpack은 프로젝트의 구조를 분석하고 자바스크립트 모듈을 비롯한 관련 리소스들을 찾은 다음 이를 브라우저에서 이용할 수 있는 번들로 묶고 패킹하는 모듈 번들러(Module bundler)라고 합니다.   1. npm으로 Webpack 설치 npm install webpack –save-dev 옵션에서 –save-dev는 로컬 폴더에만 (위 예제에서는 d:\dev\nodejs\ 폴더 내에서만) 더보기…

Node.js: 설치, 코드 실행 (Windows, macOS 기준)

Node.js는 구글 크롬 브라우저에서 사용되는 V8엔진을 탑재한 런타임(실행환경)입니다. 자바스크립트를 웹 뿐만 아니라 아니라 백엔드 서버 개발, 데스크탑 소프트웨어 개발, IoT 개발 등에서도 자바스크립트가 이용될 수 있도록 자바스크립트 엔진의 적용 반경을 확장시키는 역할을 합니다.   1. https://nodejs.org/ko/ 에서 안정적이고 신뢰적인 LTS 버전을 받습니다.   2. 받은 파일을 설치합니다. 계속 [다음] 버튼만 누르고 완료하면 더보기…

Spring Boot: 시큐리티(Security) – 1

  스프링에서 로그인, 권한별 접근 기능 등을 구현하고 싶다면 스프링 시큐리티(Spring Security)를 사용해야 합니다. 1. 처음 스타트 프로젝트 생성 시 디펜던시에서 Security를 선택합니다. 나중에 수동으로 추가할 경우에는 아래를 pom.xml의 <dependencies> 내에 추가합니다. <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-test</artifactId> <scope>test</scope> </dependency>   2. 프로젝트를 생성하고 서버를 가동하면 어떤 URL에 접속해도 기본 더보기…

Spring Boot: 국제화(Internationalization)

여기서 국제화는 홈페이지의 내용을 다국어로 지원하는 것을 뜻합니다. 예를 들어, https://www.navercorp.com/ 사이트를 보면 동일한 레이아웃과 동일한 내용을 한국어 또는 영어로 지원합니다. 이 곳 뿐만 아니라 많은 사이트에서 이런식의 다국어를 지원합니다. 만약 이것을 똑같은 HTML을 복사해서 내용만 바꾸겠다는 식으로 접근하면 홈페이지 제작이 굉장히 힘들겠죠? 처음부터 국제화를 의도하고 제작하는 것이 좋겠습니다. 0. src/main/resources 더보기…

Java: 2차원 배열

2차원 배열 2차원 배열은 일반적으로 알고있는 배열을 여러 개 덧붙인 형태라고 보면 될 것 같네요. 2차원 배열에서는 length 를 어떻게 써야할 지 헷갈릴 수 있는데 2차원 배열의 행과 열 크기가 똑같을 경우 array.length를 사용해도 상관없습니다. 다만 각 행마다 열의 크기가 제각각 다를때가 문제인데 행과 열의 크기가 다른 경우 array.length는 행의 개수를 반환하며 array[row].length는 특정 행의 더보기…

Java 예제: 한글 초성 중성 종성 분리 (자모분리)

  유니코드의 특성을 이용해 자모분리합니다. 예를 들면 ‘간’이라는 글자를 ㄱ, ㅏ, ㄴ 으로 분리하는 예제입니다. 유니코드 한글은 0xAC00 으로부터 초성 19개, 중상21개, 종성28개로 이루어지고 이들을 조합한 11,172개의 문자를 갖는다. 한글코드의 값 = ((초성 * 21) + 중성) * 28 + 종성 + 0xAC00 (0xAC00은 ‘ㄱ'의 코드값) 따라서 다음과 같은 계산 더보기…

Spring: 데이터베이스 연동(Oracle-JDBC 기준), Spring JDBC

XML 선언 이 부분은 데이터베이스의 종류, 사용하는 플랫폼에 따라 달라지므로 사용 환경에 맞는지 확인해봐야 합니다. Spring Boot의 마리아DB(mariadb)기준은 이 글을 참고해주세요. 이 부분은 properties 태그와 dependencies 태그 사이에 추가합니다. <repositories> <repository> <id>oracle</id> <url>http://maven.jahia.org/maven2</url> </repository> </repositories> 이 부분은 dependencies 태그 쌍 내에 추가합니다.   <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>12.1.0.2</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> 더보기…