Redis 서비스 전에 조사할 것들

Redis 서버의 흔한 실수 법 Redis 서버가 떨어지거나 APP서버가 떨어질지는 상황에 따른다. KEYS 명령과 ZRANGE 명령으로 수만건 이상에 접근하여 I/O대기로 죽는다 데이터 설계를 실패하여 메모리 부족으로 쓸 수 없게 되어 죽는다 Redis 서버에서 장애 발생 시의 기본 대응 우선 메모리...
더 읽기

좋은 에러 메시지 쓰는 법

원문 에러 메시지를 2가지로 분류한다 우선, 에러 메세지라고 해도 다음의 2가지 패턴에서 크게 달라진다. (1) 이용자가 보는 에러 메세지 (2) 개발자가 보는 에러 메시지 (1) 이용자가 보는 에러 메세지 내부 구현에 대해서는 적지 않는다 | | | |–|–| |NG |...
더 읽기

로그 설계 지침

원문 개요 이 문서는 효율적이고 안정된 시스템 개발/운용을 하기 위한 로그 설계 지침이다. 정확하면서 낭비 없는 로그 출력을 목표로 한다. 로그 수준 로그의 긴급도나 용도에 따라서 다음처럼 로그 수준을 설정한다. Log4j의 로그 수준을 따라하고 있어서 운용 상황에 따라서는 Critical 등...
더 읽기

Visual Studio - 설치 중인 확장 프로그램

viasfora url: https://viasfora.com/ 여러 기능이 있지만 가장 큰 기능은 ‘Rainbow Braces’ 이다. 이 기능을 사용하면 괄호를 중첩할 때 색을 다르게 표시하므로 중첩된 괄호를 구분하기 쉽다. 동작을 보고 싶다면 여기를 본다 CodeMaid url: https://marketplace.visualstudio.com/items?itemName=SteveCadwallader.CodeMaid 코드를 정리해 준다. 설명(일어) http://moriblog.kit-eng.com/?p=1199 Code alignment...
더 읽기

Redis 4.0의 핵심 기능

(몇년 전의 글을 블로그에 올린 것임) 참고 redis 4.0은 지금까지와는 비교하면 아마 가장 극단적인 버전 업 중 하나이다. 향후 사용자에 의해 발견된 중대한 문제는 수주일에서 수개월로 패치 발표할 테니 신중하게 이용하자. a modules system redis는 이미 해시형과 SET형이나 List형 등...
더 읽기

C#에서 async-await를 사용하여 TCP Server 만들기

이 글은 여기 글을 번역,정리 한 것이다. 예제 코드는 여기 C# 네트워크 프로그래밍에서 비동기 IO를 사용할 때는 3가지 방법이 있다. 각 방법 별 성능은 아래와 같다. 구현 방법 행수 난이도 초당 요청 수 async/await 101 쉬움 56,916 비동기 소켓 170...
더 읽기

premake

CMake와 같은 멀티 플랫폼 오픈소스 개발에 유용한 툴. lua를 통해 스크립트를 작성한다. 루아 파일 이름과 같은 이름의 솔루션 파일을 만들어준다. 현재 premake4와 premake5 두 가지 버전이 있다. Visual Studio 2013 이상을 지원하려면 premake5를 사용해야 한다. C, C++, or C# projects...
더 읽기

golang - CLI 툴을 만들 때 편리한 패키지

출처 커맨드 라인 옵션 파서 cli.go A small package for building command line apps in Go https://github.com/codegangsta/cli Cobra A Commander for modern Go CLI interactions https://github.com/spf13/cobra gcli The easy way to build Golang command-line application. https://github.com/tcnksm/gcli Go CLI Library A...
더 읽기

C# - Ubuntu에서 snap으로 dotnet-sdk 설치하기

아래 명령어를 실행한다. sudo apt search dotnet-sdk dotnet-sdk 명령어 dotnet-sdk.dotnet 만약 「dotnet-sdk」 명령어로 「dotnet-sdk.dotnet」을 실행하고 싶다면 아래 명령어를 실행한다. sudo snap alias dotnet-sdk.dotnet dotnet
더 읽기

MongoDB - C# find

모든 도큐먼트 가져오기 클래스 맵핑 var collection = GetDBCollection<DBBasic>("Basic"); var documents = await collection.Find(_ => true).ToListAsync(); return documents; BsonDocument var collection = GetDBCollection<BsonDocument>("Basic"); var documents = await collection.Find(new BsonDocument()).ToListAsync(); return documents; 검색 시 첫 번째 도큐먼트만 가져온다 클래스 맵핑 사용...
더 읽기