정보보호 관련 수업을 들으면, 가장 먼저 배우게 되는 내용이 SSL이다. 암호화의 기원, DES, AES와 같은 개요에 해당하는 내용은 생략하고, 바로 본론으로 들어가도록 하겠다. 대칭키(Symmetric Key) 암호화 방식은 암호화와 복호화에 같은 암호 키(대칭키)를 사용하는 암호화 알고리즘이다. 후술할 공개키 암호화 방식에 비해 암호화 및 복호화가 빠르다는 장점이 있다. 하지만, 암호화 통신을 하는 사용자끼리 같은 대칭키를 공유해야만 한다는 단점이 있다. ▶대칭키 암호화 방식을 잘 설명한 그림. 대칭키를 공유해야만 한다는 것이 왜 단점일까? 먼저, 대칭키 암호화 방식은 암호화와 복호화가 비교적 간편하다. 게다가 대칭키를 사용자끼리 물리적으로 직접 만나서 전달하지 않는한, 대칭키를 전달하는 과정에서 ..
SQL의 조건식은 WHERE절에서 많이 사용된다. WHERE절은 SELECT, UPDATE, DELETE문에서 특정 조건의 레코드를 지정하고 싶을 때 사용된다. WHERE절에서 사용했던 NOT, NULL등의 조건식들의 모두 포함된다고 보면 된다. 조건식의 분류는 아래와 같다. 1. 비교조건식 (ex: ANY, SOME, ALL, IN, EXIST) 2. 논리조건식 (ex: AND, OR, NOT, BETWEEN) 3. NULL조건식 4. LIKE조건식 1. 비교조건식 비교조건식은 논리연산자(, 등, 참고: [ORACLE] SQL의 연산자(Operator) 정리)나 ANY, SOME, ALL, IN, EXISTS 키워드로 특정 값을 비교하는 조건식을 말한다. 논리연산자의 사용 예는 생략하고, ANY와 SO..
'프레임워크(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. 컬렉션 프레임워크의 인터페이스 구조 왠 인터페이스!? 라고 생각하는 사람도 있겠다. 사실 컬렉션 프레임워크의 구성요소들은 '미리 정의된 클래스'이다. 그리고 이들을 계층화 (묶어주는)해주는 인터페이스가 존재한다. ▶ 컬렉션 프레임워크의 인터페이스 구조 위 그림은 컬렉션 프레임워크의 인터페이스만 나타낸 그림이다. 즉, 모..