블로그
전체 6#카테고리
- 백엔드
#태그
- PracticalTesting
- 테스트
- 백엔드
- readable_code
2024. 10. 20.
0
인프런 워밍업 클럽 2기 - 3주차 발자국
테스트란 무엇인가?미래에 발생 가능한 문제를 미리 확인하는 것이다. 테스트 코드를 작성할 때, 출력을 직접 확인하는 것이 아닌 검증을 자동화 테스트하자.테스트는 요구 사항의 조건의 경계값을 테스트하자.테스트하기 어려운 영역을 분리하자.어려운 영역 : 시간, 입력, DB입력, 메시지 전송, 로그 등 TDD테스트 기반으로 코드를 구현하는 방법이다.핵심은 RG-리팩토링실패하는 테스트를 작성한다.테스트만 통과하기 위한 구현부 작성실패 테스트를 초록색이 뜬다.리팩토링한다.위 과정을 반복적으로 진행하여 코드를 개발한다.이 방법으로 내가 작성한 코드에 빠르게 피드백을 받을 수 있다.테스트가 중심이기에 엣지 케이스를 놓치지 않는다. 테스트의 중요한 점.테스트 이름을 잘 작성하자. 한글로 작성할 수 있으며 _으로 띄어쓰기를 표현할 수 있다. 하지만 DisplayName어노테이션을 사용하자.이후 BDD 방법 등도 있다.
백엔드
・
PracticalTesting
・
테스트
・
백엔드
2024. 10. 13.
0
인프런 워밍업 스터디 클럽 2기 백엔드(클린코드, 테스트코드) 2주차 발자국
리팩토링.로직의 의미를 파악하고 비슷한 로직끼리 구분하여 객체의 메서드로 만든다.중복 코드를 제거하고 메서드를 추출하여 코드의 가독성을 높힌다.모든 이름은 코드의 "의미"를 적는 것이지 코드를 간략하게 적는 것이 아니다. 개발의 모든 방법에 정답은 없기에 상황에 맞게 방법들을 적용해봐야 한다.애매하게 사용할 경우 어떤 방법이든 애매하게 알 수 있다.최대한 deep하게 사용해보자.억지스러울 정도로 깊게 사용하면 방법에 대해 선이 생긴다.이 선은 앞으로 정도의 수준을 정해줄 것이다.ex. 클린 코딩이 좋다고 모두 클린 코드로 만드는 것이 아니다. 앞으로 코드를 읽을 일이 많을 것이다.그럴 때마다 주석, 리펙토링, 추상화 등을 사용하여 코드를 읽자. 추상이란, 구체에서 중요한 부분만 남기는 것이다. 미션을 하면서 실수로 제출하지 못했다. 미션을 할 때 과제의 코드가 별로 좋지 못한 코드인 것은 알지만, 어떤 부분이 별로인지는 잘 모르겠다.아직 애매하게 공부한 것 같다.앞으로 복습을 더 해야겠다.
2024. 10. 06.
0
[워밍업 클럽 스터디 2기] 1주차 발자국
너무 짧았던 일주일이었습니다.리더블 코드를 수강하면서 원래는 2개의 강의이기도 하고 나름 solid에 관심이 있었기에 강의 소요 시간이 짧을 줄 알았는데 코드를 직접 만들어보는 것이 오래걸리더라고요.쉽지 않았습니다.진짜 처음부터 알려주십니다. 초반에는 쉬웠습니다. 공백이나 !를 어떻게 사용하는 것이 좋은지, 이름 짓는 기준 등 섹션3까지는 쉬웠는데 섹션 4부터 조금씩 어려워지더라고요.특히 solid가 강의 시간도 길고 어려웠는데 solid를 적용하면서 솔직히 "지금 코드에서는 비효율적인 것 같다"라는 느낌을 받았지만, 유익한 개념으로 하나씩 예시를 들어서 설명해주는 것이 쉽게 이해되었습니다. (그것과 별개로 개념을 코드로 만드는 것은 진짜 힘들더라고요.)"왜 클린 코드를 추구해야 되는가?"부터 "추상화란 무엇이며, 어디서부터 출발하는건가?"를 지나 "객체 지향 적용하기" 때 VO가 뭔지도 몰랐던 저에게 좋은 경험이 되었습니다.솔직히 DTO, VO, DAO 등을 헷갈려서 블로그를 매번 찾아보지만 확실하게 개념이 확립되지 않았지만 VO를 제대로 배울 수 있어서 좋았습니다. 강의 자체에 소요 되는 시간이 너무 많기에 앞으로는 시간을 줄이기 위해서 이론듣고 저 혼자 실습해본 뒤에 강의 실습을 따로 듣는 방법으로 진행해보려 합니다.다음 주에는 선행학습을 할 수 있을 정도로 빨라졌으면 좋겠습니다. 첫 번째 미션의 정답이 없는 문제라서 최대한 다양한 방법으로 표현하는 것을 답으로 제출하려고 했습니다.하지만 후손들 입장에서는 알아보기 힘들 것 같아서 통일성 있게 코드를 수정했습니다.그리고 미션을 주시는데 간략하게 말하자면 강의에서 배운 내용을 나만의 언어로 바꾸는 연습하면서 다른 사람들이 어떻게 생각하는지 같이 공유할 수 있다는 것이 좋은 것 같아요. 코드를 따라치는데 게임을 실행 중에 열었을 때 근처 빈 곳은 열려야 하는데 열리지 않아서 고생했네요...파라미터랑 사용하는 값이랑 달라서 생긴 오류였는데 그걸 계속 못 찾아서 하나씩 비교해서 봤네요...
백엔드
・
백엔드
・
readable_code
2024. 03. 03.
0
2번째 발자국
일주일 간의 학습내용 요약JPA를 사용하여 SQL을 설정하는 방법과 사용하는 방법을 확인하여 우리가 만든 코드에 적용한다.트랜잭션과 영속성 컨텍스트에 대해 공부하면서 적용한다. 아쉬웠던 점뒤로 갈수록 쉽지 않은 내용과 감기로 인해 수업이 조금 밀려서 조금 아쉬웠지만 디스코드를 통해 다양한 사람들이 열심히 하는 모습을 보고 의욕을 얻을 수 있었다.미션 해결 과정6일차 과제가 어렵다고 느껴서 공부를 하다가 제출 기한을 놓쳤지만 내가 한 과제와 다른 사람들의 과제를 보면서 비교할 수 있어서 좋았습니다.
2024. 02. 26.
1
[인프런 워밍업 클럽 0기] FE 1주차
#요약 자바스크립트 초반 강의에서는 변수, 호이스팅, 타입 변환, 연산, 반복문 등을 배웠고, Window 객체와 DOM을 다루는 방법과 Event에 대한 학습도 했다.이후 강의에서는 this 키워드, 삼항 연산자, Closure, 구조 분해 할당, Map/Filter/Reduce 메서드와 비동기 프로그래밍과 OOP 등에 대한 내용도 배웠다.또한 Iterator/Generator와 Design Pattern에 대한 강의도 진행되었으며 Design Pattern 중 Singleton, Factory, Mediator, Observer, Module 패턴에 대한 개념과 활용법도 배웠다.#미션아직 익숙해지고 있는 과정이라 미션 하나하나에 시간이 많이 소모된다.#회고록너무 많은 내용을 배우면서 과제에서 사용하려다보니 정리가 중요하다고 생각했다.다른 언어들과 중복되는 특징들은 넘겨가면서 공부를 하고 있지만 그럼에도 JS가 특이하다고 느껴지는 부분들이 많았다. 완숙되기 위해서는 강의를 여러번 듣는 것도 좋을 것 같아보인다.
2024. 02. 25.
0
1번째 발자국
1주차 발자국, 강의는 18강까지 들었다. 이 강의를 배우면서 핵심적인 내용을 배웠다.물론 깊게 배운 것은 아니지만 핵심적인 내용 위주로 배웠다. 네트워크와 api에 대해 배우고 POST,PUT,GET,DELETE api 등을 배웠으며실제로 DB를 연동하여 데이터를 저장하고 Controller을 분리하는 등 실제 업무에서 사용할 것 같은 방식으로 알려주셨다.초반에 어렵지 않다고 느낄 때 다음 강의를 예습했어야 했다... 여유롭다고 생각할 때가 아니라 지금 될 수 있는 한 최대한 빨리 들어야 후에 막혔을 때 충분히 시간으로 찾을 수 있겠다 싶었다. 미션을 진행하면서 강의에서 배운 내용을 기반으로 미션을 해결했다.처음에는 어렵지 않았으나 여러 미션을 할수록 코드에 대한 이해가 필요해서 강의에서 따라친 코드를 보면서 왜 이렇게 동작하는지 확인하는 과정이 길어지면서 갈수록 미션을 완료하는 시간이 늘어졌다.
백엔드
・
백엔드