본문 바로가기

분류 전체보기317

프론트엔드 설계 고민 -3- 설계의 기본적인 규칙은 벡엔드나 프론트엔드나 대동소이하다.(사실 프로그래밍 외적인 분야로 봐도 비슷한 거 같다) 하나의 컨셉(관심사)에 집중한다. 하나의 행동(목적)을 여러 단계로 추상화하고 그 단계에 적합한 관심사에 맞는 부분에 집중해서 처리한다. 그런 작은 단위의 작업을 목적을 완성할 때까지 반복한다. 그리고 해당 목적의 디테일이 달라졌을때 또는 그런 추상화한 구조를 다른 목적을 수행하는데 재사용 가능하게 한다. 내가 철학적인 성향이 강해서 그런지 개인적인 생각을 말하자면 프로그래밍 자체가 철학과 유사하다는 생각이 많이 든다. 어떤 관심(목적)을 위해서 지속적으로 추상화된 보편율(코드)를 구하고 그를 검증하고 다듬는다. 물론 그렇게 개발을 하지 않는 사람도 많겠지만... 적어도 나는 그렇게 생각하고 .. 2022. 4. 26.
[React]React와 JSX. 개요 리액트의 경우 기본적으로 jsx라는 자바스크립트 확장 문법을 사용한다. 물론 해당 문법을 사용하지 않아도 사용가능하긴하지만 리액트가 가진 편리함이 많이 줄어든다. 기본적으로 jsx문법을 활용하기 위해서는 babel이나 tsc같은 트랜스파일러를 필요로 하는데 그렇게 치환 할 경우 React.createElements 등의 함수를 호출하는 코드로 트랜스 파일링 된다. 그리고 createElements는 일정한 구조의 객체를 반환한다. 해당 부분에 대한 간단한 흐름을 코드를 통해서 살펴보자. JSX 본래라면 트랜스파일러 내부를 어느 정도 들여다보아야 정확한 이해가 가능하지만 그럴 경우 관심사가 분산되니 해당 부분은 생략하겠다. 리액트의 바벨 jsx 런타임 관련 코드는 react패키지의 src폴더 내의 j.. 2022. 4. 14.
보편타당한 결론 경험은 상당히 유용하고 중요하다. 다만 경험의 토대로 이론적인 즉 원리가 존재하지 않는다면 해당 경험은 보편 타당하다고 볼 수 없다. 경험상 해당 부분이 필요한 점이 많았기에 그렇게 한다. 라는 것은 해당 체계와 환경에서는 통용 될지 몰라도 다른 환경과 체계에서는 유의미한 판단의 근거가 되지 않는다. 그렇기에 경험적 근거는 늘 변화하는 상황에 맞는 새로운 근거를 찾아야한다. 이것이 해당 부분에 대한 원리적인 접근이나 설계가 필요한 이유이다. 보편타당한 또는 최소한도로 어느 상황에서나 적절한 판단 근거 역할을 할 수 있는 무언가가 되기 위해서는 단순히 경험적인 부분에서 끝날게 아니라 해당 경험적인 근거들을 추상화 시켜서 판단 할 수 있는 원리 체계를 만들어야한다. 만약 그것을 할 수 없다면 사실 그건 겉으.. 2022. 4. 12.
토스 프론트엔드 기술면접 후기 참 여러번 지원해봤고 번번히 서류 탈락의 고배를 마셨던 회사다. 이번에 프로그래머스 프론트엔드 데브매칭을 통해서 지원한 것이 우연찮게 데브매칭 -> 사전과제 -> 1차인터뷰 -> 2차 인터뷰로 순으로 전형이 진행 되었는데 1차 인터뷰까지 보고 탈락했다. 과제는 그렇다 쳐도 인터뷰까지 들어가서 내가 궁금해 했던 내용들에 대한 충분한 답을 얻었기에 이제 토스에 대한 관심은 거둬도 될거같다. https://www.youtube.com/watch?v=LmLchZ4tCXc&t=1844s 토스에 관심 가진 계기 1. 3명으로 예정된 인터뷰어가 2명으로 변경됨. 2. 면접 시작시 기존의 지원 내역(서류탈락 다수)을 언급함. 3. 질문의 답변을 얻으려는 태도가 아니라 웃으면서 그냥 하고 싶은말이나 해보라고 함. 이렇듯.. 2022. 4. 12.