728x90

전체 글 212

letsencrypt 서버 이전시 에러

어디서부터 잘못됐는지 모르겠지만 서버 이전을 하면서 ssl을 재적용하려고 시도중이였다. ivanderevianko.com/2019/03/migrate-letsencrypt-certificates-certbot-to-new-server 5 Simple Steps to Migrate Let's Encrypt Certificates (certbot) to a New Server This guide is helpful for people who decided to migrate a website to another web server and have SSL certificates from Let's Encrypt. ivanderevianko.com 처음엔 뭣도모르고 다시 ssl 생성하려다가, 기존에 생성한 ss..

IT/NGINX 2021.02.16

npm run build 시 Process.ChildProcess._handle.onexit Exit status 137에러

내 경우는 메모리 문제라고 예상했고 아래 swap space를 추가해주었다. linuxize.com/post/how-to-add-swap-space-on-ubuntu-18-04/ How to Add Swap Space on Ubuntu 18.04 Swap is a space on a disk that is used when the amount of physical RAM memory is full. This tutorial covers the steps necessary to add a swap file to Ubuntu 18.04. linuxize.com swap 파티션은 윈도우 가상메모리랑 같다. 메모리가 부족하면 swap 파티션을 메모리로 사용하는거다. swap 파티션이 없다면 메모리 부족시 메모리..

IT/Linux 2021.02.15

gitbash prompt 스타일 설정.

윈도우 vscode 환경에서 bash 프롬프트를 사용하기 위한 가장 간단한 방법중 하나가 git bash 를 설치하면 된다는거다. 하지만 기본 프롬프트는 조금 번잡해서 내 경우 위와 같은 스타일로 사용중이다. 홈 패스에서 .basrc 파일의 PS1 코드를 위와 같이 추가해주면 된다. 그리고 개인적으로 장고 venv 환경에서 작업을 많이해서 기본 스크립트에 장고 venv를 활성화해주는 코드도 넣어놨다. 그럼 일일히 매번 git bash를 띄울때마다 장고 환경을 켜주지 않아도된다. 서버 운영을 시작하다보니, bash 다루는법에 대한 필요성도 느끼고있고, nginx에 대해서도 좀 더 알아야될듯하다.

IT 2021.02.08

Django AWS S3 CORS "No 'Access-Control-Allow-Origin" Error

특정파일에서만 이와같은 현상이 일어나서 무슨 문제인가 했다. 이유는 webfont를 가져오는 과정에서 origin과 response access-control-allow-origin이 맞지 않아서 생기는 문제였다. 이문제는 간단하게 해결할 수 있는데, 이와같은 일이 생기는 이유가 기본적으로 서버의 리소스는 누구에게나 조회가능하도록 하면되지 않기 때문이다. 그래서 엄격한 권한 관리를 통해서 꼭 필요한 권한만 할당하도록 유도한다. 우리들의 PC도 마찬가지다 기본적으로 방화벽을 통해 외부의 부적절한 리소스는 차단되도록 해둔다. 필요에 따라 관리자가 권한을 느슨하게 조절해야하는 것이다. S3 세팅으로 돌아오면별도의 CORS설정을 제대로 해주어야 s3도메인과 ec2가 올라가있는 서버 도메인간의 통신이 원활하게 된..

IT/AWS 2021.02.03

Vue lazyloading과 webpack bundler

웹팩 번들러 사용시, 번들 파일을 여러 청크파일로 나눠야할 때가 있을 수 있다. 예를들면 하나의 파일 크기가 너무 큰 경우, 초기 로딩이 오래 걸리기 때문에 나눠주는 것이 좋은데, 그 경우 아래와 같은 방법으로 lazy load가 가능하다. 이렇게되면 호출 시점에 로드함으로써 기존의 높은 bundle파일의 용량을 줄어줄 수 있다는 장점이 있다. 초기에 모든 frontend 코드를 로드할지, 페이지 이동시 여러번 호출할지는 상황에 따라 결정하면된다. const Home = () => import ("../views/Home");

IT/Vue 2021.02.02

ERROR TypeError: Cannot read property 'tapPromise' of undefined

webpack 번들링시 gz 파일을 만들기 위해서는 'compression-webpack-plugin'을 사용해야한다. 사용법은 검색을 좀 해보면 나온다. 근데 중요한건 compression-webpack-plugin과 webpack 버전이 맞아야된다. 이게 안맞으면 tappromise 에러가 난다. 난 webpack4를 사용중이였는데 compression-webpack-plugin버전도 4.0.0으로 사용해야했었다. package.json을 해당 버전으로 고친뒤 재설치하니 잘되었다. 보통은 하위 버전까지 고려해서 패키지를 배포하는데, 희안하게 버전이 올라가면 이전 버전을 지원해주지 않더라. 이것때매 한 10분 헤맸다.

IT/Vue 2021.02.01

vuejs infinite load with router-view 이전 상태 기억방법

:include에는 router에 등록해준 view의 컴포넌트 이름을 추가해주면 해당 뷰만 캐시된다. 이전의 상태 정보를 기억하게 한다는것은 사실 매우 까다로운 일인데, 이렇게 간단하게 해결할 수 있다는걸 보고 새삼 놀라웠다. 이 문제 때문에 pagination으로 고칠까도 생각했다가, 이렇게 해결할 수 있는 방법이 있다는걸 알고 약간의 헤맴을 통해서 해결했다. 쓰면 쓸수록 vue와 django의 조합은 엄청 난것 같다. validation 처리만 좀 더 간단해지면 좋을듯한데, 처음 접근하는 사람은 django의 다양한 error message 포맷으로 인해서 약간 헤맬 수 있을듯하다. form validation error는 field명으로 serializer단의 validation 에러는 detail..

IT/Vue 2021.02.01

비트코인이 성공할 수 없는 이유.

이유는 화폐의 목적에 근거해서 바라볼 필요가 있다. 화폐는 거래 수단의 편의성을 위해 만들어졌지만, 지금은 국가에서 경제를 통제하는 수단으로 사용되기도 한다. 경제가 나쁘면 화폐발행량을 늘리고, 경제가 회복되면 화폐발행량을 줄이는 형태로 말이다. 비트코인은 실제로 실물 경제의 거래수단으로 이용되더라도 코인의 총량이 정해져있기 때문에 경제를 통제하기가 굉장히 까다로워진다. 그렇기 때문에 장기적으로 비트코인을 화폐수단으로 인정하지 않을 가능성이 농후하다. 하지만 비트코인이 장기적으로 망한다고 해서, 블록체인을 기반으로한 전자화폐가 망한다는 것은 아니다. 개인적으로는 CDBC형태로 전자화폐가 각국에서 발행될것이며 그것은 각국의 기존 통화와 연동되어 운영될것으로 예상된다. 이후 디지털 결제 수단이 발전됨에 따라..

일상I생각 2021.01.22
728x90