2024/10/22 5

[우테코 7기] 1주차 프리코스 후기

드디어 우아한테크코스 7기 1주 차 프리코스가 시작되었다! 지원서를 제출하면 메일로 안내가 오는데 은근 스팸 메시지함에 들어가 있었다는 사람들이 많았다.나도 그래서 하루 전까지 연락이 없길래 카톡 오픈채팅방에 들어가보니 사람들이 알려주었다. 휴.. 다행   우테코에는 디스코드 커뮤니티가 있다!필수로 참여하지는 않아도 되지만그 곳에서는 여러 개발 꿀팁들을 공유하고, 잡담, 전주차 코드리뷰 등을 할 수 있는 곳이었다.하나하나 읽어보면 도움이 될 것 같은데 사람이 너무 많아 다 읽진 못했다.   이번 1주차 미션은 java-calculator로 문자열 개산을 하는 프로그램을 제작하는 것이었다. 첫인상은 생각보다 매우 간단하네? 였다. 지난 6기보다 더 간단한 거 같은데..그러나 개발을 하면 할수록 내가 몰랐던..

테스트 주도 개발 TDD는 무엇일까?

TDD (Test-Driven Development) 소프트웨어 개발 방법론 중 하나로 코드를 작성하기 전에 테스트 코드를 먼저 작성하고, 그 테스트를 통과하는 코드를 구현하는 방식이다.TDD는 코드의 품질을 높이고 버그를 줄이기 위한 강력한 방법론으로 코드 설계와 테스트를 동시에 개선할 수 있다. TDD 방식의 핵심은 "테스트가 코드를 이끈다" 는 원칙이다. 테스트를 먼저 작성하고, 그 테스트를 통과하기 위한 최고한의 코드를 작성한 후 리팩토링을 통해 개선하는 과정을 반복하게 된다.       TDD의 3단계 (Red-Green-Refactor)Red : 실패하는 테스트 작성Green : 테스트를 통과하는 최소한의 코드 작성Refactor : 중복 제거, 코드 개선, 최적화    Red- 실패하는 테스..

원활한 협업을 위한 '커밋 메시지' 작성 규칙

커밋 컨벤션버전 관리 시스템(Git 등)에서 커밋 메시지 작성 규칙을 정의한 것협업하는 개발자들 간에 일관된 커밋 메시지 작성 방식을 유지함으로써 프로젝트 관리와 협업을 원활하게 해주는 중요한 규칙이다.커밋 메시지를 체계적으로 작성하면 프로젝트의 변경 내역을 쉽게 추적할 수 있고 나중에 이력을 확인하거나 버그를 수정할 때도 많은 도움을 준다.       커밋 컨벤션의 기본 구조():    1. 타입 (type)커밋의 성격을 나타낸다.타입을 명확하게 정의함으로써 어떤 종류의 변경이 이루어졌는지 쉽게 파악할 수 있다.feat새로운 기능을 추가할 때 사용fix버그를 수정할 때 사용docs문서 수정 및 추가 (README, 주석 등)style코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우refactor코드..

Code를 Clean하게 작성하는 방법!

Clean Code코드를 클린하게 작성해야 하는 이유는 유지보수성, 확장성, 가독성과 관련이 있다.클린 코드는 개인 개발자뿐만 아니라 팀 전체의 생산성과 코드 품질에 큰 영향을 미치며 여러 장점이 있다.코드를 클린하게 작성하면 유지보수성 향상, 가독성 향상, 확장성과 재사용성 증가, 디버깅 및 테스트 용이, 생산성 증가, 코드 품질 및 신뢰성 향상, 기술 부채 감소, 자신의 성장 등의 효과가 있다.      1. 의미 있는 이름 짓기변수, 함수, 클래스 이름은 명확하게이름만 보고도 그 역할을 쉽게 이해할 수 있어야 한다. 축약어를 피하고 이름이 구체적일수록 좋다.불필요한 정보 제거함수나 클래스 이름에 정보를 과도하게 포함하지 말고 필요 최소한의 정보만 담아야 한다.일관성 유지프로젝트 전체에서 같은 개념에..

MVC 패턴이 무엇일까?

MVC (Model-View-Controller) 소프트웨어 설계 패턴 중 하나로 주로 웹 애플리케이션에서 많이 사용된다.이 패턴은 애플리케이션의 구조를 세 가지 역할로 분리하여 유지보수성과 확장성을 높여준다.각 요소는 서로 독립적이지만 협력하여 사용자와의 상호작용을 처리한다.      MVC의 구성 요소Model (모델)View (뷰)Controller (컨트롤러)       Model (모델)데이터와 비즈니스 로직을 담당하는 부분이다.데이터는 데이터베이스에 있는 데이터일 수도 있고, 애플리케이션 내에서 사용되는 비즈니스 상태 정보일 수도 있다. 역할모델은 애플리케이션의 핵심 데이터를 관리하며 데이터의 저장, 수정, 삭제와 같은 작업을 처리한다.또한 데이터를 다른 컴포넌트(주로 뷰)로 전달한다. 예시쇼..