목록전체 글 (105)
최용우
Git, 코드의 버전 관리 도구이다.IT 업무를 하다보면 종종 느끼는것은 작업 이력(기록)이 다른 무엇보다 우선한다는 사실이다.반응속도가 개선되었다든지, 아키텍트가 좋아졌다든지 하는 것들도 중요하지만 제품을 관리하는 것은 결국 사람이고 사람은 기록이 없으면 길을 잃게 된다.따라서 코드 변경 이력을 관리해주는 형상 관리 도구는 자연스럽게 발생할 수 밖에 없으며 현재 가장 많이 사용되고 있는 것은 Git. 컨셉은 정말 간단하다. 1. 로컬 저장소 to 원격 저장소Working Directory -> (add) -> Staging Area -> (commit) -> Repository -> (push) -> Remote Repository위 흐름만 알아도 git은 끝이다. 어렵거나 생소해보이는 기능들도 본 흐..
Django restframework로 view.py와 serializer.py를 작성하다보면 재사용에 대한 고민을 하게 된다. 기능별 API를 다 만들어야 하나? 아니면 재사용 할 수 있는건 조금 손봐서 다시 써야하나? 이런 저런 생각을 하다가 친구와 대화중 "인터페이스 분할의 원칙"을 듣게 되었다. 나는 처음 들어본 개념이다. 궁금해서 검색을 좀 하다가 이 원칙은 당연히 지켜야할 수 밖에 없는 것을 깨달았다. 일단 ChatGPT에게 물어본 내용을 아래에 첨부한다. 단일 책임 원칙 (Single Responsibility Principle, SRP): 단일 책임 원칙은 클래스, 모듈 또는 인터페이스가 하나의 주요 책임만을 가져야 한다는 것을 강조합니다. 이는 해당 요소가 변경되어야 하는 이유를 최소화하..
간만에 웹 프로젝트가 생겨서 Django를 다시 꺼냈다. 기존에 자주쓰던 버전이 3.x.x이었는데 4.x.x로 업그레이드 되었다. 신규 버전에서 사용불가능한 함수들이 있어서 단순 복사 붙여 넣기로는 작동안하는 것이 있었다. 사실 Django를 쓰던 Spring Boot를 쓰던 Node.js를 쓰던 본질은 변하지 않는다. 제공하고자 하는 서비스에 최적화된 기술을 사용하면 그만이다. 그렇게 하기 위해선 서비스의 요구사항을 면밀히 분석해야 한다. 요구사항을 분석하지 못한다면 잘못된 하드웨어 사양을 선택할 수 밖에 없게 된다. 이는 불필요한 비용을 발생시키거나 서비스 도중 문제가 발생할 수 있다. 비용을 적절하게 통제하는 것도 회사의 핵심 업무이므로 요구사항을 분석하여 적절한 수준의 기술을 채택하는 작업은 반드..
평범한 직장인이 사업을 고민하는데는 여러 이유가 있다. 그런데 대게 아래와 같은 이유로 압축할 수 있다. 사업을 고민하는 이유. 1. 적은 급여 2. 언젠가는 퇴사해야한다는 불안감 3. 나의 일을 하고 사업을 키워가고 싶은 열망 4. 부조리한 회사생활 현실적으로 개인 사업으로 급여 이상의 매출을 발생시키 굉장히 어렵다. 특히 초창기에는 더욱 어렵다. 많은 기업가들이 초기에 사업을 접는 이유는 죽음의 계곡이라고 불리는 Death valley 때문이다. 이게 왜 죽음의 계곡이냐면 일반적으로 우리는 투자 자원이 늘수록 비례하는 매출 성장을 기대하는데 하면 할수록 마이너스이기 때문이다. 열심히 할수록 회사가 망해가는데 버틸 수 있는 정신력을 가지고 있는 사람이 얼마나 될까? 개인 능력이 뛰어난 창업가는 본전 생..
백준이라는 온라인 알고리즘 문제풀이 사이트에서 문제를 풀고있다. 햇수로는 어느덧 3년차가 되었다. 나는 1주일 1문제 풀기를 목표로 하고있다. 목표치가 너무 낮은가 싶다가도 나의 풀이속도를 볼때 적당한 수준이다. 나의 문제풀이 현황. 초록색이 문제를 해결한 날이다. 가끔 이런 궁금증이 생긴다. 1. 문제가 안풀리면 답지를 보는것이 좋나요? 아니면 안보고 끝까지 푸는게 좋나요? 2. 몇시간 정도 고민하는것이 적당한가요? 위 질문에 정답은 없다. 어떤 사람은 답지를 끝까지 안보고 풀어내는것이 의미가 있다고하고 어떤 사람은 지나치게 물고 늘어지는것은 비효율적이므로 일정시간동안 진척이 없으면 답지를 보는것이 좋다고 한다. 그래서 GPT에게 물어보았다. 역시 귀에 걸면 귀걸이 코에 걸면 코걸이라고 일명 '케바케'..