06.07.2023 - 학습 일지
1. AM 09:00 ~ PM 18:00분 : BE(백엔드 KDT)
- [AM 09:00 - 11:50]
SpringMVC
- (오전 학습)
✔ [학습 내용]
✔ Spring MVC[이론]
- Maven, Gradle의 차이점에 대해서 학습함
- Maven : 정적이며, 작업단계가 정해져있음
- Gradle : 개발자 입맛대로 작업단계를 커스텀 할 수 있음
- Compile : High Level Language를 Low Level Language로 변환 시켜줌
- Build : 프로젝트 소스코드를 실행가능한 프로그램으로 변환시켜줌
- Jar파일 : 배포를 위해 Java Class를 부수정보와 함께 압축해주는 형태를 말함
- Dependency Management : Maven과 Gradle은 인터넷에 연결되어 있으면, 라이브러리를 자동으로 가져옴
- Maven Repository : Maven과 Gradle이 외부 라이브러리를 가져오는 저장소를 말함
- start.spring.io 에서 Group ID와 Artifact ID에 대해서 각 역할에 대해서 학습함
- Group ID : 해당 프로젝트를 관리하는 조직을 식별함
- Artifact ID : 해당 조직 내의 독립적인 프로젝트를 식별함
Spring MVC
- (오후 학습)
✔ [학습 내용]
✔ Spring MVC[이론 + 실습]
- Web Server, Web Application, Web Application Server에 대해서 학습함
- WS : HTTP, HTTPS를 통해 웹 브라우저에서 요청하는 html문서나 오브젝트를 전송해주는 서비스 프로그램임
- WA : 인터넷 or 인트라넷을 통해 웹 브라우저에서 이용할 수 있는 응용프로그램임
- WAS : Web Application과 server환경을 만들어 동작시키는 기능을 제공하는 S/W FrameWork임
- MVC패턴 : 절대적 완성된 코드가 아님, 비즈니스 로직으로부터 분리하는 것을 말함
- Model : Application을 표현하기 위한 data 관리하는 부분임
- View : Client에게 정보가 표현되는 방식을 관리하는 부분임
- Controller : Client의 입력을 받아 Model이 이해할 수 있는 형태로 변환함
- SpringMVC : Java EE를 기반으로 한 웹 애플리케이션 프레임워크임
- Model : 데이터를 저장하고 관리함
- View : 사용자에게 보여지는 화면을 출력함
- Controller : 사용자의 요청을 처리하고, 모델과 뷰를 조작함
- Template Engine :
1. 템플릿과 data 모델을 결합하여 결과 문서를 생성하기 위해 설계된 S/W를 말함
2. html, xml, json등과 같은 형식의 문서를 나타내는 간단한 텍스트 파일을 말함
3. 데이터 모델은 템플릿에 포함된 변수에 대한 값을 제공함
- CSR : Client 측 렌더링의 약자로, Client가 웹 페이지를 렌더링하는 데 필요한 html, css 및 javaScript
를 용청하는 것을 말함
- SSR : Server측 렌더링의 약자로, Server가 웹 페이지를 렌더링하고 Client에 전송함
Spring MVC(실습)
Spring MVC(실습후기)
- SpringMVC 패턴을 공부하면서 Model의 역할, Controller의 역할, View의 역할에 대해서 간단하게 이론에서 배운대로 떠올리면서 진행하면서 내가 잘 이해하고 MVC패턴을 사용하고 있는가를 공부하고 마지막에 실습1,2,3을 통해서 조금 응용 문제이지만, 어떻게든 해결할려고 문제를 계속해서 오류가 나고 원인을 찾다보니 replaceAll과 replace를 통해서 특수문자를 제거하여 실습3 결과물처럼 나오게 하는 것이 목표였으며, int[]로 받은 lottoArray에서 List형태로 받고자 할때 Arrays.toString을 사용하여 배열형태로 일단 받아오고 replaceAll을 통해서 ",","]" 기호를 "-"기호로 변환시키고 그 뒤에 replace를 사용하는데 마지막으로 "[" 기호가 남아있기에 마지막으로 빈문자열로 변환시켜줘야지 실습3 결과물처럼 나오는 것을 알 수 있었다.
마무리
- 쉽다고 문제를 내어주셨지만, 은근 나에게 실습3에서 막혀서 어떻게하면 결과물이 잘 나올 수있을까 고민하고 구글링을 통해서 결국은 해결을 하였다. 물론 쉽지 않았지만, 결과가 중요하기도 하고 그리고 과정을 통해서도 많은 것을 알게되었고, 그 의미에 대해서도 좀더 깊이를 이해할 수 있어서 좋았다. replace, replaceAll과 나중되면 정규화작업을 할텐데 비슷하게 흘러가는 것으로 인지하고 있다. 얼른 더 성장하는 예비개발자가 되어 지금 보다 더 성장하는 글을 작성하는 날이 오기를 기대한다! :)
'개발자 취업 프로젝트[일지]' 카테고리의 다른 글
💻개발자가 되기 위한 프로젝트(88)💻 (0) | 2023.06.09 |
---|---|
💻개발자가 되기 위한 프로젝트(87)💻 (0) | 2023.06.08 |
💻개발자가 되기 위한 프로젝트(85)💻 (0) | 2023.06.05 |
💻개발자가 되기 위한 프로젝트(84)💻 (0) | 2023.06.02 |
💻개발자가 되기 위한 프로젝트(83)💻 (0) | 2023.06.01 |