Linux에서 시작 또는 재부팅시 docker/docker-compose를 자동으로 실행시켜 주는 방법 중, 이전 방법에서는 rc.local(rc-local)에 실행 스크립트를 삽입하는 방법이 있습니다. 그러나 rc.local에서 사용하기 위해서는, 10초 딜레이 등을 추가를 해서 docker 서비스가 실행될 때 까지 기다린 후 스크립트가 실행되게 끔 작성해야 합니다. 경우에 따라 rc.local이 비활성화 되어있어서 별도로 활성화 하는 작업이 필요할 수도 있습니다. 따라서 systemctl에 서비스를 추가하여 자동으로 실행하게 끔 하는 방법이 더 나을수도 있습니다. 이 글에서는 서비스에 등록하여 자동으로 실행 및 systemctl을 통해 관리 가능하도록 하는 방법을 안내합니다. Ubuntu 20.04 ..
https://bundw.tistory.com/120 Apache(아파치)로 Git(깃)에 HTTP URL 주소 적용 github.com을 사용하지 않고 직접 구축한 Git Server에서 clone 등을 하기 위해 주소를 지정하려면, 일반적으로 프로토콜을 ssh://로 지정하거나 프로토콜 지정을 하지 않고 사용합니다. HTTP backend가 없으 bundw.tistory.com 이 글은 위의 내용을 Synology NAS에서 적용하는 방법을 작성하였습니다. 요약하면, Git에서 clone 등을 할 때 주소의 프토로콜을 http:// 로 지정하는 방법을 안내합니다. (포트 지정과 함께) 이 글은 Synology NAS DS1821+ 기준으로 작성되었습니다. 요구 사항 Web Station 패키지 설치 ..
github.com을 사용하지 않고 직접 구축한 Git Server에서 clone 등을 하기 위해 주소를 지정하려면, 일반적으로 프로토콜을 ssh://로 지정하거나 프로토콜 지정을 하지 않고 사용합니다. HTTP backend가 없으면 프로토콜 HTTP(http://)와 HTTPS(https://)로 지정할 수 없는 것입니다. 보통 단일 Git Repository에서 사용하는데에는 HTTP를 사용하지 않아도 쓰는 데에는 큰 문제는 없습니다. 그러나 글쓴이 경우, Windows 명령 프롬프트(cmd 스크립트)에서 다른 Repository의 submodule을 사용하면서, Credential(자격 증명)에 곤혹을 겪어서 대안을 검색하다가 HTTP backend로 해결 방안을 찾은 것 입니다. 이 글은 Apa..
docker-compose로 Docker의 Image를 업데이트하는 방법을 알아보겠습니다. 업데이트가 이루어지면 이미 사용중인 Container에도 영향이 있으므로 업데이트 전, 업데이트 로그를 확인해 보는 것이 좋겠습니다. $ docker-compose down 먼저 Docker Container가 실행중이라면 중지합니다. (이미 중지되어 있다면 패스) $ docker-compose pull docker-compose.yml에 사용되는 Image 전체를 위 명령어로 업데이트 시킵니다. 만약 특정 Image만 업데이트 하고자 한다면 docker-compose pull 형식으로 Image를 지정합니다. 다운로드가 완료될 때 까지 기다립니다. $ docker-compose up -d 다운로드가 완료되면 위 ..
새로운 Windows PC에 개발환경을 세팅하면서, 주로 쓰는 SourceTree 최신버전을 설치했더니 git clone시 예기치 못한 오류를 만나게 되었습니다. 오류: fatal: protocol error: bad line length character: tryl FATAL ERROR: Error reading from console: Error 109: 해당 오류를 구글링을 해보니, git URL에 사용자@주소 형식으로 사용했었는데 3.4.8 이후에 출시된 모든 버전에 나타나는 문제임을 확인했습니다. (사용자들이 계속 버그 리포트를 하고있는데 왜 수정을 안하는지..) 그럼 해결하는 방법을 알아보겠습니다. 해결 방법 먼저, 설치된 SourceTree를 제거합니다. (설정 > 앱 > 앱 및 기능) ht..
이 글은 C++20 기준으로 작성되었습니다. 준비 Callback 정의 및 Call의 인자 Parameter 지정을 보다 수월히 하기 위해 IDelegate 선언 및 IDelegateArgs 인터페이스를 선언합니다. Delegate.h class IDelegateArgs { }; using IDelegate = void(IDelegateArgs* args); IDelegateArgs 인터페이스 클래스를 상속받아 원하는 형태의 Parameter 클래스를 재선언 합니다. 아래는 IDelegateArgs를 상속받아 재선언한 예시 클래스입니다. SessionDelegateArgs.hpp class CSessionDelegateArgs : public IDelegateArgs { public: ISession* ..
글쓴이는 외부 활동이 많아서, ASP.NET Core의 개발 환경 구성을 Ubuntu에서 CLI로 빌드 및 실행을 합니다. 장소 및 장비에 구애받지 않기 위해 VSCode 웹IDE를 설치했기 때문에, 브라우저만 킬 수 있으면 언제 어디서든 노트북이 없어도 개발을 할 수 있습니다. VSCode 웹IDE가 궁금하시면 아래 글을 참고하세요. https://bundw.tistory.com/69 VSCode 도커(Docker)로 docker-compose 사용하여 웹IDE 구축 (lscr.io/linuxserver/code-server) https://bundw.tistory.com/15 VSCode 도커(Docker)로 docker-compose 사용하여 웹IDE 구축 (cdr/code-server) VSCod..
ASP.NET Core의 EF Core는, 기본적으로 MS-SQL에 맞게 구성되어있습니다. MySQL 또는 MariaDB를 사용하기 위해서는 별도의 패키지 설치와 약간의 설정이 필요합니다. EF Core 내용이 구현되어있다고 가정하고, MySQL/MariaDB를 적용하는 방법을 알아보겠습니다. 이 글에서는 Database Context 및 Model를 다루지 않습니다. ASP.NET Core 6 기준으로 작성되었습니다. 먼저 NuGet 또는 CLI를 통해 Pomelo.EntityFrameworkCore.MySql 패키지를 설치합니다. $ dotnet add package Pomelo.EntityFrameworkCore.MySql NuGet을 통해 설치할 경우 검색 키워드를 mysql로 검색하면 상위에 위..