이 글에서는 C언어와 비교해서 자바스크립트로 알고리즘 공부하는 것의 한계를 이야기한다.
- 내장 객체, 메서드를 사용하는 것이 가장 좋은 방법이라서 다른 방법은 생각할 기회가 적다.
- 자료형을 엄격하게 따지지 않고, 중간에 변할 수도 있음. -> 입력값 범위, 메모리를 잘 고려하지 않게 됨. 어떤 타입인지 생각해야 함.
- 자료형을 엄밀히 검사하지 않아 발생하는 에러를 해결해야 하는 낭비가 발생할 수 있다.
나는 파이썬으로 알고리즘 문제를 풀어왔는데, 파이썬도 이런 점은 자바스크립트와 마찬가지인 것 같다.
파이썬도 라이브러리에서 제공하는 메서드가 많아서 알고리즘 문제 풀 때 편하게 사용했다. 하지만 저자가 쓴 것처럼 탐색, 정렬 등은 구현해 본 일이 완전 초기에 공부할 때 빼고는 없었다.ㅠ 탐색, 정렬 등도 직접 구현하고 익숙해지고 싶다면, 파이썬으로는 문제 풀 때 할 수는 있지만 잘 하지 않게 되니까.. 다른 언어로 해보는 게 좋을 것 같기도 하다.
또 파이썬도 다른 언어(C, c++..)와 비교했을 때, 속도가 느리고, 메모리를 많이 사용한다. 속도, 메모리 제한에 걸려서 파이썬으로는 아예 풀 수가 없는 문제도 있었다. 진짜 풀고 싶은 문제가 있었는데 못 풀어서 아쉬웠다. ㅠㅠ (오. 지금 다시 그 문제를 보니 푸신 분도 계시다... 근데 이렇게 푸신 분도 원래 문제 의도대로 푼 것 + 극한의 최적화를 해서 푸신 것 같다...! )이럴 때는 C나 C++에도 좀 능숙했으면 좋았겠다는 생각은 있었다..!!
이 글을 읽으니, 다시 PS를 하고 싶다는 생각이 뿜뿜..!! PS 너무 재밌는데 >< 또 일에 익숙해지고 시간이 더 생기면 다른 언어로도 PS 도 해보고 싶다 !
이번 스프린트에 로그인을 하고 있다~ (나 말고 다른 분이 하셨다. 나는 회원가입 하고 있다 ~) 또 다음 스프린트에는 소셜 로그인도 진행하려고 한다. 그래서 요즘 하는 거라서 재밌게 읽어봤다. 서비스를 만들 때 '인증' 하면 아이디/비밀번호나 소셜 로그인만 생각했는데 다른 방법도 있다는 걸 되새길 수 있었다. 공인인증, 휴대폰 인증, 지문/얼굴 인증 등... 이런 걸 사이트에 붙이려면 어떻게 할지도 궁금해진다..ㅎㅎ 또 인증은 좀 불편한데, 이걸 UX 관점에서 어떻게 편하게 할 수 있는지도 소개하고 있다.
요즘 경험하고 고민하는 것과 맞닿아 있어서 흥미롭게 읽었다. Dialog modal을 예시로 들어서 설명하고, 예시 코드도 있어서 이해가 잘된다. :)
한 달 전에 디자인, 요구사항에 맞게 UI 컴포넌트를 만들었다. 이 글의 예제에도 나오는 것과 동일한..ㅎㅎ 다이어 로그 모달도 만들었다.그리고 어제 그 다이어 로그 모달을 가져다가 써야 했는데, 처음에 컴포넌트를 만들 때는 고려하지 않았던 디자인이어서, 다이어로그 컴포넌트를 수정해야 했다.
공통 UI 컴포넌트를 가지고 개발하니 엄청 편하기는 한데, 요구사항이 추가/변경되니, 컴포넌트 코드도 수정하고, 점점 props 수가 증가했다.. 어떤 컴포넌트는 props 수가 10개가 넘어갔다. '이게 맞나..? '하는 고민이 있었던 내게 단비같은 글이었다 !!
- 컴포넌트를 어떻게 나누면 좋을까? 재사용성 있는 컴포넌트를 어떻게 만들까?
- 합성 컴포넌트 패턴 : '하나의 컴포넌트를 여러 가지 집합체로 분리한 뒤, 분리된 각 컴포넌트를 사용하는 쪽에서 조합해 사용하는 컴포넌트 패턴' (출처: 위 블로그)
- 요구 사항이 복잡하고, 다양한 상황을 고려할 때 사용하면 좋음.
- 재사용성, 유연성 높은 방식.
1. 서브 컴포넌트
- html select의 option 태그에 해당.
- 별개로는 큰 의미를 가지지 못하지만, 합쳐서 사용.
2. 메인 컴포넌트
- html select의 select 태그에 해당.
- 서브 컴포넌트를 묶어서 화면에 적절히 보여줌.(서브 컴포넌트의 위치 잡아줌)
3. 서브 컴포넌트, 메인 컴포넌트를 묶어서 사용하기.
'책꽃이 📔' 카테고리의 다른 글
[9월 5일-9월 11일] 이번 주에 읽은 아티클 🐼 (0) | 2022.09.04 |
---|---|
[8월 5주/9월 1주] 이번 주에 읽은 개발 아티클 💌 (0) | 2022.08.27 |
[8월 3주]이번 주에 읽은 아티클 🐼 (0) | 2022.08.18 |
리팩토링(2판)을 읽고 (0) | 2022.07.11 |
'객체지향의 사실과 오해(조영호)'를 읽는 중 (0) | 2022.06.12 |