프라이D
프라이Develog(❁´◡`❁)
프라이D
전체 방문자
오늘
어제
  • ALL (378)
    • TDD, Cleancode with JavaScr.. (5)
    • 프로젝트 (32)
      • work (3)
      • 직접 만드는 기술 블로그 (2)
      • 데일리 옥션 (19)
      • 모락모락 (8)
    • Computer Science (1)
    • Algorithm & 자료구조 (94)
      • 알고리즘 w.JavaScript (53)
      • 자료구조 (5)
      • (인프런) 자바스크립트 알고리즘 문제풀이 (34)
    • JavaScript (45)
      • JavaScript (41)
      • 모던 자바스크립트 Deep Dive (4)
    • WEB (13)
    • 회고 (12)
    • TIL (109)
    • WIL (7)
    • Stacks (20)
      • React.js (6)
      • Next.js (1)
      • Redux (3)
      • Node.js (2)
      • GIT (2)
      • SAP (1)
    • 15일 메이킹 프로젝트 (15)
    • 이전 기록 (14)
    • ETC. (5)
    • ---------------2021 (6)
      • 내일배움단-웹개발 5주 (2)
      • 정보처리기사 (4)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • JavaScript
  • 스파르타코딩클럽
  • nomadcoder
  • 모던자바스크립트딥다이브
  • 내일배움단
  • 2023 인프콘 후기
  • nomadcoders
  • MySQL
  • 코드스테이츠
  • 자바스크립트
  • Til
  • 자바스크립트비트마스크
  • 국비지원
  • 알고리즘
  • 투포인터알고리즘
  • 비트마스크
  • 자바스크립트알고리즘
  • 내일배움카드
  • 코딩프로젝트
  • vanilaJS

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
프라이D

프라이Develog(❁´◡`❁)

[Day 52] 2022-0903 : Redux, git push --mirror, 완전탐색 알고리즘
TIL

[Day 52] 2022-0903 : Redux, git push --mirror, 완전탐색 알고리즘

2022. 9. 3. 23:44

🐈오늘 공부한 것

✔️Redux 정리

https://friedegg556.tistory.com/215

리덕스 공식문서의 fundamentals 챕터에 있는 바닐라 자바스크립트에 적용된 리덕스 코드를 분석하며 정리해보았다. 자바스크립트에서 동작하는 방법을 보니 리덕스의 원리(?) 에 대해서 더 이해하기가 쉬웠고, 왜 react-redux 라이브러리가 리액트에서 이를 쉽게 사용할 수 있게 도와주는지 더 잘 알게 되었다.

바닐라 자바스크립트에서는 데이터의 변경을 자동으로 감지하지 않기 때문에 subscribe 같은 별도 함수에 콜백함수를 전달해야하고, 또 DOM 이벤트를 감지하도록 이벤트 리스너를 설정하는 등 조금 복잡한 과정이 있었다.

리액트에서는 상태가 업데이트 되었을 때 화면을 변경할 수 있고 또 컴포넌트에서 이벤트를 감지하는 방식이 바닐라 자바스크립트보다는 조금 더 직관적이다 보니...

화면과 상태 업데이트 로직이 분리되어 굉장히 편리하고 보기 좋다는 생각이 많이 들었음.

✔️git push --mirror [new repository]

스터디를 위해 원본에서 fork한 레포지토리에 커밋을 했을 때, 해당 커밋 내역이 잔디에 심어지지 않는 문제가 있었다. 찾아보니 fork한 레포지토리에서 이루어지는 커밋은 잔디에 반영되지 않는다고 한다...! 그래서 찾은 방법이 이 링크에 잘 정리되어 있었다.

다시 정리해 보자면...1. 새로운 원격 레포지토리를 생성한다.2. 커밋을 하고 있던 fork 한 레포지토를 bare clone 한다. bare clone : 전체 복사가 아닌 커밋 이력 같은 정보만 복사할 수 있다.

git clone --bare [커밋 내역이 쌓여있는 fork한 레포지토리]

3. bare clone한 저장소로 이동하여, 새로 만든 원격 레포지토리로 mirror - push 를 한다. mirror 옵션은 한 레포지토리에서 다른 레포지토리로 이사(?)를 갈 때 활용할 수 있는 옵션이다.

cd [bare clone한 레포지토리 (fork 한 레포지토리)]
git push --mirror [새로 만든 빈 원격 레포지토리]

4. bare clone 한 임시 저장소 삭제

✔️완전탐색 알고리즘

인프런 자바스크립트 알고리즘 강의를 기반으로 알고리즘 스터디를 하게되어서, 이번주 주제인 완전탐색 알고리즘에 대해 간단하게 공부할 수 있었다. 완전탐색 알고리즘 자체가 하나의 기법인줄 알았는데, 가장 대표적인 방법이 for문을 사용해서 모든 경우의 수를 도출해 해답을 찾는 brute-force 방식이었던 것이다. 여기에 순열이나 dfs, bfs, 재귀, 비트마스크 같은 전체 경우의 수를 도출할 수 있는 알고리즘이 포함된다고 볼 수 있다. 

이번에 풀었던 문제 중 전체 N개의 숫자 중에서 3개를 뽑아 K번째에 해당하는 답을 도출하는 문제가 있었다. 이 문제를 보았을 때 N중에 3이라고 하니 중복이 없는 순열 알고리즘으로 풀 수도 있겠다는 생각이 들긴 했다. 이전에 공부를 하긴 했지만 전혀 기억이 나지 않고 결국 익숙한 방식인 3중 for문을 사용했음..

🐈더 공부할 것

1. TodoList : 리덕스 적용해보기, 컴포넌트 수정

2. 인프런 자바스크립트 알고리즘 문제풀이

🐈오늘의 느낀 점

1. 나태지옥.. 금요일에서 토요일로 넘어가는 저녁은 침대의 유혹을 이기기가 너무 힘들었다. 빨리 정신차리고 일상으로 돌아오는 텀이 점점 짧아지고는 있는데, 아예 방지할 방법을 찾고 싶다. 과제를 일찍 끝냈으면 그만큼 더 보강할 생각을 해야하는데. 가끔 내가 너무 적당히만 하는 것 같아서 한심하다... ㅠ 이렇게 생각하는 것도 사치라는 것을 알고있기 때문에... 앞으로는 주간 단위로 목표를 세워서 주간 회고까지 해 볼 생각이다.

저작자표시 (새창열림)

'TIL' 카테고리의 다른 글

[Day 54] 2022-0906 : 웹 접근성  (0) 2022.09.07
[Day 53] 2022-0905 : react-redux, 웹 표준화, SEO, 알고리즘  (0) 2022.09.06
[Day 51] 2022-0901 : 리액트 상태관리, Redux  (0) 2022.09.01
[Day 50] 2022-0831 : Props drilling 체험(?), 미디어쿼리, 알고리즘  (0) 2022.08.31
[Day 49] 2022-0830 : React Custom Components - 자동완성 , 인라인 에디터  (0) 2022.08.30
    'TIL' 카테고리의 다른 글
    • [Day 54] 2022-0906 : 웹 접근성
    • [Day 53] 2022-0905 : react-redux, 웹 표준화, SEO, 알고리즘
    • [Day 51] 2022-0901 : 리액트 상태관리, Redux
    • [Day 50] 2022-0831 : Props drilling 체험(?), 미디어쿼리, 알고리즘
    프라이D
    프라이D
    틀린내용 정정 및 개선사항은 언제든지 댓글 달아주세요 :D

    티스토리툴바