본문 바로가기

WIL

(8)
[WIL] 8주차 이번 주는 저번 주에 구현한 백엔드를 바탕으로 프론트엔드를 구성하는 작업을 함께 했다. 여태 프론트에서 작업을 했을 때에는 Postman으로 테스트를 진행했기 때문에 프론트엔드에 단순히 원했던 값을 보여주는데에서 끝을 냈었지만 실제 프론트엔드에서 원했던 페이지로 이동을 하고, 해당 페이지에서 내가 가져온 값을 출력하기 위해서 Spring Model 객체를 활용해서 Model 객체에 뽑아낸 값을 넣고 return을 html명으로 지정해서 원했던 페이지의 흐름을 완성할 수 있었다. 이번에 프로젝트는 배포까지가 목적이었기 때문에 localhost:8080과 같이 url을 하드코딩하는 방식으로 웹사이트를 서버에서 돌리게 되면 문제가 발생하기 때문에 코딩을 하면서 최대한 하드코딩을 지양한다고 생각했으나, 몇몇 군..
[WIL]7주차 이번 프로젝트에서 본인은 SMTP 프로토콜과 SSE통신을 활용해서 프로젝트에 필요한 기능들을 구현했다. SMTP란 인터넷에서 이메일을 보내기 위해서 이용되는 프로토콜이다. SMTP는 모든 문자가 7bit ASCII로 되어 있어야 하기 때문에 문자 표현에 8비트 이상의 코드를 사용하는 언어나 첨부파일 같은 경우에 마임(MIME)이라는 방식으로 7비트로 변환되어 전달된다. SMTP를 활용할 때 네이버메일을 활용했는데, 계정에서 SMTP 관련 설정을 해주고, InternetAddress[] receiverList = new InternetAddress[1]; receiverList[0] = new InternetAddress(requestDto.getEmail()); // SMTP 발송 Properties 설..
[WIL]6주차 본격적으로 학습을 어느정도 마치고 프로젝트에 들어가게 된 주였다. 챌린저 팀으로써 조원들과 모여서 무엇을 진행하고 어떤 방식으로 어떤 것을 구현하는 지에 대해서 여러 토론을 거치고, 많이 어렵지는 않지만 2주라는 짧은 시간동안 최대한 구현할 수 있는 것을 택하다 보니 음식점배달 구현을 선택하게 되었다. 기본적인 기능은 그렇게 어렵지 않아서 빨리 구현을 마치고 살을 붙이는 방향으로 조원끼리 상의가 끝나서 최대한 능력이 되는대로 빠르게 구현을 하고 챌린지에 걸맞는 어려운 부분을 구현시도할 예정이다.
[WIL] 4주차 금주는 JPA를 활용해서 사이트를 구축하는 것에 중점을 두고 학습을 진행하였다. JPA는 자바 ORM 기술에 대한 표준 명세로, JAVA에서 제공하는 API이다. 자바 클래스와 DB테이블을 매핑해준다. SQL과는 다르게 객체를 통해 간접적으로 디비 데이터를 다뤄주고, 객체 간 관계를 바탕으로 SQL을 자동으로 생성해준다. 그래서 딱히 SQL명령어를 사용해서 DB테이블을 건드리지 않고, 여러 조건에 의해서 DB 데이터에 접근할 수 있다. Spring MVC는 Spring에서 제공하는 웹 모듈로, Model, View, Controller 세 가지 구성요소를 사용해 사용자의 다양한 응답을 처리할 수 있도록 하는 프레임워크이다.
[WIL]3주차 이번 주도 저번 주에 이어서 Spring에 대해서 배웠다. 스프링에서 Bean이란 스프링 컨테이너에 의해 관리되는 자바 객체를 의미한다. IoC란 제어의 역전을 의미하는데 프로그램의 흐름을 개발자가 아닌 프레임워크가 제한하는 것을 말한다. 객체 내부에서 선언하지 않고 미리 생성해놓은 객체를 주입받아서 사용한다. 짠 코드를 예시로 들면 기존에 흐름 대로 Container 에서 값을 받아서 Service로 넘겨주고 Service에서 Repository로 값을 넘겨줘서 프로그램을 실행하는 방식을 사용했는데, 그것이 아닌 Container에서 Service를 호출하고, Service에서 Repostory를 호출하는 방식으로 서비스를 구현하는 것이다. 이렇게 서비스를 구현하면 코드의 수정이 용이한 것이 장점이다 ..
[WIL]2주차 이번 주는 알고리즘을 조원과 함께 페어프로그래밍을 진행하면서 공부를 했는데 조원들이 아직 미숙하지만 생각지도 못한 방법으로 문제를 해결하는 것을 보고 배울 점이 있다고 생각하게 되었다. 물론 그 방법이 엄청 효율적인 것은 아니었으나 그런 식으로 생각을 할 수 있다는 것 자체에 놀랐다. 추가로 이번 주부터 개인이 선택한 과목을 배우게 되었는데 본인은 Spring을 선택해서 Spring을 학습하기 시작했는데 전체적인 구조는 이전에 배웠던 Django와 비슷한 면도 있지만 좀 배워보니 많이 다른 것을 알게 되었다. 기본적으로 전체적인 흐름은 비슷한 것 같지만 Django가 처음에 쓰기 쉬운 면도 많지만 결국 python이라 Java인 Spring이 더 나을 것 같다고 생각한다. 물론 어떤 면에서는 Django..
[WIL] 1주차 이번 주는 JAVA에 대한 기초 지식과 기초 지식을 활용한 알고리즘을 공부했다. JAVA에 대해서는 이전에 배워서 어느정도는 알고 있었으나, 배운지 오래 되어서 다시 공부하게 되었다. 선택 과정에서 JAVA, SPRING을 선택한 이유는 현재 한국 웹시장에서는 JAVA가 제일 대세라고 생각해서 선택하게 되었다. JAVA 같은 경우에 JVM이란 JAVA 특유의 환경만 설치해준다면 어떤 환경에서도 동일하게 돌아가기 때문에 확장이 용이해서 현재 한국에서 제일 대세가 된 것 같다. 배운 내용 중 기억에 남는 것은 바로 큰 수를 활용하는 방법에 대해서이다. 컴퓨터 언어 특성상 이진수를 사용하기 때문에 소수의 표현에 있어서 약간의 신뢰성이 떨어진다고 할 수 있다. 물론 우리가 보통 사용하는 데에 있어서 그정도의 작..
WIL 0주차 #1. 개발 공부가 처음이신가요? 처음이 아니라면, 어느 정도 기간을 가지고 어떻게 학습을 하셨나요? 처음이 아니고 대학 4년제를 나올 정도로 꽤나 오래 되었습니다. #2. 내가 항해99에 참여한 계기는 무엇인가요? 취업을 위해서 팀원과 협업하여 프로젝트를 진행하는 능력을 키우고 싶어서 참여하게 되었습니다. #3. 개발자의 역할을 수행하는 데에 있어 나의 강점과 연관된 부분은 무엇이라고 생각하나요? 혹은 보완, 개선하고 싶은 개인 역량이 있나요 ? 적응이 빠른 게 장점이라고 생각합니다. 새로운 환경에 대응하더라도 어느정도 기존에 배웠던 것을 바탕으로 대응하는 게 가능합니다. #4. 항해99 수료 후, 어떤 모습으로 성장하고 싶나요? 팀원과 깔끔하고 정확하게 소통하며 팀을 잘 이루는 개발자가 되고 싶습니다..