분류 전체보기 155

Java UUID 사용하기

Java5 부터 UUID(Universally Unique IDentifier)를 생성하는 것이 가능합니다. UUID? 네트워크 상에서 서로 모르는 개체들을 식별하고 구별하기 위해서는 각각의 고유한 이름이 필요한데, 이를 관리하기 위해서 중앙관리시스템이 있으면 좋지만, 독립적으로 개발되고 있는 시스템들의 경우 중앙관리시스템은 불가능하다. 개발주체가 스스로 이름을 짓도록 하되 고유성을 충족시킬 수 있는 방법으로 UUID를 사용한다. UUID 구성 UUID는 16옥텟(128비트)의 수로 표준형식에서는 32개의 십육진수로 표현되며 총 36개의 문자(32개 문자와 4개의 하이픈)로 된 8-4-4-4-12라는 5개의 그룹으로 이루어져있습니다. Java UUID to String UUID를 생성하고 이를 스트링으로..

Language/Java 2019.03.07

VS code에서 Spring 시작하기

VS code에서 Spring 시작하기 드디어! VS code에서도 Spring Tools 4 를 사용할 수 있게 되었습니다! Eclipse 환경에서만 개발을 하곤 했는데 Spring을 사용할 수 있는 곳이 Atom과 VS code가 늘어 선택의 폭이 넓어졌습니다. 저는 오늘 Window10 64bit 환경에서 VS code를 사용하여 Spring의 개발환경을 구축해보려 합니다. JAVA_HOME 설정 Spring Tools는 JDK를 필수로 합니다. 2019년 이후, Java의 라이센스 문제가 생겼기 때문에 우선 OpenJDK를 사용하여 JAVA_HOME 설정을 하려 합니다. OpenJDK8 다운로드 https://github.com/ojdkbuild/ojdkbuild 으로 이동합니다. 하단의 Read..

BackEnd/Spring 2019.03.02

Java 오버로딩, 오버라이딩

