본문 바로가기
반응형

회고/영상, 칼럼, 스터디 회고12

갑작스런 문제 해결하기(feat.워드 커닝햄의 "Hm... That's interesting.) 개요 오늘 회사에서 코드를 고친 부분에서 오류가 나서 제대로 파일 다운로드가 되지 않았습니다. 이 작업이 당장 급한 것은 아니었으므로 수정하고 다음날 하도록 안내를 했는데 실수를 맞닥뜨렸을 때 어떻게 대응해야 하는지 생각을 했습니다. 문제상황 기존에 사용하고 있던 쿼리문이 고도화되면서 WHERE절에 조건을 추가했습니다. 따라서 WHERE 조건에 따라서 SELECT 결과값이 달라집니다. 문제는 제가 A쿼리문이 한군데서만 쓰이고 있다고 생각해서 수정했는데, 알고보니 공통코드쪽에서도 같은 쿼리를 사용하고 있었고, 공통 쿼리 쪽 쿼리에는 WHERE절에서 NULL조건이 들어가 아무런 조회도 되지 않았고 파일 다운로드해도 아무런 데이터가 없었던 것입니다. 이 문제를 다루면서 김창준님께서 칼럼에 쓰신 내용이 떠올랐습.. 2023. 1. 5.
지금 하는 일들을 절반의 시간 안에 해야 한다면? 개요 10년도 넘은 글이지만 김창준 님의 칼럼은 아직도 유용한 내용들이 많습니다. "지금 하는 일들을 절반의 시간 안에 해야 한다면?"을 주제로 작성하신 글을 읽고 실제 업무에 적용해보고 느낀 점을 기록합니다. 핵심내용 1시간 내에 끝내기로 한 것이 실제로 1시간 지났는데도 안 끝나면 무조건 다음 선택지 중에서 골라야 합니다. 하던 걸 이어서 마저 한다는 무조건 없습니다(5분만 더하는 것도 안됨). 다른 일을 1시간 동안 한다. 더 우선순위가 높은 일로 선택 성취하고자 하는 결과(outcome)를 생각해서 전혀 다른 접근법을 시도한다 다른 사람과 상의한다 1시간짜리 일을 완료했냐 아니냐 여부에 관계없이, 1시간이 끊어지는 마디마다, 그리고 좀 더 큰 마디(예컨대 하루, 1주일 단위)마다 다음 질문을 스스.. 2022. 12. 23.
운영중인 Vue.js 웹 서비스를 타입스크립트로 다시 쓰기, 장기효 개요 vue 강의로 유명한 캡틴판교 장기효님이 발표한 내용입니다. 기존 레거시 코드를 제거한 경험을 공유하는데, vue를 TS로 개선한 작업이지만, 언어가 중요한 것이 아닌 레거시 개선을 중점으로 확인하니 좋은 세미나였습니다. 문제상황은 무엇인가? Clova 더빙이라는 웹 편집기로 비디오, 오디오 등의 미디어 제어와 타임라인을 편집한다 왜 타입스크립트를 도입했나? -> 적은 인원으로 빠르게 서비스를 오픈하면서 기술 부채가 심하게 쌓였던 상황 하지만 문제가 있었으니... 안정성 - 잘 돌아가는 서비스는 건드리지 않는게 좋다 - 오랜 기간을 거쳐 안정성을 확보한 서비스와 기능을 건드리는 건 위험하다 학습 비용 - TS를 아는 사람은 나 혼자 - 팀 전체의 학습 비용이 큰 상황 테스팅 - 기능을 보장할 수 있.. 2022. 10. 9.
주니어 개발자의 대나무숲 - 강지현, 이민우, 이지환, 한예은 개요 질문이 여러개 있으며, 주니어 개발자들이(1~4년차) 자신의 경험을 바탕으로 내용을 공유합니다. 커뮤니케이션 잘 하는 방법은? A : context 간극이 개발-비개발에서 발생하는데, 서로를 이해하기 위해서 조금 노력이 필요하다. 답답함을 느끼거나 피로감이 들더라도, 감정표현을 하면 안된다. 이런 감정을 드러내는 것은 프로페셔널하지 못하다. B : 나는 이 일에 익숙한데, 상대방이 익숙하지 않은 경우가 있다. 따라서 내가 설명을 생략해서 소통 비용이 증가 할 수 있다. 소통에 있어서 속도보다는 정확성이 중요하다 C: 적극적인 태도가 중요하다. 기획이나 디자인 부분에도 효율적으로 할 수 있는 부분을 제시한다. D : 정확하게 일의 흐름을 설명해 주는 것이 중요하다. 솔직한 소통. 왜 마감일정까지 마칠.. 2022. 10. 7.
나도 내 코드의 문제를 찾고 싶다구요?! - 테스트 할 때 기억할 7가지, 한주승 개요 이번 발표는 약 34분으로 적지 않은 시간이었는데, 테스트코드를 어떻게 작성해야하는지 방법을 알려주는 것이 아니라, 개발 전반에 걸쳐서 어떻게 좋은 품질의 제품을 문제없이 만들 수 있는지 그 관점에서 테스트를 제시합니다. 테스트할 때 기억해야 할 7가지 테스트할 때 기억해야 할 것으로 총 7가지를 준비했습니다. 1. 테스트 케이스 잘못 정의하면, 비정상이 정상으로 둔갑합니다. 불을 꺼주세요라고 했는데 불이 켜져있다는 것으로 잘못 테스트를 정의하면 실제 문제가 발생했을 때 잡아낼 수 없습니다. 비정상이 정상으로 둔갑하는 상황을 조심해야 합니다. 2. 제품 요구사항 요구사항을 바르게 이해해서 올바른 정의를 내려야 합니다. 이것은 1번 테스트 케이스의 피드백 과정이기도 한데, 제품 요구사항을 바르게 정리.. 2022. 10. 7.
성공하는 스터디를 만드는 10가지 방법 - 인출 위주의 스터디 여정기, 한윤석 개요 코드숨 스프링 1기 수강자로서 윤석님, 종립님과 코드리뷰를 했다는 좋은 경험이 있습니다. 심지어 이번에 발표한 내용은 그동안 같이 스터디를 하면서 다양하게 시도했던 방법들을 소개했어서 복습도 되고 좋았습니다. 비하인드 스토리로, 일종의 포트폴리오로 현재 진행하고 있는 코드숨 스터디 구글 시트만 제출하셨다고 했습니다. 그 안에는 각 활동 기록이 있는데, 각 참여자의 질문내용, 배운 것, 알게된 것, 아쉬운 것 등 매 스터디마다 기록되어 있습니다. 인출 위주의 학습법 코드숨을 관통하는 핵심 주제는 인출 위주의 학습법입니다. 인출 학습법이란, "배운 것"을 "인출"하고 "적용"해보고 "피드백"을 받는 것입니다. 입력 위주의 학습은 이해라는 착각을 불러일으키지만, 인출 위주의 스터디를 통해 내가 알고 모르.. 2022. 10. 1.
나와 팀을 성장시키는 리뷰들 - 코드 리뷰만 리뷰가 아니라니까?(박미정) 개요 이 글은 인프콘 2022 에서 박미정님이 발표하신 내용입니다. 박미정님은 이전에 백기선님 유투브에도 나오고 퍼블리에서도 글을 연재하셔서 알고 있었습니다. 또한 OKKY에서 하는 세미나도 들었습니다. 세미나에서 그때 개발자가 회의를 하는 것을 시간낭비라고 생각하지 않았으면 좋겠다고 말했던 내용이 인상깊었습니다. 이번 발표도 그때의 발언과 일맥 상통했습니다. 개발자는 단순히 개발만 하는 직업이 아니라 개발의 시작과 끝까지 모든 것을 동료들과 함께 힘을 합쳐서 만들어나가며 고민해야 합니다. 나와 팀을 성장시키는 리뷰들 개발자의 일과 리뷰는 무엇일까? 개발자들은 일을 오해하고 있다. 개발자는 단순히 코드를 짜는 것이 아니라 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 배포 크게 5가지를 하고 있다.. 2022. 9. 30.
실용주의 프로그래머 실천사항 *실천사항 Topic38 우연에 맡기는 프로그래밍 p228 의도적으로 프로그래밍하기 지금 내가 무엇을 하는가? 계획을 세우고 그것을 바탕으로 진행하라 가정을 기록으로 남겨라 왜 동작하는지 모르면 실패하는지도 모른다. *문제 정의 현재 어떤 상품이든 1개밖에 구매하지 못한다. 문제는, 고객이 가끔 여러 상품을 구매하기 위해서 결제 절차를 처음부터 끝까지 여러번 반복하는 경우가 있었다. 따라서 다중구매 시스템을 만들어보기로 했다. 결제는 중요한 부분인만큼 동작과정을 면밀히 살펴보는 것이 중요하다. 따라서 직접 그림을 그려보면서 해보기로 했다. 현재 시스템에서 메인 DB는 대내 시스템에 있으며, 홈페이지 DB들은 대내 시스템을 바라보고 있다. 결제 시, 모든 정보들이 실제 정산을 위해서 대내 시스템 DB에 저.. 2022. 6. 2.
실용주의 프로그래머 (4/27) 계획 Topic 20 디버깅 Tip30 당황하지 말라 ‘하지만 정말 그럴 리가 없는데’로 시작하는 생각의 흐름에 신경 세포 하나도 낭비하지 말라. 왜냐하면 명백히 그런 일은 일어날 수 있으며, 실제로도 일어났기 때문이다. Tip32 그놈의 오류 메세지 좀 읽어라 먼저 문제가 무엇인지 보자. 프로그램이 죽었는가? 우리가 프로그래밍 실습이 포함된 수업을 할 때면, 빨간색 예외 메세지가 튀어나오면 냅다 탭 키를 눌러서 코드로 직진하는 개발자가 얼마나 많은지 늘 놀라울 따름이다. Tip33 select는 망가지지 않았다. 대개 애플리케이션 코드가 라이브러리를 잘못 호출하고 있다고 가정하는 편이 라이브러리 자체에 문제가 있다고 가정하는 것보다 낫다. Tip34 가정하지 말라. 증명하라 버그와 관련된 루틴이나 코드.. 2022. 4. 27.
반응형