책꽃이 📔

[8월 4주]이번 주에 읽은 아티클

dalin❤️ 2022. 8. 25. 20:47

https://yozm.wishket.com/magazine/detail/1651/?utm_source=stibee&utm_medium=email&utm_campaign=newsletter_yozm&utm_content=contents

 

자바스크립트 개발자가 알고리즘을 C언어로 푸는 이유 | 요즘IT

사용법이 간단하고 최적화된 메서드 덕분에 자바스크립트로만 프로그래밍하면 알고리즘의 필요성을 느끼기 어렵다. 지난 세 달간 호기심이 생겨서 C언어를 공부하고 알고리즘 문제를 풀어보았

yozm.wishket.com

이 글에서는 C언어와 비교해서 자바스크립트로 알고리즘 공부하는 것의 한계를 이야기한다.

- 내장 객체, 메서드를 사용하는 것이 가장 좋은 방법이라서 다른 방법은 생각할 기회가 적다.

- 자료형을 엄격하게 따지지 않고, 중간에 변할 수도 있음. -> 입력값 범위, 메모리를 잘 고려하지 않게 됨. 어떤 타입인지 생각해야 함.

- 자료형을 엄밀히 검사하지 않아 발생하는 에러를 해결해야 하는 낭비가 발생할 수 있다.

나는 파이썬으로 알고리즘 문제를 풀어왔는데, 파이썬도 이런 점은 자바스크립트와 마찬가지인 것 같다.

파이썬도 라이브러리에서 제공하는 메서드가 많아서 알고리즘 문제 풀 때 편하게 사용했다. 하지만 저자가 쓴 것처럼 탐색, 정렬 등은 구현해 본 일이 완전 초기에 공부할 때 빼고는 없었다.ㅠ 탐색, 정렬 등도 직접 구현하고 익숙해지고 싶다면, 파이썬으로는 문제 풀 때 할 수는 있지만 잘 하지 않게 되니까.. 다른 언어로 해보는 게 좋을 것 같기도 하다.

또 파이썬도 다른 언어(C, c++..)와 비교했을 때, 속도가 느리고, 메모리를 많이 사용한다. 속도, 메모리 제한에 걸려서 파이썬으로는 아예 풀 수가 없는 문제도 있었다. 진짜 풀고 싶은 문제가 있었는데 못 풀어서 아쉬웠다. ㅠㅠ (오. 지금 다시 그 문제를 보니 푸신 분도 계시다... 근데 이렇게 푸신 분도 원래 문제 의도대로 푼 것 + 극한의 최적화를 해서 푸신 것 같다...! )이럴 때는 C나 C++에도 좀 능숙했으면 좋았겠다는 생각은 있었다..!!

이 글을 읽으니, 다시 PS를 하고 싶다는 생각이 뿜뿜..!! PS 너무 재밌는데 >< 또 일에 익숙해지고 시간이 더 생기면 다른 언어로도 PS 도 해보고 싶다 !

 

 

 

 

https://yozm.wishket.com/magazine/detail/1660/?utm_source=stibee&utm_medium=email&utm_campaign=newsletter_yozm&utm_content=contents

 

내 서비스에는 어떤 인증이 필요할까? | 요즘IT

본인 인증은 시스템에 정당한 가입자가 접근했는지 확인하는 절차입니다. 인증은 보안상 꼭 필요한 절차이지만, 한편으로는 경험의 일관성을 방해하거나 너무 복잡해서 서비스 사용 의욕을 떨

yozm.wishket.com

이번 스프린트에 로그인을 하고 있다~ (나 말고 다른 분이 하셨다. 나는 회원가입 하고 있다 ~) 또 다음 스프린트에는 소셜 로그인도 진행하려고 한다. 그래서 요즘 하는 거라서 재밌게 읽어봤다. 서비스를 만들 때 '인증' 하면 아이디/비밀번호나 소셜 로그인만 생각했는데 다른 방법도 있다는 걸 되새길 수 있었다. 공인인증, 휴대폰 인증, 지문/얼굴 인증 등... 이런 걸 사이트에 붙이려면 어떻게 할지도 궁금해진다..ㅎㅎ 또 인증은 좀 불편한데, 이걸 UX 관점에서 어떻게 편하게 할 수 있는지도 소개하고 있다.

 

 

 

 

 

https://fe-developers.kakaoent.com/2022/220731-composition-component/?fbclid=IwAR1aC27Ai4fTrSmeZnime-5qiIuEk5zmydJogVbPukOfPRicwxrJRo8S37w

 

합성 컴포넌트로 재사용성 극대화하기

카카오엔터테인먼트 FE 기술블로그

fe-developers.kakaoent.com

요즘 경험하고 고민하는 것과 맞닿아 있어서 흥미롭게 읽었다. Dialog modal을 예시로 들어서 설명하고, 예시 코드도 있어서 이해가 잘된다. :) 

한 달 전에 디자인, 요구사항에 맞게 UI 컴포넌트를 만들었다. 이 글의 예제에도 나오는 것과 동일한..ㅎㅎ 다이어 로그 모달도 만들었다.그리고 어제 그 다이어 로그 모달을 가져다가 써야 했는데, 처음에 컴포넌트를 만들 때는 고려하지 않았던 디자인이어서, 다이어로그 컴포넌트를 수정해야 했다.

공통 UI 컴포넌트를 가지고 개발하니 엄청 편하기는 한데, 요구사항이 추가/변경되니, 컴포넌트 코드도 수정하고, 점점 props 수가 증가했다.. 어떤 컴포넌트는 props 수가 10개가 넘어갔다. '이게 맞나..? '하는 고민이 있었던 내게 단비같은 글이었다 !!

 

 

- 컴포넌트를 어떻게 나누면 좋을까? 재사용성 있는 컴포넌트를 어떻게 만들까?

- 합성 컴포넌트 패턴 : '하나의 컴포넌트를 여러 가지 집합체로 분리한 뒤, 분리된 각 컴포넌트를 사용하는 쪽에서 조합해 사용하는 컴포넌트 패턴' (출처: 위 블로그)

  • 요구 사항이 복잡하고, 다양한 상황을 고려할 때 사용하면 좋음. 
  • 재사용성, 유연성 높은 방식.

1. 서브 컴포넌트

  • html select의 option 태그에 해당.
  • 별개로는 큰 의미를 가지지 못하지만, 합쳐서 사용.

2. 메인 컴포넌트

  • html select의 select 태그에 해당.
  • 서브 컴포넌트를 묶어서 화면에 적절히 보여줌.(서브 컴포넌트의 위치 잡아줌)

3. 서브 컴포넌트, 메인 컴포넌트를 묶어서 사용하기.

728x90