320x100

전체 글 435

[NDC 2014] 라이브 상황에서 윈도우 서버 개발자가 겪은 좌충우돌 Redis 적용 경험담

Redis 사용 이유 - Real time ranking 어떤 것들을 했나? Redis 설치 hiredis lib 적용 Cron(a.k.a scheduler) + Lua(redis client, sp in redis)로 job 구성 Windows 공유폴더 ubuntu 자료형 String: 기본형 set 'key' 'value' get 'key' List: Deque index 접근 가능 Lpush 'key' 'value' Lpop 'key' Lindex 'key' Set: 집합 연산 사용 가능 랜덤 추출 가능 sadd 'key' 'value' spop 'key' Hash: Map Image등의 큰 데이터를 저장하는데 용이(Zipmap 사용) hset 'key' 'field' 'value' hget 'ke..

NDC/DB 2021.12.25

QTTabbar

https://joonyon.tistory.com/178 [윈도우 꿀팁] 윈도우 폴더 탭으로 이용하기(feat.QTTabBar) 안녕하세요. 린아저씨 입니다. 오늘은 윈도우를 사용하면서 폴더 여러개를 켜서 사용할 때 좀 더 편리하게 사용할 수 있는 꿀팁을 가져왔습니다. 마치 크롬 같은 웹브라우저를 사용할때 여러 페 joonyon.tistory.com 옵션에서 설정 이벤트 - 폴더 보기 두 번 클릭 - 없음 미리보기 - 텍스트, 이미지 및 미디어 파일에 대한 미리 보기 도구 설명 표시 - 해제

게임/프로그램 2021.12.17

한성컴퓨터 TFX5550UCW 개봉기

CPU Intel 11세대와 AMD 4세대 중에 고민을 했지만 11세대에 대한 악평과 AMD의 갓성비 얘기가 많아 라이젠으로 결정, 가격 제한선 때문에 라이젠 중에서 4500U(3세대), 5500U(4세대), 5700U(4세대)등 저전력 위주로 보다가 4500은 5500, 5700보다 쓰레드 갯수가 적고, 내부 그래픽칩의 코어가 적어서 탈락 5700은 발열로 인한 쓰로틀 같은걸로 5500보다 효율이 안나온다는 이야기가 있어서 탈락 5500으로 결정 RAM 멀티 작업이 많을 것 같아서 되도록 최소 8GB, 평균 16GB 정도로 결정 Storage 문서 및 영상 작업이 많아 1TB로 결정 OS 개인 용품이 아니여서 정품 윈도우를 포함한 모델로 결정 차후 윈도우 11 업그레이드도 고려! 다나와, 네이버쇼핑, ..

후기 2021.12.07

[NDC 2014] 파이썬과 친구들

웹 프레임 워크 - 종류는 꽤 많다. Django, web.py, CherryPy, web2py, Bottle, Flask, ... - 일반적인 웹 프레임워크에서 제공하는 많은 기능이 게임 서버에선 대부분 불필요 하므로 마이크로 프레임워크가 좋다. Flask, Bottle등 Flask $ pip install Flask from flask import Flask app = Flask() @app.rout('/') def hello(): return 'Hello World!' app.run(debug=True) # http://localhost:8080/ from flask import request, make_response @app.route('/login') def login(): user_id = ..

NDC/Dev 2021.12.06

데이터 베이스의 수평 확장

해싱을 통해 샤딩을 하는 경우 최초 설정된 샤드 갯수가 변동됐을 때 리해싱(샤딩의 규칙을 재정의)을 해야한다. 그 방법은 크게 3가지로 구분할 수 있다. 1. 이동하는 레코드 개수가 최소가 되는 알고리즘 사용한다. => 일관된 해시 2. 이동할 일이 없게 만든다. => 매핑 DB 3. 이동하더라도 이동하는 레코드 크기를 최소로 만든다. => 일관된 해싱(Consistent hashing)? 원래는 샤드의 변동이 있다면 모든 레코드들에 대해 재배치 연산을 진행해야 하지만 데이터량이 너무 많은 경우 오랜 시간이 걸린다. 일관된 해싱을 사용하면 변동된 샤드에 대해선 재배치 연산을 하면 된다. 샤드가 추가될 때마다 기존 샤드 집합에서 본인이 담당해야 할 데이터를 가져오고 샤드가 줄어들 때마다 그 머신의 데이터는..

[NDC 2014] 헤테로지니어스 컴퓨팅CPU에서 GPU로 옮겨가기

헤테로지니어스 컴퓨팅? - 한 가지 이상의 프로세서를 내장한 시스템 - CPU와 GPU를 같이 사용하는 프로그래밍 GPGPU? - GPU를 CPU가 맡았던 App의 계산에 사용하는 기술 - CUDA(HLSL) / OpenCL(GLSL)이 있음 GPU 프로그래밍 기초 - MultiThreading CPU가 루프돌면서 처리하던 것을 병렬로 처리 한번에 수십개의 유닛이 같은 명령을 동시에 처리 void func() { for (uint i =0; i 최대한 재사용 주고 받는 데이터 크기도 최소화 하자 (uint16) 출처: 엔씨소프트 http://ndcreplay.nexon.com/NDC2014/sessions/NDC2014_0053.html

NDC/ETC 2021.12.04
320x100