목록분류 전체보기 (277)
내 잡다한 노트
동적 프로그래밍 (브루트포스 + 이전 값 재활용) 분할정복 기법을 사용하는 경우가 많다. 큰 문제를 한 번에 해결하기 힘들 때 작은 여러 개의 문제로 나누어서 푸는 기법이다. 작은 문제들을 풀다보면 같은 문제들을 반복해서 푸는 경우가 생기는데 그 문제들을 매번 재계산하지 않고 값을 저장 해두었다가 재사용하는 기법이 동적 프로그래밍이다. 즉, 이미 했던 연산이 반복되는 결점을 보완하기 위해 쓰여지기 시작함 메모이제이션이 동적 프로그래밍 중 하나이다. 메모이제이션이란 재귀 호출 시, 반복적으로 계산되는 것들의 계산 횟수를 줄이기 위해 이전에 계산했던 값을 저장해두었다가 나중에 재사용하는 방법이다. # 문제풀이 방식 문제풀이 방식으로는 TOP-DOWN, BOTTOM-UP 이 존재한다. top-down은 대부분..
#클라이언트, 서버 구조 클라이언트 ----접속---> 서버 # 프로토콜 한마디로 말하면 약속. 명령어들로 구성돼있고 요청하고 응답받는다. 이런 명령어들이 약속돼있고 그걸 통해 통신을 한다. HTTP도 프로토콜, 이메일은 메일을 줄 때 SMTP라는 프로토콜을 쓰고 받을때는 POP3라는 프로토콜로 받는다. FTP는 파일을 주고 받을때 쓰는 프로토콜 # AJAX (Asychronous Javascript And Xml) 웹사이트를 동적으로 만들기 위한 개발기법중 하나 비동기식으로 요청을 주고받아 전체 웹사이트의 정보를 다시 받는것보다 중요한 부분먼저 비동기식으로 요청을 먼저 받아 화면에 먼저 출력하는 그런 기술이다. #동기 비동기 동기는 함수가 다 진행되고 응답을 하기까지 다음 행으로 넘어가지 않는다 보통의..
구글링을 통해 해결방법 왠만한 걸 다 해봤다. 포트포워딩부터 AWS의 EC2 보안그룹이 잘못 돼 있는지 새롭게 설정도 하고... 별의 별 똥꼬쇼를 다 했다 그런데도 결국 안돼 멘탈이 며칠동안 나가있었다가 다시 찾아보자는 마음으로 SSH에 대해서도 공부하고 구글링을 하다가... SK브로드밴드는 SSH의 포트인 22번을 막아놨다고 하더라?????????????? 그걸 왜 지들이 막아놓고 난리인지 진짜 이것때문에 시간 엄청 날렸던 걸 생각하면 속에서 열불이 난다 집에서 결국 못하고 밖에 다른 공유기 와이파이를 통해 하니 PUTTY 접속이 너무 잘 된다 ^^... 허탈해서 진짜... 에휴
클라우드 컴퓨팅 모델, 클라우드 컴퓨팅 배포 모델 2가지로 나눌 수 있다. # 클라우드 컴퓨팅 모델 어플리케이션의 구성 어플리케이션 os : windows/linux computing : cpu + ram storage : hdd/ssd network : 랜카드/랜선 # Iaas : Infrastructure as a Service 인프라만 제공 OS를 직접 설치하고 필요한 소프트웨어를 개발해서 사용 가상의 컴퓨터를 하나 임대하는 것과 비슷함 아까 어플의 구성에서 COMPUTING, STORAGE, NETWORK를 제공하고 그 외는 직접 개발하는 것 예 : AWS EC2 요리하려 할 때 주방만 빌려주는 것 # PaaS : Platform as a Service 인프라+OS+기타 프로그램 실행에 필요한 부..
클라우드 컴퓨팅은 IT 리소스를 인터넷을 통해 온디맨드로 제공하고 사용한 만큼만 비용을 지불하는 것 #온디맨드: 수요에 반응함 # 서버 클라이언트 아키텍쳐 서버가 없다면 게임에서 한 유저가 스킬을 썼을 때 클라이언트에서 여러 유저의 클라이언트에 직접 정보들을 통신해줘야한다. 그렇다면 시간도 오래걸리고 복잡하고 유저가 정보를 조작할 가능성이 생겨 원활한 게임 진행이 되지 않게 된다. 이때, 서버가 있다면 스킬을 쓴 유저가 정보를 서버에게 보내주고 서버에서 정보를 조작했는지 어떤 조건들에 부합하는지 확인을 하는 등, 서버에서 여러 클라이언트에게 한번에 보내준다. # 데이터센터 서버가 여러개 있는 실제 시설을 뜻함. 이런 데이터센터에는 많은 것들이 필요하다. 컴퓨팅 시스템을 위한 하드웨어 네트워킹 장비 전원공..
# 각각의 데이터는 전용 포트(전용문)으로 출입한다 컴퓨터들은 자신의 네트워크의 문을 두드리는 데이터의 성격에 따라 다른 문(Port)을 열어준다. 하지만 세상에는 다양한 데이터 패턴들이 존재해 모든 데이터들을 올바르게 분류하기는 어렵다 그래서 적절하게 송신되는 데이터는 자기가 어느 포트로 들어가야 하는지도 같이 붙어서 송신이 된다. # 포트포워딩이 설정되지 않았을 때 생길 수 있는 혼선 그렇다면 어떻게 적절한 포트를 찾아갈 수가 있을까요? 쉽게 생각하면 공유기에 80번 포트로 접근하게 해줘라고 요청만 하면 될것 같다. 하지만 이러면 브라우저는 오류를 뱉어낸다. 왜냐면 공유기 입장에서 80번 포트를 열어줄 수 있는 기기가 한둘이 아니기 때문이다. 내 노트북도 있고 아빠 노트북도 있기 때문이다. 어떤 기기..
#Relation 모델과 모델간의 종속 관계를 정의한다. 1. Many-to-Many : 출판사와 저작물의 관계라고 생각하자 하나의 저작물을 여러 출판사에서 낼 수도 있고 반대로 하나의 출판사가 여러 저작물을 낸다. 2. Many-to-One : 게시물과 댓글의 관계 3. One-to-One : 여권과 사람의 관계 #Foreign-Key 외래키란 테이블의 필드 중에서 다른 테이블의 행과 식별할 수 있는 키를 의미한다. 외래키가 포함된 테이블을 자식 테이블이라 하며, 외래키 값을 갖고 있는 테이블은 부모 테이블이라 합니다. 즉, 테이블과 테이블을 연결하기 위해 사용되는 키. 필수적으로 포함되어야 할 매개변수는 참조할 테이블, 개체 관계에 사용할 이름, 개체 삭제시 수행할 동작 입니다. # 식당 모델과의 릴..
Create, Read, Update, Delete를 묶어서 일컫는 말이다. 사용자인터페이스가 갖추어야 할 기능을 가리키는 용어이다. #페이지네이션 데이터가 많아졌을 때 페이지 번호를 둬서 클릭하면 해당 페이지로 이동하게끔 하는 것. from django.core.paginator import Paginator paginator = Paginator(restaurants, 5) # 한 페이지에 5개씩 표시 page = request.GET.get('page') # query params에서 page 데이터를 가져옴 items = paginator.get_page(page) # 해당 페이지의 아이템으로 필터링 #모델Form으로 생성 def create(request): if request.method ==..