본문 바로가기

프로그래밍(TA, AA)

(251)
[프로그래밍] XML과 JSON의 차이 최근 XML이 빠르게 잊히고 있습니다. 개발자 사이에서 인기를 잃고 있으며 더 유연하고 빠른 형식으로 대체되고 있습니다. XML(Extensible Markup Language)은 1990년대 SGML(Standard Generalized Markup Language)을 기반으로 개발된 후 1997년 1.0 사양이 발표되면서 본격적으로 성장하기 시작했씁니다. XML의 장점은 이종 형식 간에 데이터 전송이 매우 편리하다는 것입니다. 독자적인 형식을 사용하는 여러 애플리케이션 사이에서 데이터를 공유하기 위해 데이터를 변환할 때 필요한 필터의 수가 크게 적었습니다. 이 때문에 마이크로소프트도 오피스 2007(Office 2007)에서 워드(Word)와 엑셀(Excel) 파일 형식을 XML 기반 형식으로 바꿨습..
[오픈소스] 비트코인과 블록체인 기술 요즘 핀테크에 대한 관심이 높습니다. Apple Pay를 시작으로 다양한 간편 결제 수단이 쏟아져 나오고 있고 국내에서도 인터넷 은행 설립이 추진되고 있습니다. 해외에선 다수의 IT 업체가 신용 대출이나 해외 송금과 같은 금융 서비스를 제공합니다. 이와 같은 움직임이 IT기술을 금융 서비스에 접목해 기존의 서비스를 개선하려는 것인 반면에 화폐 자체를 새로 정의하고 시스템 전체를 재구성하려는 비트코인과 같은 급진적인 움직임도 있습니다. 미국에선 영화 표나 비행기 표를 비트코인으로 구매할 수 있고 우리나라에도 몇 개의 비트코인 거래소가 개설되어서 비트코인을 현금과 교환할 수 있습니다. 지난 1~2년 사이 실리콘밸리엔 비트코인 기술을 기반으로 하는 여러 벤처 기업이 생겨나 비트코인이 현금을 대체할 날을 꿈꾸며..
[개발방법론] 레거시 코드 활용 전략 최근 관심이 간 책 중에 하나가 "레거시 코드 활용 전략"이라는 책입니다. 프로그래머의 중요한 임무중 하나는 다른 사람 혹은 자신이 생산한 레거시 코드를 끊임없이 개선하고 재생산하는 것이라고 생각합니다. 실제로도 경험한 대다수의 업무가 그러했습니다. 해당 책을 읽기 전에 관련하여 내용을 정리한 좋은 포스팅이 있어 일부 내용을 발췌해보았습니다. 출처는 http://soomong.net/blog/2010/11/21/book-legacy-code/ 입니다. - 레거시코드가 왜 변경될 수 밖에 없는 것이고 그 변경을 단위테스트로 cover - 테스트코드를 작성하기 쉽도록 레거시코드를 어떻게 리팩토링하는가 - 레거시코드에서 (비교적) 안전하게 의존관계를 제거하는 방법 - 의존관계를 없애기 위해 실용적인 전략들 -..
[자바스크립트] ES2015(ES6) 알아보기 2 Template javascript 개발에서 Template이라는 개념은 매우 중요합니다. JSON으로 응답을 받고 Javascript Object로 변환하고 어떠한 데이터처리 조작을 한 후에 dom에 추가하는 이 일련의 과정이 결국 UI 개발의 핵심이 되기 때문입니다. Javascript 개발은 데이터 + HTML문자열의 결합이라고 생각할 수 있습니다. 실제 DOM 조작 작업에 많은 로드가 들어가기 때문에 React나 Angular에서는 Virtual DOM과 같은 개념을 도입하여, 템플릿 작업을 프레임단에서 할 수 있게 지원하고 있습니다. 이전에는 Underscore, Handle bar 이런 라이브러리를 활용하여 ES6의 템플릿은 이러한 기능을 일부 포함하고 있습니다. const data = [ {..
[자바] 생성자와 정적 팩터리 메소드 생성자와 정적 팩터리 메소드 첫번째 장점은, 생성자와는 달리 정적 팩터리 메서드에는 이름이 있다는 것 입니다. 두번째 장점은, 생성자와는 달리 호출할 때마다 새로운 객체를 생성할 필요는 없다는 것 입니다. 세번째 장점은, 생성자와는 달리 반환값 자료형의 하위 자료형 객체를 반환할 수 있다는 것 입니다. 반환되는 객체의 클래스를 훨씬 유연하게 결정할 수 있습니다. 이 유연성을 활용하면 public으로 선언되지 않은 클래스의 객체를 반환하는 API를 만들 수 있습니다. 그러면 구현 세부사항을 감출 수 있으므로 아주 간결한 API가 가능합니다. 이 기법은 인터페이스 기반 프레임워크 구현에 적합한데, 이 프레임워크에서 인터페이스는 정적 팩터리 메서드의 반환값 자료형으로 이용됩니다. 인터페이스는 정적 메서드를 가..