프로그래머스 코테 풀기
시저암호
아스키코드를 이용하여 문제를 풀었다
문제를 보자마자 어?! 아스키코드를 이용하면 좋을 거 같다 하고 푸는 것은 금방 풀었는데 조건문이 많이 들어가서 가독성은 많이 떨어졌다. 나름대로 조건도 조금도 편하게 고쳐보고 continue를 이용하여 속도도 높였다
문제를 나름대로 리팩토링 한후 다른 사람이 풀이를 비교해 보니
와우 내가 너무 아스키코드에 미쳐있었나 생각이 들었다
나처럼 아스키코드를 사용하신 분들도 계셨지만 n의 조건을 이용하여 긴 문자열을 만들어 빠른 속도로 푸신분도 계셨다
너무 한 가지에 집착하지 말고 좀 더 넓게 세상을 봐야겠다
신규아이디 추천
신규아이디 문제를 보면서 어?! 정규표현식으로 풀면 너무나도 좋을 것 같은 문제다라고 생각하여 이참에 정규표현식에 대해서 공부했다 정규표현식은 문자열을 대상으로 패턴 매칭 기능(검색, 추출, 치환)을 제공한다
정규표현식은 리터럴은 패턴과 플래그로 구성되어 있다.
문제를 풀면서 중요한 지점은 플래그와 패턴이었는데 패턴에 조건을 잘 잡아주어야 내가 원하는 바를 이룰 수 있다
하지만 기호로 표현하는 조건이 너무 많아 여러 번 연습해 봐서 감을 조금씩 익혔다
아직은 정규표현식이 어렵고 제대로 못사용 하지만 계속 반복연습해 보아서 익혀보아야겠다
JS 문법종합반 4주 차
비동기 제어
먼저 동기와 비동기 제어를 확립하는 것이 중요한데 동기는 코드가 끝나야 다음코드가 진행되고 비동기는 실행 중인 코드의 완료 여부와 무관하게 즉시 다음 코드로 넘어가는 방식이다
별도의 요청, 실행, 대기, 보류등과 관련된 코드는 모두 비동기적 코드라고 생각하면 된다
문제는 비동기를 제어해야 한다는 것이다
비동기를 왜 제어해야 하지라는 생각이 들지만 이럴 때는 아주 좋은 예시가 있다
1번에서 받아온 값을 2번이 써야 하는데 비동기로 코드가 되어있다면 그런데 2번 코드가 빠르다면?
오류가 나거나 오류가 나지 않더라도 내가 원하는 바를 이루지 못한다
이런 일이 일어나지 않도록 비동기이지만 동기적으로 흘러가는 것처럼 비동기 작업의 동기적 표현이 필요하다
이런 경우에는 async/await을 쓰면 되는데 비동기 작업을 수행하고자 하는 함수 앞에 async를
함수 내부에서 실질적인 비동기 작업이 필요한 위치마다 await을 쓰면 된다
이러면 then으로 연결하는 것과 동일한 효과를 얻을 수 있다
족쇄모임
오늘은 족쇄모임 스터디하는 날이다
각자 공부하는 부분을 발표하고 서로 나누었다. 나는 리액트의 컴포넌트 반복과 라이프사이클 그리고 코테를 풀었는데 어려웠던 점이나 고쳤던 점에 대해 발표하였다. 발표하고 난 후 피드백으로 훅에 useEffect와 라이프 사이클 사이에 관계에 대해서도 공부하면 좋다 해서 훅을 배울 때 라이프 사이클을 유의하며 공부해야겠다
다른 사람의 발표에서 리액트 최적화에 대해 발표해 주신 분이 계신데 함수는 객체여서 업데이트될 때마다 다시 생성되는 것보다 useMemo를 사용하여 연산한 값을 재사용하거나 useCallBack을 사용하여 함수를 재활용하면 훨씬 더 최적화에 도움이 된다고 하셨다 이제 리액트를 배우는 것이 초입이라 이러한 최적화에 대한 내용을 듣는 것은 처음이라 너무 신기하고 놀라웠다. 단순히 함수를 부르는 것도 내가 조금만 신경 쓰면 더 좋은 코드와 페이지가 될 수 있다는 것을 명심해야겠다
후기
어제 몸이 안 좋다더니 오늘 아침에 일어나니 웬걸 진짜 아픈 거였다
그냥 몸이 피로가 쌓여서 피곤하거나 몸이 약해져서 감기 걸리려고 하는 줄 알았는데 진짜 아픈 거였다니....
하지만 오늘의 할 일이 있기 때문에 약 먹고 좀 쉬고 공부하였는데 다행히 저녁에는 많이 좋아져서 다행이다
오늘은 일찍 자고 최대한 몸을 건강하게 만들어야겠다
'TIL & 일지' 카테고리의 다른 글
TIL, 06.23 (2) | 2023.06.24 |
---|---|
TIL, 06.22 (0) | 2023.06.23 |
TIL, 06.20 (0) | 2023.06.20 |
TIL, 06.19 (0) | 2023.06.20 |
TIL, 06.18 (0) | 2023.06.19 |
댓글