🐈오늘 공부한 것
✔️웹 접근성
웹 접근성이란 말 그대로 '모든' 사용자가 환경에 구애받지 않고 동등한 수준의 정보와 기능을 접근할 수 있도록 하는 것이다. 대표적인 예시로는 대체 텍스트를 넣거나 콘텐츠를 명확하게 구분할 수 있는 시각적인 효과와 정보를 제공하는 것이 있다.
웹 접근성 향상을 위해서 WAI-ARIA 와 같은 방법을 사용할 수 있는데, HTML 시맨틱 태그로 의미 전달이 충분하다면 굳이 사용할 필요가 없으나, 그렇지 못한 경우에는 사용할 수 있다. WAI-ARIA 는 HTML 태그 안에 role, state, property 라는 속성으로 분류하여 적용할 수 있다.
role은 현재 html 태그와 기능이 서로 대응되지 않을 때 요소의 역할에 대해 추가적인 정보를 제공할 수 있고, state는 영역의 상태(체크 여부 등) 에 대한 정보를 추가할 수 있다. 요소에 대한 정보를 전혀 알 수 없는 경우, 예를들어 이미지 같은 경우에는 aria-label 속성을 추가해 정보를 추가할 수 있고, AJAX 등으로 실시간으로, 동적으로 변경되는 내용일 경우 aria-live 속성을 추가해 해당 내용에 대한 정보를 추가해 줄 수 있다.
✔️리덕스 툴킷
리덕스 툴킷을 사용해 기존에 props drilling으로 짠 투두리스트 코드를 리팩토링하고 있다. 지금까지 한 내용은 configureStore 로 store 생성하고, createSlice 로 reducer와 action creator 까지 한번에 생성하는 부분이다. 리덕스 툴킷 공식문서에 스텝 바이 스텝으로 잘 설명되어 있어서 하나씩 보면서 따라하는 중,,, 리팩토링이 끝나면 블로그에 상세하게 정리할 예정.
✔️알고리즘
투포인터 알고리즘을 활용해 두 배열의 공통 원소를 구하는 알고리즘 문제를 풀었고, 한 배열에서 부분 집합의 합이 M이 되는 경우의 수를 구하는 문제를 풀었다. 이런 문제를 투포인터 알고리즘을 사용하지 않으면 for문을 두번 돌아 O(n^2) 이 되는데, 투포인터를 사용하면 반복문을 한 번만 돌고 같은 결과를 낼 수 있어 훨씬 효율적이다. 핵심은 두 개의 포인터가 각각 다른 인덱스를 가리키면서 값을 비교하고, 인덱스를 움직이는 것이다.
🐈더 공부할 것
1. TodoList 리팩토링
2. 알고리즘
3. 빅오 표기법
🐈오늘의 느낀 점
나름 하루를 알차게 보냈다고 생각했는데 여전히 다 마무리 하지 못한 일이 있다. ㅋㅋ 아마 계획을 너무 많이 세워서겠지... 오늘은 글로 정리하는 것 보다 실제로 코드를 짜는데 더 많은 시간을 할애했다. 기록을 하지 않으면 다 잊어버리니까 조만간 다시 꼼꼼하게 정리해야겠다.
'TIL' 카테고리의 다른 글
[Day 56] 2022-0908: 네트워크, 요즘 느끼는 것 (0) | 2022.09.09 |
---|---|
[Day 55] 2022-0907: TodoList gh-pages 배포 (1) | 2022.09.08 |
[Day 53] 2022-0905 : react-redux, 웹 표준화, SEO, 알고리즘 (0) | 2022.09.06 |
[Day 52] 2022-0903 : Redux, git push --mirror, 완전탐색 알고리즘 (0) | 2022.09.03 |
[Day 51] 2022-0901 : 리액트 상태관리, Redux (0) | 2022.09.01 |