본문 바로가기

전체 글225

디자인 패턴 - 생성 패턴 서론 디자인 패턴은 협업하는 코드 구조를 설계할 때, 효율적이고 일관된 방식으로 문제를 해결하는 방법론이다. 특히 객체지향 프로그래밍에서 자주 마주치는 설계 문제들을 다룰 때, 디자인 패턴은 검증된 해결책을 반복적으로 재사용할 수 있는 구조를 제시한다. 패턴을 이해하면 코드의 확장성, 유지보수성, 재사용성을 높이는 데 큰 도움이 되며, 동료 개발자들과의 공통 언어 역할도 해준다. 다만, “패턴을 위한 패턴”은 오히려 해악이 될 수 있다. 따라서 단순히 적용하는 데 그치지 않고, 왜 이 구조가 필요한지, 지금 이 상황에 적절한지를 고민하며 활용하는 태도가 중요하다.생성 패턴 생성 패턴(Creational Patterns)은 객체를 생성하는 과정을 다루는 디자인 패턴군으로, 어떻게 객체를 만들고, .. 2025. 6. 30.
한국 게임이 재미가 없는 이유 한국 게임은 왜 욕을 먹으면서도 계속 플레이될까?커뮤니티에 들어가 보면 한국 게임 욕이 넘쳐난다.유저들은 화를 내고, 운영진을 비난하고, 업데이트에 불만을 터뜨린다.그런데 이상한 건 그 많은 욕을 하면서도, 다음 날이면 또 같은 게임에 접속하고 있다는 점이다.게임이 싫으면 안 하면 될 텐데, 왜들 그렇게 하면서도 계속 플레이할까?이 현상에는 단순한 감정이 아닌, 경제적이고 과학적인 이유가 숨어 있다.그리고 이는 한국 게임 산업의 구조와 역사, 그리고 수익 모델에 깊이 연결되어 있다.재밌는 게임 vs 하고 싶은 게임모든 게임 회사는 결국 돈을 벌기 위해 움직인다.게임을 잘 만들어야 유저가 붙고, 유저가 붙어야 돈을 벌 수 있다.그런데 여기서 한 가지 흥미로운 사실이 있다.‘재미있는 게임’과 ‘하고 싶은 게.. 2025. 6. 9.
Git에 기록되는 정보들 서론 매우 많은 인원과 함께 팀으로 한 게임을 만들면 여러 잡설이 생긴다. 이를 검토, 검색, 연동 등 다양한 자동화로 프로젝트에 편의성을 높인다. 그러나, 이는 Git이 저장한 정보 이내에서 가능한 것이다. 그렇기에 Git은 무엇을 저장하는 지 알 필요가 있다.1. 커밋 정보 (메타데이터)각 커밋에는 다음과 같은 메타데이터가 포함돼:커밋 해시: 9fceb02 같은 고유 ID (SHA-1)작성자(Author): 코드를 처음 작성한 사람작성 시간: 작성자가 커밋을 만든 시점커밋터(Committer): 실제 저장소에 커밋을 반영한 사람 (리베이스나 PR 병합 시 다를 수 있음)커밋 메시지: 변경 내용을 요약 설명부모 커밋: 현재 커밋이 어떤 커밋에서 파생됐는지 (머지 커밋이면 부모가 2개 이상)2. 트리.. 2025. 6. 1.
SQL 관리 구문 SQL 관리 구문 SQL 관리 구문은 데이터베이스 시스템의 구조와 동작, 보안, 일관성을 유지하고 제어하는 데 핵심적인 역할을 한다. 일반적으로 SQL 명령어는 그 목적과 기능에 따라 네 가지로 분류된다. 데이터 정의어(DDL), 데이터 조작어(DML), 트랜잭션 제어어(TCL), 그리고 데이터 제어어(DCL)이다. 각 구문은 데이터베이스 설계부터 데이터의 입력·수정·삭제, 트랜잭션 처리, 사용자 권한 관리에 이르기까지 데이터베이스 운영 전반에 걸쳐 유기적으로 작동한다. 따라서 이 네 가지 구문의 개념과 역할을 명확히 이해하는 것은 데이터베이스를 안정적이고 효율적으로 관리하는 데 필수적인 요소이다.DML (데이터 조작 언어) DML (Data Manipulation Language)은 데이터베이.. 2025. 5. 24.
SQL 활용 서브쿼리 서브쿼리(Subquery)는 SELECT, INSERT, UPDATE, DELETE 등의 SQL문 내부에서 값을 계산하거나 조건으로 사용하기 위해 포함된 또 다른 SELECT문이다. 즉, 다른 쿼리 안에 포함된 쿼리, 즉 "쿼리 속의 쿼리" 를 의미한다. 보통 괄호 ()로 감싸며, 외부 쿼리(main query)가 서브쿼리의 결과를 사용한다. 서브쿼리 위치에 따라서도 아래와 같이 나뉘기도 한다.SELETE스칼라 서브쿼리FROM인라인 뷰WHERE, HAVING중첩 서브쿼리스칼라 서브쿼리 (Scalar Subquery) 결과가 오직 하나의 값(1행 1열)만 나오는 서브쿼리로 칼럼을 대신하여 사용된다. 주로 SELECT, WHERE, HAVING 절 등에서 값처럼 사용된다. 주된 특징으로는 .. 2025. 5. 24.
SQL 기본 관계형 데이터베이스 관계형 데이터베이스(RDB, Relational Database)는 데이터를 행(Row)과 열(Column)로 이루어진 테이블(Table) 구조로 저장하고, 테이블 간의 관계(Relation)를 통해 데이터를 연결하는 방식의 데이터베이스이다. 대표적으로 RDBMS Oracle, MySQL / MariaDB, SQLite 등이 여기에 속한다. SQL(Structured Query Language)은 관계형 데이터베이스에서 테이블를 만들고, 데이터를 다루고, 사용자 권한과 트랜잭션까지 다루기 위해 사용하는 언어이다. 테이블(Table)하나의 주제(예: 고객, 주문, 상품 등)를 표현하는 구조데이터는 행(Row), 속성은 열(Column)테이블은 스프레드시트처럼 생겼지만, 명확한 제약.. 2025. 5. 24.
데이터 모델과 SQL 서론 데이터 모델은 설계의 시작을 하는 단계이며, SQL은 설계를 실제로 구현하고 다루는 도구이다. 그 과정 중 좀더 철저한 설계를 하며 자연스레 정규화와 트랜잭션의 개념이 탄생했다. 정규화는 그 설계를 깔끔하게 다듬는 작업을, 트랜잭션은 그 데이터를 안정적으로 다루기 위한 실행의 안전장치의 역할을 한다.정규화 정규화란 데이터 정합성(데이터의 정확성과 일관성을 유지하고 보장)을 위해 엔터티를 작은 단위로 분리하는 과정이다. 즉, 데이터 중복을 제거하고, 데이터 무결성을 유지하며, 이상(anomaly)을 방지하기 위한 과정이다. 쉽게 말하면, 데이터를 쪼개서 더 효율적이고 오류 없는 구조로 만드는 작업이다. 제 1정규화: 모든 속성은 반드시 하나의 값만 가져야 한다.제 2정규화: 엔터티의 모든.. 2025. 5. 24.
데이터 모델링의 이해 데이터 모델의 이해 데이터 모델은 데이터를 어떻게 구조화할지에 대한 개념적 틀이자 표현 방식이다. 즉, 현실 세계의 정보를 컴퓨터에서 표현하기 위한 방식을 의미한다. 데이터 모델링은 데이터 모델을 실제로 설계에 적용하는 작업이다. 즉, 어떤 데이터를 어떤 테이블에 어떻게 담을지, 어떤 관계를 맺을지를 구체화하는 과정을 의미한다. 그렇기에 데이터 모델링의 이해는 곧 데이터 모델을 이해하는 과정이다.모델링의 특징 현실 세계 정보를 컴퓨터에서 표현을 좀 더 잘하려는 연구가 이루어지다 보니 자연스레 아래와 같은 특징이 생겨났다.추상화(Abstraction): 현실 세계를 일정한 형식으로 표현하는 것이다. 즉, 아이디어나 개념을 간략하게 표현하는 과정이다.단순화(Simplification): 복잡한 현실 .. 2025. 5. 24.
게임을 이용한 전시회 프로젝트 해시태그 2024 소개>는 2024년 11월 15일부터 2025년 4월 27일까지 국립현대미술관 서울에서 진행된 전시 행사이다.이 쇼케이스에서는 ‘게임’이라는 매체를 통해 서로 다른 주제를 각자의 방식으로 제안한‘소망사무국(김래오, 서요한, 서진규, 오새얼, 티타늄(최준성))’과 ‘플레잉 아트 메소드(조호연, 김영주, 이세옥)’의 프로젝트를 소개한다. 소망사무국 ‘소망사무국’은 모든 사람의 소망이 이뤄지는 가상의 세계인 ‘소망 세계’를 선보였다.개인의 노력이 쉽게 좌절되는 현대 사회를 게임의 어법으로 고찰하는 사회 실험적 게임이다.이 게임은 QR 코드로 접속해 최대 45명과 함께 위기에 빠진 소망 세계를 만들어 나가는 형식이다.자신의 욕망에 솔직하게 말해야 하는지, 긍정 혹은 부정적인 소망을 빌어야 하는지 등세계의 구원 .. 2025. 4. 27.
반응형