본문 바로가기

Programming

(92)
MongoDB 유용한 명령어 정리. Mongo DB 설치 링크 https://www.mongodb.com/download-center/community?jmp=homepage Download Center: Community Server Download MongoDB Community Server, the most popular non-relational database built to address the needs of modern applications. www.mongodb.com 서버 실행 및 접속 mongod: mongo DB 서버 실행 mongo: 클라이언트로 서버에 접속 mongo DB 용어 정리 Document: data element {key:value} 쌍 Collections: Document의 집합 Database: ..
백준 2805번 나무자르기 _ 이분탐색 (python) 문제: https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 문제 상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할것이다. 목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 높이 H를 지정해야 한다. 높이를 지정하면 톱날이 땅으로부터 H미터 위로 올라간다. 그 다음, 한 줄에 연속해있는 나무를 모두 절단해버린다. 따 www.acmicpc.net 이번 포스팅에서 다루게 된 2805번 나무자르기 문제는 이분탐색을 이용해야하는 전형적인 문제입니다. N은 100만 M은 20억..
백준 1629번 곱셈 _ 분할정복 (python) 문제: https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 이번 1629번 문제를 통해서 알아볼 개념은 분할정복입니다. 이는 딱 명확한 알고리즘이 존재하는 것이 아닌, 구하려는 값이나 그 과정이 너무 계산하기 복잡할 때 이를 간단한 문제들로 쪼개서 푼 뒤, 이를 합친다라고 생각하면 되는데요. 당장에 웹개발을 한참 공부하고 있는 저는 main.js 파일에 너무 많은 코드를 쓰다보면 나중에 오류가 발생했을 때 수정하기 어려울 뿐더러 스스로도 알아보기 힘들어 main.js에는 여러 js파일들을 import만 하고 다른..
[JS] 유용한 JS팁 정리 (toggle / 백틱/arrow 함수/spread) 1. toggle document.querySelector("#ID").classList.toggle("sampleName"); 위의 코드는 ID라는 id를 가진 html의 요소의 class 중에서 "sampleName"이 없다면 추가하고, 있다면 제거하라는 뜻이다. 이는 만약 toggle을 안 쓴다면 직관적으로 다음의 코드와 동치이다. const hasClass = document.querySelector("#ID").classList.contains("sampleName"); if (hasClass){ document.querySelector("#ID").classList.remove("sampleName"); } else { document.querySelector("#ID").classList.a..
[JS ES6] var/ let /const 차이점 ES6로 업데이트 되면서 javascript에서 변수를 선언할 때 let과 const의 사용이 권장된다. 하지만 여전히 많은 튜토리얼 영상이나 강의에서는 var을 가르치고 있는데 이유는 무엇일까? *단순히 그 영상 게시자가 새로운 업데이트를 반영안한 거라고 생각하면 된다. 고민할 것 없이 여러분은 var대신에 let과 const를 사용하면 된다. var의 문제점이라고 하면 중복 선언을 해도 아무 에러가 없다는 점이었는데 이는 개발자들에게 큰 혼란을 야기하기도 했다. 예를 들면 아래의 코드는 아무런 에러 없이 실행된다. var fruit = "apple" console.log(fruit) >>> "apple" var fruit = "banana" console.log(fruit) >>> "banana" f..
쿠키란? http는 이전 상태를 저장하지 않는 stateless이기 때문에 http 프로토콜 자체로는 한 번 로그인했다고 해서 그 상태를 기억하고 있지 못한다. 이것은 쇼핑몰을 예시로 들면 창을 옮길때마다 재 로그인을 해야하는 어마어마한 불편을 초래한다. 따라서 우리는 http 환경에서 세션 ID라는 것을 통해 한번 로그인 했을 때, 이전 상태를 유지하게 된다. 그리고 이 때 값들을 저장하는 세션 ID가 보통 쿠키로 전달된다. 쿠키란? 쿠키는 간단히 말하면 클라이언트의 로컬에 저장되어 있는 변수와 값의 집합 구조로, 클라이언트와 서버간의 데이터를 주고 받는데에 이용된다. 예를 들어보자, 우리가 처음 로그인을 하게 되면, 1. 서버는 이 때 세션 ID라는 것을 발급하여 쿠키값으로 만들게 되고, 2. Set-cook..
Amazon lightsail 을 활용한 Django 장고 프로젝트 배포하기 (1) 이 포스팅은 https://nerogarret.tistory.com/ 의 Amazon EC2를 활용한 장고 프로젝트 배포를 많이 참조하여 작성되었습니다. 이 포스팅 2020년 3월 27일 기준으로 작성되었으며, 이후에는 변동이 있을수도 있음을 알려드립니다. 추가적으로 그냥 한번 웹을 시험삼아 배포해보려는 목적이시라면 https://tutorial.djangogirls.org/ko/ 를 따라 해보시기를 추천드리며 이 포스팅은 실제 장고를 기반으로 완성된 블로그 및 웹서비스를 아마존 라이트세일을 통해 배포하는 것에 초첨을 두고 있음을 알려드립니다. 아마존 라이트세일을 이용하게 된 가장 큰 이유는 1. 블로그와 같이 간단한 서비스를 배포하는 데 모든 조건을 충족하고 있으며, 2. 가격은 EC2에 비해 상대적으..
네트워크 기초 (1) _ 인터넷이란? 네트워크란? 우리가 흔히 말하는 인터넷은 무엇일까? 나는 중학생 때 까지는 그냥 인터넷 익스플로러랑 같은 말이라고 생각했던 것 같다. 그러다 점점 모바일 기기의 발전에 따라 그 경계가 모호해졌던 것 같은데.. 그럼 다시, 인터넷은 무엇일까? 흔히 학교에서는 인터넷을 1. 너트와 볼트의 관점 / 2. 서비스 관점에서 정의하곤 한다. 1. 너트와 볼트의 관점. 무언가가 상호 연결되는 것을 지칭할 때 쓰는 은유라고 생각하면 된다.너트와 볼트의 관점에서 인터넷은 수많은 컴퓨팅 기기들이 연결된 것이라고 볼 수 있다. 그래서 인터넷을 네트워크의 네트워크라고 부르기도 한다. 네트워크 용어를 가볍게 보고 가자면, 1. 호스트(hosts) - 네트워크의 끝자락에 위치한 종단 시스템(End system)을 뜻하며 일반적으로 네트워크에..