profile
공부하여 이해가 된 것만 정리합니다.
post-thumbnail

자바 시리즈 6 - Spring의 등장, 특징

멀리 돌아왔다. 드디어 이 시리즈의 가장 큰 목표, Spring이다. Spring이 등장한 배경을 알기 위해 이 시리즈를 기획했는데, 깊이 들어가다보니 EJB가 나왔고, EJB라는 것 자체가 그렇게 어려우면 안쓰면 될 텐데! 하고 더 파보다 보니 java의 등장과 발전 과정이 나왔기에, 시리즈를 기획할 수 밖에 없었다. 아무튼, 이번 포스팅의 주제는 Spring의 등장이다. 자료 조사 자체가 만만치 않았다. 여러 서적과 블로그, 당시 진행했던 강연과 같은 것들을 훑어 보고 이를 정리하다보니 많은 시간이 걸려 이 포스팅이 늦어지게 되었다. 먼저, 지난 포스팅 마무리 단계에서 나왔던 EJB를 사용하게 된 계기에 대해 말해보자면, 트랜잭션 관리 인증과 접근 제어 EJB 인스턴스 풀링 세션 관리 DB와의 커넥션 관리 위와 같은 로우 레벨 기술을 개발자들이 신경쓰지 않아도 될 수 있게, EJB 사양이 이를 대신 해주었던 것이다. 하지만 이를 위해 E

2023년 4월 10일
·
0개의 댓글
·
post-thumbnail

자바 시리즈 5 - ejb의 등장 2(ejb 내부 구조와 동작 원리)

이전 포스팅에서는 ejb의 탄생 배경과 특징, 가능한 기능에 대해 다루어 보았다. 이번 포스팅은 어떤 구조를 가지며, 동작 원리는 어떻게 되는 지 정리하려 한다. > #### 용어 정리 Enterprise Beans, EJB Bean - 빈 EJB Container - 컨테이너 먼저 EJB를 사용하기 위해서는, 두 가지가 필요하다. 예전 web server와 WAS를 다룬 포스팅에서 잠깐 언급했는데, WAS의 내부 모듈이면서도 WAS의 다른 이름인 Web Container, 그리고 EJB Container이다.(일부 문서에서는 EJB 엔진이라고 표현하기도 한다.) 그리고 빈은 컨테이너 내부에서 동작하며, 컨테이너는 빈들의 lifecycle 관리를 맡는다. *빈

2023년 4월 7일
·
0개의 댓글
·
post-thumbnail

자바시리즈 4 - ejb의 등장 1 (Feat. Java Beans)

Servlet, JSP의 등장 이후 시스템 규모가 점점 커져갔다. 대량의 트래픽을 감당하기 위해 서버를 나누고, 여러 대의 서버와 DB가 데이터를 주고 받다보니 시스템 구조의 복잡성이 증가했다. 한 가지 요청을 위해 여러 서버나 DB가 개입해야 한다든지, 여러 db 요청이 오가야 한다든지, 요청 중 다른 요청을 동시에 처리해야 한다든지 등의 복잡한 기술이 요구되기 시작했다. 여러 시스템이 운용되다보니, 데이터가 오가는 데에 있어 보안이 취약해지는 부분이 생기기도 했다. 하지만 기업 내 한정된 개발자 풀 내에서 비즈니스 로직 뿐만 아니라 위의 문제와 요구를 해결하기는 쉽지 않았다. 이러한 문제를 해결하고자 나온 기술이 바로 이번 포스팅에 소개할 EJB이다. EJB EJB의 사상은 위에 제기된 여러 문제, 즉 로우 레벨의 기술에 대한 문제를 신경쓸 필요 없이 비즈니스 로직에만 집중할 수 있게 하는 데에 있다. EJB는 독립적으로 개발한 컴포넌트를 배포하고, 서로 연동해

2023년 4월 6일
·
0개의 댓글
·
post-thumbnail

자바시리즈 2 - Servlet의 등장(이라 쓰고 Web Server, WAS의 내용을 담은,,)

지난 시리즈에서 기술한 바와 같이, 동적 페이지를 만들기 위해 자바 애플릿이 사용되었고, 시간이 지남에 따라 동적 페이지에서 요구하는 데이터의 양이 방대해지기 시작하면서 자바 애플릿 태그로 프로그램을 다운받아 사용하는 방식에서 CGI라는 방식이 등장했다. > 여기서 잠깐, 정적 페이지와 동적 페이지의 차이에 대해 다시 짚고 간다. 정적 페이지 - 파일 경로를 받아 경로에 맞는 페이지를 반환한다. 이미 만들어져 있는 html, css, image와 같은 컴퓨터에 저장된 파일을 반환하는 것 동적 페이지 - 동적 페이지는 인자를 받아 인자에 맞는 페이지를 반환한다. 인자를 처리하는 로직이 필요하며, 웹 서버에 의해 실행되는 프로그램의 로직을 통해 만들어진 결과물을 반환하는 것 결국 정적 페이지와 동적 페이지는, 이미 만들어져 있는 페이지를 반환하느냐, 사용자에 따라 변화된 페이지를 반환하느냐의 차이라고 볼 수 있다. CGI ![](https://velog.vel

2023년 4월 4일
·
0개의 댓글
·
post-thumbnail

자바시리즈 1 - java의 탄생과 초기 활용

나는 자바 개발자로 활동하면서 어떤 배경에서 필요성이 대두되었고, 그 필요성과 편의성을 위해 제작되었는지 정리하기보다, 어떻게 사용해야 하는 지 알아보고 정리하는 것에 급급했다. 시리즈를 시작하면서, 기술이 어떤 이유에서 생겼고, 어떤 장점을 가지고 현재에 와 있는지, 그리고 혹시나 내가 더 좋은 방향으로 발전시킬 수 있진 않을 지 알아보기 위해 정리해본다. OAK의 탄생 자바는 제임스 아서 고슬링이라는 현재까지도 활동중인 개발자에 의해 개발되었다. 이 사람은 sun micro system이라는 기업에 재직 중 '그린 프로젝트'라는 프로젝트에서 냉장고, tv등 가전 제품 내 플랫폼과 독립된 기능을 만들고자 oak라는 언어를 개발했다. sun micro system은 1982년 설립된 기업

2023년 4월 3일
·
0개의 댓글
·