본문 바로가기

전체 글

(341)
[개발상식] 9. Scale Up/Out & Sharding mongoDB에 대해서 알아보다가 Sharding이 무엇인지 궁금해졌다.그러다가 Scale out이 무엇인지 또 궁금해지고 up도 궁금해진거다. 끝이 없다. Scale up / Scale outScale Up이란 서버 그 자체를 증강하는 것에 의해서,즉 리소스를 붙여서 용량을 키워 처리 능력을 향상시키는 것이다.프로세서 자체를 고성능 모델, 고가의 장비로 옮겨놓는 것을 가리킨다.스케일 업은 수직 스케일로 불리기도 한다. Scale Out이란 접속된 서버의 대수를 늘려 처리 능력을 향상시키는 것이다.서버의 가상화 기능을 사용하고 하나의 케이스 내에서 가상적으로 복수 서버를 구축해스케일 아웃과 동등의 효과를 제공할 수도 있다.이러한 방식을 특히 스케일 위드인 가상스케일아웃 이라고 부르기도 한다.스케일 아웃은..
[개발상식] #JS 프레임워크 특집/ React, Angular(vs backbone, ember), Meteor 그리고 MEAN JavaScript 전부는 아니지만 각종 커뮤니티에 주로 회자되는 프레임워크들의 특징들을 얕게 비교해보았다.React 페이스북이 만들고 있는 뷰 부분을 컴포넌트로 만들기 위한 라이브러리이다.페이스북이 왜 React 를 만들었는가'지속해서 데이터가 변화하는 대규모 애플리케이션을 구축하기 위해서' 라고 한다.관심사를 분리시키고 선언적인 API이다. React의 특징1.JUST the UIUI 컴포넌트를 만들기 위한 라이브러리이다. 단지 UI만.(컴포넌트란 재사용 가능한 UI 구성단위를 말한다. 또한 컴포넌트끼리의 결합, 포함 관계를 말한다.) 2.Virtual DOMDOM Tree와 같은 구조체를 Virtual Dom으로 갖고 있다.가상의 HTML Element들을 가지고 있다가렌더링을 하면 필요한 부분(D..
[열한번째] Node.js & MySQL 연동하여 간단한 웹 애플리케이션 사이트 만들기(스압) 10개의 포스팅으로 정말 Node의 기초와 프레임워크 express 기초에 대해 알아봤다.이 기초를 이용하여 관계형 데이터베이스(RDB) 중 가장 보편적으로 사용되고 있는MySQL을 연동시켜서 간단한 애플리케이션을 만들어보자.데이터 베이스 관련 포스팅은 추후 올라갈 예정이다.(본 포스팅은 생활코딩 수업의 내용을 바탕으로 하고 있습니다.) 기본적인 원리는 express로 라우팅을 해주면서 필요한 요소요소에 데이터베이스를 연동하여필요한 정보를 불러오고 사용자로부터 받은 정보를 저장하는 것이다. express 함수를 호출한다.express 함수를 다루기 편하게 app이란 객체로 객체화express 내장 모듈인 fs 모듈도 호출.mysql module 도 호출.mysql.createConnection()을 통해..
시간 쏟아붓기 오늘 하루도 나에게 주어진 시간을 온전히 개발 공부에 쏟아부었다.하루를 마무리한 뒤에는 뭔가 가득찬 충만함이 느껴져야 하는데,요즘은 그저 풀리지 않은 갈증뿐이다.밑빠진 독에 물을 붓는 기분. 많은 사람들을 만나면서 내 머리가 좋은 머리는 아니라고 매순간 느낀다.난 머리가 좋으니까 라고 생각했던 어린 생각들은나태해진 나를 합리화하기 위해 억지로 끄집어낼 뿐이다. 내 특기는 '시간 쏟아붓기'이다.앞에 수식어가 하나 붙어야겠다.'전혀 스트레스를 받지 않고'조건도 하나 붙어야겠다.'내가 하고 싶은 것이 구체화되고 그에 맞는 목표를 설정했을 때' 난 시간을 쏟아부으면 될 거라고 믿었다.그런데 실패했다.두 번.그런데도 시간을 쏟아붓는다.이번만큼은 될 거라고 믿기 때문이다.이번이 세번째.실패를 거듭할수록 그 간절함은..
[그들이 쓰는 언어] 4. 미들웨어 / API 미들웨어(middleware)란 무엇인가응용소프트웨어가 운영체제로부터 제공받는 서비스 이외에추가적으로 이용할 수 있는 서비스를 제공하는 것이다.그 서비스란 시스템 소프트웨어와 응용 소프트웨어 사이또는 두 가지 다른 종류의 응용프로그램 사이에서 조정 및 중개 역할을 의미한다.즉 , 시스템에 분산되어 있는 응용프로그램과 데이터, 웹 서버간 연결을 최적화 시켜주는 역할을 하는 것을 말한다. 응용 소프트웨어는 유연하고 확장, 축소가 편리해야 하며이러한 장점을 충족하기에 다른 기종간 플랫폼을 다시 구축할 필요가 없어야 한다. 이러한 이유로 미들웨어라는 것이 생겨났다. 미들웨어의 동작환경은 Operating Environments 예를 들면 데이터베이스, 네트워크, 운영체제, 유저인터페이스 등과Business Wa..
[열번째] Node.js 기본 / 클라이언트와 서버의 의사소통 방식 (GET & POST) II Post방식app.post('/form_receiver', function(req,res){ var title = req.body.title; var description = req.body.description; res.send(title+','+description);});res.send에 해당하는 부분이 /form_receiver에 출력될 것을 기대할 수 있다.그런데 에러가 뜬다.TypeError: Cannot read property 'title' of undefinedbody 가 존재하지 않는다고? API를 보니까Contains key-value pairs of data submitted in the request body. By default, it is undefined, and is pop..
[아홉번째] Node.js 기본 / 클라이언트와 서버의 의사소통 방식 (GET & POST) I 클라이언트와 서버의 의사소통 방식크게 두가지GET vs POST 기본이 get : 주소를 입력해서 어떠한 정보를 get한다.경우에 따라선 쿼리 스트링으로 정보를 요청하고 가져오기도 한다. 이것 역시 get 방식이다.서버에 요청하고 가져오는 방식을 말한다. post 방식은 사용자의 정보를 서버에 전송을 할 때 사용하는 방식.ex ) 아이디와 패스워드 or 작성한 글. 코드>doctype htmlhtml head meta(charset='utf-8') body form(action='/form_receiver' method='get') p input(type='text' name = 'title') p textarea(name = 'description') p input(type='submit')form.j..
[여덟번째] Node.js 기본 / 쿼리 스트링 Application의 기능을 다시 한 번 살펴볼 필요가 있다.입력에 따라서 출력을 하는(input)입력 -> Application -> 출력(output)어떠한 사용자의 조작이 있을 때 다른 것을 보여주는 것을 우린 애플리케이션이라고 한다. 다음과 같은 URL이 있다고 가정하자.http://a.com/topictopic을 URL의 구성요소 중 'path'라고 한다.topic으로 접속을 하게 되면 언제나 똑같은 결과를 보여준다. 경우를 나눠서 다른 결과를 보여주면 좋지 않을까이 때 쿼리 스트링을 이용한다.ex) http://a.com/topic?id=1id 값 1을 전달. 1에 해당하는 결과를 출력.물음표 뒤에 나타나는 것을 "쿼리 스트링"이라고 한다. 하나의 패스에서 다른 아이디값에 따라서 다른 화면을..