본문 바로가기

All67

[20.12.24] YDKJSY - Surveying JS Each File is a Program 요즘에는 거의 모든 웹 사이트가 수많은 JS file 로 이루어져 있다. 하나의 거대한 프로그램은 서로 다른 작은 프로그램들이 모여 만들어진 집합체일 뿐, 초기의 js 파일은 각각 '모듈'이라는 단위로 작은 프로그램에 대한 기능을 하나씩 맡고 있는데, 그러한 이유는 주로 빠른 에러 핸들링을 통한 유지 보수의 용이함에 있으며 작은 프로그램을 큰 프로그램으로 합치기 위해서 별도의 빌드 툴을 사용한다고 한다. 다수의 js 파일들이 하나의 프로그램처럼 동작하기 위해서는 전역 단계에서 state 를 공유를 할 수 있어야 하는데, 이를 구현하기 위한 방법은 여러가지가 있다. 그 중의 하나로 따로 state 클래스를 만들어 각각의 모듈에서 담당하는 이벤트 핸들러나 데이터의 변.. 2024. 1. 7.
[20.12.23] YDKJSY - What is JavaScript? What's With That Name? 자바 스크립트는 자바와는 관련없이, 순전히 마케팅 전략으로 출시된 이름이다. 기존의 무겁고 상대적으로 더 잘 알려진 자바의 대항마 포지션을 획득하기 위해 '자바'라는 이름에 더 가벼운 프로그램이라는 의미로 '스크립트' 라는 단어를 합쳐 만들어졌다고 한다. 한마디로 자바와 자바 스크립트는 기능적인 측면에서 전혀 다른 결을 띄고 있는 언어들이다. 요즘에는 그냥 JS 혹은 ECMA 표준의 전신이라는 의미에서 ECMAScript 라고 불리는 추세이다. Backwards & Forwards backwards / forwards compatible 에 대해 알아볼 필요가 있다. backwards compatible : 과거에 작성해둔 기능 코드가 현재 브라우저 상에서도 호환.. 2024. 1. 6.
[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.