본문 바로가기

전체 글251

프론트 엔드 인수 테스트 코드 작성 팁[20221120 TIL] 프로젝트를 진행하면서 너무도 귀찮았던 부분이 인수 테스트였는데 그 이유 중 하나가 인수 테스트 코드를 어떻게 작성할 줄 몰라서였다는 것이다. 아니 인수 테스트를 왜 작성하기가 어려워? 가장 큰 이유는 아마도 기획의 부실이었던 것 같다. 막상 머릿속에 들어있고 참조할 모델이 있다고 안일하게 생각했던 것이 매우 크다. 프런트 엔드의 인수 테스트를 작성하며 사실 부족한 부분이 매우 많았는데 그중 하나가 모호함이었던 것 같다. 실제로 작성을 해보니 내가 그려놓았던 클래스 다이어그램을 참조할 일이 매우 많았고 기획서의 사용자 스토리를 참조하고 보충할 일 또한 매우 많았다. 앞 단계를 꼼꼼히 해놓아야 인수 테스트도 나온다. 결국 인수테스트 작성이 귀찮고 번거로웠던 것이 아니라 앞의 단계가 부실하고 내가 기획하려는 .. 2022. 11. 20.
급할수록 돌아가라[20221119-TIL] 중대한 결정을 내렸다. 약 3주가 남은 시점 한 주는 디자인 주를 빼면 2주가 남았다. 마음이 조급해지니 결과물도 전부 탓하게 되고 탓을 하다보니 자기 반성보다는 자기 책망 같은 느낌을 많이 받은 몇 주. 얼마전에는 내가 잘 아는 도메인으로 옮기니 작업이 나아졌다는 글을 올렸지만 사실 조급함이 가신 건 아니다. 아니 급한데 어떻게 하냐고? 급할수록 돌아가라는 말이 쉬운데 너무도 어렵다. 정신없이 사고가 터진 현상에서 원칙대로 행동하는 것이 얼마나 어려운지 떠올려보면 알 것이다. 그럴수록 코드 부터 막 치고 싶은 심정이지만 지난 한달간 사실 제대로 된 도메인이 대한 이해 없이 코드만 어줍짠게 치다가 더 이상 생각도 나지 않고 결정도 더욱 느려지는 것을 경험했다. 또한 이미 꽤 알고있다고 생각한 것도 다시 .. 2022. 11. 19.
객체지향적 개발?[20221118-TIL] 어떻게 개발을 시작해야하나? 돌고 돌고 돌아 기획을 다시 마무리 하던 시점 쯤 코딩을 하며 고민해야할 부분을 기획을 보다 구체적으로 ( 매우 귀찮지만 )할 수록 그런 인지부하가 줄어든다는 것을 깨달았다. 그런데 나는 기획을 하던 중 자꾸 옆에서 동료가 코드를 짜면서 리팩토링(리팩토링이라고 하고 다시 뒤엎고 구조를 바꾸는 것 같은 느낌)을 생각하며 객체지향적 사고를 하려고 애쓰는 모습을 보니 나도 신경이 안쓰일 수가 없다. 막 다이어그램처럼 구조를 그려보기도 하는데 나도 그래야 하나? 라는 생각이 들었다. 일단 만들면서 고민을 할까? 사실 앞서 말한대로 대략적으로 그림을 그려보면서 하면 좋을 것 같긴한데 또 해보지 않은 미지의 영역이라 또 시간이 더 걸리면 어떡하나 라는 고민이 생겼다. 이런 고민을 이곳에.. 2022. 11. 18.
개발자 포폴 갑분 도메인 변경[20221117-TIL] 오늘 갑자기 도메인을 변경했다. 벌써 기획을 3번쯤 엎은 건가..? 그래도 진도가 빨리 나가서 엎고 다시 하고 엎고 다시 하고의 소득이 있기는 했다. 덕질?에 꽂히다. 오늘 3기분들이 이야기하던 주제 중에 어느 개발자 분이 덕질을 하다가 나온 웹사이트가 있다고 들었던 것 같은데 그중에 갑자기 덕질이란 말이 너무 꽂혔다. 요새 계속 의욕 없이 억지로 가는 기차 같은 기분을 느꼈는데 괜히 마음 싱숭해질까봐 글에 담지 못 했었다. 개발자가 되는 것도 어려운데 무언가 하나의 도메인에 전문가이어야 프로젝트를 하기도 쉽다고 하니 정말 쉽지 않다. 그런데 내가 잘 아는 도메인은 생각보다 많은 것 같은데? 사실 도메인이라고 하면 그냥 좋아하는 취미 정도라고 생각하면 잘 할 거라고 생각하지만 그렇지 않다. 하나의 도메인.. 2022. 11. 17.
선택의 어려움 속에서 선택하기[20221116-TIL] 오늘 생산량을 대략적으로 측정해보았는데 말하기 부끄러울 정도였다. 개발을 시작하기 전 개발은 답이 있는 것이라 여겨 쉬울 것이라고 여겼는데 그렇지 않았다. 이것도 무에서 유를 창조해나가며 뭔가 끊임없이 스스로를 괴롭혀야 무언가가 나오는 그런 생산적인 직업인 것 같다. 기획 후 선택의 어려움 기획이 끝난 후 그럴듯한 디자인도 생기고 방법도 생겼는데 코드가 잘 나오지 않았다. 생각해보면 내가 만들어 내는 UX UI 가 최선일까? 너무 번잡하지는 않을까? 괜히 남들과 다르게 새로운 시도를 하나? 등의 의문이 들었다. 사실 코드를 짜고 나면 수정도 쉽지 않아 더욱 한 번에 잘 좋은 것을 내려고 했던 것 같다. 매우 간단한 질문과 대답인 것 같지만 오늘 하루종일 이게 나를 좀 먹고 있었다. 최악읜 선택은 선택하지.. 2022. 11. 16.
구현할 기능에 대한 전체적인 밑그림 그리기(20221115-TIL) 어제는 비록 기능은 한 가지지만 이것을 오롯이 정리하고 어떻게 구현해나갈지 다시 처음부터 생각해보았다. https://onulmansanda.tistory.com/218 서비스의 사용성 생각하며 다시 설계하기[20221114-TIL] 다시 뒤엎고 설계부터 제대로 하기 다시 미숙한 것들을 정리하고 설계부터 제대로 하기로 했다. 1. 페르소나 정하기 유저스토리를 쓰기위해 사용자에게 줄 가치를 더 깊게 고민하고 정하려던 중 onulmansanda.tistory.com 설계는 왜 어려웠을까? 포트폴리오 초반에 설계의 어려움에 관하여 엄청 많이 썼었는데 오늘은 조금이나마 그 가닥을 잡은 것 같아서 다시 써보려고 한다. 일단 어려웠던 이유를 분석해보자 1. 참조할 모델이 있어서 그것에만 의존을 했다. 참조하는 서비.. 2022. 11. 15.
서비스의 사용성 생각하며 다시 설계하기[20221114-TIL] 다시 뒤엎고 설계부터 제대로 하기 다시 미숙한 것들을 정리하고 설계부터 제대로 하기로 했다. 1. 페르소나 정하기 유저스토리를 쓰기위해 사용자에게 줄 가치를 더 깊게 고민하고 정하려던 중 어떤 사용자에게 줄 것인가? 라는 의문이 먼저 들었다. 그래서 이전에 창업 아이템을 생각할 때 내 서비스를 사용할 고객의 페르소나를 정하던 것이 생각나서 그것을 정하면 더 의미있는 가치 서비스가 나오지 않을까? 라고 생각해 노션에 정해보았다. 기획 및 개발 TIP! 개발자를 타겟으로 한 스터디와 예비 개발자들에게 유용한 정보를 알려주는 게시판 2가지로 일단 서비스를 좁혔다. 서비스가 너무 커지니 개발을 더욱 산만하게 하고 집중도 안되고 구현도 뒤죽박죽이었다. 하나부터 제대로! 일단 주변 동기들이 예비 개발자라서 더욱 자.. 2022. 11. 14.
3주차 스프린트 회고(부제 진도가 안나가요 선생님...)[메가테라 20주차 주간회고] 진도가 안나가요 선생님... 어떡하죠? 모든 우리 동료들의 아침 체크인의 고민. 진도가 안나가요. 할 것도 정했고 기획도 했고 설계도 나름 했는데 도대체 무엇이 문제일까? 왜 우리는 항상 계획한 시간보다 마감에 치이는가? 사실 이것은 신입 개발자인 나와 동기들의 문제뿐만은 아닐 것이다. 실제로 내 능력에 비례한 작업량을 정하는 것은 어렵기도 하고 지키는 것은 더욱 어렵다. 이런 기분이 저번주 부터 들기 시작해서 2주동안 정말 한 것은 없는데 시간만 보내는 고통스러운 시간을 보내고 있어 트레이너님께 sos를 했다. 돌돌설(돌고 돌아 설계) 다시 설계부터 꼼꼼히 왜 이렇게 진도가 안나가는가에 대한 답변은 간단? 했다. 1. 어떻게 구현 할지 머릿속에서 명확한가. 아니오. 나름의 변명을 하자면 한 번도 나만의.. 2022. 11. 14.
프론트 엔드 분리할 컴포넌트 범위와 테스트 코드 범위 정하기[20221113-TIL] 오늘은 평소보다 등록할 요소가 많은 게시판 등록폼을 구현하는 중이었다. 평소에는 input의 값만 존재했다면 이번 등록폼은 옵션, 인풋 라디오 타입 등이 들어가 코드가 매우 길어졌는데 코드가 매우 길어지다보니 자연스레 테스트 코드를 어떻게 짜야하지..? 라는 의문이 들었다. 테스트 코드도 목적을 가지고 짜기 테스트를 할 때에도 아 테스트 코드가 중요하다던데라는 의무감에서 작성하는 것이 아니라 어떤 것을 테스트해야하고 어느 범위까지 테스트 할것인가를 정해야한다는 필요성을 점점 짜면서 느꼈다. ( 아무래도 코드의 복잡성도 증가해서 그런듯 ) 그래서 테스트 코드를 짜거나 코드의 가독성을 위해서 컴포넌트로 분리해야하는 필요를 느꼈다. 어느정도 범위로 분리할 것 인가? option 태그를 가진 것들 그 자체로 복.. 2022. 11. 13.
최소기능만 구현하기[20221112-TIL] 오늘은 기본적인 기능들을 다 리팩토링하고 다시 보완하는 날이었다. 그러던 중 중요하진 않지만(? 그 당시에는 너무 중요해 보였다.) 그래도 구현하고 싶은 것이 있었는데 또 이 작은 기능 하나를 구현하려면 또 알아보고 실험하고 적용할 것이 많았다. 그래서 고민하던 중 동료가 해준 말이 있다. 아샬 갓 께서 말씀하시길 할 수 있는 가장 작은 것 부터 하라. 내가 하고 싶은 것은 이미지를 삽입할 드래그 앤 드롭 박스를 만드는 것이었는데 사실 굳이 그런 부가기능을 하지 않고도 기본 기능만으로 구현 할 수 있었다. 사실 여태 욕심 아닌 욕심에 계속 스스로 정한 스프린트 마감 목표를 못지키고 있었는데 또 그럴 뻔 했다. 왜 여태 마감기한을 자꾸 못지켰을까? 1. 지속적인 리팩토링 물론 나쁘면 지금이 가장 다시 갈아.. 2022. 11. 12.