일하고 있는 도중, 선배가 갑자기 질문을 했다. 선배 : 민우씨 web application의 시작이라고 할 수 있는 web.xml에 대해서 설명해줄 수 있어요? 나 : 당연하죠ㅎㅎ web.xml은 . . . . . 라고 아무말도 못했다.. web.xml을 듣자마자는 당연히 설명할 수 있을 것 같아서 자신있게 알고있다고 말한 내 자신이 부끄러워지는 순간이였다. 여러분들은 web.xml에 대해서 정확하게 알고 계신가여..? web.xml web.xml은 web application의 설정파일 이라고 보면된다. web ContextLoderListener 이 실행될 때 메모리에 로드되는 web.xml은 크게 3가지 역할을 수행한다. web.xml 의 대표적인 3가지 역할 DispatcherServlet, C..
[Java] HttpServletRequest와 ObjectMapper를 이용하여 JSON 데이터 전송. HttpServeltRequest 객체에 담겨있는 파싱된 HTTP 요청 메시지 덕분에 개발자들은 HTTP 요청 메시지를 편리하게 사용할 수 있다.(개발자가 직접 파싱해도 되지만, 매우 불편할 것이다.)오늘은 HTTP API에서 velog.io 공부중에, 신선함을 위해 velog.io를 이용해서 포스팅 해봤음 티스토리랑 다를건 없는듯..

WAS의 주요 기능중에 servlet 객체를 자동으로 호출해 준다고 배웠는데 서블릿 객체를 누가 호출할까? 쓰레드 애플리케이션 코드를 하나하나 순차적으로 실행하는 것은 쓰레드 자바 메인 메서드를 처음 실행하면 main이라는 이름의 쓰레드가 실행 쓰레드가 없다면 자바 애플리케이션 실행이 불가능 쓰레드는 한번에 하나의 코드 라인만 수행 동시 처리가 필요하면 쓰레드를 추가로 실행. 단일 쓰레드를 사용하면 단일 요청은 문제 없이 처리가 가능하지만 다중 요청은 어떻게 처리할까? 방법은 2가지가 존재한다. 1. 요청 마다 쓰레드를 생성하는 것 장점 동시 요청을 처리할 수 있다. 리소스(CPU, 메모리)가 허용할 때 까지 처리가 가능하다. 하나의 쓰레드가 지연 되어도, 나머지 쓰레드는 정상 동작한다. 단점 쓰레드는 ..

WAS HTTP 기반으로 동작 웹 서버 기능 포함 프로그램 코드를 실행해서 애플리케이션 로직 수행 WEB SERVER 과 WAS 의 차이 웹 서버는 정적 리소스, WAS는 애플리케이션 로직 자바는 서블릿 컨테이너 기능을 제공하면 WAS WAS는 애플리케이션 코드를 실행하는데 더 특화 웹 시스템 구성 - WAS, DB WAS, DB 만으로 시스템 구성 가능 WAS는 정적 리소스, 애플리케이션 로직 모두 제공 가능 WAS가 너무 많은 역할을 담당, 서버 과부하 우려 가장 비싼 애플리케이션 로직이 정적 리소스 때문에 수행이 어려울 수 있음 WAS 장애시 오류 화면도 노출 불가능 웹 시스템 구성 - WEB, WAS, DB 정적 리소스는 웹 서버가 처리 웹 서버는 애플리케이션 로직같은 동적인 처리가 필요하면 WA..

1. Node.js란? JS는 웹 브라우저(인터프리터)에서 실행됐기 때문에 실행 하는데 큰 무리 없었지만, 백엔드 서버에서 실행시키려면 Node.js가 필수적임. 2. Node.js 다운 https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 에 접속해서 LTS 버전을 다운받으시면 됩니다.. 3. Node.js 실행 vscode를 열어서 적당한 곳에 프로젝트 폴더를 생성한 후, index.js 파일을 생성한다. node index.js 터미널의 위와 같은 명령어를 실행시키면 터미널에 console.log의 결과 값을 확인할 수 있다. 4. npm이란? np..
1. @Controller 는 무엇일까요? 전통적인 Spring MVC의 컨트롤러의 @Controller는 주로 View를 반환하기 위해 사용된다. [ Controller로 View 반환하기 ] 1. Client는 URL 형식으로 웹 서비스에 요청을 보낸다. 2. DispatcherServlet이 요청을 위임할 HandlerMapping을 찾는다. 3. HandlerMapping을 통해 요청을 Controller로 위임한다. 4. Controller는 요청을 처리한 후에 ViewName을 반환한다. 5. DispatcherServlet은 ViewResolver를 통해 ViewName에 해당하는 View를 찾아 사용자에게 반환한다. [ Controller로 Data 반환하기 ] 그렇다면 view를 반환하는..
2023년 계묘년의 새해가 밝았다. 실감은 나지 않지만 벌써 26살의 나이를 먹었다. 대학교도 23년 2월을 기준으로 졸업을 하게 되었고, 다니고 있던 국비지원도 끝나게 되었으며, 2023년 1월 9일의 날짜로 첫 출근을 한다. 판교에 있는 IT 운영관리 솔루션 회사에 입사를 하게 되었는데, 회사를 고를 때 가장 크게 기준을 두고 있었던 "나의 성장 가능성" 에 적합한 회사인지는 정확하게 판별할 수 없으나, 회사의 비전과 여러 복지들이 마음에 들어 최종선택하게 되었다. 현재 스스로 가장 두려운 것은 취업에 성공한 내가 현실에 안주해버리고 지금까지 성장을 위해서 달려왔던 여러 동력자원들이 완전히 멈추게 될 가능성이 존재할 수도 있다는 것이다. 개발자는 필연적으로 끊임없이 공부하고 성장해야 되는 존재라고 생..