728x90
https 로 접속하기 위해서는 도메인과 ssl 인증서가 필요하다. 물론 로컬 https 디버깅 테스트를 위한 설정도 있지만 여기에서는 넘어가도록 한다. ssl 인증서는 let's encrypt 에서 무료로 발급받을 수 있다. https://letsencrypt.org/ Let's Encrypt letsencrypt.org 3개월 마다 갱신하는것 잊지 말자 (crontab에 등록해두자) ssl 인증서는 받았다 치고, nginx 환경에서 3000번 웹서버로 리다이렉트 해야한다고 가정할때 다음과 같이 설정하면 된다. # 443 포트로 접근시 ssl을 적용한 뒤 3000포트로 리다이렉트 (express 나 django) server { server_name 서버주소; location / { proxy_pass..
Despite the challenges, we were able to complete the project on time and within budget. The more you practice, the easier it will become to play the instrument. With each passing day, the situation became increasingly dire. As soon as I finish this project, I'm planning to take a much-needed vacation. Would you mind passing me the salt and pepper? They're just out of reach. Although I don't agre..
우분투에 내장되어있는걸로 기억하는데 ... 설치한게 가물가물해서... 일단 iptables 정책 지금 뭘로 설정 되어있는지 확인 (기존에 내가 이걸로 포트 열어둔거 있는지) sudo iptables - nL 이제 특정 포트 열어줄때 쓰는 명령어 sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT 다시 삭제할때는? sudo iptables -D INPUT -p tcp --dport 8080 -j ACCEPT 포트 열어준거 그냥 다 닫아버릴수도 있다 sudo iptables -F
일단 한번 git push 하거나 pull 땡길때 로그인 정보 받으면 그 뒤에 git config credential.helper store 그리고 다른 모든 git 폴더에서도 똑같이 쓰려면 git config credential.helper store --global 그런데 일시적으로만 하고 싶다? ( 1시간 ) git config credential.helper 'cache --timeout=3600'
RabbitMQ는 AMQP 프로토콜을 구현한 메시지 브로커다. 메시지가 producer부터 consumer까지 전달되는 흐름을 간단하게 설명하자면 일반적으로 producer 는 exchange 에 메시지를 보낸다. exchange는 라우터의 역할을 하면서 자신과 binding된 queue에 메세지를 보낸다. queue와 exchange를 바인딩 하는건 당연히 메시지 보내기 전에 해둬야 한다. 이 때 exchange는 fanout 이냐 direct냐 아님 topic 이냐 같은 exchange 생성 당시 속성에 따라서 큐에 어떻게 메시지를 보낼지 결정한다. 아래 그림을 보면 한번에 이해가 될텐데, direct 나 topic은 큐를 binding 할때 아님 메시지를 보낼때 바인딩된 모든 큐가 아니라 바인딩 된..
이진탐색 import bisect a = [1, 2, 4, 4, 8] x = 4 print(bisect.bisect_left(a, x)) # 2 #데이터x 를 삽입할 가장 왼쪽 인덱스 print(bisect.bisect_right(a, x)) # 4 #데이터 x를 삽입할 가장 오른쪽 인덱스 collections from collections import Counter counter = Counter(['red','blue','red','green','blue','blue']) print(counter['blue']) # 3 print(counter['green']) # 1 print(dict(counter)) # 딕셔너리로 변환 # {'red' : 2, 'blue': 3, 'green': 1} itert..