귀찮은 개발자의 이중생활
close
프로필 사진

귀찮은 개발자의 이중생활

github: @aihoshistar

  • 분류 전체보기 (124)
    • Algorithm (3)
      • 백준 코딩테스트 (0)
      • 알고리즘 응용 (3)
    • Computer Science (18)
      • Data structure (0)
      • Network (0)
      • System Software (0)
      • Server (2)
      • 클라우드 (15)
    • DevOps (14)
      • 도커 (Docker) (8)
      • 모니터링 (6)
    • Programming (28)
      • 플러터 (Flutter) (2)
      • $_머니 (PHP) (16)
      • 스프링 부트(Spring Boot) (9)
      • 노드 (NodeJS) (0)
      • .NET (1)
    • Database (1)
      • RDBMS (10)
      • NoSQL (5)
      • 메시징 시스템 (messaging system) (2)
      • 검색 엔진(Search engine) (2)
    • 실무 경험 (12)
      • 실무 개발 & 협업 (7)
      • 개발 도구 & API 테스트 (2)
      • 기술 트렌드 & 리뷰 (2)
    • 사이드 프로젝트 (3)
    • 도서 (5)
      • 불친절한 SQL 프로그래밍 (2)
    • 마인드셋 (0)
      • 오늘의 온도 (0)
      • 마인드 리셋 (0)
      • 성장 로그 (0)
    • 임시보관 (13)
      • 에러모음 (1)
      • 실무 이슈 (6)
      • 로그인 서비스 (4)
  • 홈
  • 태그
  • Github
  • Resume

오픈소스의 문서가 부실한 이유와 방대한 이유

마이크로소프트의 문서는 매우 잘되어있지만 코드는 공개되어 있지 않음.반면 코드가 공개된 오픈소스는 문서가 부실한 경우가 있음. 왜이럴까 생각해보면 코드가 문서이기 때문내가 코드까지 공개했는데 문서도 잘 써줘야해? 뭐 이런 마인드가 아닐까

  • format_list_bulleted 카테고리 없음
  • · 2025. 4. 29.

