🌈 프로그래밍

    [ postgres ] DataTypeNotSupportedError: Data type "Object" in "~" is not supported by "postgres" database.

    [ 오류 원인 ] 이전 포스팅에서 import 관련 오류를 해결하고 난 뒤 (사실 근본적인 해결방법은 아님!) 서버를 빌드해보니 오류가 바뀌었다. 원인은 무엇이었냐면 postgresDB가 entity를 인식하기는 했는데, 이 entity를 table 형태로 매핑해야 하는 작업을 수행해주려고 딱 하는 순간! postgres 입장에서 뇌정지가 온 것이다. 바로 @Column 이라는 데코레이터의 ColumnType을 정해주지 않아서였다. [ 오류 발견 ] 위의 이미지처럼 필자는 Board라는 entity를 만들었고 그중 속성(Column)이 게시판의 상태를 나타내는 status라는 속성이 있었다. 첫 줄을 잘 보면 다 나와있다. DataTypeNotSupportedError이다. 의미를 해석해보면 " post..

    [ typeORM ] SyntaxError: Cannot use import statement outside a module

    [ 오류 원인 ] postgres DB를 사용해서 Nest backend app을 구현하고 있는데 typeorm을 사용하기 위해서 config 파일을 정의해주어야 했다. 그런데 js 기반이라 ts의 config 파일은 인식이 잘 되어지지 않는것이 있는 것 같다. js 파일로 config 파일을 만들면 해결이 될 것처럼 보이긴 하지만 한번 해결해보고 싶었다. [ 오류 발견 ] [ 시도 방법 ] 1. node version 재설치 - npm 관련해서 version이 잘못되었는지 삭제를 하고 버전을 업데이트 후 시도 - 실패.. 2. package.json 파일 수정 "type": "module" or "module" : "commonjs" - package.json 맨 아래부분에 위의 구문 추가 해보기 - ..

    [ Nest JS ] TypeORM & pg module 설치 명령어

    안녕하세요? 수구리입니다. 저번 포스팅에서는 Nest 애플리케이션에 DB를 적용하기 위해서 Postgre와 pgAdmin을 설치하였다. 이전 글 참고! [ Nest JS ] Postgres 설치 pgAdmin으로 Server와 DB를 구축해보자 안녕하세요? 수구리입니다. 이번 포스팅에서는 PostgresSQL 이라는 DB를 소개하고 설치법과 Nest 프로젝트에 연동하는 방법에 대해서 알아 보자! 어느 곳에서든지 DataBase는 필수이다. MongoDB라는 비정 tasddc.tistory.com 이번 포스팅에서는 아직 DB와 Nest App과 연동 짓기 전에 필요한 작업이 하나 더 있다. Nest 프로젝트에서 사용할 typeORM 모듈과 pg 모듈을 설치해야 한다! typeORM은 한번 강의를 들어서 공..

    [ Nest JS ] PostgreSQL 설치 pgAdmin으로 Server와 DB를 구축해보자

    안녕하세요? 수구리입니다. 이번 포스팅에서는 PostgresSQL 이라는 DB를 소개하고 설치법과 Nest 프로젝트에 연동하는 방법에 대해서 알아 보자! 어느 곳에서든지 DataBase는 필수이다. MongoDB라는 비정형 DB와 MySQL이라는 정형 DB는 많이 보기도 하고, 익숙한데, Postgres는 처음 사용해보는 DB라서 어떨지 매우 궁금한 상태로 포스팅을 작성하는 중이다. 우선, 설치할 두 가지는 다음과 같다. 1. PostgresSQL 2. pgAdmin 여기서 pgAdmin은 DB를 보는 도구이다. [ Windows 에서 PostgresSQL 설치 ] PostgreSQL: Windows installers PostgreSQL: Windows installers Windows installe..

    [ Clean Code ] 클린 코딩을 하는 8가지 방법

    안녕하세요? 수구리입니다. 이번 포스팅에서는 클린 코딩을 하는 8가지 방법과 간단한 예시들을 통해서 알아보겠습니다. 클린 코딩이 필요한 이유? 좋은 품질의 코드는 이해하기 쉽고 명확함. 또한 수정하기 쉬우며 확장하기가 쉽다. 따라서, 클린 코딩이 필요하다! 1. Naming Convention 개발자들 사이에서 공통적인 관습이 있다. 자바에서 변수 및 클래스의 이름 짓는 예시를 살펴보자. class UserService { private String firstName; public String getFirstName() { return firstName; } } 모든 변수나 함수 클래스들은 CamelCase 스타일로 한다. 변수와 클래스의 차이점은 위의 예시에서 볼 수 있듯이 클래스는 첫 자가 대문자이다..

    [ Code Refactoring ] 코드 리팩토링에 대해서 알아보자

    안녕하세요? 수구리입니다. 이번 포스팅에서는 Code Refactoring에 대한 내용에 대해서 알아보려고 합니다. 코드 리팩터링이란? 리팩터링은 사용하지 않는 코드 또는 중복된 코드를 지우고, 코드의 로직을 깨끗하고 이해하기 쉽게 디자인하는 것 이 개념은 Martin Fowler와 Kent Beck에 의해서 정의되었다고 한다. 이는 종종 최적화, 디버깅, 방어 코드 추가, 테스트하기 좋은 코드로 만드는 것과 혼동될 수 있다. 리팩터링의 목적 흔히 "리팩터링을 한다."라는 의미는 개발자의 실수를 만드는 것을 방지하는 것임에 유의하자 디자인에 작고 안전한 구조적 변화를 추가하는 것으로 리팩토링을 시작할 수 있는데 주의할 점은 항상 같은 동작, 기능을 수행해야 한다는 것이다. 리팩토링을 하면서 지속적으로 코..

    [ Nest JS ] Hot reload 설정하기

    안녕하세요? 수구리입니다. 이번 포스팅에서는 Nest 프로젝트에서 Hot reload 설정하는 방법에 대해서 알아보겠습니다. 우선 Hot reload란 무엇인지 알아야 겠죠? 대게 한 프로젝트를 빌드하고 실행했다고 생각해보겠습니다. 내가 원하는 결과가 바로바로 나온다면 정말 정말 좋겠지만.. 그렇지 않은 경우가 대부분일 겁니다. 따라서 원하는 결과에 도달할 때까지 빌드와 실행을 계속 반복하면서 작업을 한다면 아주 비효율적이라고 생각합니다. 그러므로 이 Nest에서 제공하는 Hot reload 기능을 적용하면 서버를 실행 중에 코드 부분이 바뀌어서 Ctrl + S를 누른다면 바로 그 수정사항이 반영되어서 알아서 빌드하고 서버를 재시작해줍니다. 이렇게 간단하게 알아보았고.. 그러면 바로 적용을 해보도록 하겠..

    [ MFC ] list control header 클릭 시 정렬 기능 이벤트 구현

    안녕하세요? 수구리입니다. 이번 포스팅은 MFC에서 자주 쓰이는 list control에 대한 내용입니다. list control은 테이블 모양을 하고 있으며, header에는 클릭 시 이벤트를 추가할 수 있습니다. 위의 사진이 MFC에서 list control을 사용한 부분입니다. 지금 상태는 Usage rate라는 list control header 부분에 마우스를 올려놓은 상태입니다. 이벤트를 아직 설정하지 않았으므로 클릭 시 아무런 동작을 하지 않고 있는데, 하나씩 추가해 주도록 하겠습니다. 우선 하려는 것은 각 header(PID, Name, Usage rate)를 클릭 시 오름차순 정렬을 하고 한번 더 클릭 시 반대로 내림차순으로 정렬을 하려고 하는 것입니다. 우선 우리가 제어하려고 하는 li..

    [ Wmi Delphi Code Creator ] WDCC 사용법을 알아보자

    안녕하세요? 수구리입니다. 이번 포스팅에서는 WDCC라는 유용한 오픈소스를 소개해볼까 합니다. [ WMI란? ] 우선, WMI는 무엇인지에 대해 간략하게 알아보자면.. Windows Management Instrumentation이라고 합니다. 이는 윈도우 관리 도구를 뜻하며, 기본적으로 윈도우 2000 이상의 MS 운영 체제에 이미 다 설치가 되어있습니다. 이를 사용하여 윈도우의 리소스에 접근해 여러 가지 설정 및 관리를 할 수 있습니다. 그래서 이런걸로 뭘 할 수가 있느냐? 대표적으로 작업관리자를 열고, 성능 tap에 들어가면 하단에 리소스 모니터라고 있습니다. 이 리소스 모니터에 표시되어지는 모든 정보들을 WMI를 사용해 가져올 수도 있고, 로컬 컴퓨터뿐만 아니라 원격으로도 PC를 제어할 수도 있다..

    [ MFC ] Ontimer와 SetTimer, KillTimer 사용법

    안녕하세요? 수구리입니다. 이전 포스팅에서는 간단한 MFC Thread 예제를 살펴보았었는데요 최근에 간단한 프로젝트로 pc의 작업 관리자에서 리소스 모니터처럼 PC의 자원들 (CPU, RAM, DISK 등..)을 실시간으로 모니터링하는 Win32 app을 만들어보고 있습니다. 그래서 생각한게 CPU 사용량을 가져오기 위한 Thread, RAM의 사용량을 가져오기 위한 Thread 등등을 생각하고 있었는데 Thread 기능과 비슷한? Ontimer와 SetTimer함수가 있더라고요 그래서 제가 진행하고 있는 코드에서 어떤 식으로 활용했는지 기록해보겠습니다. [ Ontimer와 SetTimer? ] 우선 위의 함수들은 WM_TIMER라는 이벤트가 발생할 경우 콜백되어지는 함수입니다. WM_TIME을 설정하..