전체 글

187

Synology docker gitea 사용자를 위한 bash script

스크립트 종류 backup.sh Gitea를 백업할 때 사용하는 스크립트입니다. file-rotation docker gitlab에는 환경변수를 쓰면 자동으로 해주는데, gitea는 그렇지 않더라고요. 스크립트를 만들어서 마지막 수정 시간이 설정한 시간만큼 지난 파일이면 삭제합니다. timestamp to datetime Gitea를 백업하면 덤프 파일명이 "gitea-dump-1582116394.zip"이런식인데 타임스탬프는 보기 어려우니 데이트타임 형식으로 이름을 바꿉니다. DATETIME=`date -d @$TIMESTAMP "+%Y-%m-%d-%H-%M-%S"` 형식은 자유자재로 변경할 수 있습니다. 다운로드는 깃허브에서 할 수 있습니다. 각 사용법은 깃허브 위키를 참고해주세요.

개발 작품 2020.02.20 Plorence

Synology DSM 7.0 Preview 출시 일정 관련

We are delaying the release of DSM 7.0 Preview from our original release window in February until Q3 2020. DSM 7.0 is already at a stage where we have finished implementing most under-the-hood changes and core functionality. It is also at a quality level that we're confident in using on a daily basis. However, we’re moving the release window to ensure the preview release is more indicative of th..

Synology 2020.02.19 Plorence

Gitea Release 파일 업로드 "You can not upload files of this type." 문제

gitea 저장소 이슈에도 나와 있는데, app.ini에서 추가만 하면 됩니다. [repository.upload] ALLOWED_TYPES = application/zip|application/x-zip|application/x-zip-compressed|application/x-compress|application/x-compressed|multipart/x-zip [attachment] ENABLED = true PATH = E:/my-work-spaces/Gitea/data/attachments ALLOWED_TYPES = application/zip|application/x-zip|application/x-zip-compressed|application/x-compress|application/..

Git 2020.02.04 Plorence

Gitea private repository를 위한 git SSH 설정

먼저 bash를 실행시켜 키를 만들어야 합니다. ssh-keygen 위 명령어를 입력해 키를 만듭니다. 여기서는 키의 저장 경로를 입력하라는 말인데, 기본 경로로 설정하겠습니다. (그냥 엔터 하면 됨) 키의 비밀번호를 입력합니다. 키의 비밀번호를 재입력합니다. 키가 만들어졌습니다. /c/Users/John/.ssh/에 저장되었다고 합니다. 참고로 pub로 끝나는게 공개키입니다. 경로로 가서 pub파일의 내용을 복사합니다. 개인 저장소에 가서 설정 > 배포 키 > 배포 키 추가 > 내용에 아까 복사해뒀던 공개키 값을 붙여 넣기 합니다. Enable Write Access에 체크해줍니다. 제목은 키가 누구건지 알아볼 정도로만 쓰시면 됩니다. 그리고 배포 키 추가를 클릭합니다. 이제 git에서 clone하면 ..

Git 2020.02.03 Plorence

Synology gitea 설치하기

저는 Synology에서 Gitlab vs Gitea를 고민하다가 벤치마크를 보고 Gitea를 택했습니다. 더군다나 Gitlab의 많은 기능을 사용할 필요가 없어서 Gitea가 더 매력적이었습니다. 준비사항 도커를 지원하는 나스(도커가 설치되어 있어야 함.) SSH 활성화 Gitea 설치 파일 다운로드 Gitea는 정식 패키지가 아니기 때문에 SPK파일로 수동설치해야합니다. 여기에서 SPK파일을 다운로드 합니다. 시놀로지에서 패키지를 수동설치할려면 로그인된 사용자 컴퓨터에서 업로드해야합니다. (파일 스테이션 내에서 선택하는 기능이 없음.) Gitea 설치 파일을 다운로드받았다면 SPK 파일을 가지고 수동설치해야합니다. 시놀로지 패키지 센터에 접속합니다. 우측 상단에 수동 설치를 클릭합니다. 찾아보기를 클..

Synology 2020.02.03 Plorence

Synology DSM 7.0 Preview

DSM 7.0 프리뷰가 드디어 공개됐습니다. 베타를 참여하시려면 반드시 등록해야 하고, 시놀로지 계정이 필요합니다. 등록기간은 2020년 1월 14일까지니 베타 참여하실 분들은 그전에 하셔야 합니다. https://event.synology.com/en-global/dsm_preview

Synology 2020.01.01 Plorence

정말 간단하게 소개용 포트폴리오 사이트 만들어봤습니다.

