목록Dev (25)
한다 공부
장고 admin 페이지에서 데모 데이터를 넣다가 다음과 같은 에러를 만났다. 깜짝 놀라서 찾아보니 올린 파일의 용량이 너무 커서 엔진엑스 설정을 다시 해주면 해결되는 문제라고 한다. 하지만 내가 올린 용량은 별로 크지 않은데.. ? 다시보니 570KB 사진 2개를 올렸었다. 그러면 1140KB 인데 엔진엑스 업로드 용량 설정을 하지 않았을 때 기본 제한이 1MB = 1024KB 이라고 한다. (납득) nginx.conf에 들어가면 코드가 다음과 같다 upstream 프로젝트명 { server web:8000; } server { listen 80; location / { proxy_pass http://프로젝트명; proxy_set_header X-Forwarded-For $proxy_add_x_forw..
코딩테스트 연습 - 괄호 회전하기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 괄호 회전하기 문제를 풀다가 테스트 케이스는 다 통과를 했는데 제출 후 채점하니까 4개의 케이스를 제외하고 모두 segmentation fault (core dumped)가 났다. segmentation fault (core dumped) 의 원인을 찾아보니까 잘못된 배열 인덱스 접근 등등이 문제라고 했다. 잘 생각해보니까 나는 if(st.top()!='{'||st.empty()){ return false; } 이런 식으로, 닫는 괄호 } 를 만났을 때 1. { 가 아닌 다른 괄호를 만나면 괄호 체크 false 2. 스택이 비어있으면 괄호 체크 false..
열심히 로컬에서 Django 프레임워크를 사용해서 프로젝트를 만들었다. 이것을 로컬환경이 아닌, 인터넷을 통해 다양한 사용자들이 사용할 수 있도록 하고싶으면 어떻게 해야할까? 배포를 하면 된다. 지금부터 AWS에서 EC2와 RDS를 사용해서 배포를 하고자 한다. 1. EC2 생성 EC2를 구동하는 것은 서버를 띄우는 것이라고 생각하면 좋다.. 서버를 띄우고 우리의 프로젝트를 올려서 다른 사람들이 접속할 수 있게 할 것이다! 우선 AWS에 회원가입을 해야한다. 새로 가입을 하면 '프리티어'를 사용해 1년간 t2.micro 인스턴스를 무료로 1년간 쓸 수 있다. 그런데 내가 올릴 프로젝트는 t2.micro로는 용량이 부족해서 유료 인스턴스를 사용할 예정이다. 유형으로는 t2.large, t2.xlarge 등..
알아두면 유용할 것 같아서 정리 C++ 에서 pair를 이용하면 두가지 데이터를 하나의 pair에 저장할 수 있다. 문제를 풀 때, 첫번째 요소는 오름차순으로 정렬을 하고 첫번째 요소가 같은 경우에 두번째 요소는 입력한 그대로 = 즉 두번째 요소는 건드리지 않고 정렬을 하라고 했을 때 어떻게 할까? 난 cmp함수를 만들어서 #include안에 있는 sort함수를 써서 첫번째 요소만 정렬을 했다! 그러면 되는줄.. 그런데 정렬하는 함수에는 불안정한 정렬인 sort와 안정한 정렬인 stable_sort가 있었다. 무슨 뜻인고 하니, 불안정한 정렬인 sort는 위의 경우에서 두번째 요소에 대해 언급이 없을 때, 두번째 요소가 변하지 않는다는 보장이 없다! 안정한 정렬인 stable_sort는 두번째 요소를 건..
의문의 시간 초과와의 싸움 1753을 다익스트라로 푸는데 endl 대신 \n도 썼고 ios::sync_with_stdio(false); cin.tie(NULL); 도 사용을 했고 중복을 방지하기 위해 if(w>dist[v]) //중복을 방지하기 위해 (시간 단축) continue; 도 사용을 했다. 이 부분이 헷갈렸는데 4->5->6 으로 가면 5이고 4->6으로 갈 때 7인 구간이 있다고 해보자 그러면 5을 거쳐 가는게 빠른데 계산을 하다가 4->6으로 가는 7인 구간을 또 거쳐가게 될 수도 있다. 그럴 때 중복을 방지하는 것이다. 당연히 5 만큼에 갈 수 있는 거리인걸 아는데 가중치 7을 가진 간선을 통해 가는 경로는 굳이 탐색해보지 않아도 되는것... 이 부분 때문에 시간 초과가 발생하는 다익스트라..
데이터의 양이 기하급수적으로 증가하면서 file만으로는 데이터의 정리가 힘들어졌다. 그래서 database 라는 소프트웨어가 생겨났다. MySQL은 오픈소스인 관계형 데이터베이스이다. 오픈소스이며 무료라는 장점으로, Web과 함께 기하급수적으로 성장하게 되었다. MySQL과 같은 관계형 데이터베이스의 특징은 데이터를 표의 형태로 나타낼 수 있다는 것이다. codeanywhere을 이용하면 설치없이 database 실습을 할 수 있다. Cloud IDE · Online Code Editor · Codeanywhere Cloud IDE · Online Code Editor · Codeanywhere Save time by deploying a development environment in seconds. ..
HTML을 이용해서 만든 웹페이지를, 사용자와 상호작용할 수 있도록 하기 위해 자바스크립트가 탄생했다. Iterate 정돈하기 를 사용을 한다면 유지보수가 더욱 쉬워진다. 서버 입장에서도 cache에 js파일을 담아두면 되기 때문에 이 방법이 더 효율적이다. [참고자료] 생활코딩 WEB2 - JavaScript
Git 깃이란? 버전 관리 시스템 중 하나이다. git-scm.com에 접속하여 git 을 다운 받으면 git bash를 통해 윈도우 환경에서도 리눅스, 유닉스 명령어를 사용해 제어할 수 있다. $ git init : 현재 dir에 작업을 진행하겠다고 git에게 알려주는 명령어 $ vim f1.txt : f1.txt라는 파일 생성. 버전 관리를 하기 위해 git에게 알려야 한다. 알리지 않으면 해당 파일 무시 $ git add f1.txt : 해당 파일 버전 관리 시작 $ git status : 관리 가능한 파일들의 상태를 알려준다 Commit 버전 관리 버전 = 의미있는 변화. 단위가 존재한다. $ git config --global user.name 이름 $ git config --global use..
HTML에서도 디자인을 할 수 있다. 태그를 이용하면 된다. 하지만 이 경우 번거롭게 한 줄씩 모두 고쳐야하는 단점이 있다. 바로 이 문자의 크기와 색상, 정렬 등 디자인 적인 부분을 해결하기 위해 새로운 언어인 CSS가 탄생했다. CSS 기본 문법 웹 브라우저는 css코드를 인식할 필요가 있다. 그래서 html이 아닌 css 문법에 따라 해석을 해달라고 하는 코드를 입력해야한다. = 스타일 태그 안에 css를 작성하면 된다 = 스타일 태그 안 css 코드를 입력하면 모든 글씨가 빨간색으로 바뀐다. a는 선택자 selector이다. 해당 효과를 누구에게 줄 것인지 선택할 수 있다. { } 안의 내용은 효과, 선언, declarataion이라고 한다. color은 property이고 red는 value이다..
웹은 Public Domain으로 저작권이 없다. HTML (HyperText Markup Language)은 웹 페이지를 만드는데 필요한 마크업 언어이다. Tag 내가 원하는 내용 = "내가 원하는 내용"이 굵게 표시된다 내용 = u는 underline의 약자로 "내용"에 밑줄이 그어진다 내용 = h1부터 h6까지 존재하는 이 태그는, 제목을 나타내는 태그이다. headings의 약자이고 숫자가 올라갈 수록 글씨가 작아진다. 이 태그에 감싸진 내용은 자동 줄바꿈이 된다. = 줄 바꿈 태그, 상당히 자주 쓴다. 닫는 태그가 없다. 내용 = 단락을 변경하는 태그. br 태그와 보여지는 것에 큰 차이는 없다. 단락이 정해진 여백만큼 구별되는데 css를 이용하면 조절할 수 있다. 라는 css을 이용하면 단락이..