전체 글 31

실용주의 프로그래머 (Day 6, 7)

오늘 TIL 3줄 요약 현재 사용하는 도구들을 더 효율적으로 사용할 수 있도록 습관을 개선시켜보자. 테스트와 지속적인 메모, 그리고 디버깅을 통해 안정적이고 더 좋은 프로그램 설계해보자 항상 작은 단계를 밟아가며 프로그래밍을 하고 너무 먼 미래를 예측하려 하지말자. 대신에 언제나 교체 가능한 코드를 작성하여 대비하자. TIL (Today I Learned) 날짜 2022.03.24 - 2022.03.25 오늘 읽은 범위 3장. 기본도구 ~ 4장. 실용주의 편집증 책에서 기억하고 싶은 내용 쉘 스크립트를 통해 좀 더 효율적인 프로그래밍을 할 수 있다. 어느 정도 에디터를 써야 유창하다고 볼 수 있을까에 대한 과제 목록들 (마우스를 사용하지 않고 진행해보기) 디버깅에 대한 사고방식; 한발짝 뒤로 물러나서 버..

실용주의 프로그래머 (Day-5)

오늘의 노개북 미션은 단순했다. 복습과 다른 노개북 TIL을 3개 읽는 것 - 읽은 TIL 목록 https://cindybaby.notion.site/DAY-03-04-5b811fbb19ab4683aad52b66b47e14fc https://pleed0215.notion.site/TIL-2022-03-20-4ca7872472914687a2f74b7f66b8e477 https://hyuuny.tistory.com/56 모두 전체적으로 깔끔한 정리와 각 용어별 정리가 인상깊었다. 다른 사람들의 TIL을 통해 '어떻게 하면 좀 더 잘 읽힐 수 있는 글이 될 수 있을까?' 고민해보게 되는 하루 * 출근 전, 퇴근 후 조금씩 시간내어 책 읽는 것은 생각만큼 쉽진 않다! 그래도 이러한 과정을 통해 습관이 되면 좀 ..

실용주의 프로그래머 TIL (Day 3,4)

오늘 TIL 3줄 요약 DRY 원칙과 ETC (easier to change)를 따르자 예광탄 개발 방법 추정하기 TIL (Today I Learned) 날짜 2022.03.20 - 2022.03.21 오늘 읽은 범위 2장 실용주의 접근법 책에서 기억하고 싶은 내용 1. DRY 원칙과 ETC DRY를 따르지 않으면 똑같은 것이 두 군데 이상에 표현될 것이다. 하나를 바꾸면 나머지도 바꿔야 함을 기억해야 한다. 하지만 모든 코드의 중복이 지식의 중복은 아니라는 것을 알아야한다. 예를 들어, 코드가 동일하지만 표현하고자 하는 지식(목적)이 다를 때다. 각각 서로 다른 것을 검증하지만 우연히 규칙이 같은 것 뿐. 스스로 자꾸 물어보자. '내가 방금 한 일이 전체 시스템을 바꾸기 쉽게 만들까?, 어렵게 만들었을..

실용주의 프로그래머 TIL (Day-2)

오늘 TIL 3줄 요약 '깨진 창문'을 고치지 않은 채로 내버려 두지 말자. 지식 포트폴리오 관리는 투자 포트폴리오 관리와 매우 유사하다. 독자를 생각하며 코드를 쓰자 TIL (Today I Learned) 날짜 2022.03.19 오늘 읽은 범위 서문 ~ 1장.실용주의 철학 책에서 기억하고 싶은 내용 1. 깨진 창문을 내버려두지 말자. 나쁜 설계, 잘못된 결정, 혹은 형편없는 코드 등이 모두 깨진 창문이다. 발견하자 마자 고치자! 적절히 고칠 시간이 없다면 판자로 덮는 것만 이라도 하라한다. 더 이상의 손상을 예방하기 위해 나는 어떤 조치든 취해야 하며 내가 상황을 잘 관리하고 있다는 것을 보여주어야 한다. 2. 지식 포트폴리오 관리는 투자 포트폴리오 관리와 매우 유사하다. 우리에게 있어서 지식과 경험..

cypress e2e 테스트 - Failed to connect to Chrome, retrying in 1 second 문제 해결

