본문 바로가기

전체 글7

좋은 소프트웨어 개발자란? 이번 글에서는 좋은 소프트웨어 개발자란 무엇인지에 대해 개인적으로 생각하는 바를 적어볼까 합니다. 42서울이라는 교육기관에서 1000명에 가까운 개발자들과 함께 생활하고, 현업에서 다양한 연차의 개발자들을 만나며 느낀 점들을 바탕으로 정리한 내용입니다. 좋은 개발자의 정의제가 생각하는 좋은 개발자의 정의는 현장에서의 역량을 기반으로 합니다.현장에서 개발자로 일하며 얼마나 가치를 만들어내는가가 중요하다고 보는데, 그 가치는 크게 문제해결력, 협업능력, 프로다운 자세에서 나온다고 생각합니다. 이 세 가지 역량이 높은 개발자가 좋은 개발자라는 것이 제 결론입니다.문제해결력기업이 개발자를 채용할 때 기대하는 바는 결국 "지불한 급여 이상의 부가가치를 창출해주었으면 좋겠다"일 것입니다.그 부가가치를 구체적으로 풀.. 2026. 5. 15.
커머스 플랫폼 개발 전 알아야 할 법적 요구사항 한국에서 커머스 서비스를 운영하려면 거래 기록을 어떻게 보존할 지, 개인정보를 어떻게 다뤄야 하는 지 등 법률로 정해진 의무들이 있습니다. 이걸 모르고 서비스의 DB를 설계하면 나중에 설계를 갈아엎어야 할 수도 있기에 개발 전 반드시 짚고 넘어가야 합니다. 본 글은 개발자 시점에서 정리한 자료이며, 법률 자문이 아닙니다. 작성 과정에서 법령 해석이나 조항 인용에 오류가 있을 수 있습니다. 실제 사업 진행 시에는 관할 기관 또는 전문가의 자문을 받으시기 바랍니다. 또한 법령은 개정될 수 있으므로 글 작성 시점(2026년 5월) 이후의 변경사항은 반영되어 있지 않을 수 있습니다. 법적 지위 구분법령에서는 커머스 플랫폼의 관계자들을 다음과 같이 구분합니다.자사몰 관리자 -> 통신판매업자커머스 플랫폼 관리자 -.. 2026. 5. 4.
JWT 토큰에 대해 JWT 토큰이란?JWT 토큰은 Json Web Token의 약자로, 웹 통신 시 클라이언트의 인증에 사용되는 JSON 형태의 토큰 값입니다.최근, 서버 측에서 토큰 인증 방식으로 요청을 보낸 클라이언트의 신원을 확인할 때 JWT토큰을 많이 사용합니다. Session 기반 인증과는 다르게JWT토큰을 사용한 인증 시, 서버측에서 별도의 DB 조회가 필요 없어 효율적이라는 장점이 있습니다.JWT 토큰의 구조eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyQGV4YW1wbGUuY29tIiwicm9sZXMiOlsiUk9MRV9BRE1JTiJdLCJleHAiOjE3NTA4MjYyODgsImlhdCI6MTc1MDczOTg4OH0.cSW65JDV0wTpSIfQV4KPE8k.. 2025. 6. 29.
관계형 DB를 설계할 때 알아두면 좋을 것들 오늘은 관계형 DB를 설계할 때 알아두면 좋을 것들에 대해 설명해 보겠습니다.기본키는 serial 타입을 사용테이블에는 id라는 이름으로 serial 타입의 인공키(surrogate key)를 기본키로 사용하는 것이 좋습니다. 인공키같은 기본키 용도의 별도의 속성을 두지 않고 기존 속성 중 하나를 골라 기본키로 사용할 수도 있겠지만 인공키를 사용하면모든 테이블이 동일한 형태의 기본키를 사용하므로 가독성이 향상됩니다. (모든 테이블의 기본키 속성 이름은 id라는 것이 보장됨)인공키를 사용하지 않는 경우, 기본키 속성 변경에 의해 기존 기본키를 참조하던 테이블들의 외래키 설정을 바꿔야 하는 경우를 예방할 수 있습니다.대부분의 RDBMS에서는 기본키에 자동으로 인덱스 설정이 적용됩니다. serial 타입의 인.. 2025. 3. 20.
Java의 equals와 hashcode메서드 이해하기 Java 프로그래밍을 하다 보면 Object 클래스의 equals()와 hashCode() 메서드를 종종 보게 됩니다.이 두 메서드는 단순해 보이지만, 올바르게 이해하고 사용하지 않으면 예상치 못한 버그를 유발할 수도 있습니다.오늘은, 이 두 메서드의 목적과 관계에 대해 한 번 알아보겠습니다. equals() 메서드 - 논리적 동등성의 기준Java에서 객체 비교를 이야기할 때 두 가지 관점이 있습니다:물리적 동등성(Reference Equality): 메모리 상에서 동일한 위치(동일한 참조)를 가리키는지. ('==' 연산자를 사용하여 비교 가능)논리적 동등성(Logical Equality): 두 객체가 같은 값을 가지고 있는지 확인. (서로 다른 메모리 위치에 존재하더라도 상관없음)equals() 메서드.. 2025. 3. 16.
고정 소수점, 부동 소수점 표현 방식 컴퓨터는 데이터를 이진수 체계를 이용해 0과 1로 저장합니다. 컴류터 정수를 저장할 경우 해당 정수를 이진수로 변환한 후 이를 메모리에 저장합니다. 이진수 변환 시 10진수 정수를 우측부터 이진수의 2^0, 2^1, 2^2... 로 해석해 변환하여 저장합니다.정수-이진수 변환은 비교적 간단합니다. 그런데 소수부가 포함된 125.275 같은 정수가 아닌 실수를 이진수로 변환하려면 어떻게 해야 할까요? 25.23423112342343243232444... 같은 긴 실수를 변환해야 할 경우를 생각해 보면, 두 실수 사이에는 무수히 많은 실수가 존재한다는 특성상 이를 유한한 비트로 나타내기는 쉽지 않아 보이므로 정수의 이진수 변환과는 다른 복잡한 규칙이 필요해 보입니다. 그럼에도 불구하고 많은 소프트웨어에서 정.. 2025. 3. 16.