'프레임워크(Framework)'라는 용어는 정말 많이 쓰이지만, 딱 정의를 내리기엔 애매한 용어같다. 먼저, 위키피디아 한국어판의 '소프트웨어 프레임워크'에 대한 정의는 아래와 같다. "소프트웨어 환경에서 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조" '라이브러리(Library)'라는 용어의 경우에는 프레임워크에 비해 비교적 정의가 명확한데, 일단 위키피디아 한국어판의 정의는 아래와 같다. "소프트웨어 개발에 쓰이는 하부 프로그램들의 모임" 즉, 자주 쓰일 만한 기능들을 (따로 구현하여) 모아 놓은 유틸(혹은 클래스)의 모음이라고 할 수 있다. 라이브러리와 프레임워크, 이 둘은 애플리케이션의 틀과 구조를 결정한다는 측면에서 활용도가 상당히 유사하다. 그래서 이를 구분하기가 굉장히 힘들..
당신이 인터넷으로 웹 페이지에 접속 할 때 어떤 네트워크 작용이 일어나는지 설명하는 것. "어느정도로 자세히 설명해야하는가?" 에 대한 명확한 기준은 없지만, 대학 시절 배운 지식만으로도 충분히 자세히 설명할 수 있다. 이 세상의 대부분 웹 서버는 모두 IP 주소를 가지고 있다. 당신이 인터넷을 서핑하는 것도, 해당하는 IP주소로 접속하여 그 웹서버가 제공하는 데이터를 보는 것이다. 즉, 브라우저에 IP 주소를 직접 입력하면 이 포스팅에서 설명할 대부분 과정을 생략하고 웹 사이트에 접속할 수 있다. ▶네이버의 IP주소를 직접 입력하여 접속한 모습, nslookup 명령어로 DNS서버에서 IP주소를 찾았다. 이렇게 접속하면 속도도 뭔가 빠른것 같고(실제로 더 빠르긴 하지만 체감하기 어렵다.) 전과 다름없는..
WHERE문은 SQL의 SELECT, UPDATE, DELETE문에서 쓰인다. 오늘은 SELECT문에서 자주 쓰이는 WHERE 조건에 대해 포스팅해보려고한다. 오라클에서는 다양한 연산자를 제공하는데, 분류하자면 아래와 같다. 1. 수식연산자 (예: +, -, *, /) 2. 문자연산자 (예: ||) 3. 논리연산자 (예: =,, 등) 4. 집합연산자 (예: UNION, INTERSECT 등) 5. 계층형 쿼리연산자 1. 수식연산자 더하기, 빼기, 곱하기, 나누기이다. +와 -의 경우, 양수와 음수를 나타낼 때 사용하기도 한다. 당연히 조건식에 직접적으로는 잘 사용되지 않는다. (+, -, *, / 로는 논리적 판단을 할 수가 없음) 2. 문자연산자 ||이 있는데, 두 문자를 연결하는 연산을 수행한다. 사..
상호배제(Mutual Exclusion)란, 특정 프로세스가 공유 자원을 사용 중일 때 다른 프로세스가 이 자원에 접근하지 못하도록 막는 것을 의미한다. 그러니까, 공유를 하면 안되는 자원(Resource)의 동시 사용을 피하는 방법 중 하나이다. 스레드의 경우, 프로세스와 달리 메모리의 Stack 영역을 제외한 부분을 다른 스레드와 공유하는데, 이 부분에서 스레드간 동시 사용을 피하고 싶을 때 주로 사용한다. (※참고: [IT 기술면접 준비자료] 교착상태와 식사하는 철학자들) 동시 접근을 막기 위해 프로그래머에 의해 구현된 코드 영역을 임계 구역(Critical Section)이라고 한다. ▶상호배제를 재미있게 설명한 삽화. Mutex가 지켜주는 덕에, 화장실은 딱 1명만 쓸 수 있다. 더 쉬운 이해를..
2016년 11월 25일, 넥센 히어로즈는 2017 시즌을 책임질 1선발 션 오설리반의 영입을 발표했습니다. 계약규모가 무려 총액 110달러나 됩니다!! 용병 선발까지 가성비를 중요시하던 히어로즈인데.. 이번에 뭉칫돈을 풀다니...! 감격스러우면서도 션 오설리반 선수에 대해 기대를 하게 됩니다. ▶필라델피아 필리스 시절의 션 오설리반. 그는 186cm, 111kg의 당당한 체격을 가졌다. 션 오설리반은 스캇 맥그레거의 대체 자원으로 선발되었습니다. 스캇 맥그레거는 150km/h를 상회하는 빠른볼과 괜찮은 제구를 갖고 있었지만, 지나치게 공격적인 투구 스타일을 갖고 있었습니다. 공격적인 투구 스타일이 나쁜 것은 아닙니다만, 결정구 없이 너무 공격적이면 좋지만은 않다는 것을 잘 보여주는 사례 같습니다. 그럼..
부제: 인덱스란?, 인덱스에 대하여. 색인(Index, 앞으로는 '인덱스'라고 칭하겠다.)은 오라클에서 데이터를 빨리 찾기 위한 용도의 데이터베이스 객체이다. 위키피디아에서 정의한 인덱스의 뜻은 다음과 같다. "데이터베이스 분야에 있어서 테이블에 대한 동작의 속도를 높여주는 자료 구조" 정의가 조금 애매하지만, 보통 인덱스를 통해 성능 향상을 얻는 연산은 검색 연산(SQL의 SELECT)이다. (더 이상의 자세한 설명은 생략한다.) 인덱스가 무엇인지 설명하기 보다는, 오라클에서 인덱스를 어떻게 사용하는지 다루려고한다. 인덱스는 테이블에 있는 한 개 이상의 컬럼으로 만들 수 있다. 생성 예는 아래와 같다. 123CREATE INDEX indexname1ON table1(column1) cs 한편, 인덱스는..
부제: LG 태블릿 추천, WIFI 전용 테블릿 추천, 가성비 태블릿 추천, EBook용 테블릿 추천, 인강용 테블릿 추천 ★LG G패드3 8.0 개봉기 보러가기(클릭) 안녕하세요. preamtree입니다. LG G패드3 8.0을 구매한지 3달이 넘었습니다. 언젠가 사용후기를 꼭 남기고 싶었는데, 지금이 적기인 것 같아서 사용후기를 써봅니다. LG전자의 태블릿은 가성비가 좋은 중국제품과 빼어난 성능 및 사용성의 S전자 제품에 밀려, 제대로 된 정보조차 없는 상황인 것 같습니다. LG전자 태블릿 구매를 고민하고 있는 분들께 작은 도움이 되었으면 좋겠습니다. 사용후기는 지극히 주관적인 관점에서 작성된 점 참고해 주세요. 1. LG G패드3 8.0에 대한 전반적인 사용 후기 제품 명에서 알 수 있듯 화면 크기..
Java의 Collection Framework는 프로그램의 개발에 있어, 유용하게 쓰일 자료구조를 정의해놓은 것이다. 이를 통해 모든 객체타입을 구성요소로 하여 데이터 저장 방식을 손쉽게 활용할 수 있다. 단, Primitive Type(기본형)의 경우, 구성요소가 될 수 없음에 유의하자.※ 참고: [IT 기술면접 준비자료] JAVA의 Wrapper Class와 AutoBoxing 1. 컬렉션 프레임워크의 인터페이스 구조 왠 인터페이스!? 라고 생각하는 사람도 있겠다. 사실 컬렉션 프레임워크의 구성요소들은 '미리 정의된 클래스'이다. 그리고 이들을 계층화 (묶어주는)해주는 인터페이스가 존재한다. ▶ 컬렉션 프레임워크의 인터페이스 구조 위 그림은 컬렉션 프레임워크의 인터페이스만 나타낸 그림이다. 즉, 모..
제약조건은 컬럼에 대한 속성을 정의하는 것이며, 데이터 무결성을 보장하기 위한 용도로 사용된다. 다시말해, 제약조건을 설정한다는 것은 테이블이나 속성에 부적절한 데이터가 들어오는 것을 사전에 차단하도록 규칙을 정하는 것이라고 생각하면 된다. 제약조건은 컬럼의 속성처럼 사용하지만, 엄연히 데이터베이스의 객체이므로 고유의 이름(제약조건 명)을 지정해주어야 한다. 사용자가 지정하지 않는 경우, ORACLE이 자동으로 부여해준다. 1. NOT NULL 컬럼을 정의할 때(NOT NULL의 경우 오로지 컬럼에만 적용 가능하다. 테이블은 안됨.) NOT NULL 제약조건을 명시하면 해당 컬럼에는 반드시 데이터를 입력해야만 한다. 반드시 데이터가 들어와야만 하는 컬럼에 명시를 해두면 유용할 것이다. 사용 예는 아래와 ..
데이터 타입(DataType)은 컬럼이 저장되는 데이터 유형을 말한다. 오라클의 데이터 타입은 오라클이 기본으로 제공하는 기본 데이터 타입(혹은 원시 데이터 타입)과 사용자 정의 데이터 타입으로 분류할 수 있다. 1. 문자 데이터 타입 문자나 문자열 데이터를 저장할 수 있는 데이터 타입을 의미한다. 종류와 특징은 아래와 같다. 데이터 타입 설명 CHAR(size) 고정길이 문자를 저장. 최대 2000byte. 최소 1byte. VARCHAR(size) 가변길이 문자를 저장. 최대 2000byte. 최소 1byte. NCHAR(size) CHAR와 같으나 유니코드 형태이다. NVARCHAR(size) VARCHAR과 같으나 유니코드 형태이다. LONG 최대 2GB 크기의 가변길이 문자형이다. 잘 사용하지 ..