휴먼에러를 방지하는 방법 1 - git add -p(git add partial (or patch)

우리가 커밋을 하고 코드를 push/merge 할 때에는 잘 동작하고 테스트도 잘 통과되었기 때문에 그랬을 것이다. 만일 내가 서비스를 잘 알고, 개발도 잘 하고, 테스트 커버리지도 100%에 가깝다 하더라도 항상 주의하고 침착해야 한다. 만일 코드 한줄로 회사가 문을 닫을수도 있는게 바로 개발이다. git add -p는 변경된 파일의 일부만 선택적으로 스테이지에 추가할 수 있도록 도와주는 기능이다. 전체 파일을 한 번에 커밋하지 않고, 필요한 부분만 선택해서 커밋하고 싶을 때 사용하며 매번 사용하는 습관을 들이면 좋다.습관을 들인다면 10년후 누군가 내 코드의 의도를 쉽게 파악하는데 도움이 된다. 누가 여기에 매우 잘 작성해 놨다. https://gist.github.com/mattlewissf/..

  • format_list_bulleted 실무 경험/실무 개발 & 협업
  • · 2025. 4. 24.
[Database] - CAP + 서비스를 잘 설계하려면

[Database] - CAP + 서비스를 잘 설계하려면

이미지가 좀 이상하긴 하지만.. 이론상 CAP 를 100% 충족시키지 못한다. CPA 에는 일관성, 가용성, 파티션 허용성이라는 세 가지 속성 중 두 가지만 보장할 수 있다. 일관성 (Consistency)모든 노드가 동일한 시점에 동일한 데이터를 볼 수 있도록 보장어떤 데이터에 대한 쓰기가 완료되면, 그 이후에 해당 데이터에 접근하는 모든 클라이언트는 최신 정보를 보게 된다.가용성 (Availability)클라이언트의 요청(R/W)에 대해 항상 응답을 받을 수 있도록 보장시스템의 일부 노드에 문제가 생기더라도, 남은 노드들이 계속해서 요청에 응답할 수 있어야 하며, 클라이언트는 항상 응답을 받을 수 있어야 합니다. 단, 그 응답이 최신 상태인지(일관성)는 보장하지 않을 수 있다. 파티션 허용 (Part..

  • format_list_bulleted Database
  • · 2025. 4. 22.

[Block Chain] - Integer overflow 그리고 underflow

새로운 Token 을 상장하기 위해서는 Contract 를 검토해야 한다.해당 Token이 어떤 로직으로 작동하며, 보안상 취약점이나 비정상적인 동작 가능성이 있는지를 Contract 를 통해 확인할 수 있다.그래서 새로운 Token 을 상장하기 위해서는 Contract 를 통해 "계약"을 확인해야 한다. Smart Contract 검토 목적Contract 검토 내용Tokenomics 구조 파악 : 발행량, 공급량, 디플레이션 구조 등소유권(Ownership) 및 관리자 권한 : 특정 주소에 과도한 권한이 집중되어 있는지이벤트 및 트랜잭션 로그 확인: 정상적인 기록 구조가 있는지위험 로직 존재 여부 : 거래 중단, 밴 기능, 과도한 세금(Tax), 자동 유동성 이동 등네트워크별 차이토큰은 배포된 네트워크..

  • format_list_bulleted 카테고리 없음
  • · 2025. 4. 21.

불친절한 SQL 프로그래밍 - 4부 관리 구문 - 18장 DML 문

DML 문UPDATE / DELETE 실수 방지 습관쿼리를 실행하기 전 트렌젝션으로 묶는다.쿼리를 작성할 때 SELECT 절을 사용하여 삭제할 데이터를 확인한다.SELECT a.*, (SELECt sum(x.comm) FROM emp x WHERE x.deptno = b.deptno) FROM t1 a WHERE t1 a WHERE EXISTS (SELECT 1 FROM emp x WHERE x.deptno. a.deptno);이후 쿼리를 UPDATE / DELETE 쿼리로 변경한다.UPDATE t1 a SET a.sal = (SELECt sum(x.comm) FROM emp x WHERE x.deptno = b.deptno) WHERE EXISTS (SELECT 1 FROM emp x WHERE x.d..

  • format_list_bulleted 도서/불친절한 SQL 프로그래밍
  • · 2025. 2. 18.
Postgres Auto vacuum 의 중요성

Postgres Auto vacuum 의 중요성

PostgreSQL 를 사용하다 보면 어느 순간 디스크가 기하급수적으로 늘어난다.DELETE / UPDATE 가 지속적으로 발생하면서 디스크는 크게 줄지 않고, 비용은 점점 올라간다.뿐만 아니라 쿼리 성능 저하, 인덱스 비대화의 문제로 데이터베이스의 성능이 점차 떨어진다.Auto vacuum이 안 돌면 생기는 성능 이슈1. 쿼리 성능 저하UPDATE, DELETE가 많아지면 dead tuples 이 쌓인다.PostgreSQL은 MVCC 방식이라, 삭제된 데이터도 실제로는 지워지지 않고 남아 있는데 이걸 지워주는 게 vacuum이다.vacuum 은 백그라운드에서 autovacuum 이 실행되며, 쿼리로 명령어를 작성할 수 도 있다.이것이 제대로 돌지 않으면 테이블이 점점 무거워진다. 이 과정으로 전체 테이..

  • format_list_bulleted Database/RDBMS
  • · 2025. 2. 17.
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 21
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (124)
    • Algorithm (3)
      • 백준 코딩테스트 (0)
      • 알고리즘 응용 (3)
    • Computer Science (18)
      • Data structure (0)
      • Network (0)
      • System Software (0)
      • Server (2)
      • 클라우드 (15)
    • DevOps (14)
      • 도커 (Docker) (8)
      • 모니터링 (6)
    • Programming (28)
      • 플러터 (Flutter) (2)
      • $_머니 (PHP) (16)
      • 스프링 부트(Spring Boot) (9)
      • 노드 (NodeJS) (0)
      • .NET (1)
    • Database (1)
      • RDBMS (10)
      • NoSQL (5)
      • 메시징 시스템 (messaging system) (2)
      • 검색 엔진(Search engine) (2)
    • 실무 경험 (12)
      • 실무 개발 & 협업 (7)
      • 개발 도구 & API 테스트 (2)
      • 기술 트렌드 & 리뷰 (2)
    • 사이드 프로젝트 (3)
    • 도서 (5)
      • 불친절한 SQL 프로그래밍 (2)
    • 마인드셋 (0)
      • 오늘의 온도 (0)
      • 마인드 리셋 (0)
      • 성장 로그 (0)
    • 임시보관 (13)
      • 에러모음 (1)
      • 실무 이슈 (6)
      • 로그인 서비스 (4)
인기 글
전체 방문자
오늘
어제
Copyright © 귀찮은 개발자 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바