본문 바로가기

Development42

rsync를 사용해서 Synology NAS로 데이터 자동 백업하기 (리눅스용) rsync를 사용해서 시놀로지NAS(이하 NAS)에 로컬 혹은 서버의 데이터를 백업하는 방법에 대해 작성한다. 목차 [ Synology NAS 설정 ] 1. 주의점 Synology NAS에서는 quickconnect로 로컬망에 있는 NAS도 외부에서 쓸 수 있도록 해준다. 하지만 rsync를 통한 백업의 경우 quickconnect로 불가하므로, 외부망에서 사용하려면 별도로 작업이 필요하다. 2. NAS에서 rsync 서비스 활성화 NAS 관리자 권한 계정으로 접속 후 '제어판 -> 파일 서비스 -> rsync -> rsync 서비스 활성화 및 포트 작성' 외부망에 열려있는 NAS라면 특히 포트는 기본 포트보다는 변경하는것이 좋다. 3. 백업용 유저 생성 기존 유저로 해도 되겠지만, 아무래도 백업용으로 .. 2022. 2. 8.
JS ES6~ES12 에서 추가된 주요 문법들 (모던 리액트 이해에 필요한 ECMA Script ES6~ES12 문법들) 현재 리액트를 공부중이다. 그런데 너무 생소한 문법들이 많았다. 처음엔 리액트만의 문법이겠거니 생각했는데, 찾아보니 자바스크립트에서 ES6 이상에서 추가된 문법들이 대부분이었다. 그래서 모던 리액트 문법을 이해하는데 필요한 ES6~ES12에서 추가된 문법들과, 딱히 리액트와 관련 없더라도 유용해보이는 ES6~ES12 문법을 정리해봤다. 특히 ES6에 새로운 문법들이 많다. Contents [ ES6 (ES2015) ] 1. const, let 1.1 var ES6이전에 사용하던 var는 함수 스코프 변수이다. 그래서 일반적인 다른 언어들과는 동작 방식 자체가 다르다. 보통 함수내에 변수를 선언하고, if나 for, while 등을 사용한다면 일반적으로 별도의 스코프 영역을 가질거라 예상하지만 var로 사.. 2022. 1. 15.
우분투 20.04(WSL) 마리아 DB 서버 설치 방법 (wsl ubuntu mariadb server) 1. 설치 버전 확인 여기를 클릭해서 mariadb의 설치가이드로 이동한다. 2. 우분투 버전 확인 방법 위 이미지의 'A' 항목을 원하는 항목으로 변경한다. 'Choose a MariaDB Server version'은 원하는 마리아DB 버전을 선택하면 된다. 'Choose a distribution' 부분은 마리아 db를 설치할 우분투의 버전이다. 다음의 명령어를 통해 확인 가능하다. cat /etc/os-release 3. 마리아 DB 설치 진행 '1'의 이미지에서 B 부분을 복사하여 우분투에서 실행한다(우측 상단의 버튼을 누르면 복사가 되고, 그냥 우분투에서 붙여넣기 한다음 엔터 누르면 된다.) 그리고 C 부분도 마찬가지로 실행한다. 4. 마리아 DB 실행 및 기본 설정 이제 마리아 DB를 실행하.. 2022. 1. 6.
[진행2] 안써본거 위주로 써보기 위한 토이 프로젝트 진행1에 이어서 계속 공부를 해보고 있다. 우선은 여러가지 새로운 것들을 경험해보는게 주 목적이므로, 빠르게 쭉 살펴보면서 중간 과정들(환경잡기, 개념, 에러 처리 등)은 노션에 정리하고 있다. 일단 쭉 살펴보는게 끝나면 좀 더 디테일하게 보면서 블로그에 개념들을 공유하기 위해 글을 작성할 계획이다. 1. Docker 관련 이어서 진행 현재는 실제 배포를 진행한다 가정하고 어느정도 사용 가능한 방법 까지 알아봤다. 로컬에서 docker 이미지를 생성한 후, docker hub에 올린다. 실제 배포할 서버는 클라우드(차후 AWS를 공부하면서 AWS로 옮길 생각이다.)의 리눅스 인스턴스이다. 배포서버에는 쉘 스크립트로 새로운 이미지를 도커 허브에서 다운받고 실행하는 부분까지 자동으로 동작하도록 해봤다. 구체.. 2022. 1. 2.
스프링부트 Swagger UI 3.0.0 적용 방법 - 스프링부트 2.2 이상 (Spring Boot Swagger UI) Spring Boot Swagger 3.0.0 적용하기 (스프링부트 2.2 이상 필요) Swagger ? 간단히 말하자면 API 문서를 자동으로 만들어주는 라이브러리임 https://swagger.io/ 예시는 스웨거의 Live Demo 참조 (https://petstore.swagger.io/) 완전 기본적인 적용방법에 대해서만 다룸. 단순 문서 뿐 아니라 API를 문서내에서 parameter를 넣어가며 바로바로 실행 해볼 수 있음. rest api 제작 후 따로 테스트 페이지나 postman으로 실행해보는 대신 swagger 문서 만들어서 실행 가능. 복잡하지 않은 시스템이라면 rest api 서버에 swagger를 적용시켜두고, 해당 api를 호출하는 작업자에게 뭐 복잡하게 설명하고 문서 만들 것 .. 2021. 12. 27.
스프링부트 Swagger UI 2.9.2 -> 3.0.0 마이그레이션 방법 (Spring Boot Swagger UI) SpringFox Swagger UI의 경우 2.9.2가 maven repository에서 가장 usages가 높아서 그걸로 쓰고 있었는데, 최신 버전의 스프링부트에서는 다음과 같이 에러가 뜨게 된다. 'Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException' 그래서 가장 최신인 3.0.0 버전으로 변경하여 적용해봤다. 적용 방법은 springfox github을 참고했다. 1. 기존 swagger 관련 gradle 혹은 maven의 dependency를 삭제한다. 2. 3.0.0 dependency를 추가한다. gradle implementation 'io.sprin.. 2021. 12. 27.
[진행1] 안써본거 위주로 써보기 위한 토이 프로젝트 계획 단계 (0. [계획] / 1. [계획수정]) 이후 개념이 잡히지 않은 상태에서 거의 제로 상태에서 시작해본거라, 시행착오가 많았다. 꽤 열심히 진행했지만 생각보다 더뎌서 좀 마음이 급하긴하다. 부족한 부분에 대해 몰랐으면 괜찮았는데, 이미 알게된 이상 빨리 개념잡히고 싶다. 3~4일에 걸쳐 일단은 코드를 짜기보다는 기반 기술 및 환경을 잡아보며 토이프로젝트를 진행한 중간결과에 대해 작성해본다. 진행하며 모든 과정은 노션에 작성해두었다. 다만 시행착오가 많았기에 잘 안되던것도 많아 바로 여기에 옮길 순 없을 듯하고, 정리하여 토이 프로젝트와 별개의 포스트로 깔끔하게 정리해서 작성할 듯 하다. 이 포스트에서는 진행하면서 해본걸 작성하고 느낀점 위주로 작성할 것 같다. 어차피 볼 사람 없을테니 스스로 나.. 2021. 12. 22.
[계획수정] 안써본거 위주로 써보기 위한 토이 프로젝트 '0. [계획]' 단계에서 썼던 것들 중 수정한 것들과 그 이유를 작성해본다. 또한 계획을 적을 때 좀 없었던 개념에 맞는지 안맞는지 적은 부분이 있었고 지금도 그렇지만, 아무튼 좀 더 개념이 잡혔으므로 이전에서 수정된 부분에 대해 작성한다. 어차피 아무도 안보겠지만, 아무튼 계획단계의 글을 보고 읽어야 이해가 될 듯 한다. 1. MacOS에서 개발해보기 -> Mac을 실행시킬 HW가 없었기에 Vmware에 가상으로 올린 맥 OS를 사용해보려 했었다. 하지만 해킨토시이기도 하고, 일단 가장 크게 이 환경에서 Docker를 실행할수가 없었다. 구글링을 꽤 해봤으나 해결하지 못했고, 역시 vmware에 올린 맥에서 docker 실행을 성공한 포스트를 찾지 못해 포기했다. -> 대신 윈도우 환경 그대로에서, .. 2021. 12. 22.
[계획] 안써본거 위주로 써보기 위한 토이 프로젝트 아무래도 자신있게 쓸 수 있는걸 많이 쓰게되기 마련이니, 언젠가부터 쓰던것만 계속 쓰는 것 같다. 매너리즘에 빠진게 분명하기에 무지성으로 안써본것들 위주로 써보는 토이프로젝트를 해보려 한다. 또 좋았던 부분들은 실제 프로젝트에도 적용해보려 한다. 일단은 계획 + 공부 단계이긴 하지만 의욕이 식기전에 몇일 내로 시작할꺼다. 내 블로그에 글 적어도 아무도 안볼테지만 글을 적어두면 스스로 반성하며 꾸준히 하지 않을까 싶다. 1. MacOS에서 개발해보기 그동안 윈도우로만 개발을 해봤었다. 이전에 테스트용 웹앱 만든게 iOS에서도 제대로 동작하는지 확인하기 위해 테스트 어플을 만들려고 맥북을 빌려 잠시 건드려보긴 했지만, 로그인부터 어플 실행까지 빌려준 분이 해준거라ㅋㅋ 그냥 뭐가 뭔지도 모르고 단축키도 모르는.. 2021. 12. 17.
스프링부트 Spring Security 기본 세팅 (스프링 시큐리티) [ 2023-02-10 추가 ] 스프링부트 3.0 이상에 적용하실 경우 '스프링부트 3.0이상 Spring Security 기본 세팅 (스프링 시큐리티)' 글을 참고해주세요. 버전 상관없이 시큐리티 기본 세팅을 익히실 경우에도 위 링크가 더 좋습니다. 목차 이하 내용은 스프링부트 2.6.2를 기준으로 작성되었으나, 스프링부트 2.7.8 까지는 이하 글에서 설명한대로 동작함을 확인했습니다. 다만, 2.7.X 대에서는 deprecated로 표시된게 있을 수 있습니다. [ 예시 프로젝트 ] 이하 글에서는 import를 빼놓고 코드를 넣어두었고, 부분부분 따로 있는 코드들이 있어서 완전 초보라면 이해하기 힘들 것 같습니다. 또는 당장 급하게 복붙할 스프링 시큐리티 코드를 찾는 경우도 있을 수 있습니다 ㅋㅋ. 이.. 2021. 10. 30.