자바: 직렬화 (Serialization) + 예제 – 게시판 비슷한 것

직렬화란 자바의 객체를 네트워크 상에서 주고받게 하기 위하여 메모리에 저장된 객체를 바이너리 형식으로 변환하는 것을 뜻합니다. 역직렬화는 당연히 반대의 과정입니다. 이렇게 변환된 직렬화된 객체는 하드디스크에 저장하거나 네트워크 상으로 전송하여 다른 컴퓨터에서 사용하도록 할 수 있습니다. 직렬화를 하려면 대상 클래스가 Serializable 인터페이스를 구현해야 합니다. 참고로 ArrayList를 비롯한 몇몇 자바 클래스에서는 이미 더보기…

Java, Spring: 예제 – JspMvcHelper (Reflection을 사용해 ModelAndView 내의 객체들의 정보를 표시해 주는 프로그램)

이 프로그램은 자바의 Reflection 개념들을 연습하기 위해 만든 예제로 리플렉션을 이용하여 Spring 프로젝트에서 MVC 패턴을 사용할 때 컨트롤러 등에 있는 ModelAndView (+ Model) 객체의 정보를 프론트엔드 측에서 볼 수 있도록 가공해서 보여주는 프로그램입니다. 자바스크립트의 console.log() 등을 사용해 내용을 볼 수 있습니다. 사용 제약 MVC 패턴을 사용하는 스프링 프로젝트가 필요합니다. 모델 객체가 더보기…

JSP, Spring: EL(Expression Language), JSTL(Java Standard Tag Library) 기초 사용법

EL(Expression Language)과 JSTL(Java Standard Tag Library)은 자바 서블릿 또는 스프링을 이용한 MVC 패턴에서 컨트롤러가 뷰(View) 페이지로 전송한 정보를 표시하는 방법입니다.   1. EL 별도의 임포트 과정이 필요없고, JSP에서 바로 사용 가능합니다. 기본 사용 방법은 ${ 표현식 } 의 꼴로 사용하며, 표현식 내부의 계산 결과를 HTML에서 사용하는 텍스트 형식으로 반환합니다. 즉, 더보기…

자바스크립트: 콜백, Promise, async – await 기초

자바스크립트에서 작업을 의도한 순서대로 처리한 방법에는 콜백, Promise, async – await 3가지가 있습니다. async – await가 최신 기술이며 3가지 방법들은 이전 개념을 이해해야 진행할 수 있습니다. 원래 프로그래밍 언어가 순서대로 처리하는 건데 왜 별도의 개념을 익혀야 하느냐 묻는다면, 자바스크립트에서는 비동기 처리라는 복잡한 문제가 있기 때문입니다. 비동기 처리란 특정 코드의 연산이 끝날 때까지 더보기…

자바스크립트: 길찾기 1 (라이브러리 이용 – EasyStar.js)

길찾기 알고리즘에는 여러가지가 있는데 A* (A Star)라는 알고리즘이 많이 사용된다고 합니다. 라이브러리중에 EasyStar.js (https://www.easystarjs.com/) 라는게 있는데 이걸로 길찾기 알고리즘을 직접 구현하지 않고도 사용할 수 있습니다. window.onload = function() { var startPoint = {x:0, y:0} var endPoint = {x:4, y:0} // EasyStar.js 선언 var es = new EasyStar.js(); var map = 더보기…

자바스크립트: 인터넷에서 미디(MIDI) 파일을 바로 재생하는 라이브러리(http://www.midijs.net/) + 예제: 미디 플레이어

혹시 자바스크립트 라이브러리를 사용하지 않고 스프링 부트를 이용해 직접 미디를 mp3로 변환하는 방법을 찾고있다면 이 페이지를 방문해보세요. gist에서 예제 코드 보기 미디 플레이어 실행하기 PHP 기반으로 만든 미디 플레이어입니다. MIDI란 컴퓨터 음악을 위한 규격화된 포맷으로 미디 표준을 지켜 만든 음악 파일들은 미디 플레이어 등에서 실행할 수 있으며 오늘날 음악 제작에서 필수적으로 더보기…

Three.js: 장면(scene) 추가

출처: https://threejs.org/docs/index.html#manual/en/introduction/Creating-a-scene 이 섹션의 목적은 three.js에 대한 간략한 소개입니다. 회전 큐브를 사용하여 장면을 설정하는 것으로 시작하겠습니다. 시작하기 전에 three.js를 사용하려면 먼저 어딘가에 표시해야합니다. 다음 HTML을 js/ 디렉토리에 있는 three.js 사본과 함께 컴퓨터의 파일에 저장하고 브라우저에서 엽니다. <!DOCTYPE html> <html> <head> <meta charset=utf-8> <title>My first three.js app</title> <style> body { margin: 0; 더보기…

Spring Boot: 프로젝트를 jar 파일로 배포하기

이 글은 윈도우 기준으로 작성되었지만 다른 OS 에서도 적용할 수 있습니다. Spring Boot 프로젝트를 생성시 처음에 설정하는 배포 옵션을 jar 파일로 배포로 설정했다고 가정합니다. 처음에 war로 설정했을시에는 추가 설정이 필요한 관계로 나중에 따로 포스팅하겠습니다. 그 전에 이클립스에서 설정되어 있는 JRE를 JDK로 바꿔야 합니다. 바꾸지 않으면 추후 에러의 원인이 되므로 미리 더보기…

Spring Boot: 설치 및 기본 설정 (macOS 및 Eclipse 기준)

1. 이클립스(STS) 준비 이클립스에서 Help > Marketplace… 를 선택한 다음 STS 을 검색해서 설치합니다. 설치 시 이름에 boot 가 들어가는 요소는 반드시 체크하고, Perspective를 Spring으로 변경합니다. 또는 처음부터 STS(STS가 설치된 이클립스)로 사용합니다: https://spring.io/tools   2. Spring Starter Project 생성 이클립스에서 File > New… > Spring Starter Project 를 선택합니다. Group, Artifact, Package 등은 더보기…

three.js: 로더 예제(MMD) + 기본 개념

다운로드: https://threejs.org/ 의 download 링크를 통해 받는다. 여기서 MMD의 정의는 다음과 같다. MikuMikuDance는 일본에서 개발 및 공개 중인 3D CG 동영상 작성 툴이다. 약칭은 MMD. 이름처럼 VOCALOID 하츠네 미쿠의 3D 모델을 조작할 수 있는 프로그램이다. 이름은 VOCALOID의 대표격이라고 할 수 있는 하츠네 미쿠의 모델이 제일 먼저 나왔기 때문에 MikuMikuDance(미쿠미쿠댄스)라고 이름지어진 더보기…