YAGNI 원칙YAGNI는 You Aren’t Gonna Need It의 약자로 “정말 필요하다고 간주할 때까지 기능을 추가하지 마라” 라는 원칙이다. 자신만의 아키텍처를 작성할 때 반드시 YAGNI 원칙을 적용해 당시에 직면한 문제만을 해결해야 한다.DOM 이벤트 API이벤트는 웹 애플리케이션에서 발생하는 동작이다. 전체 이벤트 리스트마우스 이벤트 (클릭, 더블 클릭 등)키보드 이벤트 (키다운, 키업 등)뷰 이벤트 (뷰 리사이징, 스크롤 등)을 포함한 사용자가 트리거한 이벤트에 반응 할 수 있다. 또한 네트워크의 상태나 DOM 콘텐츠의 변화에 따라 이벤트를 발생시킬 수 있습니다.속성에 핸들러 연결on속성 이용 : onclick, ondblclick, onmouseover, onblur, onfocus ..
모든 웹 애플리케이션에서 가장 중요한 기능 중 하나는 데이터의 표시됩니다데이터를 표시한다는 것은 요소를 화면이나 다른 출력 장치에 렌더링하는 것을 의미합니다W3C(world Wide Web Consortium)는 프로그래밍 방식으로 요소를 렌더링 하는 방식을 DOM(Document Object Model)로 정의했습니다.2장의 목적은 프레임워크 없이 DOM을 효과적으로 조작하는 방법을 배우는 데 있습니다.문서 객체 모델DOM은 웹 애플리케이션을 구성하는 요소를 조작할 수 있는 API입니다. Framework Github stars Vue ..
I'm Okay I'm Fine 괜찮아 괜찮아 댕랭랭랭레~근래에 일을 하는 이유와 현 경력 지속 여부 그리고 돈을 버는 이유와 행복의 기준이 무엇인지 재 정립이 필요하다고 느끼는 와중에 개발자를 넘어 기술 리더로 가는 길을 접하니 챌린지만 늘어나고 머리만 복잡해졌다. 복잡한 생각을 횡설수설 말해 의미 전달도 제대로 안되고 책 주제를 너무 벗어나게 될 거 같아 심히 걱정이 된다. 그래서 이번에는 온전히 듣고 질문하는 것만 목표로 해보고 싶다.현실과 책 내용의 간극이 커서 인지 부조화가 왔고 내용에 집중을 못 했다. 그래도 개발 언더독 생활을 하면서 스쳐 지나갔던 프로젝트들이 실패한 이유 중 하나가 기술 리더가 없었기 때문이라는 걸 확실하게 인지했다. 부끄럽게도 책을 읽기 전까지 매니저(PM)와 기술 리더(..
💡 이번 장에서 살펴볼 내용: - 현실적인 문제에 함수형 사고를 적용해 봅니다. - 소프트웨어 구조를 잡는데 계층형 설계가 좋은 이유를 설명합니다. - 액션을 타임라인으로 시각화해 봅니다. - 타임라인을 사용하면 시간에 관한 문제를 잘 해결할 수 있다는 것을 배웁니다. 이 장에서는 함수형 사고가 무엇이고, 왜 함수형 사고가 더 좋은 소프트웨어를 만들려는 개발자에게 도움이 되는지 설명합니다. 토니 피자에 오신 것을 환영합니다. 토니가 운영하는 피자 가게를 살펴보고 두 개의 함수형 사고를 어떻게 적용했는지 알아봅시다. 파트 1: 액션과 계산, 데이터 토니의 피자가게 로봇들을 프로그래밍한 코드에서 액션과 계산, 데이터 각 분류에 해당하는 예를 살펴보고 코드에 적용한 계층형 설계 원칙이 어떤 것인지 알아봅시다...
해당 글은 쏙쏙 들어오는 함수형 코딩 책 내용을 기반으로 작성된 내용입니다. 💡 이번 장에서 살펴볼 내용 - 함수형 사고가 무엇인지 설명합니다. - 다른 함수형 프로그래밍 책과 어떻게 다른지 알 수 있습니다. - 함수형 프로그래머가 코드를 바라보는 특별한 방법을 알게 됩니다.여러분이 이 책을 계속 볼지 말지 감을 잡을 수 있습니다. 함수형 프로그램을 한마디로 설명하는 것은 어렵습니다. 함수형 프로그래밍은 학계나 산업 현장에서등 넓은 분야에서 쓰이고 있지만 많은 자료가 학계에서 만든 자료라 일반 개발자가 이해하기 어렵고 실용적이지 않습니다. 하지만 이 책은 실무에서 쓸 수 있는 내용을 다룹니다. 함수형 프로그래밍은 무엇인가요? 위키피디아에 정의된 내용을 요약하면 다음과 같습니다: 함수형 프로그래밍 (fun..
해당 글은 쏙쏙 들어오는 함수형 코딩 책 내용을 기반으로 작성된 내용입니다. 옮긴 이 머리말 함수형 프로그래밍 언어인 클로저를 사용하면서 좋았던 점 불변데이터구조를 사용하면서 변경가능한 상태로 인한 버그가 생기지 않아 좋았습니다. 언어에서 제공하는 다양한 함수조합 기능을 사용하기 위해 부수효과가 있는 함수를 분리하자 테스트하기 좋은 코드가 되었습니다. 어떻게 하는 것이 함수형 프로그래밍을 하는 걸까요? 많은 함수형 프로그래밍 자료에서 함수형 프로그래밍은 부수 효과가 없는 순수한 함수로 프로그래밍을 해야 한다고 말합니다. 어떤 자료들은 부수 효과가 전혀 없다고 가정한 상태로 설명하기도 합니다. 하지만 입력도 없고 출력도 없는 소프트웨어는 아무런 의미가 없습니다. 그래서 함수형 프로그래밍을 하려면 부수 효과..
사용 중인 낡은 시스템을 떼어내 새로운 환경으로 이주시키는 작업을 순차적으로 진행하여 궁극적으로는 낡은 시스템을 완전히 걷어내는 과정을 폐기라 합니다. 1. 폐기시키는 이유 ‘코드는 자산이 아니라 부채다’ 라는 기본 전제에서 시작합니다. 코드가 자산이라면 낡은 시스템의 비중을 줄이고 제거할 이유가 어디 있겠습니까? 시스템을 운용하는 데 드는 운영 자원, 그리고 주변 생태계의 진화에 발맞춰 코드베이스를 업데이트하는 노력 등 비용이 계속 투입된다는 사실은 낡아가는 시스템을 계속 운영할지 아니면 슬슬 폐기시킬지를 놓고 손익을 저울질해봐야 함을 뜻합니다. 2. 폐기는 왜 그리 어려운가? 하이럼의 법칙에 의해 시스템은 사용자 수가 늘수록 설계자가 예상하지 못한, 전에 본 적 없는 방식으로 이용될 가능성이 커져서 ..
1. 더 큰 테스트란? 더 큰 테스트의 단점 느릴 수 있습니다. 구글에서 대규모 테스트의 기본 타임아웃 값은 15분이나 1시간입니다. 심지어 몇 시간이나 며칠이 걸리는 테스트도 만들어 활용합니다. 밀폐되지 않을 수 있습니다. 대규모 테스트는 다른 테스트나 최종 사용자와 자원 및 트래픽을 공유하기도 합니다 비결정적일 수 있습니다. 예컨대 밀폐되지 않은 대규모 테스트라면 다른 테스트나 사용자 상태에 영향을 받을 수 있어서 완벽히 결정적이라고 보장하기가 거의 불가능합니다. 이런 단점들에도 불구하고 더 큰 테스트를 이용하는 이유는 시스템 ‘전체’가 의도대로 동작한다는 확신을 더해주는 역할을 하기 때문입니다. 1.1 충실성 더 큰 테스트가 존재하는 첫 번째 이유는 바로 충실성을 높이기 위함입니다. 그림 14-1처..