이번 포스팅에서는 웹 어플리케이션의 동작에서 핵심적인 역할을 하는 WAS에 대해 다룬다. 웹 서버(Web Server)와 혼동하는 사례가 잦아, 면접 전에 정리할 필요가 있는 개념이다. 먼저 이해를 돕기 위해 웹 아키택처에 대한 이야기를 꺼내려고 한다. ▶ 2-tier 아키택처의 구조도. 클라이언트가 서버의 DB에 직접 접속한다. 3-tier(혹은 N-tier) 아키택처가 등장하기 전, 웹 애플리케이션들은 주로 2-tier 아키택처를 활용했다. 클라이언트가 직접 서버에 접속하여, 서버의 자원을 활용하는 방식이었으므로 개발이 편리했다. 하지만 2-tier 아키택처에서의 웹 애플리케이션은 보안에 취약했고, 유지보수도 어려웠다. 그래서 등장한 것이 3-tier 아키택처이다. ▶ 3-tier 아키택처의 구조도 ..
이른 아침 하루를 시작해야하는 직장인 및 학생들은 제대로 아침식사를 챙겨먹기가 버겁습니다. 저의 경우에도 집에서 직장이 1시간 반 이상 떨어져있다보니, 아침 일찍 출근 준비를 해야하고... 자연스럽게 아침을 거르거나 출근길에 김밥, 토스트를 사먹기 일쑤였는데요. 이번 포스팅에서는 제가 아침식사 대용으로 먹고있는 밀스칩에 대해 소개하려고 합니다. 밀스칩은 인테이크라는 회사에서 출시한 3대 영양소를 고루 갖춘 쿠키형태의 대용식입니다. 제조사에서 '미래식사' 라는 슬로건을 내걸고 있는 만큼, 밀스칩은 간편하고 확실한 식사를 도와주는 제품입니다. 안그래도 아침을 계속 사먹는 비용도 만만치 않아서 고민이 많았는데, 잘됐다 싶어서 1box(7개입)을 구매해봤습니다. 정가는 14000원인데, 잘 찾으면 10000원대..
집합연산자는 조회(SELECT) 쿼리의 결과를 대상으로 연산을 수행하는 연산자이다. UNION, UNION ALL, INTERSECT, MINUS등이 있다. 조회의 결과를 대상으로 연산을 수행하므로, 여러 개의 SELECT문을 하나의 쿼리로 만드는 연산자라고 할 수 있다. 정리를 하기 전에, 아래와 같은 데이터가 있다고 가정하자 1234567891011순번 과목명 이름----------------------1 국어 철수2 영어 철수3 수학 철수1 국어 영희2 사회 영희3 과학 영희4 도덕 영희5 영어 영희 cs 철수는 순서대로 국어, 영어, 수학을 이번학기에 듣고, 영희는 국어, 사회, 과학, 도덕, 영어를 이번학기에 듣는다. 이 데이터를 예로, 집합연산자를 소개하려고 한다. 1. UNION UNION은..
2017년 3월 6일, 고척 스카이돔에서 이스라엘vs대한민국의 경기로 2017 월드베이스볼클래식이 개막했습니다. 1라운드에 진출한 16개 국가는 3월 13일까지 2라운드로 진출하기 위한 경기를 벌이게됩니다. 이번 포스팅에서는 2017 월드베이스볼클래식(WBC)의 본선 라운드(2라운드 이후) 일정에 대해 알아보려고 합니다. 1라운드는 각 지역별로 동시에 치뤄졌습니다. (서울, 도쿄, 마이애미, 할리스코) 2라운드도 이와 비슷하게 지역별로 치뤄지는데요. 개최지는 도쿄와 샌디에이고입니다. 도쿄그룹의 경우 A조(서울)와 B조(도쿄)의 1,2위가 겨루게 되며, 샌디에이고그룹은 C조(마이애미)와 D조(할리스코)의 1,2위가 겨루게 됩니다. ▶ 2017 월드베이스볼클래식(WBC) 전체 일정 2라운드도 1라운드처럼 토..
C++와 JAVA을 비교하는 것은 대학에서 프로그래밍 언어를 배울 때, 얼핏 배우고 지나갔던 내용이었다. 비슷한 성격(객체지향)을 띄는 언어이지만, 차이점도 극명한 언어이기도하다. 나름의 기준으로 3가지 기준으로 차이점들을 정리해봤다. 아, 그리고 여기에 작성되는 것들이 JAVA와 C++ 차이점의 전부는 아니라는 점 꼭 알아뒀으면 좋겠다. 그리고 나름대로 중요한 것만 뽑았지만... 아닐 수도 있다.. 1. 상속 대학 수업에서 교수가 학생에게 C++과 JAVA의 차이점을 묻는다면, 높은 확률로 학생은 상속에 관련된 차이점을 대답할 것이다. 그정도로 상속에 있어 두 언어의 차이점은 극명한데, JAVA가 C++보다 단순한 상속 체계를 지원한다. 첫째로, C++은 다중 상속을 지원하고 JAVA는 그렇지 않다. ..
2017 월드베이스볼클래식 개막이 눈 앞입니다. 각 대표팀들은 평가전을 통해 마지막 담금질을 하고 있고, 대한민국 대표팀도 평가전을 벌인 결과 3연승으로 좋은 분위기를 만들어가고 있습니다. 이번 포스팅에서는 2017 월드베이스볼클래식(WBC)의 조별 예선라운드 일정에 대해 포스팅하려고 합니다. 먼저, WBC는 미국 메이저리그 더 베이스볼 사무국이 주관하는 대회입니다. 세계야구소프트볼총연맹에서 주관하는 프리미어12(전신은 야구월드컵이다.)보다 지명도가 떨어질 것 같지만 전혀 그렇지 않습니다. ▶2017 월드베이스볼클래식(WBC) 공식 홍보 영상 그 이유는 미국 메이저리그 더 베이스볼 사무국이 주관을 하다보니, 메이저리그 더 베이스볼 소속 선수들이 출전하는데 제약이 비교적 적기 때문입니다. 전 세계적으로 프..
오라클에서 사용할 수 있는 함수(사용자 정의 함수)제외를 간단하게 정리함. 1. 숫자함수 - ABS(n): n의 절대값을 반환함 - CEIL(n), FLOOR(n): n보다 같거나 큰 정수를 반환한다 (n은 실수) - ROUND(n, i): n을 소수점 i+1번째 자리에서 반올림 - TRUNC(n,i): n을 소수점 i+1번째 자리에서 버림 - POWER(n1, n2): n1을 n2번 거듭제곱한 결과 - MOD(n1, n2): n1을 n2로 나눈 나머지 값 2. 문자함수 - INITCAP(char): char의 첫문자(공백과 숫자를 제외한 알파벳 중 첫문자)만 대문자, 나머지는 소문자로 변환 - LOWER(char): char을 소문자로 변환 - UPPER(char): char을 대문자로 변환 - CON..
Springboot 책보면서 따라하다가.. (인텔리J 사용) Gradle에 새로운 dependency를 추가하고자 build.gradle에 compile('org.springframework.boot:spring-boot-starter-thymeleaf')compile('org.springframework.boot:spring-boot-starter-social-twitter') 라고 작성. 하지만 적용이 안된다.build하고 compile하고 쌩쇼를 하다가 구글링.. 결국 Refresh를 하라는 답변을 발견.근데 IntelliJ에서 그 기능을 못찾음. 그러다가 우연히 우측 하단에 Gradle 메뉴 발견! Gradle -> 프로젝트 우클릭 -> Refresh external project로 간단하게 해결..
정보보호 관련 수업을 들으면, 가장 먼저 배우게 되는 내용이 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..