반응형 티스토리챌린지19 MySQL Timeout Error: The client was disconnected by the server because of inactivity MySQL Timeout Error: The client was disconnected by the server because of inactivityMySQL을 사용할 때 다음과 같은 에러를 본 적이 있을 것입니다:The client was disconnected by the server because of inactivity. See wait_timeout and interactive_timeout for configuring this behavior.이 에러는 클라이언트가 MySQL 서버에 연결된 후 일정 시간 동안 아무 작업도 수행하지 않을 경우 서버가 연결을 종료하면서 발생합니다. 이번 포스트에서는 이 에러의 원인, 해결 방법, 그리고 관련된 코드 최적화 방법을 소개합니다.1. 에러 원인MySQ.. 2024. 11. 25. MySQL 프로시저에서 변수와 컬럼명이 충돌할 때 발생하는 문제 해결하기 MySQL 프로시저에서 변수와 컬럼명이 충돌할 때 발생하는 문제 해결하기1. 들어가며MySQL에서 프로시저를 작성하다 보면 테이블의 컬럼 이름과 프로시저 안에 선언된 변수 이름이 대소문자만 다른 경우, 의도치 않은 충돌 문제가 발생할 수 있습니다. 이로 인해 데이터베이스 쿼리가 예상대로 동작하지 않거나, 잘못된 데이터가 처리되는 경우가 생길 수 있습니다. 이 글에서는 이 문제의 원인과 해결 방법을 살펴봅니다. 2. 문제 상황 설명다음과 같은 MySQL 프로시저를 예로 들어보겠습니다:DELIMITER $$CREATE PROCEDURE UpdateUserCurrency(IN UserID INT, IN currency INT)BEGIN DECLARE Currency INT; SELECT Curren.. 2024. 11. 24. 확률형 아이템의 설계와 구현: 게임에서의 재미와 공정성 확률형 아이템의 설계와 구현: 게임에서의 재미와 공정성 확률형 아이템은 현대 게임 디자인에서 중요한 요소 중 하나로, 플레이어들에게 기대감과 흥미를 주며 게임 내 경제와 플레이 타임을 조율하는 데 사용됩니다. 이 글에서는 확률형 아이템의 설계와 구현, 그리고 이를 둘러싼 공정성과 재미의 균형을 어떻게 잡을 수 있는지 구체적으로 살펴보겠습니다.1. 확률형 아이템이란?확률형 아이템이란 플레이어가 특정 아이템이나 보상을 얻기 위해 랜덤 확률에 의존하는 시스템입니다. 일반적으로 가챠(Gacha) 시스템, 상자(Loot Box), 또는 랜덤 박스라고도 불립니다.주요 특징은 다음과 같습니다:랜덤성: 플레이어가 어떤 아이템을 받을지 예측할 수 없음.희소성: 일부 아이템은 낮은 확률로 설정되어 높은 가치와 희소성을 가.. 2024. 11. 23. 유니티 팝업 닫기 완벽 가이드 : 외부 클릭으로 팝업 닫는 기능 구현하기! 유니티 팝업 닫기 완벽 가이드 : 외부 클릭으로 팝업 닫는 기능 구현하기! 게임이나 앱을 개발할 때, 팝업 창을 띄우고 사용자 경험을 향상시키기 위해 팝업 외부를 클릭하면 팝업이 닫히는 기능은 필수입니다. 이번 포스트에서는 유니티를 사용하여 이 기능을 구현하는 방법을 단계별로 설명하겠습니다. 구현 목표팝업 외부를 클릭하면 팝업이 닫히도록 구현하겠습니다.팝업: UI Canvas에 위치한 Panel외부 클릭 감지: 팝업 영역 외부 클릭 이벤트 감지 단계별 구현 방법1. 기본 UI 구성Canvas 생성Hierarchy 창에서 Canvas를 생성합니다.Canvas 아래에 팝업과 백그라운드 영역을 배치할 Panel을 추가합니다. Background Panel 추가Popup 뒤에 위치할 Background Pane.. 2024. 11. 22. Unreal Engine 마켓플레이스의 Fab 전환: 무료 에셋 변화와 활용법 Unreal Engine 마켓플레이스의 Fab 전환 무료 에셋 변화와 활용법 Fab으로 전환된 Unreal Engine 마켓플레이스Unreal Engine의 기존 마켓플레이스는 매월 5개의 무료 에셋을 제공하며 사용자들에게 큰 사랑을 받아왔습니다. 그러나 Fab으로의 전환 이후, 무료 에셋 제공 방식과 주기가 변화했습니다. Fab은 10월 23일 출시된 이후 약 2~3주 간격으로 무료 에셋을 3종씩 제공합니다.Fab에서 제공되는 무료 콘텐츠는 퀄리티가 뛰어나며 다양한 개발 환경에서 활용할 수 있는 에셋으로 구성되어 있습니다. 현재 12월 3일까지 다운로드할 수 있는 무료 에셋은 다음과 같습니다:현재 제공 중인 Fab 무료 에셋1. Stylized Fantasy Creatures Bundle내용: 이 패키.. 2024. 11. 21. 언리얼 엔진 5.5 차세대 게임 개발을 위한 새로운 도약 언리얼 엔진 5.5 차세대 게임 개발을 위한 새로운 도약2024년 11월, 에픽게임즈는 언리얼 엔진 5.5를 공식 출시하며 게임 개발과 실시간 3D 콘텐츠 제작의 새로운 지평을 열었습니다. 이번 업데이트는 성능 최적화, 생산성 향상, 렌더링 품질 강화 등 다양한 영역에서 개발자들에게 강력한 기능을 제공합니다. 이 글에서는 주요 개선 사항과 기술적인 인사이트를 중심으로 엔진의 변화를 분석하고, 이를 활용한 게임 개발의 가능성을 탐구해 보겠습니다.1. 애니메이션 제작의 생산성 혁신개선된 시퀀서와 애니메이션 레이어언리얼 엔진 5.5는 애니메이션 작업 워크플로에서의 병목현상을 해결하기 위해 시퀀서를 대대적으로 업그레이드했습니다.향상된 필터링과 속성 접근성: 사용자는 애니메이션 속성을 더욱 직관적으로 탐색하고 조.. 2024. 11. 20. 디자인과 게임을 위한 무료 폰트 사이트 완벽 가이드 디자인과 게임을 위한 무료 폰트 사이트 완벽 가이드폰트는 단순히 글자를 쓰는 도구가 아닙니다. 디자인이나 게임 개발에서 폰트는 분위기와 메시지를 전달하는 중요한 요소입니다. 하지만 폰트를 고를 때 가장 헷갈리는 부분은 바로 라이센스와 적합성일 것입니다. 이번 글에서는 폰트의 기본 개념부터 무료 폰트를 찾을 수 있는 다양한 사이트, 그리고 라이센스를 확인해야 하는 이유까지 알아보겠습니다.폰트란 무엇일까?폰트(Font)는 특정한 스타일로 디자인된 글자 모양의 집합입니다. 텍스트의 굵기, 간격, 기울기 등에 따라 전체적인 분위기가 완전히 달라질 수 있습니다.예를 들어, 둥글고 부드러운 폰트는 친근한 느낌을 주는 반면, 각지고 날카로운 폰트는 세련되고 전문적인 인상을 줍니다. 따라서 프로젝트의 성격에 맞는 폰트.. 2024. 11. 19. Unity URP로 전환 시 발생하는 분홍색 Material 문제 해결 방법 Unity URP로 전환 시 발생하는 분홍색 Material 문제 해결 방법Unity 프로젝트를 업그레이드하거나 기존 렌더링 파이프라인에서 URP(Universal Render Pipeline)로 전환하면 일부 Material이 분홍색(Magenta)으로 표시되는 문제가 발생할 수 있습니다. 이는 URP로 전환 과정에서 Material의 Shader가 호환되지 않거나 설정이 변경되어 발생합니다. 이번 포스트에서는 URP란 무엇인지, 설치 방법, 분홍색 Material 문제의 원인과 해결 방법을 단계별로 정리해보겠습니다. 1. URP란 무엇인가?URP(Universal Render Pipeline)는 Unity의 스크립터블 렌더링 파이프라인(SRP) 중 하나로, 성능과 그래픽 품질 간의 균형을 제공하는 데.. 2024. 11. 18. 옵저버 패턴(Observer Pattern) 이해하기 옵저버 패턴(Observer Pattern) 이해하기옵저버 패턴은 객체 간의 일대다 관계를 정의하여, 한 객체의 상태가 변경되면 이를 의존하고 있는 다른 객체들이 자동으로 통지(알림)를 받고 갱신될 수 있도록 하는 행동 디자인 패턴입니다. 이 패턴은 발행/구독(Publish-Subscribe) 모델로도 알려져 있으며, 이벤트 기반 프로그래밍에서 자주 사용됩니다.옵저버 패턴은 상태 변화와 이를 의존하는 객체들의 동작을 분리하여 느슨한 결합을 구현하는 데 도움을 줍니다. 이번 포스트에서는 옵저버 패턴의 개념, 구조, 구현 방법, 장단점 및 사용 사례를 구체적인 예제와 함께 살펴보겠습니다. 옵저버 패턴이란?옵저버 패턴은 하나의 객체(주제, Subject)가 상태를 관리하고 변경할 때, 이를 관찰하는 여러 객체.. 2024. 11. 17. 책임 연쇄 패턴(Chain of Responsibility Pattern) 이해하기 책임 연쇄 패턴(Chain of Responsibility Pattern) 이해하기책임 연쇄 패턴은 요청을 처리할 수 있는 객체들이 연쇄적으로 연결되어, 요청이 처리될 때까지 객체를 순차적으로 전달하는 행동 디자인 패턴입니다. 이 패턴은 요청을 명확한 수신자 없이도 여러 객체가 처리할 수 있도록 하며, 처리 과정을 동적으로 변경하거나 확장할 수 있습니다.책임 연쇄 패턴은 요청을 처리할 수 있는 다수의 객체들 중 하나가 처리하도록 설계되어 있으며, 처리하지 못하면 다음 객체로 전달됩니다. 이번 포스트에서는 책임 연쇄 패턴의 개념, 구조, 구현 방법, 장단점, 사용 사례 등을 구체적인 예제와 함께 살펴보겠습니다.책임 연쇄 패턴이란?책임 연쇄 패턴은 요청을 처리할 수 있는 객체들이 연결된 체인 형태로 구성되어.. 2024. 11. 16. 어댑터 패턴(Adapter Pattern) 이해하기 어댑터 패턴(Adapter Pattern) 이해하기어댑터 패턴은 서로 다른 인터페이스를 가진 클래스들이 함께 작동할 수 있도록 중간에 어댑터 객체를 두어 호환성을 제공하는 구조적 패턴입니다. 어댑터 패턴은 기존 클래스의 인터페이스를 변환하여 새 인터페이스에 맞추는 방식으로, 클라이언트 코드의 수정 없이 기존 코드의 재사용을 가능하게 합니다.이번 포스트에서는 어댑터 패턴의 개념과 구조, 구현 방법, 장단점 및 사용 시점을 구체적인 예제와 함께 알아보겠습니다. 어댑터 패턴이란?어댑터 패턴은 호환되지 않는 인터페이스를 가진 클래스들이 함께 작동할 수 있도록 변환해주는 디자인 패턴입니다. 어댑터는 기존 인터페이스를 새로운 인터페이스로 감싸는 래퍼(wrapper) 역할을 하며, 클라이언트가 원하는 형태로 기존 클.. 2024. 11. 15. 팩토리 메소드(Factory Method) 패턴 이해하기 팩토리 메소드(Factory Method) 패턴 이해하기소프트웨어 설계에서 객체 생성을 보다 유연하게 하기 위해 고안된 팩토리 메소드(Factory Method) 패턴은 객체 생성 과정을 상속을 통해 캡슐화하는 생성 패턴 중 하나입니다. 팩토리 메소드 패턴을 적용하면 클라이언트 코드와 객체 생성 코드를 분리할 수 있어, 새로운 객체 유형이 추가되더라도 기존 코드에 최소한의 수정만으로 확장할 수 있습니다.이번 포스트에서는 팩토리 메소드 패턴이 무엇이며, 어떤 상황에서 유용한지, 장단점과 구현 방법을 알아보겠습니다.팩토리 메소드 패턴이란?팩토리 메소드 패턴은 상위 클래스에서 객체 생성을 정의하고, 하위 클래스에서 구체적인 객체의 인스턴스를 생성하도록 위임하는 패턴입니다. 즉, 상위 클래스에서 팩토리 메소드를.. 2024. 11. 14. 이전 1 2 다음 반응형