E2E 테스트를 위해 Cypress를 설치 및 스크립트 추가 { "scripts": { "cypress:open": "cypress open" } } 아래와 같은 문제가 발생 cypress 창에서는 다음과 같은 경고창을 보여준다. 간단히 메시지를 해석하자면, 50초 동안 재시도했지만 크롬 브라우저를 여는 과정에서 어떤 문제가 있는 것 같다고 말해준다. CDP 포트는 61664 에 요청되었음 1. 첫번째 해결책 이 문제를 해결하기 위해 구글링, 스택오버플로우를 열심히 찾아봤다. 나와 같은 문제를 겪었던 많은 사람들의 질문을 발견. Cypress run won’t finish, stuck while making connection to Chrome · Issue #6540 · cypress-io/cypres..

ECMAScript 스펙을 읽는 법 (How to Read the ECMAScript Specification)

이 글은 Timothy Gu의 How to Read the ECMAScript Specification를 번역한 글 입니다. 혼자 번역한 글로 의역과 오역이 있을 수 있습니다. 원문과 함께 읽는 것을 추천드립니다. 수정사항은 댓글이나 somedaycode@gmail.com 으로 알려주시면 감사하겠습니다. This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License, which is available at https://creativecommons.org/licenses/by-sa/4.0/. Parts of this work may be from another specification docume..

개발/아티클 2022.03.14

입사 후 3개월

TL;DR 처음 입사해서 파일럿 프로젝트를 시작한 게 엊그제 같은데 시간은 참 빠르다. 회사에서는 부족한 점을 뼈저리게 느끼고 있다. 퇴근 이후에는 동기들과 스터디를 진행하거나 개인적인 공부를 조금씩 해나가고 있다. 최근 싱가포르를 4박 5일로 다녀왔다. 회사 입사 이후에는 공부할 것이 점점 쌓여간다. 팀원들이 지나가듯 말하는 몇몇 용어를 잘 알지 못해서 팀원들에게 바로 물어보거나, 노션에 따로 적어 놓고 집에서 몰래 찾아봤다. 싱글톤, BFF패턴, blue green 배포 등과 더불어 개발 실무에 사용하는 ArgoCD, Jenkins 등 모르는 게 많았다. 모르는 게 정말 많아서 슬랙에 종종 물어보는데 나만 물어보는 것 같다. 우리 팀원들은 혼자서 척척 다 잘 해낸다. 나는 질문 봇이다. 첫 6주 동안..

회고 2022.02.16

Bunbler::GemNotFound 에러 해결하기

Ruby, 혹은 다른 버전의 Jekyll을 사용해서 프로젝트를 진행하거나 블로그를 만들 때 패키지 의존성들을 관리할 필요성이 있다. 이때 bundler를 사용하여 버전을 관리할 수 있다. package.lock.json이나 yarn.lock과 같은 역할을 하는 Gemfile.lock을 만들 수 있다. 이렇게 사용되는 bundler를 설치하고 jekyll serve를 통해 서버를 실행했을때, Bunbler::GemNotFound 와 같은 문제가 발생할 때가 있다. 이것을 해결하기 위해서는 해당 프로젝트 터미널에 bundler라는 명령어를 입력함으로써 해결할 수 있다. 이를 통해 충돌나는 버전들을 정리해주게된다. 이후 bundle exec jekyll serve 명령어를 통해 서버 실행

Vuex에서 각 사용자가 독립된 저장소를 가지려면?

시나리오 두 명의 사용자가 들어왔을 때 각각 독립적인 상태를 가지고, 유저의 클릭 이벤트에 따라 로그인 모달 창이 열리거나 닫혀야 한다. 만약 모달 상태를 저장하는 store를 단순히 객체로 구성했다면 이런 식이다. 이 상태로 빌드가 된 다음 배포가 되었을 때 문제는 무엇일까? const modalStoreModule = { namespaced: true, state: { isOn: { login: false, }, }, mutations, actions, }; export default modalStoreModule 문제는 바로 두 명의 사용자가 각각 독립된 모달 상태 저장소를 가지고 있지 않다는 것이다. 첫 번째 사용자가 로그인을 하기 위해 로그인 모달창을 열었을 때, login의 상태는 true로 ..