1. ec2 초기 세팅 가상환경 생성 2. daphne, gunicorn 설치 및 서비스 등록 3. nginx 서비스 등록 및 ssl 발급 4. nginx로 daphne(ws), gunicorn(http) 연동 5. 장고 캐시로 elasticache 연결 기타 에
길고 긴 캐시 구현을 끝내고 드디어 캐시 데이터를 dynamoDB 에 write 할 worker 를 생성해야 한다. celery를 이용해 구현하려고 보니, 구현 자체는 까다롭지 않은데 나 같은 윈도우 환경에서 gevent 가 필요하다길래 정리해보려고 한다.
비동기 : 단일 스레드/ 멀티 스레드 다 가능. 과제가 끝날 때 까지 기다리지 않고 실행하는 방법멀티 스레드에서는 스레드간 충돌이 없도록 추가 비용을 지불해야 한다. (개발자의 영역) \- 자바는 단일 프로세스를 제공. 멀티 스레드 동기화를 위해 임계영역(lock)을
gif, png, jpeg 을 전부 지원하는 이미지파일 포멧이다.기존보다 용량을 30% 가량 줄여준다고 한다.파일을 인자로 받아 canvas 에 쓰고 데이터 타입과 사이즈를 바꾸는 함수를 작성했다.출력: blob데이타효과는 대단했다..전후628KB --> 31 KB 로
사용자 닉네임을 한글+이모지 조합으로 만드는 사람이 많다.자신의 닉네임으로 채널에 접속할 수 있는 구조인데, url에 그대로 문자열을 집어넣으면 문자가 깨져서 브라우저에 따라 달리 보인다. 그래서 1차적으로 'utf-8' 인코딩을 해서 한글을 유니코드로 변환해준 다음,
오토마타 수업시간에 배운 내용 중 교수님이 제일 중요하다고 강조하셨던 것이 암호화는 쉽지만 복호화는 어렵다는 것이다. 그래서 암호화된 데이터를 얻으려면 기록하고 대조해서(rainbow attack) 찾아보는 수 밖에 없다.어제 내가 저장한 db 테이블을 쭉 살펴보다가
db에 읽고 쓰는 데는 비용이 많이 든다. 해서 쿼리 결과값을 수정되기 전까지는 캐싱해놓고 요청 시 반환하는 방법을 사용하려고 한다. 더 빠르고, 비용도 절감된다. 아래 블로그 글을 참고했다.레디스로 쿼리 캐싱하는 법https://redis.com/blog/q
db를 구현하면서 고민했던 점이, 로컬에서 테스트하듯 한 번 메시지를 주고받을 때 마다 쓰기 작업을 하면 내야 하는 돈도 비싸진다는 것이다. 그리고 실제 비즈니스에서도 그렇게 적용하지 않는 듯 하고.그래서 적정량(?)을 레디스 캐시서버에 케싱해 두었다가 chunk로 w
RDBMS 설계 시 > 요약 : 대용량의 데이터를 포함한 테이블일수록 I/O 연산이 커지기 때문에 적당히 쪼개서 join을 하는 것이 연산 횟수가 더 적음을 알 수 있다. 불필요한 참조로 자주 쓰이는 데이터가 메모리에서 내려가는 것을 막기도 한다. 출처 : https:
최근 아주 핫했던(?) 산타파이브 분들의 사건을 보고 들으면서 내 프로젝트도 공개하려면 보안적인 부분을 강화하는 수 밖에 없다는 생각이 들었다.. (각박한 세상..그래서.. 방화벽(https://aws.amazon.com/ko/waf/)이나 클라우드 플레어,
여러가지 방향으로 고민을 해봤는데, 검색해보니 웹소켓으로 파일을 보낼 때 에플리케이션 단에서 패킷스위칭을 구현해야 하는 거대 공사를 할 바에는 클라이언트에서 직접 디비에 write & 서버에게 완료 메시지를 보내면 서버가 그것을 다시 read 하는 방법을 사용하기로 결
인메모리 디비가 빠르고 읽기에 적합레디스는 레플리케이션을 지원해서 오류 복구를 따로 구현 안해두 정보가 보존된다!멜록으로 메모리 할당 해서 메모리 단편화가 생길 수 있고 응답속도의 지연을 유발한다.메모리 단편화란 \- 내부/ 외부 단편화논리메모리(페이지) <->
채팅앱 로그인, 회원가입, 비동기식 채팅창 구현이미지 파일 크기 조정채팅으로 이미지.까.진. 보내지는 것 확인움짤 정보 손실보내지다가 안보내지다가 함이미지 채팅 개 느려짐
Q1 계기 푸슝이라는 서비스가 덕질 친구들과의 소통에 지대한 역할을 맡고 있는데, 친구들이 폭주 할 때마다(제일 재밌는 순간인데!) 이게 자꾸만 터져서 내가 만들어 보아야 겠다고 생각했다. 그냥 채팅앱인데, 접속자가 많다는 가정 하나만 추가해도 고려할 것이 엄청나게
서블릿, ejb의 등장. 외부의 컨테이너(ioc container)가 서블릿을 관리. --> 제어의 역전BeanFactoryIoC 컨테이너의 기능을 정의. 빈의 생성 및 의존성, 생명주기 관리.ApplicationContextbeanfactory 인터페이스를 상속받음.
method areaheap areastack areaPC registernative nethod stack클래스 멤버 변수 이름, 데이터타입 등 필드 정보, 상수 Pool, static var, final class valuenew 키워드/realloc() 로 생성된
poso : 기존에 자바 어플리케이션을 주도하는 기술에서 일반자바오브젝트를 사용하게 해주는 스프링이 쓰던 (프로그래밍이 좀 더 자유로워진) 방식모듈, 디자인패턴 적용 가능.인터페이스 패턴 강요 x.spark-shell 만으로 업무를 하기는 힘들다 ../bin/spark