Hotech step 1 - 우리가 딛을 한 걸음의 크기는?

mtak·2022년 3월 25일
0

2월 21일 Line의 기업형 과제, global ad manager platform의 두번째 발표가 있었다.
첫 시도에서는 광고 관리 서비스, 통계 서비스, 광고 타겟별 서비스를 모두 담아서 테이블을 설계하다가 막혀버렸었다..
미완성 설계도만 가져갈 순 없었기에 코드를 한 줄이라도 짜고자 했으나 아니나 다를까 결국 회원가입 repository layer구현에서 막힌 상태로 멘토님께 가져갔다.

🤷‍♂️전체 서비스가 아닌 최소 기능을 만들어야지~
(이때는 내가 이 말을 이해한 줄 알았다.)


두번째 시도에서는 게시글의 crud, 로그인, 회원가입(허접함 주의) 기능과 테스트케이스를 만들었다.
👉작고 귀여운 산출물
(오예! 하지만 view는 안만들었다…)

설레는 마음을 뒤로한 채 게시글의 입력 데이터에 이미지 타입을 추가하려다가 실패한 상태로 가져갔다.

🤦‍♂️ 엠탁아.. 서비스가 아닌 최소 기능을 만들라고..

나는 어떤 문제가 발생했을 때 답을 찾기 위해서 학습을 다시 하는 습관이 있다. 그래서 학습에 시간이 많이 할애될 수 밖에 없었다. 하지만 "답"이라는 것은 애초에 존재하지 않는다.

👉문제 상황과 다양한 방법이 있을 뿐이다.
내가 해야 할 일은 문제와 답을 1:1로 찾는 것이 아닌 문제를 분석하고 다양한 방법을 찾아야 했다.

나의 또 다른 학생 관성은 지난 학생 수준의 여러 프로젝트들을 생각하면서 프로젝트의 단위를 너무 크게 잡았다는 점이다.
이것도 구현해야 할 것 같고 저것도 구현해야할 것 같은 생각에 압도되어 설계부터가 너무 버거웠다.

BUT
너무나 당연한 말이지만 첫 스프린트부터 모든 기능을 고려한 설계는 존재하지 않는다.(facebook도 자기들의 서비스가 그렇게 진화될줄 알았겠냐?)
그렇다면 우리가 좋아하지만 잘 안되는 "차근차근" 개발은 어떻게 하는걸까?

당신만의 기준으로 "layer"를 잘 나눠서 layer별로 한 스프린트씩 개발해나가면 된다.
🤷‍♂️어떤 기준으로 layer를 쪼개야하나? by 호준멘토님

쉽게 말해서 게시판 CRUD 기능을 만드는데 회원가입, 로그인 은 필요가 없다!!
당신이 정말 게시판 구현 경험이 많아서 여러가지 기능을 한 호흡에 찍어냈다고 하더라도
재사용 가능하게, 결합도를 줄이려 리팩토링을 할 때 어디서부터 수정할것인가? 쉬운거부터?

만약 그대가 건담 부품을 한땀한땀 채색하는 장인처럼, 한 layer씩 차곡차곡 쌓인 스파게티 코드를 작고 소중하게 리팩토링 해 나가는게 정신건강에 좋지 않을까?

💁‍♂️엠탁아.. 소비자가 아닌 생산자의 입장에서 서비스를 빌드업 하기까지 layer로 쪼개야 돼. 그게 pbl에서 요구한 기능이야.

그렇다.
너무나 원론적인 말이지만 다시 한번 상기하자.
비약은 없다.
computational thinking만 할 것이 아니라 목표를 세우는 것 만큼 중요한 것은 어떻게 목표까지 도달할지 computationally 접근해야한다.

🤷‍♂️자바 스프링으로 테이블 1개인 crud페이지 만들어 가지고 와라.
- 2월 22일 호준 멘토님-

mtak이 학생 관성을 깨고 생산자로 나아가는 여정

[캐시 파일]
💁‍♂️넌 내가 봐서 공부에 진심보다 허영심이 많아서
기초가 눈에 안 들어 오는것 같아..기초부터 확실히 하고 가자..
1. 언어
2.프래임워크
3. 웹 의 동작 원리
4. 인터넷 동작 원리
5. 디비
6. 디비 컨트롤
7. 파일 서버
8. 캐시 서버
9. 웹 서버 확장
10. 미들웨어
11. 운영 및 관리
12. 자동화
요런 느낌으로


호테크의 밤이 밝았습니다.
새로 레파지를 파 보아요.

한 일

  • 게시물 등록, 수정, 조회 기능 구현 및 controller, repository layer에서 테스트케이스 만들고 통과시키기
  • 리스트 조회 및 삭제 기능 구현 및 ajax로 서버와 통신부 구현 시도했으나 js가 동작안함. 왜 안되지.
profile
노는게 젤 조아. 친구들 모여라!!

0개의 댓글