전체 글
1.Serializer 직렬화를 해주는 일종의 도구 장고에만 특별히 존재하는 기능이라기보다는 대부분의 프레임워크에 존재하는 일반적인 개념임 장고 Form과의 유사성 장고의 Serializer는 장고의 Form(Model Form) 과 많이 유사하다. 기능적으로 비교하자면 Serializer는 POST요청만 처리하는 FORM이라고 볼 수 있음. Form : Form 태그가 포함된 HTML 태그를 생성 Serializer : Form 데이터가 포함된 JSON문자열을 생성 둘 다 입력된 데이터에 대한 유효성 검사 진행 가능 Serializer의 기능 데이터 변환 및 직렬화 지원(JSON 포맷 등) 입력된 JSON 포맷에 대한 유효성검사 LIST/CREATE을 포함하여 특정 record(데이터)에 대한 ret..
통신 방식의 변화 기존에는 Get 요청 > HTML Form 포멧으로 응답 Post 요청시 multipart/form-data인코딩을 요청하고(데이터를 전송하고) HTML 포맷으로 응답 최근에는 API 서버에서 대개 JSON 인코딩된 요청을 응답(JSON을 활용하여 요청 및 응답) 직렬화 어떤 프로그래밍 언어를 사용하든지, 통신에서 데이터는 필히 문자열로 표현되어야 함 송신자 : 데이터인 객체를 직렬화를 통해 문자열로 변환하여 전송 수신자 : 수신한 문자열을 비직렬화를 통해 객체데이터로 변환하여 활용 Json, XML등은 모든 언어에서 지원하는 직렬화 포멧임. 즉 어떤언어에서든 통신을 위한 수단으로 사용될 수 있기에, 다른 언어들 간의 소통도 가능하다 다른 말로 하면, 모든 언어가 Json/XML 등에 ..
1. Logging ORM은 사용자의 의도에 맞는 SQL문을 생성하여 DB에 요청을 보내는 도구이다. 분명 편리하지만, ORM이 만들어주는 SQL문은 늘 최적화된 SQL문이라고 확신할 수 없다. 특히 SQL문이 쓸데없이 DB에 요청을 많이 보낼 경우 성능적으로 굉장히 부정적인 효과가 발생함 따라서 실제로 어떤 SQL문이 얼마나 DB로 보내지는지 확인이 필요하고, 이를 확인하기 위해 Logging을 사용한다. 참고)DB의 성능이슈는 주로 데이터를 읽을 때 발생함. 다른 기능(Create, Update, Delete)에서는 잘 발생하지 않음. 따라서 대부분의 DB(Mysql, Oracle..)등은 읽기에 최적화된 상태로 나옴 How to Logging 1)서버에 의해 뷰가 호출될때마다 쿼리가 찍히도록 하는..
S3란 S3스토리지 타입 / Object의 구성요소 / Data consistency Model / S3요금 S3 암호화 / 접근권한 / CORS S3 실습 1. S3(Simple Storage Service) 안전하고 가변적인 object 저장공간 안전 : 모든 파일에 일종의 안전장치를 걸어, 허락되지 않은 외부의 접근을 막음 가변 : 저장된 파일들의 크기에 맞춰 저장공간의 크기가 자동으로 커졌다 줄어들었다 함 object : 이미지, 파일, 영상 등만 올릴 수 있는 것 > 운영체제를 업로드해서 사용이 불가능(즉 윈도우 파일등을 넣어 부팅 같은 것이 불가능) 편리한 UI : 어디서나 쉽게 데이터의 저장 및 로드가 가능 파일 크기는 최대 0~5TB까지 가능 저장공간 무제한 : 가변적인 S3의 특성상, 전..
RDS 백업기능 Multi-Az / Read Replica Elastic Cache RDS실습 파라미터 그룹 설정 rds 생성 mysql데이터복사 및 rds로 전송 ec2와 연결 장고서버구동 read replica / multi-az / rds삭제 1. RDS 관계형 DB AWS에서 사용될 수 있는 DB의 종류는 다음과 같다 Microsoft SQL, Oracle, Mysql, Postgre, MariaDB Aurora : AWS에서 제공하는 RDS. 프리티어가 없다. 모든 RDS는 자기만의 고유한 endpoint를 가지며, 이를 통해 식별된다 Data warehousing 방대한 양의 데이터를 로드할 떄 주로 사용 따라서 Business Intelligence와 같이 방대한 양의 데이터를 기반으로 하는..
Software testing Manutal Testing vs Automation Testing system test 전략 3가지 유닛테스트(장고) 1. software testing 배포전에 개발한 상품을 처음부터 끝까지 테스팅하는 것 결함을 아주 직관적으로 + 상세히 확인하고, 에러를 사전에 방지할 수 있다. 그 외에도, 시간 절약 / 코드의 효율적인 개선 / 품질개선 실제로 테스팅을 위한 코드작성시간이 전체작업중에 40% 이상을 차지한다. manual testing VS automating testing manual testing 사람이 직접 손으로 이것저것 해보는 테스트 불안정성, 비용, 인력소모가 증가 & 테스트 속도 감소 Automation Testing testing 자체를 반복성, 재사용..
Oauth 2.0 생활코딩 강의를 참고(https://www.youtube.com/watch?v=hm2r6LtUbk8&list=PLuHgQVnccGMA4guyznDlykFJh28_R08Q-&index=1) 0. 역할(호칭) 정리 Oauth2.0은 양자가 아닌 삼자의 이야기임. 따라서 미리 Oauth2.0 에 등장하는 호칭들을 정리 우리의 서비스 : Client 우리서비스의 사용자 : Resource Owner 우리서비스가 빌려쓰려는 다른 서비스(카카오) : Resource Server 추가)공식문서에 따르면 Resourceserver의 권한에 대한 처리를 진행하는 autrhorization server를 언급하기도 함 1. Oauth 2.0이 필요한 이유 나의 서비스(Client)에 다른 서비스(Reso..
EC2의 개념 EBS의 개념 ELB의 개념 Route53 1.EC2 클라우드 공간에서 크기가 유연하게 변경되는 서버를 제공 EC2 사용시의 다양한 지불방법 On-demand : 시간 단위로 가격이 고정되어 있음. 즉 시간에 비례한 가격을 지불 서버를 열고 닫는 게 자유롭기 때문에 개발 시작 시간 및 개발 종료 시간을 모르는 경우에 많이 사용.(특히 단기간) Reserved : 일정한 크기의 EC2 용량을 조금 더 저렴하게 사용가능. 대신 1-3년간 시간을 정해서 대여(시간별로 할인이 다름) 개발의 시작과 끝이 예상가능할 경우. Spot : 마치 경매의 입찰방식을 통한 가격을 적용. 가장 큰 할인율을 적용받음 단순한 비용절감에 가장 효율적인 방안. 인스턴스의 시작/끝시점이 별로 중요하지 않을 경우에 많이 ..