본문 바로가기

Development47

[20.12.17] 옵저버 패턴 Reference How to Use the Observable Pattern in Java Script Why 최근 우아한테크코스의 마지막 과제를 수행할 당시, 가장 까다로웠던 부분을 꼽아 보자면 '한 컴포넌트에서 데이터가 바뀔 때마다 각기 다른 페이지에도 동일한 데이터가 업데이트 되어야 한다'는 점이었다. 과제를 수행할 당시에는 이 부분에 대한 디자인을 어떻게 정립해야할 지 감이 오질 않아, 한 모듈 안에서 상태가 바뀌게 되면 다른 모듈의 객체를 생성해 렌더링하는 식으로 코드를 짰었다. 하지만 그렇게 프로그램을 빌드해가니 한 모듈 안에서 각기 다른 모듈에 대한 의존성이 높아지는 코드들이 포함되고 한 눈에 보기해도 뭔가 하드 코딩스러운 부분이 눈에 보였다. 그래서 디자인 패턴에 대한 포스트를 공부하며 .. 2024. 1. 6.
[20.10.03] TDD에 대한 간단한 고찰 TDD란, Test Driven Development 의 약자로서 예상 케이스에 대비한 테스트를 기반으로 점진적으로 코드를 수정하고 개발해나가는 방식이다. 라 피신 때 정신 없이 과제를 수행하고 평가를 진행했을 당시, 친절한 누군가의 간이 테스트 코드로 인해 클러스터 내의 적지 않은 사람들이 동료 평가, 몰리네뜨의 채점 전에 스스로 오류를 파악하고 그에 맞는 예외처리를 추가해주며 코드의 완결성을 더욱 높일 수 있었다. 그 덕에 ‘프로그램을 만들고 코드를 짤 때, 그 코드를 검증해줄 테스트 코드는 꼭 필요하겠구나.’ 라는 생각을 가질 수 있었고 이번 본 과정의 첫 프로젝트인 libft 를 만드는 기간 동안 해외의 기존 카뎃들이 업로드 해놓은 3 개의 테스터와 함께 했다. 그러다 문득, 나는 계속 코드를 고.. 2024. 1. 6.
[19.11.26] TIL, pre course 과제 완료. 마지막 recursion 과제를 남겨두고 정말 머리를 오래도록 싸맸던 것 같다. 분명 무엇을 이용해서 풀어야할지도 알겠고, 감도 잡히는데 미치도록 풀리지 않았다. 고생도 많았지만 그렇기에 머리에 더 남을 것이라 희망하며 복습을 시작하겠다. recursion 과제의 핵심은 '재귀함수'를 이해하느냐, 가 관건이라고 할 수 있다. 그 개념을 간단히 서술해 보자면 함수 안에 같은 함수를 사용하여 일종의 loop을 만들어주고, 정해진 조건을 충족하면 결과를 도출해낼 수 있는 함수를 만드는 것이었다. 여기서 주의할 점은 반드시 탈출구(!)를 만들어주어 무한루프를 방지할 수 있어야 한다는 점이다. 비슷한 방식으로 for반복문을 사용할 수도 있지만, 내용의 가독성과 운용의 효율성을 위하여 여러가지 방면(특히 함수 프로.. 2024. 1. 6.
[19.11.19] TIL 1. 삼항 연산자 처음엔 이 연산식을 보고 도대체 뭘 의미하는 걸까, 의아했다. if, for, while문을 줄곧 작성했던 터라 바로 질문을 통해 알아보았다. 삼항 연산자는 문자 그대로 '세 개의 피연산자를 이용하여' 작성할 수 있는 수식이라고 생각하면 된다. 좀 더 직관적으로 식을 그대로 가져와 얘기를 하자면, 이렇게 볼 수 있다. 알아놓고 있으면 코드를 더 간결하게 쓰는데 많은 도움이 될 수 있을 거라고 생각한다. 2. DOM(Document Object Model) HTML, CSS, JS를 연결할 수 있는 핵심적인 개념이다. DOM 자체가 JS 언어의 한 부분이라고 볼 수는 없다. 간단하게 지금까지 배운 개념과 메소드에 대해 복습해 보겠다. document.querySelector(); HTML.. 2024. 1. 6.