본문 바로가기

전체 글59

2024-03. 오브젝트 (1) 아니 벌써~ 24년도의 세번째 책! 오브젝트: 코드로 이해하는 객체지향 설계 https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=193681076 오브젝트 역할, 책임, 협력에 기반해 객체지향 프로그램을 설계하고 구현하는 방법, 응집도와 결합도를 이용해 설계를 트레이드오프하는 방법, 설계를 유연하게 만드는 다양한 의존성 관리 기법, 타입 계 www.aladin.co.kr 첨언하자면, 이 책을 읽기 전에 객체지향의 사실과 오해를 읽는 게 좋다고 들었다~ 그리고 실제로 이해가 수월한 듯~! '설계에 관해 설명할 때 가장 유용한 도구는 코드 그 자체다' 라는 글래스의 주장대로 오브젝트는 객체지향에 대한 설명을 위해 (주로) 자바 코드가 가득이다. 이걸 타입스크립트로 변환.. 2024. 2. 8.
2024-02. 객체지향의 사실과 오해 지수님이 동화책이라고 소개해주신 24년도의 두번째 책. 객체지향의 사실과 오해 https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=60550259 객체지향의 사실과 오해 위키북스 IT Leaders 시리즈 23권. 객체지향이란 무엇인가? 이 책은 이 질문에 대한 답을 찾기 위해 노력하고 있는 모든 개발자를 위한 책이다. www.aladin.co.kr 객체지향에 대한 오해부터 짚고 넘어가보자 오해1. 객체지향 세계는 현실 세계를 반영한다? - 객체 지향 세계는 현실 세계와 비슷한 것은 맞지만 큰 차이가 있다. 현실 세계의 사물들은 수동적인 경우가 많은 반면, 객체 지향 세계의 모든 객체들은 능동적이다. 예를 들어 현실 세계에서 커피는 사람이 마셔야 커피의 양이 줄어들.. 2024. 2. 2.
2024-01. 소프트웨어 장인 24년도의 첫번째 책. 소프트웨어 장인 https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=66925855&start=pgooglemc 소프트웨어 장인 소프트웨어 장인에 대한 이야기. 프로그래머와 프로그래밍 관련 팀 또는 조직에 도움이 될만한 이야기를 풀어 놓았다. 생산성이 높은 프로페셔널, 자신의 일에 자부심을 갖는 프로페셔널로 도 www.aladin.co.kr * 소프트웨어 장인 정신이란 무엇일까? - 도자기 장인이다 - 자신의 도자기에 책임감을 가질 것. - 더 훌륭한 도자기를 만들기 위해 끊임없이 갈고 닦을 것. - 도제를 길러낼 것. (커뮤니티를 위해 노력할 것) * 애자일이란 무엇인가? - 애자일이란 빠른 피드백 루프를 돌면서 빠르게 문제를 발견해내는 것.. 2024. 1. 17.
좋은 코드란 무엇일까?(2) - 하나의 컴포넌트 두개의 쿼리 "지윤님 국내/해외를 토글 할 수 있는 스위칭 버튼을 달아주세요" 하나의 서비스의 처음부터 끝까지 내가 다 담당할 수 있다면 좋겠지만, 하나의 프로젝트를 다수의 개발자들과 함께 하기도 하고, 조직 이동을 통해 내가 담당하던 서비스를 다른 개발자에게 넘기거나 혹은 다른 개발자의 서비스를 내가 받아 담당하게 될 때도 있다. 그렇게 다른 사람이 짜 놓은(잘 돌아가는 코드 위에) 내 코드를 얹어야 할 때가 있다. 이번에는 그런 경험을 했다. 서비스가 확장되어 하나의 화면에서 토글을 통해 여러 데이터를 스위칭해서 보여줄 수 있게 코드를 얹어야 했다. 더 깔끔하게 분기칠 수 있는 방법은 없을까? 간략한 코드 예시를 통해서 코드에서 예상할 수 있는 문제점과 더 깔끔한 코드로 개선해 볼 수 있는 방법은 무엇일지-`하나.. 2023. 4. 23.
좋은 코드란 무엇일까?(1) - 페이지네이션의 버튼들 "지윤님 여기에 처음으로 돌아가는 버튼을 추가해 주세요." "지윤님 이거 동작이 이상해요!" "지윤님 요 모달에-" 코드는 끝이 없다. 시간이 흘러서 버그이든 기능의 추가든 수정이든 사소한 문구 변화든 어떠한 이유로든 나는 내가 짠 코드를 다시 마주하게 된다. 엉망으로 짠 코드에는 간단한 기능 하나 끼워넣기도 까다로워 부담스러워진다. 다시 들여다보는 시점이 왔을 때 부담스럽지 않으려면 어떻게 해야 할까? 당연한 말이지만 확장 및 수정이 용이할 코드를 짜야한다. 감사하게도 요 근래 좋은 코드리뷰를 많이 받으면서, 이렇게 하면 조금 더 확장 및 수정이 용이한 코드에 접근할 수 있겠구나! 깨달음을 얻었다. 간략한 코드 예시를 통해서 코드에서 예상할 수 있는 문제점은 무엇인지, 그리고 해당 코드를 좀 더 가독성.. 2023. 4. 5.
Nextjs의 Link component 프로젝트에서 next를 13으로 업그레이드하고 Link 컴포넌트 사용하면서 몇 가지 변경점이 생겼다는 것을 알게 되었다. 근데 아직 app 라우팅 방식으로는 변경 못함ㅠ next13 next config appDir 활성화 + yarn pnp랑 같이 쓰면 빌드에서 실패한다(요 이슈) 이 글에서는 가볍게 기본적으로 알면 좋을 Link 컴포넌트의 속성 및 Next.js12와 13으로 업그레이드되면서 Link 컴포넌트에서 무엇이 변경되었는지 소개해보고자 한다. 컴포넌트 Link 컴포넌트는 페이지 간 이동 시 사용된다. Link 컴포넌트의 href 속성에는 이동할 경로를 지정하고, 자식 요소로는 링크의 텍스트 또는 이미지 등을 넣어주면 된다. import Link from 'next/link'; ​ functi.. 2023. 3. 12.
올해는 정말로 하고만다. 개발자의 글쓰기- 매년 새해 꾸준히 글쓰기를 다짐했으나 부끄럽게도 만족스러울 만큼 성취했다!라고 느껴본 적이 없다. 현생이 바쁘다는 이유로 글쓰기가 한 달에 한 번도 어려워지고, 써놓은 글들도 올릴까 말까 고민을 거듭하다 폴더 속에 방치되곤 했다. 다짐과 실패가 반복되자 내게 글쓰기는 닿고 싶지만 닿지 못하는 어떠한 별 같은 존재가 되었고, 이루지 못하는 것이 어쩌면 당연한(ㅋㅋㅠ) 그런 원치 않는 실패에 대한 내성도 생겨버렸다. 그러기가 벌써 몇 년째야. 올해도 그냥 그렇게 흘러가나 싶었는데. 글또라는 개발자 글쓰기 모임을 시작하게 되었고, 덕분에 6개월 동안 한 달에 두 개씩 글을 발행할 조금의 강제성을 심어놓았다. 이제 나는 6개월 동안 12개의 글은 쓸 수 있겠지. 그리고 6개월 후는?...글또를 참여하지 않으면 .. 2023. 2. 12.
내가 어쩌다 개발자를? 해당 글은 글 쓰는 개발자 모임-글또에 8기 신입 기수로 지원하면서 쓰는 글로, `자신이 어떻게 살아왔는지-삶의 지도`입니다. 자신이 어떤 사람이고 어떤 성격을 가지고 있고, 어떤 사건으로 지금의 내가 되었는가를 작성해야 하는데, 내 삶 전반적인 걸 쓰려니 너무 범위가 넓어, 범위를 지금의 나를 대표하는 단어 중 하나인 `개발자`로 두고, 내가 왜 개발자가 되었는지, 나를 개발자로 이끈 건 무엇인지 작성해보고자 합니다. 이런 글을 공개글로 써본 적이 없어 부끄럽습니다. 하지만 글또 신청하면서 부끄러움 없이 글을 올리자.라는 게 목표 중 하나이니,,, 저를 아시는 분들은 '지윤이 또 신기한 거 하네 씩씩한 짜씩' 하고 가볍게 읽어주시길...🫠 문화콘텐츠학과에 불어불문학과를 복수 전공하면서 인문학을 기반으로.. 2023. 1. 14.
controlled components vs uncontrolled components 란 controlled, uncontrolled(=제어, 비제어 컴포넌트) 그게 뭐지? 처음 들어봐~라고 할 수 있지만, 용어 상에서 오는 낯설음일 뿐이지 우리 대부분은 이미 알고 있고 사용해본 적도 있을 것이다. uncontrolled components 개발을 하면서 흔하디 흔하게 작성하는 form의 구성요소들을 생각해보자. input이나 textarea, select 같은 태그들이 떠오를 텐데, 요 dom 태그들에 ref를 주고 해당 ref의 current에 접근해서 값을 꺼내오거나/본 적이 있는가? const MyComponent = () => { const inputRef = useRef(null) ​ return ( console.log(inputRef.current.value)}/> ) } 이런.. 2022. 11. 11.
프로젝트 eslint 적용하기 다들 알겠지만, 회사에서 개발을 하다보면 바닥부터 어떠한 프로젝트를 짜는 일이 별로 없다 😭 eslint 또한 항상 프로젝트에 기본적으로 `이미` 존재하는 파일 중에 하나가 되어버리니까, 크게 관심을 가지않던 파일 중 하나였다. 그러다가 요즘에 기존 멀티 레포를 모노레포로 합치게 되면서 각 멀티레포들의 eslint 파일들을 많이 보게 되었고... eslint 파일은 무엇인가ㅎ 에 대한 궁금증 + 나는 왜 여지껏 eslint를 한번도 잘 들여다보지 않았지? 요거 설정은 어떻게 하는것이지? 라는 충격과 의문이 들었따. 그렇다면 eslint란 무엇인가. eslint docs에서는 eslint를 `ESLint is a tool for identifying and reporting on patterns found.. 2022. 10. 8.