목록전체 글 (193)
코알못
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/6DfqK/btq9I0kIvEq/f9Y0U3416deZWOYcPYh5X0/img.png)
로그인 서비스는 2가지 방식으로 구현이 가능하다 1. 쿠키&세션 2. JWT 해당 글에서는 1번 쿠키&세션을 이용한 방법으로 구성해본다! 위 두가지 방법에 대한 플로우는 아래 게시글에서 확인 가능하다 - 쿠키&세션 관련 플로우 [로그인] 로그인 유지는 어떻게 처리 하는 걸까? 인증 정보를 주고 받는 방식은 두가지 방법이 있다. 쿠키 & 세션 JWT 하나씩 알아보자! # 쿠키 & 세션 1. 로그인 2. 사용자 정보 요청 따라서 쿠키의 만료시간에 따라 로그인 유지가 된다. 쿠키의 만 co-de.tistory.com 일단 컨트롤러를 보자 /*** * 로그인 페이지 * @param request * @param model * @return */ @RequestMapping(value = "/", method =..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/AbdXE/btq8ZHZZcZU/pSW8kjHrgH0dJRc4l9ei00/img.jpg)
uWSGI 가 무엇일까요 ? WSGI 의 한종류로 'Web Server Gateway Interface' 로 알 수 있듯이 웹 서비스와 - 파이썬 통신을 위한 게이트 웨이 입니다 쉽게 말해 파이썬으로 된 코드는 웹 서버(nginx)를 붙이려면 통신할 수 있는 무언가가 필요한데 그 다리 역할을 하는 친구가 wsgi입니다 구축 해볼까요 ? 1. uwsgi 설치 - 환경에 맞게 설치 해주세요 # python 2 $ pip install uwsgi # python 3 $ pip3 install uwsgi # homebrew $ brew install uwsgi - 설치 확인 : 버전이 정상적으로 나오면 설치 성공! $ uwsgi --version 2.0.19.1 2. 설정 - start.sh : 시작 스크립트 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Hgt80/btq6lYWewHe/2TecmOkdfW7DNKCYsAnpQk/img.png)
파이썬으로 구현시 정말 간단하게 QRCode 생성이 가능하다 ㅎ 1. 설치 $ pip install qrcode 2. 파이썬 코드 작성 $ vi qr_create.py import qrcode qr_img = qrcode.make('https://co-de.tistory.com/') qr_img.save('/Users/hongyoolee/document/study/qrcode/test_qr.png') // :wq! 하여 저장한다. 3. 실행 $ python qr_create.py 실행 시 [ModuleNotFoundError: No module named 'Image'] 오류 발생 한다면 아래와 같이 라이브러리 추가로 설치 한다. // 이미지 생성을 위한 라이브러리 설치 $ pip install pill..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bf5ibi/btrsfRQZYUD/wJxK7ygkywLRxOdj7H81ok/img.png)
Predixy 란? - 프록시 중 하나 - redis cluster에서 key 가 분산돼서 저장될 때, 클라이언트가 키가 어디 있는지 찾을 필요 없이 Predixy 가 전부 해줌. - master, slave 읽기 처리 비율 조정 가능 저자가 redis cluster 를 위한 기능이 탑재되어 있는 프록시를 찾아봤을 때(2021.06.01 기준) predixy 뿐이었으므로 해당 프록시와 연동해본다! 아래와 같은 구조가 베스트 이지만.. 테스트를 위한 구성으로 아래와 같이 하나의 서버에서 포트별로 다르게 프로세스를 띄워 구성한다. 1. 설치 $ git clone https://github.com/joyieldInc/predixy.git $ cd predixy $ make $ cp src/predixy /us..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bisKqD/btq4yj3hmIP/UbL1E09mSW1sS9jcKydBUK/img.png)
Redis-Cluster 특징? master를 여러개 두어 분산 저장이 가능하며(Sharding), scale out 이 가능하다. 서버를 늘릴수록 저장할수 있는 공간이 무한대로 커진다. master에 하나 이상의 slave 를 둘 수 있다. master 1,2,3 이 있다면 데이터는 3개중에 하나에 저장되며, client 가 데이터 읽기 요청시 저장된 곳이 아닌 다른 마스터에 요청 했다면 저장된 마스터 정보를 알려주며, 클라이언트는 전달받은 마스터 정보에 다시 요청해서 데이터를 받아와야 한다. But, 해당 부분은 redis-cluster 를 지원하는 라이브러리에서 다 해준다. * 참고 - scale up : 단일 서버의 스펙을 올려 서버 성능을 높힌다. - scale out : 서버를 추가하여 서버 ..
정리가 안됐지만 REST API 구현시 필요할 만한 코드를 작성 하였으니 참고용으로 사용하세요 :: github.com/works-code/py-basicCode works-code/py-basicCode py-basicCode. Contribute to works-code/py-basicCode development by creating an account on GitHub. github.com
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kMM5n/btrsrmWWeHD/d9aXHzIJtwOLkBK3kUi1l0/img.png)
HAProxy 란? 로드 밸런서 가상 IP 를 두어 여러 서버의 부하를 분산하는 기능 오픈소스, 무료 Redis 에 HAProxy 를 두는 이유는 무엇일까? 마스터 장애시 슬레이브가 마스터가 됐을때 Client가 마스터 관련 IP, PORT 를 수정 해주어야 하는 단점 보완 검색 해보면 대부분 해당 이유로 많이 나오지만 이전 포스팅인 [5분안에 구축하는 Redis-Sentinel] 를 참고하여 구성하면 해결 된다. (해당 구성이 어려운 경우를 말하는 것으로 보인다.) slave에서 읽기가 가능하도록 하기 위해 & 로드밸런싱 기능 이전 포스팅 방식으로 구현시 slave 는 데이터 백업용으로만 사용된다. HAProxy 를 사용하면 slave 에서도 읽기가 가능하여, Master의 부하가 분산된다. But, ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bf1upp/btq3U6C9smv/iQIpxdr597cElm6DhkPbs0/img.png)
셀레니움을 이용하면 브라우저 컨트롤이 가능하다! 여러 브라우저중에 저자는 크롬을 사용하여 브라우저 캡쳐 기능을 구현해보겠다! 일단 크롬드라이버를 설치해보자! (서버에 설치된 크롬 버전에 맞게 설치 해야한다.) - 설치 링크 : chromedriver.chromium.org/downloads ChromeDriver - WebDriver for Chrome - Downloads Current Releases If you are using Chrome version 91, please download ChromeDriver 91.0.4472.19 If you are using Chrome version 90, please download ChromeDriver 90.0.4430.24 If you are usi..