본문 바로가기

프로그래밍 상식

(7)
[Jeus,WebtoB] Jeus,WebtoB를 연동 해야하는 이유 오늘은 간단하게 Jeus와 WebtoB를 왜 사용하고 그 둘에 대해 간단히 알아보도록 하겠다. Jeus는 이전에 설명했지만 간단히 소개하자면 Tmaxsoft에서 만든 WAS(Web Container) 이다. WebtoB는 Web to Business 의 준말로 Http의 Client 요청을 처리해주는 WebServer 이다. Apache와의 호환성을 위주로, 더 나은 성능과 안정성을 제공하기 위해 티맥스소프트에서 개발하였다. WebServer는 정적 컨텐츠를 처리하고 WAS은 동적 컨텐츠를 처리한다. 예전에는 안되었지만 기술의 발달로 WAS로 정적컨텐츠도 처리가 가능해졌으나 사용하지는 않는다. 그러면 왜 WebServer와 WAS를 같이 쓰면 안될까? 이는 서버 부하를 방지하기 위해서이다. was만을 이..
[Jeus] Jeus에 대하여 오늘은 Jeus에 대해 간단하게 알아보겠다. Jeus의 정의 웹 환경에서 애플리케이션을 개발, 운용, 실행할 수 있는 플랫폼 역할을 하면서 포괄적인 Java기반의 웹 어플리케이션 서비스와 관리를 제공하는 Web application Server(WAS)이다. Jeus v8의 특징 최신 표준 지원과 호환성 보장 탁월한 성능 및 안전성 제공 우수한 보안성 제공 대규모 분산 컴퓨팅 환경 지원 고가용 운영 환경 지원 개발 생산성 향상 Jeus v8의 구성 Domain 도메인은 Domain Administrator Server(DAS)와 Managed Server(MS)로 구성된 기본 관리 단위이다. - DAS는 도메인을 관리하는 서버로 도메인에서 오로지 하나만 존재한다. - DAS의 역할은 도메인 설정과 도메인..
[자바 상식] Spring MVC에 대하여 오늘은 Spring MVC패턴에 대해 간단히 알아보도록 하겠다. MVC는 Model, View, Controller의 약자이며, 각 레이어 간 기능을 구분하는데 중점을 둔 디자인패턴입니다. Model는 데이터 관리 및 비즈니스 로직을 처리하는 부분이며 (DAO, DTO, Service 등) View는 비즈니스 로직의 처리 결과를 통해 유저 인터페이스가 표현되는 구간입니다. html, jsp 등으로 화면을 구성하기도 하고 Rest API로 서버가 구현된다면 json응답으로 구성되기도 한다. Controller는 사용자의 요청을 처리하고 Model, View사이를 중개하는 역할을 합니다. Model과 View는 서로 연결되어있지 않아서 Controller가 사이에서 중개 매체가 되어줍니다. MVC 패턴이 간..
[자바 상식] VO,BO,DAO,DTO에 대해 DAO(Data Access Object) : DB의 데이터에 접근을 위한 객체를 말합니다. (보통 Repository, Mapper에 해당) BO(Business Object) : 여러 DAO를 활용해 비즈니스 로직을 처리하는 객체를 말합니다. (Service에 해당) DTO(Data Transfer Object) : 각 계층 간의 데이터 교환을 위한 객체를 말합니다. (여기서 말하는 계층은 Controller, View, Business Layer, Persistent Layer)) VO(Value Object) : 실제 데이터만을 저장하는 객체를 말합니다. Entity란 ? Entity 클래스는 실제 DB의 테이블과 1:1로 매핑되는 클래스로, DB의 테이블 내에 존재하는 칼럼만을 속성(필드)으로 ..
[웹 크롤링] Selenium과 BS4 오늘은 웹 크롤링에 관련된 Selenium과 BS4에 대해서 간단하게 알아보겠다. Selenium은 웹 브라우저를 자동으로 제어할 수 있게 해주는 패키지이다. 제어하고자 하는 웹 브라우저의 Driver를 설치해야 하며, 보통은 Chrome을 사용한다. 그에 따른 설치법은 따로 있기에 따로 설치해 주길 바란다. 처음 설명을 듣고 이해가 안 갔었다. 그래서 찾아보고 사용해 보니 간단하게 정의할 수 있었다. Selenium은 특정 웹 브라우저를 통해서 원하는 웹 사이트 내에서 원하는 정보를 불러온다 또는 가져온다 라는 게 정의로 알맞다고 생각한다. Selenium만 사용하기에는 부족하다. 원하는 데이터를 추출하려면 파일 종류를 잘 분류해야 하는데 이럴 때 사용하는 게 BeautifulSoup이다. Beauti..
@RequestBody, @RequestParam,@ModelAttribute의 차이 오늘은 간단하게 RequestBody, RequestParam, ModelAttribute의 차이점에 대해 간략하게 알아보겠다. @RequestBody 클라이언트가 전송하는 JSON 형태의 HTTP Body내용을 MessageConverter를 통해 Java Object로 변환시켜 주는 역할을 합니다. --> 값을 주입하지 않고 값을 변환 시키므로(Reflection을 할당), 변수들의 생성자, Getter, Setter가 없어도 정상적으로 할당된다. @RequestParam 1개의 HTTP 요청 파라미터를 받기위해 사용합니다. @RequestParam은 필수 여부가 True이기 때문에, 기본적으로 반드시 해당 파라미터가 전송 되어야 합니다. 전송되지 않으면 400 Error를 유발할 수도 있고, 반드시..
컴파일 VS 인터프리터에 대해 알아보자 면접을 대비하여 여러 가지 기초 상식을 준비하고자 상식 칼럼을 준비했다. 컴파일러 컴파일러는 프로그램 전체를 스캔하여 이를 모두 기계어로 번역한다. 전체를 스캔하기 때문에 대게 컴파일러는 초기 스캔 시간이 오래 걸린다. 하지만 전체 실행시간을 따지고 보면 인터프리터보다 빠르다. 왜냐하면 컴파일러는 초기 스캔을 마치면 실행 파일을 만들어 놓고 다음에 실행할 때 이전에 만들어 놓았던 실행 파일을 실행하기 때문이다. 하지만 단점도 있다. 컴파일러는 고급언어로 작성된 소스를 기계어로 번역하고 이 과정에서 오브젝트 코드라는 걸 만드는데 이 오브젝트 코드를 묶어서 하나의 실행파일로 다시 만드는 링킹이라는 작업을 해야 한다. 컴파일러는 오류 메시지를 생성할 때 전체 코드를 검사한 후에 오류 메시지를 생성한다. 그래서..

반응형