멀티캠퍼스 JAVA 백엔드 부트캠프/정리

멀티캠퍼스 백엔드 개발자 취업캠프(Java) 입과 8주차 정리

5ein 2023. 3. 27. 23:30

2023.03.20

HTTP 프로토콜 특징

1) 무연결성(Connectionless)

   -   통신시 연결을 유지하지 않고, 데이터를 주고받음

   -   한번 요청하고, 한번 응답

2) 무상태성(Stateless)

   -   요청마다 독립적인 트렌잭션으로 취급하여 이전 연결에서 했던 작업을 그대로 사용할 수 없음.

   -   이전 연결했던 대상이라는 것을 저장해두었다가 인식하는 방식

   -   클라이언트의 브라우저에 서버가 서버와 브라우저간의 연결(세션)에 해당하는 id를 부여하여 인식함.

3) 요청정보(Request)

   -   서비스를 요청한 클라이언트에 관한 정보를 가지고 있음. 서버안에서는 전달함.

4) 응답정보(Response)

   -   서비스 응답하는 정보를 가지고 있음. http로 전달할 대상으로 만드는 역할.

주의) 

   -   JSP의 request객체는 클라이언트에게서 넘어온 데이터를 받는 객체

   -   JSP의 response 객체는 클라이언트에게 명령하는 객체

 

웹클라이언크의 서비스 요청시 HTTP 프로토콜에 의해 자동 생성하여 웹 서버에 전달됨.

상태코드 : 200(ok), 400(bad request), 404(not found), 500(internal error)

 

HTTP 요청방식::웹클라이언트가 웹서버에 요청하는 서비스 처리방식

- 요청방식 종류: GET(select), POST(insert), PUT(update), DELETE(delete), OPTIONS, HEAD, TRACE, CONNECT

여기서 POST는 큰파일(바이너리파일, 동영상, 음성, 문서 등)을 첨부 하거나, 보안에 민감한 데이터(PW, 암호화된 데이터 등)를 요철할때 사용히는 방식이다!! <주소에 나타나지 않게 함, 내용이 많아 주소가 길어질것 같을 떄도 사용>

- Method를 적지 않으면 get으로 지정된다

 

JSP:웹프로그램의 동작중 서버쪽에서의 동적인 처리 역할,

servelt(서블릿)은 서버에서 실행되는 작은 프로그램 결과를 HTML형식으로 만드는 역할을 담당한다.

 

 

 

서블릿을 등록하는 방법:

1) 프로젝트에서 어노테이션(@)로 설정

2) xml파일을 사용하는 방법이 있다.(web.xml)

 

@(어노테이션)의 뜻 2가지

1) override - 지워도 상관없음, 가독성, 확인용도

2) @WebServlet("/Test") - 특정한 처리용도, 이표시를 사용함으로써 주소를 설정함. (서블릿인지 알아봄)

 

서블릿 시작할 무조건 init 호출, 초기화할것 초기화

(init override 따로 하지 않았어도init포함 12개가 자동으로 실행되고 있었다.)

소멸될 destroy 한번 호출됨

 

1. JSP와 서블릿의 관계
	JSP가 최초호출시 서블릿으로 변환되어 처리
2. JSP는 언제 서블릿으로 변환될까?
	최초호출시
3. JSP에서 서블릿으로 변환되어 실행되는 단계 그림
	JSP ==> Servlet(java) ==> class ==> service()
4. 서블릿의 생명주기(lifeCycle) 
	init() ==> service() ==> doGet()/doPost() ==> destroy()
5. 서블릿을 등록하는 방법 2가지
	1) @WebServlet 어노테이션 방법
	2) 설정파일 web.xml방법
6. 서블릿 등록하는 xml파일 이름/프로젝트 내 위치
	파일이름: web.xml
	WebContent>WEB-INF>web.xml
7. 어노테이션은 무슨 뜻인가?
	표시
8. 서블릿을 만든다는 의미 중 스레드 설명
	동시처리
9. 서블릿을 만든다는 의미 중 싱글톤 설명
	객체를 하나만 만들어서 계속 사용
10. 서블릿을 만든다는 의미 중 tcp전송 설명
	승인된 전송
11. http통신이 가능한 자바 프로그램/기술을 부르는 말
	서블릿

2023.03.21

싱글톤: 부품을 하나 만들어서 계속 쓰는

 

싱글톤 연습함!!

 

화면이 넘어가는것이 아니고 바로 바뀌는 것 (EX) 댓글이 달리는것이 화면이 넘어가지않고 바로 보임

 

jquery다운 함!!


2023.03.22

포트폴리오, 자소서 특강을 들었다!

내가 들어갈 그곳이 나에게 무엇을 요구하는지를 알아야함

이력서 사진 세미 정장으로 비즈니스자세가 준비되어있는지 보여주기

 

자기소개서는 설명하는 글이 아니라 주장하는 글이다. - 재연가능한 성과로 증명하며 말하는

 

공기업은 사람이 채용되었는지에 대한공정성 (공정한 채용)

사기업은 나의 성장, 성격, 가치, 목표에 대해 나라는 사람을 궁금해함

너무 잘난 같은 것은 안됨!

어떤 부분을 강조하고 어필할 것인지를 정리한 접근하기!

 

