목록전체 글 (32)
왓풀(whatpull)
프로젝트의 전체적인 라이프사이클을 관리하는 관리도구이다. 프로젝트 객체모델(Project Object Model: POM) 이라는 개념을 바탕으로 프로젝트의 의존성관리, 라이브러리관리, 프로젝트 라이프사이클 관리 기능등을 제공하는 프로젝트 관리도구이다. 플러그인을 기반으로 소스코드로부터 배포 가능한 산출물을 만들어내는 빌드 기능을 제공한다. 빌드란? build 소스코드 파일을 컴퓨터에서 실행 할 수 있는 독립 SW가공물로 변환하는 과정, 결과물 이다. 즉, 작성한 소스코드(java), 프로젝트에서 쓰인 각각의 파일 및 자원 등 (.xml, .jpg, .jar, .properties ..)을 JVM이나 WAS가 인식할 수 있는 구조로 패키징 하는 과정 및 결과물이라고 할 수 있다. 빌드도구 build to..
자바 가상 머신(영어: Java Virtual Machine, JVM)은 자바 바이트코드를 실행할 수 있는 주체이다. 일반적으로 인터프리터나 JIT 컴파일 방식으로 다른 컴퓨터 위에서 바이트코드를 실행할 수 있도록 구현되나 jop 자바 프로세서처럼 하드웨어와 소프트웨어를 혼합해 구현하는 경우도 있다. (이론적으로는 100% 하드웨어 구현도 가능하나 비효율적이다) 자바 바이트코드는 플랫폼에 독립적이며 모든 자바 가상 머신은 자바 가상 머신 규격에 정의된 대로 자바 바이트코드를 실행한다. 따라서 표준 자바 API까지 동일한 동작을 하도록 구현한 상태에서는 이론적으로 모든 자바 프로그램은 CPU나 운영 체제의 종류와 무관하게 동일하게 동작할 것을 보장한다. 자바 프로세서 - 위키백과, 우리 모두의 백과사전 위..
콜백 함수는 다른 함수에 인수로 전달된 함수이며 외부 함수 내부에서 호출되어 일종의 루틴이나 작업을 완료합니다. 다음은 간단한 예입니다. function greeting(name) { alert('Hello ' + name); } function processUserInput(callback) { var name = prompt('Please enter your name.'); callback(name); } processUserInput(greeting); 위의 예는 즉시 실행되는 동기식 콜백입니다. 그러나 콜백은 비동기 작업이 완료된 후 코드 실행을 계속하기 위해 자주 사용됩니다. 이를 비동기 콜백이라고 합니다. 좋은 예는 .then()약속이 이행되거나 거부된 후 약속의 끝에 연결된 블록 내에서 실행..
데이터베이스와 파일시스템에서 B-Tree를 많이 사용합니다. rdb 인덱스 관련해서 정리해보다가 일반적으로 B-Tree , B+-Tree 자료구조를 사용하는것을 알게되었습니다. B-Tree 자료 구조에 대해서 알아보도록 하겠습니다. InnoDB에서 사용된 B+tree 출처: https://blog.jcole.us/2013/01/10/btree-index-structures-in-innodb/ B+Tree index structures in InnoDB [This post refers to innodb_ruby version 0.8.8 as of February 3, 2014.] In On learning InnoDB: A journey to the core, I introduced the innodb_d..
해시 테이블 Hash table(hash map)이란 해시함수를 사용해서 변환한 값을 index로 삼아 key와 value를 저장하는 자료구조를 말한다. 다시 말해 해시 테이블은 어떤 특정 값을 받아서 해시 함수에 입력하고, 함수의 출력값을 인덱스로 삼아 데이터를 저장한다. 파이썬의 dictionary, 루비의 Hash, 자바의 Map이 해시 테이블의 대표적인 예다. 해시 테이블의 특징을 나열해보자. 기본 연산으로는 search, insert, delete가 있다. 순차적으로 데이터를 저장하지 않는다. key를 통해서 value를 얻을 수 있다. => 이진탐색트리나 배열에 비해서 속도가 획기적으로 빠름 커다란 데이터를 해시해서 짧은 길이로 축약할 수 있기 때문에 데이터를 비교할 때 효율적이다. value..