WAS(WebApplicationServer)란? WAS에 대한 설명을 검색하여 찾으면 다음과 같은 글로 정의된 검색결과들이 많이 존재한다. HTTP를 통한 동적인 웹페이지 요청을 처리하기 위해서 코드를 실행하기 위환 환경이자 미들웨어라고 한다. 이러한 WAS는 프로그램 실행환경과 DB접속 기능을 제공하며 여러개의 트랜잭션을 관리하고 업무를 처리하는 비즈니스 로직을 수행하는 것을 말한다. 웹 사용자가 어떤 요청을 하게되면 그 요청에 맞는 코드를 실행해야하고 그 실행된 결과를 웹서버에서 다시 클라이언트에 돌려주게되는 이런 형태로 동작하게된다. 동적으로 문서를 만들기 위한 코드들 Server App과 이 Server App을 실행할 수 있게 만들어주는 환경(WebServer+WAS)들이 웹을 만들기 위한 기..
랜덤포레스트는 의사결정트리를 이용해 만들어진 것으로 여러개의 의사결정트리를 만들고, 투표를 시켜 다수결로 결과를 결정하는 방법을 말한다. 왜 여러개의 DecisionTree를 생성할까? 그것은 각각의 트리들이 서로 다른 데이터셋과 무작위로 선택된 feature를 통해서 학습되기 때문이다. 이렇게 트리들이 서로 다른 데이터와 feature를 통해 학습되기 때문에 Tree들이 다양한 시각에서 데이터를 바라볼 수 있게 된다. 따라서 그냥 DecisionTree를 사용하는 것보다 이러한 여러개의 DecisionTree 들을 모아서 투표를 진행하게된다. 그렇다면, 이 투표는 어떻게 진행될까? 말 그대로 다수결 투표이다. 간단한 예시를 통해서 이해하고 넘어가자 예를 들어, 3개의 Decision Tree 모델이 있..
사람들이 흔히 말하는 주식은 보통주를 말한다. 보통주란? 회사의 수익에 대한 소유권이 있으며 원칙적으로 많은 지분을 가준 주요 주주들이 회사 경영진들의 결정을 감시할 수 있는 이사회를 통해 운영된다. 우선주란? 회사채의 성격과 보통주의 성격이 복합된 주식형태로서 배당과 회사 부도시 잔여재산에 대한 청구권을 가지고 있으며 보통주보다 우선적으로 청구권을 가진다. 그렇기에 우선주라고 불린다. 우선주는 소유권은 있으나 의결권이 없으며, 주주총회 등 직접적인 관여를 하지 않는다. 그렇지만 기업은 우선주 투자자에게 정해진 배당금을 지속적으로 지불하게 되어있다. 보통주와 가장큰 차이점인데 보통주는 일정하지 않은 금액의 배당금을 지불받을 수도 있고, 그렇지 않을 수도 있다. 하지만 우선주는 소유하고 있는 내내 정해진 ..
인프라를 운영 및 구축 혹은 어떠한 이슈를 해결함에 있어서 TCP/IP를 아느냐 모르냐는 차이가 매우 크다고 말할 수 있다. OSI 7 Layer와 더불어 TCP/IP는 개발자, 엔지니어를 가리지 않고 나오는 단골소재이다. TCP/IP란? 인터넷 프로토콜 스위트(Internet Protocol Suite는 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약(프로토콜)의 모음이다. 인터넷 프로토콜 슈트 중 TCP와 IP가 가장 많이 쓰인다. IP 프로토콜 vs TCP 프로토콜? 무슨차이인가? TCP/IP는 하나의 프로토콜이 아닌 TCP와 IP를 합쳐서 부르는 말이며 TCP/IP를 사용하겠다는 말의 의미는 IP주소 체계를 따르고 IP Routing을 이용해 목적지에 도달하여 TCP의 특성을 활용해 ..
현실의 어떠한 문제를 해결하기 위해서 어떠한 모델을 세웠으면 그 모델이 어느정도의 성능을 내고 있는지 평가할 필요가 있다. 따라서 보통 위와 같이 데이터를 훈련용, 검증용, 테스트용 이렇게 3가지로 분리하는 것이 일반적이다. 3가지로 분류하는 이유 1. 훈련데이터 = 문제지 2. 검증데이터 = 모의고사 3. 테스트데이터 = 실제시험 이렇게 비유할 수 있는데 검증용 데이터는 모델의 성능을 평가하기 위한 데이터가 아니라 성능을 조절하기 위해서 필요한 데이터이다. 과적합(Overfitting)을 판단하거나 하이퍼 파라미터의 값을 조정하기 위해서 필요하다. #하이퍼파라미터(초매개변수)와 매개변수 하이퍼파라미터는 매개변수와 달리 값에 따라서 모델의 성능에 영향을 주는 매개변수를 말한다. 반면 매개변수는 모델이 학..
1. 정규화 정규화란 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 확보하기 위해서 데이터를 분해하는 과정을 말합니다. 이러한 정규화를 거치게되면 비즈니스(업무)에 변화가 발생하더라도 데이터 모델의 변경을 최소하 할 수 있습니다. 제5 정구화까지 존재하지만 실질적으로는 보통 제3 정규화까지만 수행하기 때문에 이 포스팅에서는 제3 정규화까지만 알아보도록 하겠습니다. #정규화절차 정규화 절차 설명 제1 정규화 - 속성(Attibute)의 원자성을 확보한다 - 기본키를 설정한다 제2 정규화 - 기본키가 2개 이상의 속성으로 이루어진 경우, 부분 함수 종속성을 제거한다 제3 정규화 - 기본키를 제외한 컬럼간의 종속성을 제거한다. - 즉, 이행 함수 종속성을 제거한다. BCNF - 기본키를..
(이글은 네이버 블로그 운영당시 작성한 글을 옮기었습니다. 따라서 2019년에 작성된 글입니다.) 1. 데이터 모델링의 이해 우리의 목적은 관계형 데이터베이스, 즉 표에 정보를 담는 것인데, 정보를 데이터베이스 표에 담는 것에 성공만하면 거대한양의 데이터를 데이터베이스가 가진 장점들을 활용하여 다룰 수 있게 되기 때문입니다. 하지만 무한히 거대하고 복잡한 현실을 정보로 만들어서 표에담는 것은 결코 간단하지 않습니다. 이러한 복잡한 현실을 데이터베이스화 시키는 것이 바로 데이터 모델링인데요. 따라서 데이터 모델링은 현실세계를 데이터베이스로 표현하기 위해서 우리는 추상화라는 것을 하게되고 그러기 위해서는 그 데이터와 관련된 업무파악을 해야합니다. 업무파악이 끝났으면 현실의 업무를 뜯어내서 개념을 찾아..