전체보기
126개의 글
(이녀석이 아니다.) Mongoose ? Node.js 에서는 MongoDB 에 접근하여 데이터를 사용할 수 있게 해주는 모듈들이 몇가지 있다. 대표적으로 mongodb-native 나 mongoose 등이 있다. 해당 모듈들은 모두 mongodb의 기능을 성실히 수행하여 주지만, 각각의 특징점들이 있다. mongodb-native 는 이름에 native에서 알 수 있듯이, 다른 추가적인 기능보다는 mongodb 본연의 특징을 사용하도록 해준다. mongoose는 조금 더 기능들이 추가되었다. 기능들이 추가된다는 것은, 속도는 저하된다는 말과 거의 같다. 다양한 기능들로 편의성을 높였으나, mongodb-native와 비교하자면 그 속도가 조금 떨어지는 것이 사실이다. 그럼에도 Mongoose가 가장 많..
텍스트 기반 웹게임그냥 취미 삼아 만들어 보자! 하고 시작했던 개발이 진도가 너무 빨랐다. 제대로 된 기획, 레벨링, 재미 요소 등을 부여하지 못한 상태로 게임 개발이 너무 빠르게 되어버렸다. 레벨업, 스탯, 아이템 , 장비, 전투 시스템, 길드, 지역, 던전 등.... 만들면서 생각나는대로 기능을 추가하고, 코드를 추가하고.. nosql의 장점이 굉장히 크게 다가왔던게, db를 뜯어고칠 필요없이 그냥 코드 몇줄 추가하는걸로 모든걸 다 받아준다. 그래도 코드가 너무 지저분해져서 이건 차마 이대로 진행할 수 없다 싶어졌다. 1차 시도는 실패로 돌아갔지만.. 2월달엔 시스템 기획부터 차근차근 해서 만들어보아야겠다. 시스템 기획 - 기능 기획 - 개발 순서로 천천히, 재미있을 게임을 만들어봐야겠다. 아쉽지만,..
새 노트북 이제 곧 대학교 신입생들이 입학할 시즌이 다가온다. 대학생 생활을 시작하면서, 근래에는 대부분의 학생들이 노트북을 구입하여 입학한다. 대학 생활에 있어 프로젝트며, 각종 워드 작업을 위하여 필수일 뿐더러, 남자들은 게임 플레이로, 여자들은 각종 쇼핑과 인터넷 서핑으로 스트레스 또한 풀 수 있다. 노트북은 그럼 어떻게 사는 것이 좋을까 ? 주 사용 용도를 정하라 가장 먼저 할 일은, 자신이 노트북을 어떤 용도로 사용할 것인지에 대해 정하는 것이다. PC는 당연히 사양이 높을수록 좋지만(고고익선..?) , 사양이 올라갈수록 가격 또한 급격히 뛰게 된다. 보통 노트북의 사용 용도는 다음과 같다. 게임용 노트북워드 작업용 노트북디자인 프로그램용 노트북프로그래밍용 노트북 각각의 용도에 따라 당연히 중요..
개발 환경 - Express 기본 모듈들(express-generator를 통해 설치된 모듈들) - Express-session 위의 두개만 설치하면 된다. 딱 로그인의 기능만 넣을 것이기 때문이다. ./app.js Express - session 세팅은 저번 포스팅대로 app.js에 해주면 된다. 즉 모듈을 불러들여서 기본 암호 등을 세팅해주면 끝난다. ./views/login.ejs , logout.ejs 보여줄 view는 2가지이다. 로그인을 위한 페이지, 로그아웃을 위한 페이지의 2가지이다. 먼저 login을 위한 페이지이다. 12345678910111213141516171819202122 Dalkom Login ID PW 로그인 Colored by Color Scriptercs 단순하게 아이디와..
While 문 ? 저번에 포스팅했던 for 와 같은 용도로 사용됩니다. 반복을 위하여 사용되는 것이지요. 하지만 For 문과는 문법적인 차이점이 있습니다. For 문은 다음과 같은 문법을 가지고 있었습니다. for ( 초기식 ; 조건식 ; 증감식 ){ 실행문} 그러나 while문은 다음과 같은 문법을 가지고 있습니다. while(조건식){실행문} For 문은 다음과 같은 문법을 가지고 있었습니다. 초기식과, 증감식이 사라진 것을 볼 수 있지요 ? 초기식과 증감식은 사용자가 원하는 위치에 집어넣어서 사용할 수 있습니다. for문과는 다르게 조금 더 활용에 있어서 자유롭다고 해야할까요 ? 그러나 익숙하지 않다면 실수하는 것도 더 잦을 수 밖에 없습니다. 따라서 보통 일반적인 경우 , (횟수별로 반복)하는 경..
프로토콜이 뭐야 ?네트워크 용어에 대해 잘 모르는 분들이 계실 수 있으므로 살짞 짚고 넘어가자. 프로토콜이란 서로 데이터를 주고받을 때에 상호 지키기로 한 규약 이다. 영어 단어 자체도 외교 의례 라는 단어를 갖고 있다. 디바이스들이 주고받는 언어 라고 할 수 있다. 내가 멕시코 친구한테 '안녕 ? 어디서 왔니 ? ' 라고 하면 이해하지 못하는 것처럼, 데이터를 보낼 때에도 서로 이해할 수 있는 프로토콜을 사용하여야 통신이 가능해진다. MQTT 프로토콜 특징 MQTT 프로토콜은 IoT 프로토콜 솔루션이다. Message Queue Telemetry Transport 의 약자이다. 이 프로토콜은 사물인터넷 구축을 위해서 필요한 점들을 시원하게 긁어주는 여러가지 장점을 지녔다. 사물인터넷을 구축하는데 있어서..
달콤 스킨 #1 , 그림 클릭 !more_vert 2016. 01. 22 달콤 스킨 #1close 처음으로 스킨을 만들어 보았다 !티스토리 블로그를 마음 잡고 시작한지 1달이 되어가네요. 계속해서 티스토리에서 만들어준 #1이랑 #2만 쓰다가, 이번에 한번 새로 만들어보았습니다. 한 3일은 붙들고 있었던거 같네요.. 프로젝트 하느랴 포스팅 하느랴 정신없었는데 스킨 제작 과정이 가장 정신없는 일이였던 것 같습니다. 치환자가 뭔지, 어디부터 손을 대야할지 도저히 감이 안잡혔지만 그래도 그럭저럭 해냈습니다 ! 스킨 만든다는건 굉장히 머리아픈 일이네요... 디자인에 감각이 없는 사람이라서 라이브러리를 많이 활용했던 것 같습니다. Materialize라고 아주 고마운 라이브러리가 있거든요. 어쨌든, Demo는 아래..
이미지 출처: http://www.kpcb.com/blog/how-kleiner-perkins-invests-in-the-internet-of-things-picking-the-winners사물인터넷 이란? 요즘 IT 시장에서 가장 핫한 키워드를 꼽자면 사물인터넷 과 인공지능 이라고 할 수 있다. 물론 더 세부적으로 보자면 스마트카 , 빅데이터 이야기도 나오겠지만, 스마트카도 결국 사물이고 빅데이터를 이용해서 인공지능 의 능력이 강화된다. 그 중 사물인터넷에 대해서 이야기해보자. 사물인터넷은 영어 단어 IoT, 즉 Internet of Thing 의 한글 말이다. Thing 이 인터넷을 하는 주체가 되는 기술이 바로 사물 인터넷이다. 지금까지 인터넷과 연결되어 움직이던 디바이스들은 크게 컴퓨터 와 전화기..
Bower ?혹시나 프론트 엔드라는 개념을 아직 모르시는 분이 계시는 분을 위하여 , 프론트 엔드는 사용자가 마주하는 부분을 의미합니다. 백 엔드는 프론트와 반대 개념으로, 사용자가 마주하지 못하는 뒤에서 돌아가고있는 서버를 뜻합니다. 따라서 웹 개발에 있어서 프론트엔드는 브라우저에서 보는 화면들 에 해당합니다. Bower는 이 프론트엔드에서 필요한 라이브러리들을 관리해줍니다. 웹페이지를 만들다 보면, 많은 라이브러리 들을 사용하게 됩니다. jquery, angularjs, bootstrap, materialize ..... 따라서 파일이 많아질수록 관리하는 것은 힘들어(귀찮아) 집니다. 그런 어려움을 극복하기 위한 모듈이 bower입니다. 설치 및 사용법Bower 또한 node.js 의 모듈 중 하나이..
MongoDB 명령어모든 명령어는 Mongo 를 실행한 후에 help 치면 볼 수 있다.그 중 일부분 자주 사용되는 명령어들이다.show dbs : 현재 존재하는 db들의 이름을 보여준다.show collections : 현재 사용하고있는 db의 컬렉션들을 보여준다. (컬렉션은 mysql의 테이블과 비슷한 개념)show users : 현재 존재하는 사용자들을 보여준다.exit : mongo shell을 종료한다.MongoDB Collection 명령어Collection 과 관련된 명령어 들이다.db.mycoll.help() 라고 검색하면 모든 명령어가 나온다.그 중 자주 사용되는 명령어들이다.아래 명령어에서 mycoll은 사용할 collection 이름이다. db.mycoll.count( query = ..
현재 구현 : 로그인 / 회원가입 / 캐릭터 생성 / 전투 디자인 관리자 : 몬스터 추가 / 던전 추가 / 전투 승리 / 패배 지역 정보 / 지역별 던전 구현 예정 : 길드 정보 / 캐릭터 상세 정보 현재 던전별로 나오는 몬스터의 비중을 관리자가 조절 가능하게 만들어 두었다. 구상 중에는 던전의 몬스터를 정해진 카운트만큼 잡으면 해당 던전의 보스몬스터가 나오고 , 파티 혹은 공격대를 이루어 보스몬스터를 같이 잡으러 들어갈 수 있게 만들 계획이다. 아무래도 파티 전투가 알고리즘이 복잡해지지 않을까 싶고, 캐릭터 상세 정보 (공격력, 방어력 등의 세부 수치들) 정하는 것도 어려울 듯 하다. 작년 이맘쯤에 웹게임을 만들겠다고 끙끙댔던 적이 있었다. 그땐 php로 만들어보겠다고 옛날 게임 소스들 뒤적거리다가 포..
No SQL이란?NoSQL 데이터베이스는 전통적인 관계형 데이터베이스 보다 덜 제한적인 일관성 모델을 이용하는 데이터의 저장 및 검색을 위한 매커니즘을 제공한다. 이러한 접근에 대한 동기에는 디자인의 단순화, 수평적 확장성, 세세한 통제를 포함한다. NoSQL 데이터베이스는 단순 검색 및 추가 작업을 위한 매우 최적화된 키 값 저장 공간으로, 레이턴시와 스루풋과 관련하여 상당한 성능 이익을 내는 것이 목적이다. NoSQL 데이터베이스는 빅데이터와 실시간 웹 애플리케이션의 상업적 이용에 널리 쓰인다. 또, NoSQL 시스템은 SQL 계열 쿼리 언어를 사용할 수 있다는 사실을 강조한다는 면에서 "Not only SQL"로 불리기도 한다.- 출처 : 위키백과, 우리 모두의 백과사전. - MongoDB는 대푯적..
시작하기 전에..이번 내용도 저번 시간에 했던 내용들을 그대로 이어서 한다. 그러나 몇몇 변화한 점이 있다. style 부분을 ts 내부에서 style로 선언해 준것이 아니라 처음 실행 화면인 angular2.ejs 파일 내부에 추가시켰다. 따라서 화면에 bootstrap.css 파일을 불러들이는 코드를 집어넣어주도록 화자. 을 ejs 파일에 추가시켜주면 되겠다.객체 구분하기 사실상 이번 포스트 결과물은 저번 포스트의 결과물과 별다를 것이 없다. 그러나 결과물은 같을지 몰라도 그 파일들을 보면 분명히 다르다는 것을 알 수 있다. 중요한 점은 파일을 기능별로 세분화하여 구분하였다는 것이다. 이는 관리하는 데에 있어서 굉장히 편한 점으로 다가올 것은 분명한 사실이다. 123456export interface..
Express-session 모듈HTTP 는 Stateless 한 통신을 한다. 즉 현재 상태에 대한 정보를 프로토콜 내부에서 기록하지 않는다는 것이다. 따라서 로그인 정보, 고객 정보 등을 브라우저에서 가지고 유지할 방법이 없었다. 따라서 이러한 필요에 의해서 나온 것이 쿠키 / 세션 의 개념이다. (자세한 설명은 네트워크 공부를!) 세션은 정보를 서버에서 저장한다. Express 에서 또한 이 세션을 유지하기 위한 모듈을 제작해 두었는데, 이것이 Express-session 이다. 기존에는 Express 모듈 내부에 자체 내장된 session 기능이 있었는데, 이를 따로 자체 모듈화 하였기 때문에 직접 설치하고 세팅해주어야 한다. 보통 세션을 통해서 로그인 정보를 서버 메모리에 저장한다. 또는 인터넷..
검색 엔진 최적화?검색 엔진 최적화, 영어로 Search Engine Optimization 은 각각의 검색 엔진들(구글, 다음, 네이버 등)에 자신의 웹 페이지가 검색의 상위에 나올 수 있도록 페이지를 재구성/최적화 시키는 것을 의미한다. 흔히 웹 마케팅을 인터넷 마케팅 / 바이럴 마케팅 이 있다고들 한다. 바이럴 마케팅은 입소문을 타고 사람들이 계속해서 찾아오게 하는 것이고, 인터넷 마케팅은 인터넷 곳곳에서 자신의 페이지로 찾아오게 하는 것이다. 검색 엔진 최적화는 따라서 인터넷 마케팅에 해당하겠다. 최적화 어떻게 ?검색 엔진 최적화는 검색 엔진에 따라 다르게 최적화 시켜야 한다. 작업장들이 키워드 생성을 통해서 블로그 광고료를 벌고, 악성 블로그들이 늘어남에 따라서 검색 엔진의 알고리즘도 계속해서 ..