Cocos에서 AI 모듈(FSM, Behavior Tree) 사용
소개
이 모듈은 Cocos 프로젝트에서 전투 프레임워크를 사용하여 AI 구현에 적용한 내용입니다. 작성자 개인의 학습과 참고자료를 바탕으로 작성되었으며, 피드백과 수정사항이 있다면 언제든지 알려주시면 감사하겠습니다.
AI 모듈 개요
AI 모듈은 주로 NPC의 인공지능 행동을 제어하거나 자동 전투를 수행하는 데 사용됩니다. 구현 방법은 프로젝트 요구사항에 따라 달라 ...
7월 2일 06:56에 게시됨
firewall-cmd 명령어 실전 가이드
1. firewall-cmd 개요
firewall-cmd는 CentOS 7 이상에서 사용되는 firewalld 데몬의 CLI(Command Line Interface) 도구입니다. 기존 iptables와 달리, firewalld는 다음과 같은 장점을 제공합니다:
동적 규칙 업데이트: 규칙 변경 시 서비스를 재시작할 필요 없이 즉시 적용됩니다.
Zone 기반 관리: 네트워크 인터페이스에 특정 보안 영역(public, internal, dmz 등)을 ...
7월 2일 06:51에 게시됨
SQL Server에서 서버 내 파일 목록 조회하기
SQL Server에서 특정 디렉토리의 파일 목록을 가져올 때 주로 사용되는 방법은 xp_dirtree와 xp_cmdshell 확장 저장 프로시저입니다. 각각의 장단점이 있으므로 상황에 맞게 선택할 수 있습니다.
방법 1: xp_dirtree 활용 (권장)
xp_dirtree는 디렉토리 탐색 전용 확장 저장 프로시저로, 별도의 보안 설정 없이 테이블 형태로 결과를 반환합니다. xp_cmdshell을 활성화할 ...
7월 2일 06:44에 게시됨
리눅스 디스크 I/O 최적화 방법
(1). I/O 상태 확인 도구
파일 시스템 블록 크기 확인
ext4 파일 시스템의 블록 크기를 확인하는 방법:
[root@Linux ~]# tune2fs -l /dev/sdb1 | grep Block
Block count: 2097152
Block size: 4096
Blocks per group: 32768
xfs 파일 시스템의 블록 크기를 확인하는 방법:
[root@Linux ~]# xfs_info /dev/sdb1 | grep bsize
meta-d ...
7월 2일 06:12에 게시됨
Exponial (오일러 정리 및 지수 순환 정리 활용)
문제 링크: http://acm.csu.edu.cn/csuoj/problemset/problem?pid=2021
설명
매우 큰 수를 좋아하는 사람들은 이 문제를 관심 있게 읽을 것입니다. 다음은 대규모 수 생성 방법의 예시입니다:
거듭제곱: 42^2016 = 42 × 42 × ... × 42 (2016번 반복)
팩토리얼: 2016! = 2016 × 2015 × ... × 2 × 1
이 문제에서는 'exponial'이라는 연산을 탐구합니다. 모든 양의 정수 n에 ...
7월 2일 05:14에 게시됨
Tauri 프레임워크로 경량화된 안전한 데스크톱 앱 개발하기
웹 기술과 네이티브 성능을 결합한 Tauri
Tauri는 Rust 기반의 크로스플랫폼 데스크톱 애플리케이션 프레임워크로, 웹 프론트엔드와 시스템 네이티브 백엔드를 통합해 작고 빠르며 보안이 강화된 앱 구축을 가능하게 합니다. 전통적인 Electron과 달리 자체 브라우저 엔진을 번들링하지 않고 운영체제가 제공하는 기본 WebView 컴포넌트를 활용함으로써 앱 크기와 리소스 ...
7월 2일 05:00에 게시됨
Araxis Merge Professional 2007.3350: 파일 비교 및 병합 도구의 모든 기능 분석
Araxis Merge Professional 2007.3350은 텍스트, 코드 및 이미지 파일의 차이점을 분석하는 전문 파일 비교 및 병합 도구입니다. 소프트웨어 개발에서 버전 비교, 코드 검토 및 충돌 해결에 널리 사용됩니다. 이 버전은 양방향/삼방향 병합, 다국어 코드 강조, 이미지 픽셀 비교와 같은 기능을 제공하며 Git, SVN과 같은 버전 관리 시스템과 통합될 수 있습니다. 압축 파일 ...
7월 2일 04:49에 게시됨
Python에서 문자열 다루기
1. 문자열 기본 개념
- 문자열은 싱글 쿼테이션(') 또는 더블 쿼테이션(")으로 감싸며, 특수문자는 백슬래시(\)를 사용하여 이스케이프합니다.
- 문자열의 특정 위치 값에 접근하기 위해서는 아래와 같은 문법을 사용합니다: 변수[시작인덱스:끝인덱스]. 여기서 끝인덱스는 포함되지 않습니다.
- 문자열 인덱스는 다음과 같이 양수와 음수로 표현됩니다:
Coding
앞쪽부터 ...
7월 2일 04:43에 게시됨
Kudu의 파티셔닝 방법
확장성을 제공하기 위해 Kudu 테이블은 여러 태블릿 서버에 분산된 태블릿 단위로 나뉩니다. 각 행은 항상 특정 태블릿에 속하며, 이는 테이블 생성 시 설정된 파티셔닝 규칙에 따라 결정됩니다. Kudu는 다음 3가지 방식으로 데이터를 파티셔닝할 수 있습니다:
범위 파티셔닝 (Range Partitioning)
범위 파티셔닝은 데이터량에 따라 균형있게 기계 간에 분배하여 부하 불균 ...
7월 2일 04:40에 게시됨
연결 리스트 노드 조작: 쌍 교체, 순위 기반 삭제, 교차점 탐지, 순환 감지
노드 쌍 교체
인접 노드 교체를 위해 가상 헤드 노드를 생성합니다. 현재 포인터를 가상 헤드에 위치시킨 후, 다음 두 노드가 존재할 때까지 반복합니다. 세 개의 임시 포인터를 활용해 노드 연결 관계를 재구성합니다.
class ListNode:
def __init__(self, value=0, next_node=None):
self.val = value
self.next = next_node
def swap_node_pairs(h ...
7월 2일 04:37에 게시됨