자바로 어플리케이션을 만들다 보면 고유한 식별값이 필요할때가 있습니다.자바에서는 그런한 값을 만들기 위한 몇가지 방법을 제공합니다.그중에서 자바5 에서부터 사용할수있는 UUID 라는 클래스가 있습니다.12345678910package info.m2sj.web; import java.util.UUID; public class UniqueIDTest { public static void main(String[] args) { UUID u = UUID.randomUUID(); System.out.println(u.toString()); }}Colored by Color Scriptercs 결과752a8725-1021-4360-8a6a-b5e263b3623d 결과는 16진수 32자리 문자열입니다. 256 Bit..
"자바스크립트 그까이것 안배워도 대충 보고하면 되자나~ ?" 오래전 국내에서는 자바스크립트가 alert창이나 찍는 단순 스크립트언어로 무시(?) 받던 시절이 있었습니다.하지만 자바스크립트로 서버사이드 코딩을 가능하게 하는 Node.js 의 유행이나 많은 UI 라이브러리와 프레임워크들이 범람하는 요즘에는 자바스크립트는 웹개발을 하는데 있어서 주요한 위치에 있습니다.그러한 자바스크립트를 효율적이고 Clean한 코드작성을 위해서 많은 개념들이 필요한데 그러기 위해서 프로토타입은 꼭 알아야 하는것중 하나입니다.프로토타입에 대한 좋은설명 자료들이 웹상에 이미 많이 있어서 읽었지만 이해를 못했습니다. (이해력이 부족함 T_T)혹시 저처럼 혼돈을 맞는분들을 위해서 이 포스팅에서 다룰건 딱 하나 프로토타입에 대한 것 ..
스칼라, 파이썬, 클로저, 자바스크립트 등등 수많은 유행하는 언어들이 함수형 언어이거나 또는 함수형 프로그래밍을 지원할 수 있는 요소들을 가지고 있습니다. 함수형 코딩에 장점을 자바도 더 이상외면할 수 없기에 자바 역시 8에 와서는 드디어 함수적 코딩을 할 수 있는 요소들을 도입하게 되었습니다. (사실 함수라는 가면을쓴 인터페이스 입니다. 아마 이부분은 태생적 한계일거라고 생각합니다. 이하는 의미적 함수로 칭하겠습니다.) 8이 나오기 이전에 트렌드(?) 뒤처져 약간은 외면받았던 자바에 인기를 다시 끌어올릴 만큼 획기적인 변화라고 볼 수 있습니다. 자바에서 사용하는 함수적 표현 기법 즉 람다식에 대해서 알아보겠습니다.요즘 프로그래밍을 한다면 "람다" 어디 선가 한번쯤은 들어보셨을 겁니다. 사전적 용어를 검..
서로 다른 사이트 또는 같은 사이트의 HTTPS 프로토콜 호출인 Ajax 통신을 이용해서 JSON 구조의 데이터를 주고 받을일이 생길수 있습니다.그럴경우 크롬,파이어폭스 같은 브라우저에서 아래와 같은 메세지를 만나게 될수 있습니다.... No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ...이유와 해결방법에 대해서 설명 해보겠습니다. 1.SOP (Same Origin Policy)사실 위에 브라우저에서 보여주는 오류는 SOP 에 의한것이고 이것은 W3C 의 Client Side 보안정책중에 하나 입니다. 내용은 같은 스키마, 호스트, 포트가 일치할 경우에 문서나 스크립트에 접근할 수 있는 정책입니다. ..
자바8 에서 함수형 언어의 장점을 채용 하면서 함수형 언어에서 주로 사용되는 Currying(위키피디아) 기법을 사용할수 있게 되었습니다. Currying 은 쉽게 말하면 N개 이상의 인자를 받는 함수를 조합(chaining) 해서 재사용성을 높여주는 기법 입니다. 이하 아주 간단(유치한?)한 예제로 자바8 에서 currying 을 사용하는 코드 입니다.(아래 코드에 이해를 돕기 위해서는 자바8 에 람다식에 대한 이해가 필요 합니다.)123456789101112131415161718192021222324252627282930package function;import java.util.function.BiFunction;import java.util.function.Function;public class ..
자바 개발자 입장에서 파이썬을 써보면 참 간단 하면서도 강력하다고 느껴집니다.아래 간단한 코드는 폴더경로 입력시 하위에 파일안의 탭을 스페이스로 변환해주는 스크립트 입니다.요즘 IDE 툴에서 기본적으로 제공 되지만 파이썬 연습 삼아 ~ 123456789101112131415161718192021222324252627# -*- coding:utf-8 -*-import osimport refilepath = input('파일이 위치한 경로를 입력하세요:')ext = input('확장자를 입력하세요: ' ) '''파일경로와 확장자를 파라메터로 받아서 하위디렉토리 모두 탐색해서 조건에맞는 파일전체경로를 list 에 담아 리턴한다.'''def getFileList(filepath,ext): _filelist = ..
웹사이트에 올라가 있는 이미지를 PC 에 다운로드 받는 Python 소스 입니다.(버그가 많습니다 +_+;) 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697import requestsimport codecsimport reimport sys def getHttpData(urls): realurl = "" returnTxt = "" if urls.startswith("/"): realurl = requrl + urls else..
AES 는 PKI 같은 양방향 암호화 알고리즘 입니다.하지만 PKI(공개키 방식) 은 암호화키와 복호화키가 따로 존재해서 공개키로 암호화 하고 비밀키로 복호화 할수 있습니다.AES 방식은 암복호화시에 같은 키를 이용 합니다. 또한 AES 암호화 방식은 미국 1급비밀에도 사용가능한 유일하게 공개 되있는 알고리즘중 하나일 만큼 보안적으로 안전하다고 볼수 있습니다. 이하 간단한 샘플 소스를 올려 봅니다.12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849package aes; import java.security.Key;import javax.crypto.Cipher;import javax.crypto...
"영어는 잘되는데 한글은 깨져요" 자바 웹 개발자로 살아오면서 숱하게 겪고 숱하게 들어본 질문인 것 같습니다. 저 역시 많이 겪었고 인터넷 검색을 통해서 해결 해왔던것 같습니다. 하지만 웹 개발을 수년간 해오면서 진의를 파악하지 못한채 인터넷에 널린 해답지 같은 코드를 이것저것 붙여 넣어서 "황소 뒷걸음치다 쥐 잡듯" 이 우연히 해결 했던것 같습니다. 그런데 사실을 정확하게 인지 하고 있으면 문제에 대해서 근복적으로 접근할수 있기 때문에 웹 개발하면서 한글깨짐(결국 인코딩) 에 영향을 주는 여러 요인 조각들을 두서 없이 적어 보려 합니다. 1. jsp Page Directive1cs 요즘에는 좋은 템플릿 엔진들이 많이 나와서 약간 천대 받은듯 하지만 웹 개발자의 오래된 친구 JSP 입니다.JSP 페이지에..
"Unicode 와 UTF-8 의 차이점은 무엇인가요?"위 질문에 대해서 정확하게 대답할수 있으면 더이상 읽지 않으셔도 됩니다. Unicode 는 charset 이고 UTF-8은 Encoding 방법 입니다. 그럼 Charset 과 Encoding 은.. ? (보통 웹 개발에서 ..) Charset : 문자의 숫자표기(code point)Encoding : 숫자의 비트표기 아래 간단한 예제 소스가 있습니다.1234567891011121314151617181920212223242526import java.io.UnsupportedEncodingException;import java.math.BigInteger; public class CTest { public static void main(String[]..
- Total
- Today
- Yesterday