230719(수)
🚤 성장일지 6.0
책 행복한 이기주의자(웨인 다이어)
의 내용에 자극받아 시작하는 소박한 성장기록
살아있는 꽃과 죽은 꽃은 어떻게 구별하는가?<br/> 성장하고 있는 것이 살아 있는 것이다.<br/> 생명의 유일한 증거는 성장이다!
🌾 (4.0)학습 키워드에서 최대한 간단한 정보 제공, 고민에서 내 경험을 자세히 적자!<br/> 🥊 (5.0)학습 키워드는 한줄의 핵심으로만 정리, 성공/실패 일지 작성하기! 이 때, 실패의 경험은 자세히 적기!<br/> 🍉 (6.0)<완전 개편!!!> 매일 습관적으로 핵심만 적을 수 있게 프레임 변경. 성공보단 실패에 초점을 맞추기.<br/>
- 🍉 (6.1)<수정> 매번 성공, 실패를 따로 적는 것보단 경험으로 표현하자
🌈 오늘의 감정
이번 주는 전반적으로 쪼오금 저번 주보다 집중을 못하는 느낌이다..! 근데 또 이상하게 목표한 계획들은 잘 하는 것 같고..? 조금 아쉽지만서도 매일 조금씩 나아가는 느낌이라 다행인 것 같다.
🫧 오늘의 고민
하나에 집중하는 게 좋을까? 여러가지를 병행하는 게 좋을까?
학습을 할 때, 몇 일 동안 하나에만 매달리는 것보다 여러가지를 동시에 병행하는 걸 즐겨하는 편이다. 이 방법을 좋아하는 이유는 하나가 조금 질릴 때, 다른 걸 시작하고 그게 또 질리면 또다른 걸 하는 재미가 있기 때문이다. 이렇게 순환하듯이 여러가지를 병행하면 비교적 고통보단 재미를 유지하면서 학습할 수 있는 것 같다. 그리고 사실 이 방법의 가장 큰 묘미는 따로 있다. 3~4가지를 동시에 조금씩 진행해서 모든 게 거의 계획대로 완성되어갈 때 즈음, 그 때 머리에 서로 연관되면서 맞춰지는 퍼즐같은 느낌..! 이 기분이 나는 너무 좋다. 특히나 개발 공부는 계단식으로 성장한다고들 말하는데, 나는 이 때 그 계단 하나를 올라가는 느낌이 든다. 어떤 방법이 좋은지는 알 수 없어도 나한테 맞는 방법이 뭔지는 알고 있으니 열심히 밀어 붙여나가봐야겠다. 언젠가 내가 원하는 기업에서 일하게 되어 좋은 선임 개발자분을 뵈면 더 좋은 학습법을 여쭤봐야지.
☀️ 오늘의 경험
Redux의 ducks pattern
Redux ducks pattern은 redux의 디자인 패턴 중 하나이다. 정말 간단하게 말하면 action, reducer, action creator를 한 파일에 몰아넣는 것이다. 이렇게 하면 파일을 하나만 보고도 해당 모듈의 action, reducer, action creator를 한 눈에 볼 수 있어서 편하다. 또한, action type을 정의할 때, action type의 prefix를 정의해두면 action type의 중복을 막을 수 있다. 아래는 공부한 내용을 토대로 작성해본 예시 코드
// Action Types export const ACTION_TYPE_ADD_TODO = "react-n-redux/todo/ADD_TODO"; export const ACTION_TYPE_REMOVE_TODO = "react-n-redux/todo/REMOVE_TODO"; export const ACTION_TYPE_REMOVE_ALL = "react-n-redux/todo/REMOVE_ALL"; // Reducer const initialState = []; const todoReducer = (state = initialState, action) => { switch (action.type) { case ACTION_TYPE_ADD_TODO: return state.concat(action.text); case ACTION_TYPE_REMOVE_TODO: return state.slice(0, -1); case ACTION_TYPE_REMOVE_ALL: return []; default: return state; } }; export default todoReducer; // Action Creators export const addTodoActionCreator = (todo) => { return { type: ACTION_TYPE_ADD_TODO, text: todo, }; }; export const removeTodoActionCreator = () => { return { type: ACTION_TYPE_REMOVE_TODO, }; }; export const removeAllActionCreator = () => { return { type: ACTION_TYPE_REMOVE_ALL, }; }; // Side Effects: 현재는 따로 없음
함수형 프로그래밍
여러 프로그래밍 패러다임 중 특히나 함수형 프로그래밍은 뭔가 실무적으로 사용하기 어려운 느낌이 강하게 들었다.(절차지향, 객체지향은 뭔가를 지향한다는 면에서 실질적인 코드로 잘 와닿는다고 해야하나..?)
그러다 스터디의 목적으로 쏙쏙 들어오는 함수형 코딩
이라는 책을 읽기 시작했다. 아직 챕터 1 밖에 못읽었지만 도입부에 나오는 액션
, 계산
, 데이터
의 구분에 대한 개념은 신선했다. React가
온전히 함수형 프로그래밍이라고는 할 수 없지만, 함수형 프로그래밍의 개념을 잘 적용한 라이브러리이기 때문에 이 책을 읽으면서 React를 더 잘 이해할 수 있을 것 같았다. 이 책을 읽으면서 실질적인 나의 코드에
한줄기 빛이 비춰지길...!!!!!(시간 복잡도, 공간 복잡도 등등 효율도 너무 좋지만 무엇보다 가독성있는 코드를 작성하고 싶다!!!)
🐾 오늘의 교훈
인생을 살아가며 어떤 목적지에 도달하는 방법은 수도 없이 많음을 이해하고 인정하자. 그 안에서 나의 길을 묵묵히 잘 걸어가자. 그렇게 매일 조금씩 나아가자.
🪵 참고
- [책] 쏙쏙 들어오는 함수형 코딩
undefined