클라이언트가 form 데이터를 Get 혹은 Post 방식으로 전송한 경우 Servlet 에서는 어떻게 값을 받아오고 처리할 수 있을까? html (jsp) 위와 같은 간단한 form 태그를 통해 Servlet으로 데이터를 전송할 수 있는데, 이때 form 태그의 action 부분에 서블릿의 주소나 jsp 파일의 경로가 지정된다. 위와 같이 서블릿에서 fo…
사용자로부터 요청이 들어오거나 웹서버가 응답을 보내올 때 서블릿의 역할은 시작되고 생명주기에 따라 요청을 처리하게 된다. 서블릿의 생명주기는 크게 세가지 단계로 나뉜다. 생성 단계 요청이 있는 경우 서블릿 객체가 생성되고 init() 메소드를 호출한다. 주로 공통적으로 처리되어야 하는 작업들이 위치한다. 일반적으로 웹컨테이너 (WAS)는 서블릿 요청을…
Servlet 파일을 처음 생성하고 나면 해당 클래스가 HttpServlet 이라는 추상클래스를 상속받고 있는 것을 확인할 수 있다. HttpServlet 클래스를 타고 들어가보면 또 다른 GenericServlet 이라는 추상클래스를 다시 상속받고 있다. 이처럼 하나의 서블릿 클래스는 아래 첨부된 UML에서 보이는 것과 같이 여러 추상클래스들을 …
코로나 상황으로 인해 지금까지 약 한달간 교육을 못나가고 있다.. 원격 강의를 수강하면서 재택학습을 하고는 있지만 아무래도 집에 있다보니까 뭔가 교육장을 왔다갔다 할때보다는 나태해지는거 같은 느낌적인 느낌 이 들어서 교육이 정상 재개화가 될 때까지는 평소 미뤄왔던 jsp, servlet 공부를 다 끝내자는 마음을 먹었다. 감사하게도 인프런에서 코로나 상황…
사실 코딩 스타일이 어떻든 프로그램이 잘 돌아가기만 하면 장땡이라고 생각했으나 시간이 지날수록 내 코드를 다른 사람들이 읽어야 되는 일이 생기고 나도 다른 사람들의 코드를 읽게 되면서 어느 정도 코드를 작성함에 있어 규칙, 즉 컨벤션을 잘 지키는 것의 중요성을 체감하게 되었다. 일정한 규칙에 의해 적힌 코드는 가독성을 높이는 것은 물론이고 특히 복잡한 …
웹서핑 도중에 우연찮게 발견한 42 Seoul . 정부 주도로 설립된 ‘이노베이션 아카데미’라는 기관에서 올해 새롭게 추진되는 SW 인재 양성 프로젝트라고 한다. école 42 뭔가 이름이 되게 특이해서 좀 더 찾아보니 프랑스의 교육기관인 에꼴42를 벤치마킹해서 만들었다고 한다. 에꼴42는 일반적인 교육기관과는 다르게 수업을 진행하는 강사도 교과서…
모델을 다루다보면 새로운 칼럼을 추가하거나 삭제하는 일들이 빈번하게 생긴다. 그럴때마다 마이그레이션 파일을 새로 만들게 되는데 이전 마이그레이션 파일들을 지우고 싶을 때가 있다.! 그래서 migrate폴더에서 해당 마이그레이션 파일만 지우면 되겠지 싶었는데 그 이후로 자꾸 Missing Migration.. 과 같은 에러 메세지가 뜨면서 뭔가 확실히 안지…
위처럼 하나의 Post가 여러개의 Memo를 가지는 One-to-Many Association을 만들어보려고 API를 비롯한 여러 문서들을 뒤져보았으나 레일즈 버전 차이때문인지 계속 실패하는 문제가 발생.. 계속 헤매다 결국 작동하는 방법을 찾아냈고 그 과정을 아래에 정리해 보았다. 참고: 레일즈 버전 5.2.3 에서 진행 되었음 One-to-many…
이미 만들어둔 모델에 새로운 컬럼을 추가하는 법을 몰라서 필요할때마다 destroy 하고 모델을 다시 생성하는 식으로 했는데.. 번거롭기도 하고 이건 뭔가 아닌거 같아서 구글링해보니 방법이 바로 나왔다.! Active Record Migrations 이미 만들어둔 모델의 이름이 Post 이고 새로 추가하려는 컬럼의 이름이 title 이라면 이런식으로 …
구름 IDE를 이용해서 빠르게 레일즈 컨테이너를 생성하는 법과 초기 설정법에 대해 정리해 보았다. 컨테이너 생성 위와 같이 체크하고 컨테이너 생성을 진행하면 3 ~ 5분 정도의 시간이 소요된다. 접속 URL 및 포트 설정 컨테이너 실행 후 상단 네비게이션 바에서 프로젝트 - 속성을 클릭해서 들어가면 다음과 같은 창이 뜬다. 먼저 밑에 이미 추가 되어 있던…