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> 더보기…

Spring: 스프링의 어노테이션(Annotations) 사용법

스프링(Spring)에서 어노테이션은 @[어노테이션이름] 이라는 형식으로 특정 클래스, 메소드, 변수의 맨 위에 붙여 쓰며 일반적으로 해당 구역의 기능을 확장하는 역할을 합니다. @Component: Bean을 생성하며(클래스의 인스턴스화), 클래스 코드 바로 위에 붙여 사용합니다. 멤버 필드 내 값은 지정되지 않습니다. 사용 시 클래스 이름의 앞 글자만 소문자만 바꾸고 사용합니다. 예를 들어 VO 클래스의 이름이 더보기…

넥사크로(Nexacro): 데이터베이스에 읽고 쓰기 및 기타

Deploy 수행 Build > Deploy… > Deploy Application >  을 클릭한 다음 경로는 이클립스 동적 웹 프로젝트 폴더의 WebContents 폴더로 설정합니다. 프로젝트에 폼 설정 childframe으로 이동 후 Appearance의 formurl에서 설정합니다. 폼 간 이동 this.toFrmTest_onclick = function(obj:Button, e:nexacro.ClickEventInfo) { this.go(“Base::FrmPortal.xfdl”); } Base 폴더 밑의 FrmPortal.xfdl 파일명의 폼으로 이동합니다. 전역 변수 사용  alert(application.[전역 더보기…

자바 Swing: for문으로 만든 컴포넌트에 접근 + 예제: 틱택토(Tic Tac Toe)

이전 글: Java Swing 예제: 다차원 배열 표시하기 (기초 설정 방법, for문으로 swing 요소 반복 등) for문으로 생성한 컴포넌트에 대한 접근 방법은 다음과 같습니다. 1. 컴포넌트들의 배열을 뽑아 인덱스 번호로 접근하는 방법 JPanel nineRoom = new JPanel(); (…) for(int i = 0; i < 9; i++) { JButton tempButton = new 더보기…