우아한 테크코스 프리코스 2주차 미션에서 요구되는 것은 ‘본인이 만든 기능 테스트’ 입니다! 지난주 TDD에 대해 공부를 했고, 단위 테스트에 대한 내용들을 훑어 보았는데, 이번에 이렇게 미션으로 나오게 되면서 다시 한번 복습 그리고 몰랐던 부분들을 체크하면서 확실한 기능 구현을 해보려고 합니다! 이 블로그의 내용은 ‘클린 코드’ 라는 책을 기반으로 작성하였습니다! 🧐TDD? TDD… 티디디, 개발 커뮤니티에서도 그렇고 정말 많이 들리는 단어입니다. Test-Driven Development, 즉 테스트 주도 개발로, 소프트웨어를 개발하는 방법 중 하나입니다! [개발 상식] TDD란 무엇인가? 티디딕…? TDD…? 처음 들어 봅니다. 그래서 짚고 넘어가려고 합니다! 🤔TDD 가 뭐야? TDD (Test ..
이번에 우아한 테크코스 2주차 미션에서 추가된 요구사항이 있었습니다. 다름아닌 ‘indent(인덴트, 들여쓰기) depth를 2까지만 허용한다.’ 라는 요구사항이 있었습니다. 이 요구사항을 보니 의문이 들더라구요. 왜 2라는 숫자가 정해져 있을까? 혼자서 코드를 짤 땐 3번 4번 들여쓰기를 하는 경우도 허다했거든요. 이런 의문을 가지고 들여쓰기가 코드 가독성에 어떠한 영향을 미치는지 알아보려고 합니다! 🤔들여쓰기 크기가 미치는 영향? 들여쓰기가 중요한 것은 소스 코드의 구조를 미묘하게 형성하는 것입니다. 블록과 블록사이의 관계를 파악하는 것을 통해 계층 구조를 명확하게 알 수 있죠. 이는 다른 동료 개발자가 코드를 보더라도 빠르게 스캔할 수 있게 도와줍니다. 논리적인 흐름을 빠르게 이해할 수 있다는 말이..
어느덧 우테코 프리코스 1주차가 끝이났습니다. 방금전에 과제 제출을 끝마쳤고, 테스트까지 통과했네요. 뭔가 이렇게 요구사항이 내려오고, 그걸 스스로 해결해 나가는게 정말 재밌네요..! 2주차가 기대됩니다 🤣 1주 밖에 되지 않았는데 벌써 많은 것들을 배운 것 같아요. 특히나 이렇게 느껴지는 이유는 코드를 짜는 태도가 조금 바뀐 것 같아서 더 그런 느낌이 드네요. 혼자서 개발할 때와 확실히 커뮤니티를 통해 많은 분들과 소통하며 공부하는 것에 큰 차이가 있다는 걸 느껴요. 우아한 테크코스 커뮤니티를 통해 많은 분들의 열정 담긴 지식공유를 통해 정말 정말 많이 성장했어요! 지금은 비록 혼자서 공부하는 입장이지만, 나중에 회사에 쥐직하거나, 팀 프로젝트를 만들어 나가는 상황에서 필요한 역량들에 대해 배웠던 것 ..
협력이 필요한 때 현재 저는 10개월차 프론트엔드 공부를 하는 새내기 학생입니다. 그간 독학을 통해서 HTML, CSS, JS, 그리고 Typescript, React, Nextjs등을 공부하고 소프트웨어를 개발하였고, 이 과정에서 혼자서 다양한 서비스를 만드는데는 한계가 명확함을 느꼈고, “협력”을 해야 되겠단 목표 의식을 갖추게 되었어요. 특히나 소프트웨어 개발에서는 “협력”이 정말 중요하다고 하는데, 그 이유를 이제서야 알기 시작했어요, 큰 서비스를 혼자서 만든다는 것은 절대 불가능한 일이니깐요. 그래서 인프런과 같은 커뮤니티에서 스터디에 참여하기도 했었어요. 그런데 이렇게 무작위적으로 만난 사람들과는 도저히 자기성장을 이끌어 낼 수 없겠더라구요. 그런 사람들은 대부분 취업 준비를 위해 단체 프로젝..
🤔WeakMap..? WeakMap은 Javascript의 객체 타입입니다. Map과의 차이점은 키 값이 강력한 참조(strong reference)를 하지 않고, 약한 참조(weak reference)를 한다는 특징이 있습니다. ❓강력한 참조(strong reference)와 약한 참조(weak reference)는 무엇인가요? 강력한 참조와 약한 참조는 메모리 관리에서 사용되는 용어입니다. **강력한 참조(strong reference)**는 해당 객체가 메모리에서 제거되지 않도록, 무기한으로 유지되도록 보장하기 때문에 다른 곳에서 객체를 참조하지 않더라도 가비지 컬렉션의 대상이 되지 못합니다. 반면 **약한 참조(weak reference)**는 객체를 참조하지 않는 경우, 메모리 누수를 방지하기 ..
이전에 객체지향과 절차지향에 대해서 공부했었는데, 클린 코드(로버트 C 마틴) 책 6장에서 다뤄지는 내용을 충분히 이해하고자 !! 다시한번!! 중요한 개념으로 생각되기에! 포스팅 해봅니다!!! 🤔객체지향 프로그래밍(OOP, Object-Oriented Programming)이란? 소프트웨어 개발 패러다임 중 하나로, 객체(Object)와 그 객체들 간의 상호작용을 모델링하여 프로그램을 구성하는 방법론입니다. 코드 재사용성과 유지보수성을 향상시키는 등의 장점을 가지고 있어 현대적인 프로그래밍 언어들에 널리 사용되고 있습니다. 🤔절차지향 프로그래밍(PP, Procedural Programming)이란? 소프트웨어 프로그래밍 패러다임 중 하나로, 프로그램을 데이터와 프로시저(Procedure, 함수 또는 서브..