ⓒ Lee Sang Beom

스코프(scope)와 컨텍스트(context)

ECMAScript에는 스코프(scope)와 컨텍스트(context)라는 개념이 있다. 궁극적으로 둘다 범위를 이야기 하기에 동일한 듯 사용되기도 하지만 사실은 다르다. 이 두 가지의 개념은 코드를 작성할 때 알든 모르든 영향을 받아왔다. 개발하면서 발생하는 많은 오류들 중에서 이 두 가지가 정확한 이해가 안되어 생기는 경우가 부지기수다.  입문 때 배웠던 코드 패턴을 습관처럼 작성하는 것을 벗어나 더 창의적인 코드를 생산하기 위해서는 스코프와 컨텍스트의 정확한 이해부터 시작해야 한다.

블록 양식화 문맥(Block Formatting Context)

플렉스(flex)와 그리드(grid) 레이아웃이 등장하기 전까지 레이아웃 작업은 참 까다로운 작업이었다. 블록 양식화 문맥(block formatting context)을 정확히 이해하지 못한 가운데 선배에게 답습하거나 커뮤니티에 올려진 팁을 기계적으로 활용하는 경우가 참 많았다. 개념 파악이 안되니 내가 작성한 코드는 이해 불가 덩어리이다. 그렇게 시간이 흘러 이제는 전지전능한 플렉스와 그리드가 나왔으니 예전의 미스테리한 코드는 억울하게도 누군가에게는 그렇게 묻힐지도 모른다. 하지만 그 찝찝한 코드는 영영 내 손을 떠날수 있겠다 생각하겠지만 잘못된 생각일 것 같다. 여전히 당신의 트라우마를 소환할 것이다. 지금도 과거의 나에 머물러 있다면 한번 제대로 알아보자.

알아두면 편리한 popover

사용자 인터페이스를 구현할 때 상황에 따라 사용자에게 적절한 피드백을 해야 한다. 하지만 피드백은 정적이지 않다. 어디서든 불쑥 튀어 나올 수 있다. 그러니 자바스크립트를 떠나서는 생각할 수 없다. 모두들 나름대로의 방법과 라이브러리를 보유해서 활용할지도 모른다. 팝오버(popover)는 어떨까? 어쩌면 새로운 대안을 제시할 수도 있다

AI 이면

현재 기술 화두인 AI에 대해 어떤 감정을 가지고 있을까? 적극 환영일까? 아니면 반대? 둘다 아닌 기대와 우려? 지금까지 IT 기술은 인간을 위한 혁신적인 도구와 환경을 만들어 주었다. 인간의 기술 발전은 정말 경외스럽다. AI는 혁신적인 도구를 넘어 그 이상이 되고 있다. 단지 도구라는 존재가 아닌 인간의 순영역까지 들어오고 있다. 인간을 위한 기술 발전은 계속 환영할 일이지만 결코 인간과 대등할 수 없다. AI 기술의 실체를 바로 알아 순기술이 될 수 있도록 우리 모두가 지혜를 모아야 할 것이다.

CSS Custom Functions and Mixins Module Level 1 편집자 초안

조금 시간이 지난 것이기는 하지만 11월 초에 새로운 사양이 추가되었다. 이 사양 초안에는 CSS에서 사용자 정의 함수를 구현할 수 있는 기술이 포함되어 있다. 정말로 즐거운 소식이다. 개발일을 해오면서 CSS의 역할이 자바스크립트 못지 않게 커지고 있다는 것을 느낀다. 웹은 점차 문서 개념이 아닌 프로그램화 되고 있는 가운데 인터페이스의 시각화 작업은 매우 복잡해졌다. 자바스크립트와 연계없이는 복잡해진 시각화 요구를 다 담아내기가 힘들었던 것이 사실이다. 이제 CSS는 스스로가 그러한 능력을 갖기 위해서 변모하는 것 같다. 환영할 일이다.