자바의 특징으로 다형성이 있습니다. 다형성은 객체를 다향한 형태로 사용하고 관리할 수 있는 자바의 대표적인 특징입니다. OverLoading (오버로딩) 자바에서는 입력항목(매개변수)이 다른 경우 동일한 이름의 메소드를 만들 수 있는데, 이를 메소드 오버로딩이라고 합니다. 하나의 객체에서 이름이 같은 메소드를 여러개 정의하여 사용할 수 있습니다. class HelloJava { public void hello() { System.out.println("hello()"); } public void hello(int i) { System.out.println("hello(int i)"); } public void hello(String str) { System.out.println("hello(String ..

Language/Java 2019.03.01

try-catch-finally의 기본형태와 return

Java에서 프로그램 실행중 발생하는 예외처리를 하기 위해 try-catch-finally 문을 제공합니다. try-catch-finally 의 기분형태와 return은 어떻게 사용해야할지 알아봅시다. try-catch-finally 기본형태 try { // 예외 발생 가능성이 있는 코드 } catch (예외타입1 매개변수명) { // 예외타입1의 예외가 발생할 경우 처리 코드 } catch (예외타입2 매개변수명) { // 예외타입2의 예외가 발생할 경우 처리 코드 } finally { // 항상 수행해야 하는 코드 } try-catch-finally with return 1. try안의 return문 try { return 5; } catch (Exception e) { return 10; } fin..

Language/Java 2019.02.28

Java에서의 call by value, call by reference

Call by value 값에 의한 호출을 이야기하며 이 호출방식은 함수 호출시 전달되는 변수의 값을 복사하여 함수의 인자로 전달한다. 복사된 인자는 함수 안에서 지역적으로 사용된다. (Local Value) 함수내에서 인자의 값이 바뀔지라도외부 변수의 값은 변하지 않는다. void func_value(int a) { int value1 = 20; } int main(void) { int value1 = 10; func_value(value1); System.out.println(value1); // 10 } Call by reference in Java Java는 항상 call by value이다. 하지만 call by reference처럼 보일 수 있는 방법이 있다. public class CallB..

Language/Java 2019.02.23

TM, UTM 좌표계

TM(Transverse Mercator) 좌표계 평면 직각 좌표계의 하나로 측량 범위가 넓지 않은 지역의 측량을 위해 주로 사용된다. 평면 직각 좌표계와 같이 좌표원점을 정하고 원점을 지나는 경선을 X축, 위선을 Y축으로 각 지점 위치를 직각좌표 값으로 표시한다. 측량 지역에 대해 적당한 한 점을 좌표의 원점으로 정하고, 그 평면상에서 원점을 지나는 자오선을 X축 N: 북을 +, 동서방향을 Y축 E: 동을 +이라 하고 각 지점의 위치는 거리와 방향을 이용한 x,y로 표시한다. UTM(Universal Transverse Mercator) 좌표계 전 지구상 점들의 위치를 통일된 체계로 나타내기 위한 격자 좌표 채계의 하나로 1947년에 개발되었다. 지구를 경도 6°간격의 세로 띄로 나누어 횡측 메르카토르..

GIS 2019.02.23

GIS표준 WMS WFS WCS WPS

WMS WMS(Web Map Service)는 GIS 데이터에 접근하기 위한 인터페이스로써 웹을 통해 지도 이미지(형식)로 서비스한다. 다시말해, 데이터서버에 저장된 레이어 또는 분석을 통해 생성된 벡터 및 래스터 데이터를 시각화(Visualization)하는 서비스이다. WMS는 Basic WMS(GetCapabilities, GetMap), Queryable(GetFeatureInfo)로 구분한다. Basic WMS GetCapabilities : Web Map Server에서 서비스 가능한 레이어의 메타정보 제공 GetMap : 요청한 레이러를 이미지로 제공 Queryable WMS GetFeatureInfo : 요청한 위치의 피쳐 정보를 제공 GetMap Operation을 사용해 지도를 요청하는..

GIS 2019.02.23

UDP란?

기존 TCP의 경우에는 데이터의 신뢰성을 보장하기 위한 방식이기 때문에 누락된 데이터를 모두 받기 위한 매커니즘이 정의되어 있다. 이것이 이메일이나 파일전송등에는 필수불가결의 요소였지만, 실시간 스트리밍 서비스에서는 걸림돌로 작용하였다. User Datagram Protocol (UDP)는 TCP의 신뢰성 기능이 없다. 따라서 실시간 스트리밍의 경우 약간의 불안정성이 존재하더라도 중단되지 않는다. 간단하고 더 빠른 처리를 보장하며 프로그래밍 하기도 TCP에 비해 간단하다. 하지만 TCP와 다르게 UDP는 서버로 메시지를 보냈다 하더라도 메시지가 실제로 도착했는지 알 수 없다. 이에 따라 신뢰할 수가 없다.

Network 2019.02.23

SMTP POP3 IMAP 이란?

SMTP Simple Mail Transfer Protocol (SMTP)는 인터넷에서 이메일을 보내기 위해 이용되는 프로토콜로 사용하는 포트번호는 25번이다. 클라이언트-서버간 통신, 서버-서버간 통신을 모두 담당한다. SMTP는 메일을 발신하는 역할을 한다. SMTP는 텍스트 기반의 프로토콜로서 요구/응답 메시지뿐 아니라 모든 문자가 7bit ASCII로 되어있어야 한다. 따라서 8bit 이상의 코드를 사용하는 언어나 청부파일, 바이너리는 MIME(마임)이라고 불리는 방식을 통해 7bit로 변환되어 전달된다. 메시지가 생성되면 호출된 SMTP가 메시지를 받고 TCP를 이용하여 다른 호스트의 SMTP에게 전달한다. POP3 Post Office Protocol Version3 (POP3)는 응용 계층 ..

Network 2019.02.23

ARP 헤더, 스푸핑

Address Resolution Protocol (ARP)는 네트워크 상에서 논리적인 IP 주소를 물리적인 MAC 주소로 바꾸어주는 역할을 하는 프로토콜이다. 2계층에서 물리적 주소를 사용하여 통신하는 경우 목적지 주소를 알아와 Encapsulation을 완성하기 위한 목적으로 쓴다. ARP Header 1. Hardware Type 네트워크 유형을 정의하며, Ethernet 환경의 경우 0x0001으로 세팅한다. 2. Protocol Type 프로토콜을 정의하며, IPv4의 경우, 0x0800으로 세팅한다. 3. Hardware Lenth MAC주소의 길이를 정의하며 Ethernet 환경의 경우 6 byte 새탕 4, Protocol Lenth 프로토콜의 길이를 정의하며, IPv4의 경우 4 byte..

Network 2019.02.23