ASP.Net core(v2.1) MVC를 사용했습니다. 별 취지는 없고 예전부터 생각했던 아이디어라서 해보고 싶었습니다. 오픈소스 프로젝트입니다. 저장소는 여기 구경은 plorence.kr Plorence's notepad Plorence's notepad plorence.kr

개발 작품 2019.11.30 (2) Plorence

ASP.Net Core로 웹사이트 만들어본 후기

저는 주력으로 웹 개발을 하는 사람도 아니고 디자인도 엉망입니다. 웹에 대해 아주 얕은 지식만 있습니다. 만들고 싶은 것도 있고 개인 소개용 웹사이트나 프로젝트에서 API 서버를 개발해야 될 일이 있었습니다. 여러 가지 찾다가 Django, Node.js, ASP.net(core) 세 가지였습니다. ASP.Net Core를 선택한 이유 매우 간단한 이유인데, 파이썬이나 자바스크립트보단 C#을 더 잘 알고 있었습니다. 파이썬은 거의 모르는 수준이고 자바스크립트는 어려운 문법까진 모르지만 간단한 것과 코드 수정 정도는 가능했습니다. 그에 반해 C#은 제가 만들고 싶은 것을 만들만한 수준은 되었습니다. 거기서도 ASP.Net을 택하느냐 ASP.Net Core를 택하느냐에 갈렸지만 크로스 플랫폼을 지원하는 AS..

프로그래밍/C# 2019.11.21 (2) Plorence

Synology docker ASP.net Core + mssql 연동

저의 블로그 게시글 중에 Synology docker로 asp.net core 배포하기를 따라 하고, EF Core를 사용하신다면 아래와 같은 오류가 발생합니다. System.PlatformNotSupportedException: LocalDB is not supported on this Platform. or System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance ..

Synology 2019.11.18 (1) Plorence

C++ vector와 valarray, 그리고 array 중 뭘 써야 할까?

이 클래스들은 서로 다른 목적을 가지고 서로 다른 그룹들에 의해 개발되었습니다. 먼저 vector 템플릿 클래스는 컨테이너 클래스와 알고리즘으로 구성된 시스템의 일부입니다. vector 클래스는 정렬, 삽입, 재배치, 검색, 다른 컨테이너로의 데이터 전송, 그 밖의 조작과 같은 컨테이너 지향적인 액티비티들을 지원합니다. 반면에 valarray 템플릿 클래스는 수치 계산을 지향하며 STL의 일부가 아닙니다. (valarray 템플릿 클래스은 push_back(), insert() 메서드를 가지고 있지 않음.) 그러나 많은 수학적 연산에 대해 간단하고 직관적인 인터페이스를 제공합니다. valarray 템플릿 클래스은 객체의 내용을 합하는 sum() 메서드, 최댓값을 리턴하는 max() 메서드, 최솟값을 리턴..

프로그래밍/C++ 2019.11.07 Plorence

C++ 펑터 또는 펑크터(functor)

펑터 또는 펑크터라고 하는데, 여기선 펑터라고 하겠습니다. 많은 STL 알고리즘들이 펑터(Functor)라고 부르는 함수 객체(Function object)를 많이 사용합니다. 펑터는 함수처럼 ()과 함께 사용할 수 있는 객체입니다. 일반 함수의 이름, 함수를 지시하는 포인터, () 연산자가 오버로딩된 클래스 객체 모두 펑터가 될 수 있습니다. #include class Money { private: int _Money = 0; public: int operator()() { return this->_Money; } void operator()(int N) { this->_Money += N; } }; int main(void) { Money money; money(100); //void operator..

프로그래밍/C++ 2019.11.06 (2) Plorence

C++ 생각보다 많이 모르는 삼항 연산자의 특성

https://docs.microsoft.com/ko-kr/cpp/cpp/conditional-operator-q?view=vs-2019 해당 문서만 봐도 해당 게시글에서 설명하는 것은 다봤다고 해도 무방합니다. exp1 ? exp2 : exp3; 라는 삼항 연산자가 있을 때.. exp2과 exp3의 타입이 동일하다면 lvalue이다. 당연히 exp2와 exp3도 lvalue일때를 말합니다. char A = 'a'; char B = 'A'; (1 ? A : B) = 'B'; C는 컴파일 에러가 발생하고 C++에서는 이것이 허용됩니다. exp2과 exp3의 타입이 다르다면 형 변환이 일어난다. 제가 삼항 연산자를 더 알아본 이유입니다. #include int main(void) { char Result =..

프로그래밍/C++ 2019.11.06 Plorence