항목이 경험만 묻는 것인지(이게 많음) 그에 대한 의미와 이유까지 묻는 것인지 알아채는것이 중요!!

 

자소서를 쓰기전 글자수를 분배해놓는것 필수!

 

강화사업( 기업을 메리트 있게 만든 그것)을 조사하기!!

기업자료를 읽고 숙지해서 설명할 있을 정도로 알고 있어야 함,리포트 같은것도 읽어보

 

STAR 정리하기!

제일중요한 경험 찾기 -> 언제 경험을 했나요? -> 어떤것을 해야했었는지 -> 어떤 행동을 했는지, 우선순위는 만들었는가? -> 정량적, 주변인들의 평가, 다시 그일을 하면 어떻게 할것인가? -> 재현가능한 성과인지 입사후 적용가능한 부분은 무엇인가?

소재가 없는것에 전전긍긍하기보다 하나를 상세하게 연결고리를 찾아보기

 

첫문장 첫단원이 제일 중요하다!!

두괄식으로 쓰기 <뒷부분을 예측가능하게 쓰기>

 

주의) 상투적인 표현들로 인해 유사도에 걸릴수도있다. 어디선가 많이 봤을법한 것을 나도 모르게 입력했을 가능성이 높은것이다.

 

경험으로 뭔가를 이룬경험은 성과가 아님 => 과정에 개입해서 그결과를 만들기 위해서 노력한것을 성과라고 (과정에 대한 중요!)  

실패한 사례도 되긴함!(적게 된다면, 실패에 대해 무엇이 원인이지를 적고 다시 시도하게 된다면 문제점을 이렇게 시도해서 이렇게 하겠다 라고 적어야함)

 

정리:

- 글자수 배정한뒤 글쓰기

- 글을 통해서 그것이 보이는지 확인

- 글씨체 특이한 금지(가독성 좋은 것으로)

- 역량이 보일수 있게끔 소재목을 이용(뒤에 무슨내용이 나올지 딱 알아볼 수 있게 쓰기)

- 많은 지인들에게 보여주기


수업 마치고 타켓 기업분석 특강을 들었다!

기업분석하는 법과 재무재표 확인하는법, 여러 알짜기업 등 많은 정보를 얻을수 있었다.


2023.03.23

CDN: 다른 사이트에 있는것을 연결해서 쓰는 방법!!

제이쿼리는 이름없는 함수를 주로 쓴다.

 

부트캠프 초반에 한번씩 해봤던 API 오픈소스를 이용한 결제기능 구현, 카카오맵 이용, 구글차트 이용을 또 해보았다

 

AJAX (에이작스, 아작스

비동기통신!! :화면이 넘어가지 않고, 여러서버와 통신할수 있다


2023.03.24

비동기 = 싱크로너스(asynchronous)

 

XML

html에서 XML 받아오는것을 실습해보았다

 

MOCK : 많은양의 샘플데이터

많은 양의 샘플데이터를 이용해 실습을 진행했다!

 

조별로 주제를 정해서 각자 mock xml데이터를 만들어서 html을 만들고 xml데이터를 읽어온후 각 데이터를 추출해서 브라우저에 데이터를 출력하게 하며, db에 넣는것 까지(jsp, dao, vo 이용) 실습해봤다

 

Json

여러 신문사의 rss를 이용해서 json 해보았다

 

스프링 다운받았다!!


2023.03.25~2023.03.26

주말에는 둘다 약속이 있었다!! 하지만 마냥 놀지 않고 MLP이러닝 강의를 듣고 미션을 진행해 깃허브에 올렸다!!


- 면접에서 http요청할 때 예시 들어보시겠어요? 라고 물어볼수 있음!

- rest주소 방식을 알고 있어야 하고 사용할 있어야

- 면접시에는 servlet 생명주기, Jsp servlet 컨버팅 되는 많이나옴

- 기술면접: TCP/IP 4계층 외우기, 외워지면 7?8계층으로 나뉜 외워보기

- TCP 사용했다 이런식으로 말하기

-  당신이 사용한 객체 설계(디자인) 기법 패턴 사용해본거 말해보세요.

1.       프로토타입 해봤어요 (VO)

2.       싱글톤 사용해봤어요 (DAO,Controller,…)

3.       팩토리기법 사용

4.       대리인 기법(프락시)

- 기술면접: 자바스크립트와 자바를 비교하세요

    실행하는쪽이 다름

              자바: was에서 실행됨

              자바스크립트: 브라우저에서 실행됨

- mock데이터(많은 양의 샘플데이터) 이용한 프로젝트 해본것을 선호한대

 

서버프로그램에서 다 싱글톤을 쓰기 때문에 싱글톤 모르면 안된대

 

수료할 반드시 습득해야하는

1.       자바 문법 (다형성, 오버라이드, 생성자 사용하는지) 필수적인 문법은 갖고가기

2.       DB(sql) CRUD, 이너조인, 오더바인? 스키마 짜고 DDL, DML 눈감고 칠수 있을정도로 알아야함!!

3.       Spring 반드시 숙지!! (자바의 순수문법만으로는 취업이 불가하다.)

4.       RDB 필수, 몽고DB(nosql, notonsql) 하면 좋음!! (RDB 알면 쟤네들도 할수 있음)

 

파이널 프로젝트에 자바스크립트 보다는 제이쿼리를 사용하는 것을 추천하신대!