본문 바로가기

728x90

전체 글

(122)
[Oracle] MERGE INTO 사용법 테이블에 데이터가 이미 있으면 UPDATE 를 실행하고, 없을 경우 값을 INSERT 해줘야 하는 경우에 MERGE INTO 문을 통해 한 쿼리로 간단하게 작성할 수 있다. * 오라클 9i 버전 이상부터 사용 가능 (but 10g이상 사용 추천) 아래와 같이 사용한다. MERGE INTO "테이블 명" USING "테이블 or 뷰 or 서브쿼리" ON ( " 조건절1" AND " 조건절2 " ... )-- 값이 있는지 확인 WHEN MATCHED THEN --있으면 UPDATE SET [COLUMN1] = [VALUE1], [COLUMN2] = [VALUE2], WHEN NOT MATCHED THEN --없으면 INSERT (COLUMN1, COLUMN2, ...) VALUES (VALUE1, VALUE..
[Three.js] Material 종류 이번에는 기본적인 Three.js 의 Material에 대해서 알아보겠다. Material은 Geometry와 함께 Obejct3D를 이루기 위한 필수 요소이다. 참고로 Obejct3D에는 Points, Line, Mesh 라는 파생 클래스가 있다. 공식문서에서 확인하면 Material 클래스는 아래와 같이 있는 것을 알 수 있다. 모든 Material관련 클래스는 Material을 상속받은 클래스이다. Material들이 앞에 단어가 Line, Mesh, Points 등이 있는데 각 Object3D의 파생클래스인 Points, Line, Mesh와 관련 있다는 것을 알 수 있다. 상황에 맞게 공식문서의 예시를 확인하면서 필요한 Material을 사용하면 될 것이다. 다음은 PointsMaterial을 ..
[Three.js] 3차원 공간구성 (scene graph) 이번에는 Three.js의 구조를 익힌것을 바탕으로 하여, 공간구성을 해보겠다. 앞서 공부했던, Geometry(3차원 객체의 형상) 는 Material(3차원 객체의 색상, 투명도)과 함께 Mesh(3차원 객체를 표시하기 위한 객체)를 구성한다. Object 3D를 하위 클래스는 Mesh, Line, Points 세가지가 있다. 이 객체들은 3차원 공간상에 놓여지게 된다. 3차원 공간에 놓여지기 위해서는 "위치, 회전, 크기" 값이 필요하다. 따라서 Object 3D는 poistion, rotation, scale이라는 속성을 갖는다. 아래 코드는 Object3D의 기본 생성자 코드이다. 추가적으로 Quaternion도 있는게 보이는데, 이 부분은 추후에 알아보겠다. * 3D 객체는 2배의 크기로 표시..
[Three.js] .gltf 파일 로딩하기 gltf 3차원 파일을 올리려면, GLTFLoader가 필요하다는 사실만 알면 gltf파일을 잘 연결해주면 아래처럼 로딩가능하다. let scene = new THREE.Scene(); //1. 장면만들고 //scene.add(); //여기에 그림을 그릴 수 있음. const renderer = new THREE.WebGLRenderer({ antialias : true, canvas : document.querySelector("#canvas") }); renderer.outputEncoding = THREE.sRGBEncoding; renderer.setPixelRatio(window.devicePixelRatio); renderer.setSize(window.innerWidth, window.inn..
[Three.js] Geometry - 다양한 Geometry 객체 지난 포스팅에 이어서 Geometry에 대해서 살펴보겠다. 이전 포스팅에서는 WireframeGeometry, BoxGeometry에 대해서 살펴봤는데 나머지 잘쓰이는 Geometry에 대해서 살펴보겠다. 마찬가지로 같은 코드에서 실습을 해보면서 익혀보겠다. 모든 예제 소스는 유튜브 GIS Developer 님의 강좌를 보면서 작성하였다. 공식문서를 보고, Three.js에서 각 Geometry의 생성자를 보고 각 Geometry객체에대해서 쉽게 알 수 있다. 직접 해보면서 값을 넣어보면서 변화를 보다보면 각 변수가 어떤 역할을 하는지 어렵지 않게 알 수 있을 것이다. 아래는 실습 javascript 코드이다. import * as THREE from 'three' import {OrbitControls..
[Three.js] Geometry - BoxGeometry와 WireFrameGeometry Three.js에서 제공하는 기본 Geometry에 대해서 알아보겠다. Geometry는 앞선 포스팅에서 처럼 Mesh에 들어가는 요소 Geometry, Material 중에 형상을 의미하는 거라고 설명했다. 아래 그림은 Three.js 에서 제공하는 BufferGeometry 를 상속받아 사용할 수 있는 Geometry를 보여준다. 보라색글씨로 쓰여진 Geometry객체들이 자주 쓰이는 Geometry들이며, 본 포스팅에서 예시를 통해 알아 보겠다. Geometry는 3차원 객체 형상을 정의한다. Geometry의 형상을 정의하기 위한 데이터는 아래 그림과 같다. 1. 정점(Vertex) : x,y,z 축의 대한 좌표 2. 정점 인덱스(Vertex Index) : 면을 구성 3. 수직 벡터(Normal..
[Three.js] Three.js 기본개념 Three.js 에서 가장 기본이 되는 것은 Renderer, Scene, Camera이다. 이 개념을 먼저 익히고 라이브러리의 도식화에 대해서 파악한다. Three.js의 기본개념은, Scene을 만들어 그 안에 3D 객체를 넣고, 그걸 Camera로 비추는 것 그리고 그 전체를 Renderer를 통해 HTML Canvas안에 Rendering하여 보여주는 것이다. Three.js 앱의 구조부터 간략히 살펴보면 다음과 같다. Three.js 앱을 만들려면 다양한 객체를 생성해 연결해야 합니다. 아래는 Three.js 앱의 구조를 도식화한 것입니다. 아래는 자주 쓰는 것들을 단순하게 도식화 한 것입니다. Renderer Scene과 Camera객체를 넘겨 받아 카메라의 절두체 안의 3D Scene의 일부..
[IntelliJ] java.util.concurrent.CompletionException: java.net.BindException: Address already in use: bind 인텔리 J 안켜질때, CMD 관리자모드 아래명령어 실행. net stop winnat net start winnat 끝.

728x90