본문 바로가기

항해 시절

(16)
클론 코딩 (항해 7주차 회고록) 이번 주차에서는 클론 코딩을 하게 되었다. 주제는 마켓컬리로 정해져서 마켓컬리 회원가입부터 시작해서 홈페이지를 둘러보고 코딩을 시작했다. 백엔드 입장으로서 가장 중요했던 점은 마켓컬리의 상품 정보를 가져오는거였다. 팀원 중 1명이 마켓컬리api를 통해 제품의 상세 정보를 가져올 수 있게하였고, 나는 상품마다 다르게 기입되어있는 No(넘버) 들을 카테코리별로 크롤링하여 리스트 형태로 전달하였다. 너무 많은 정보들을 다 가져올 필요는 없다고 생각되어 카테고리별 30개씩 대략 600개 정보의 상품을 가져왔고, 디비에 저장하여 프론트에 내려주었다. ​ 크롤링 이외에 새로배운 기술은 이미지 업로드였는데, 백엔드에서 이미지 업로드를 할 때 주로 사용된다는 S3를 듣긴했지만 나는 로컬서버에 이미지를 업로드하면 클라우..
첫 협업을 하면서 느낀점 (항해 6주차 회고록) 이번 주는 프론트엔드와 백엔드가 만나 처음으로 협업을 해봤던 주이다. 웹 컨셉부터 기능설계, api 설계, 그리고 서로 코드를 붙이는 과정까지 우여곡절도 많았 그 만큼 배웠던 것도 많았다 우리 조는 지금 뭐해 라는 컨셉으로 자기 현재 상황을 이미지와 글을 통해 공유하면서 공감을 주고 받는 것을 기획 하였고, 그에 맞게 웹을 기능구현하였다. 프론트와 협업을 하면서 가장 크게 고생한 점은 기능이 에러가 뜰 때 어디서 문제가 발생되었는지를 잘 모르겠다는 것이었다. 에러 원인을 찾기 위해서 코드 곳곳에 프린트 문을 띄우고 반복 실행을 통해 하나하나 찾아갔었는데, 이러한 점은 내가 디버그를 통해 코드를 잘 검토했었다면 훨씬 빨리 해결할 수 있었을 꺼라 생각한다. ​ ​ 혼자 했을 때는 문제 생기면 그때 프린트문 ..
CORS란 무엇인가 (항해 5주차 회고록) 5주차는 주특기 심화주 주차로 스프링에서는 음식점 및 음식 등록과 주문하기 등에 API 작성 등을 구현하면서 CRUD에 관한 기본 적인 API 연습을 하였다. 마지막 주특기 교육 주차였는데 주특기 교육 3주동안 배운 것이 많이 있었지만, 아직 완전히 내 것으로 만들기에는 부족한 시간이여서 앞으로도 꾸준히 복습을 해야할 것 같고 아직 배우지 못한 것들도 무수히 많다고 생각한다. ​ ​ 프론트엔드와의 협업에 앞서 CORS에 대해 공부해보았다. (Cross-Origin Resource Sharing,) CORS 란 다른 출처의 자원을 공유할 수 있도록 설정하는 권한 체제를 말합니다. 따라서 CORS를 설정해주지 않거나 제대로 설정하지 않은 경우, 원하는대로 리소스를 공유하지 못하게 됩니다. ​ CORS Glo..
ORM,SQL,MVC란 무엇인가 (항해 4주차 회고록) 2022.02.06 ​ 이번 주차는 스프링 숙련 주로 댓글 작성 및 스프링 시큐리티를 통한 로그인,회원가입 및 테스트코드등을 만들어 보았다. 스프링 시큐리티랑 테스트코드는 처음배우는 것이였는데, 지금까지 항해를 하면서 제일 힘들었던 시간을 보낸거 같다. 과제에 필요한 기능들은 구현하였지만, 시큐리티나 테스트코드에 대해서 아직까지 많이 부족한 거 같다는 생각이 든다. 자바, 스프링, 스프링 JPA 들도 아직 부족한게 많은데 시큐리티와 테스트코드까지 더 공부해야 하는 것이.. 개발자가 되기로 선택하는 것을 좀 더 일찍 했으면 무척좋았을 것 같다. ​ 이번 회고록에서는 ORM,SQL,MVC에 대해 말하려 한다. ​ ORM 이란 (Object Relational Mapping) 객체-관계 매핑을 뜻한다. ​객체..
DI,IoC, Bean란 무엇인가 (항해 3주차 회고록) 이번 주차를 진행하면서 주특기 자바 스프링을 활용하여 글을 남기고, 글 들을 조회하는 페이지와, 상세페이지 및 작성한 글을 삭제하는 기능들을 구현해보았다. 자바 스프링을 처음 쓰는거였는데, Controller, Service, Repository로 패키지를 나누어 코드를 작성하는 방식으로 기능을 만들어 보았다. 새로운 개념들을 너무 많이 듣게되어 아직은 혼란스러운 점이 있으나, 스프링을 통해 처음으로 기능들을 구현해본 점이 되게 뿌듯하고 스프링 개발자가 되기 위한 첫 발걸음을 뗀거 같아서 기분이 좋았다. 하지만 내가 스프링을 배우면서 스프링도 모르지만, 자바에 대한 개념도 아직 부족한 것이 많다는 것을 알게되었다. 항해를 하면서 개인과제를 완성하고 제출하는 것은 일부분에 지나지 않는다고 생각한다. 자바와..
객체지향프로그램, JVM이란 무엇인가 (항해 2주차 회고록) 2022.01.23 ​ 이번 주는 알고리즘 주차로 자바 언어로 프로그래머스에서 여러 알고리즘 문제를 풀어봤다. 알고리즘 문제 난이도는 높지 않았지만, 자바언어가 익숙치 않아 답을 구현하는데 시간이 걸렸다 실제로는 알고리즘 공부보다는 자바 기초 공부에 더 시간이 걸렸던거 같다. ​ 자바를 공부하면서 자바가 객체지향 프로그램이라는 것과 JVM이라는 단어를 많이 듣게 되는데 이에 대해 말해 보려 한다. ​ 객체지향프로그램이란? 자바는 객체 지향 언어이다 이 말은 프로그래밍 언어 + 객체지향개념(규칙)을 뜻한다 각각의 객체들에 역할을 정의하여 객체들 간의 상호작용을 통해 프로그램을 만드는 것이 객체지향프로그램이다. ​ 객체지향개념을 공부하다 보면 클래스와 객체, 인스턴스 라는 단어가 나오는데, 단어의 표면적인 ..
int, Integer 차이는 무엇인가 int, Integer 차이는 무엇인가 ​ int 는 변수의 타입(data type) 이다. 여기서 변수는 값을 저장할 수 있는 메모리 상의 공간이다. int a = 3; 에서 a는 변수명이다. int는 변수의 타입( data type = 자료형) 이다 (즉 자료형은 data의 type에 따라 값이 저장될 공간의 크기와 저장 형식을 정의한 것) ​ 자료형에는 기본형(primitive type)과 참조형(reference type)으로 나뉜다. 위 그림은 기본형 자료이다. ​ Integer은 int를 객체로 다루기 위해 사용하는 클래스로 래퍼클래스(wrapper class)라고 부른다. 차이점 정리 int : 자료형(primitive type) - 산술 연산 가능함 - null로 초기화 불가 ​ Integ..
JWT, API 란 무엇인가 (항해5기 1주차 회고록) 2022.01.16 ​ 이번 주차에서는 미니프로젝트를 진행하였다 팀을 배정받아 4명이서 한조를 이루어 컨셉 기획부터 웹페이지 제작까지 진행하였다. 나는 로그인,회원가입 페이지를 담당받아 기능 구현을 위해 항해에서 제공한 웹개발 플러스 강의를 통해 JWT를 공부하여 기능 구현을 하였다. 프로젝트를 진행하면서 협업을 위해 필요한 Github에 대해서도 배웠고 pull, push , marge 등 새로운 단어들에 대해서도 알 수 있게 되었다. ​ 이번에 진행한 미니프로젝트는 JWT 와 Github 등 새로운 지식을 배울 수 있는 기회기도 하였지만, 다른사람들과 함께 하는 프로젝트로 자기가 맡은 부분에 막힌 것이 생기면 서로 조언을 주고 코드를 합치면서 서로 변수명을 맞추는 작업도 진행 하는 등 협업에 대해서도..

728x90
반응형