'PostgreSQL'설치하고 기본 생성돼 있는 데이터 폴더를 변경하고 싶었습니다. 1. 파일 수정은 의미가 없다. 다른 운영체제의 경우 'postmaster.opts'의 내용을 변경해 주면 된다는데.... 윈도우는 아닙니다. 2. 진짜는 서비스에 있다. 'PostgreSQL' 서비스를 확인해 보면 실행 매개변수에 '-D'옵션이 있는 것을 알 수 있습니다. 3. 서비스 내용 변경 서비스 경로는 직접 바꿀 수 없으므로 레지스트를 수정해야 합니다. 레지스트리 편집기를 실행합니다.(regedit) 경로는 컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\postgresql-x64-15 입니다. 항목 중에 'ImagePath'를 수정하면 됩니다. 이제 기존 '..
각각은 있어도 이렇게 조합된 걸 찾지 못한 데다가 간단한 채팅 샘플이 있었으면 해서 만들었습니다. 완성된 프로젝트 : github - dang-gun/AspDotNetSamples/SignalRWebpack/ 0. 프로젝트 생성 프로젝트 구성은 다음과 같습니다 ASP.NET Core 6.0 Webpack 5.76 TypeScript 4.9.5 'ASP.NET Core 6.0 웹 API' 프로젝트를 생성합니다. 프론트 엔드는 'ClientApp'폴더에 넣었습니다. 1. 백엔드 구현 따로 참조를 추가할 건 없습니다. 1-1. 유저 모델 및 유저 리스트 클라이언트를 관리하기 위한 목적의 유저리스트를 만들기 위한 모델입니다. 유저 모델 /// /// 유저 /// public class UserModel { //..
웹팩 개발서버에 로컬 인증서(SSL) 설정하는 방법을 몰라서 한참 고생을.... 정확하게는 로컬 인증서를 자동으로 생성하는 방법을 몰라서 고생한거긴 합니다. 문서를 좀더 잘읽었으면 삽질이 좀 줄긴 했을거 같은데 말이죠 ㅎㅎㅎㅎ 연관글 영역 1. 로컬 인증서 생성 'ASP.NET Core'의 'React'템플릿에 보면 다음과 같이 2개의 파일이 있습니다. (참고 : github - dang-gun/AspDotNetSamples/WebpackSslTest/ClientApp/OriginalFils/ ) aspnetcore-https.js : 로컬 인증서를 생성해 주는 파일 aspnetcore-react.js : 생성된 경로를 '.env.development.local'에 넣어주는 파일 이 파일들을 실행하면 로..
EF(Entity framework)를 사용하다 보면 가장 불편한 것이 정렬입니다. 앵? '.OrderBy', 'OrderByDescending' 하면 되는데요? 맞습니다. 문제는 일반적인 게시판의 정렬처럼 조건이 다양한 정렬의 경우 각각 오더바이(Orderby)를 따로 호출해야 한다는 것입니다. 1. 문제의 시작 아래는 일반적인 게시판을 정렬하기 위한 코드입니다. switch (sColumn) { case "idTestOrderBy": if(true == bAsc) { iqTO = iqTO.OrderBy(ob => ob.idTestOrderBy); } else { iqTO = iqTO.OrderByDescending(ob => ob.idTestOrderBy); } break; case "Str": if..
ARM 버전은 수동으로 설치해야 된다고 알고 있었는데....... 자동으로 잘만 설치됩니다. 당연히 오드로이드에서도 설치 잘됩니다. 주의해야 할 점은 우분투 소프트웨어 업데이트 설정에 따라 설치가 안 되거나 실행이 안 될 수 있습니다. 0. 설치전 확인 우분투에서 apt로 무언가 설치할 때는 설치하기 전에 가급적 업데이트를 해주는 것이 좋습니다. sudo apt update sudo apt upgrade 1. 표준 설치 Ubuntu 22.04에 .NET SDK 또는 .NET 런타임 설치 참고 : MS Learn - Ubuntu 22.04에 .NET SDK 또는 .NET 런타임 설치 SDK를 설치하는 경우 sudo apt-get update && \ sudo apt-get install -y dotnet-..
윈도우에서 콘솔을 열면 파워셸(power shell)이 기본으로 실행됩니다. 그러다 보니 비주얼 스튜디오(Visual Studio)에서도 터미널을 열면 파워셸입니다. 그런데 가끔 파워셸에서 문제가 발생할 때가 있는데..... (거의 경로 문제나 권한 문제인 경우가 많다.) 이럴 때 이게 배시(bash)에서도 같은 오류가 나는지 확인하고 진행하고 싶을 때가 있습니다. 비주얼 스튜디오에 'Git Bash'를 설정하여 사용해 봅시다. 1. 비주얼 스튜디오에서 터미널 열기 비주얼 스튜디오에서 솔루션 탐색기 > 해당 위치에서 오른쪽 클릭 > 터미널에서 열기 를 선택하여 터미널을 열면 자동으로 해당 경로에서부터 터미널이 시작됩니다. 2. 터미널에 '깃 배시(Git bash)' 추가하기 윈도우에서 '배시'를 사용하기..
우분투에서 부팅시 스크립트 실행하는 기능에 대한 글은 많습니다. 몇가지 빼고는 우분투 마테에서도 동작합니다. 저는 UI로 설정하는 방법을 정리했습니다. 1. 시작 프로그램(Startup Applications) 위치 아래 메뉴를 선택합니다. Menu > Preferences > Startup Applications 2. 시작 프로그램 추가하기 'Add'버튼을 누릅니다. 'Name'에 표시할 이름을 넣어줍니다. 'Command'란에 원하는 명령어를 작성합니다. 재부팅을 해보면 명령어가 실행된걸 확인 할 수 있습니다. 마무리 저는 명령어 사용하는 것보다 GUI를 이용하는게 더 직관적이라고 생각되는데 말이죠 ㅎㅎㅎㅎ 각자 취향아니겠습니까?
예전부터 정규식 개체(Regexp)를 사용할 때 값이 제대로 일치하다 말다 한다는 생각을 많이 했습니다. 그래서 가급적 정규식 개체를 사용하지 않았는데...... 의외로 원인은 쉬운 곳에 있었습니다. 1. 문제의 발견 아래와 같이 정규식 개체를 만들고 /** 정규식 개체 */ reg = /\{\{[a-zA-Z0-9]+:[a-zA-Z0-9]+\}\}|\{\{[a-zA-Z0-9]+\}\}/g /** 테스트 문자열 */ testString = "{{test001}}, {{test001:test1}}, {{test001:a}}, {{aa}}"; 아래와 같이 정규식 개체를 사용하는 함수를 만들어 줍니다. private F1(): void { console.log("F1 : " + this.reg.exec(this..
오드로이드(Odroid)용 리눅스는 우분트 마테(Ubuntu MATE)가 제공됩니다. 우분트 마테는 처음 써보는 데다 'ARM64'버전이라 신경 써야 할 것이 좀 있습니다. 내용 자체는 오드로이드 기준입니다만.... 'ARM64'를 쓰는 기계라면 동일할 것입니다. 1. 'ARM64'용 팀뷰어 다운로드 리눅스용 'ARM64'버전을 다운로드받아야 합니다. 다운로드 - TeamViewer - Download Linux page 우분투(Ubuntu) > arm64-64bit 을 다운받습니다. 1. 설치 다운로드받은 파일의 경로로 가서 아래 명령어로 설치를 시작합니다. dpkg -i teamviewer-host_15.40.8_arm64.deb 슈퍼유저(superuser) 권한이 없다고 에러가 나면 'sudo'를 ..
.NET 4.x에서 'SocketAsyncEventArgs'를 쓰다가 그대로 .NET 5로 업그레이드하면 'Completed'이벤트가 오지 않는 현상이 있습니다.(참고 : github - DGSocketAssist/DGSocketAssist1/) 아래 스크린 샷은 .NET 4에서 만든 'SocketAsyncEventArgs'를 .NET 5에서 사용한 경우입니다.'SaeaSend_Completed'이벤트가 오지 않은 걸 확인할 수 있습니다. 아래 스크린 샷은 .NET 4에서 정상 작동한 경우입니다. 이것은 .NET 5부터 'ReceiveAsync', 'SendAsync'가 동기로 동작하기 때문입니다.이 포스팅은 'ReceiveAsync'을 기준으로 설명합니다.('SendAsync'도 똑같기 때문) 연관글..