본문 바로가기

전체 글

(72)
[Node.js] 동기와 비동기 동기와 비동기에 관해서도 자세하게 설명이 되어있어 한 번 포스팅 해보려고 한다. 기본적으로 사용하는 메서드들은 대부분 비동기고 동기는 잘 없다. 아무래도 자원의 활용률이라던가 속도라던가 여러 부분에서 동기보다는 비동기가 좋아서 그런게 아닐까? 다만 둘 다 원한다면 사용은 가능하다. const readFile = require('fs'); const fs = require('fs'); console.log('시작'); fs.readFile('./readme2.txt', (err, data) => { if (err) {throw err;} console.log('1번',data.toString()); }); fs.readFile('./readme2.txt', (err, data) => { if (err) {..
[Node.js] Promise 이전 책 그러니까 Do it!에서는 기본적으로 사용하던 var을 이제는 사용하지 않고 const와 let을 사용하고 콜백 함수 보다는 Promise 방식을 많이 사용한다고 한다. 그에 관해서 간략하게 정리할 것이다. Node.js 교과서에서도 기존에 사용하던 것과 동일하게 파일 시스템을 사용했다. const fs = require('fs'); fs.readFile('./readme.txt', (err, data) => { if (err){ throw err; } console.log(data); console.log(data.toString()); }) 기본적으로 Node.js 교과서에서는 var 보다는 const와 let을 funciton 보다는 화살표 함수를 많이 사용한다. 나도 대세에 맞춰서 일단 ..
[C/C++] 영화감독 숌 (백준 1436) 문제 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 2, 반지의 제왕 3과 같이 영화 제목을 지었다. 하지만 숌은 자신이 조지 루카스와 피터 잭슨을 뛰어넘는다는 것을 보여주기 위해서 영화 제목을 좀 다르게 만들기로 했다. 종말의 숫자란 어떤 수에 6이 적어도 3개이상 연속으로 들어가는 수를 말한다. 제일 작은 종말의 숫자는 666이고, 그 다음으로 큰 수는 1666, 2..
[C/C++] 체스판 다시 칠하기 (백준 1018) 문제 지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M*N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 8*8 크기의 체스판으로 만들려고 한다. 체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다. 구체적으로, 각 칸이 검은색과 흰색 중 하나로 색칠되어 있고, 변을 공유하는 두 개의 사각형은 다른 색으로 칠해져 있어야 한다. 따라서 이 정의를 따르면 체스판을 색칠하는 경우는 두 가지뿐이다. 하나는 맨 왼쪽 위 칸이 흰색인 경우, 하나는 검은색인 경우이다. 보드가 체스판처럼 칠해져 있다는 보장이 없어서, 지민이는 8*8 크기의 체스판으로 잘라낸 후에 몇 개의 정사각형을 다시 칠해야겠다고 생각했다. 당연히 8..
[C/C++] 덩치 (백준 7568) 문제 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x,y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x,y), (p,q)라고 할 때 x>p 그리고 y>q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다. 예를 들어 어떤 A, B 두 사람의 덩치가 각각 (56,177), (45,165) 라고 한다면 A의 덩치가 B보다 큰 셈이 된다. 그런데 서로 다른 덩치끼리 크기를 정할 수 없는 경우도 있다. 예를 들어 두 사람 C와 D의 덩치가 각각 (45, 181), (55,173)이라면 몸무게는 D가 C보다 더 무겁고, 키는 C가 더 크므로, "덩치"로만 볼 때 C와 D는 누..
[일상] 네이버 블로그 오랜만에 옛날에 썼던 네이버 블로그 들어가 보았다. 들어간 김에 글도 좀 적고 그런데 확실히 나이가 어렸었나보다 쓰는 용어라던가 문장의 배치라던가 어리숙한 느낌이 들더라. 지금도 뭐 뛰어나진 않지만 그 때보다는 조금 정제된 느낌... 근데 그냥 누군가가 포스팅을 봤을 때 무슨 글이 더 좋냐고 물으면 대부분 네이버 블로그의 글이 좋다고 생각하지 않을까 뭔가 중구난방하고 휘날려썼지만 정감가는 글이라는 점에서 말이다. 그런면에서 나는 요즘 점점 로봇이 되어가나보다 특히나 이런 글을 작성하는 부분에서는 말이다. 그래서 블로그 아마 가끔은 해도 괜찮을 것 같다. 라고 마음먹고 한 일주일도 안가서 그만둬버리니 이런 말을 하지말고 바로 블로그에 글을 써버려야지... 감정의 쓰레기통은 아니고 진짜 게임 같은 나의 흥미..
[Node.js] Do it! Node.js 후기 갑작스럽게 후기를 쓰게 되어서 너무 안타깝다. 어제까지만 해도 조금 어렵긴했지만 재밌게 공부하고 있었는데... 세상일이 그렇게 마음대로 되지는 않나보다. 책 자체도 조금 옛날 책이기도 하고 해서 그런건가. 나는 Yes24를 즐겨쓴다. 크게 이유는 없고 옛날부터 꾸준히 사용해와서? 쓰게 된 것 같다. 최근에도 책을 5권 정도 구입했는데 아무튼 평점이 8.1이다. 8.1... 개인적인 생각으로는 그렇게 낮은 점수라고 생각하지는 않지만 책을 구매하기엔 이거보다 더 좋은 평점의 점수가 있지 않을까 생각이든다. 그리고 점수를 낮게준 사람들의 마인드도 너무 이해가 간다. 계속 말이 길어지는데 후기를 적게된 결론은 코드 때문이다. 기본적으로 나는 '처음 배우는 입장'에서 그냥 컴퓨터공학적인 지식을 조금 가지고 다른 ..
[Node.js] 모듈화 저번 공부 때는 사실 여기서 포기하고 다시 시작한거여서 굉장히 조심스럽게 모듈화를 진행하였다. 한 번 꼬이니 답이 안나와서 갈아치우고 다시 한 건데 한 번 다시 보고나니 뭔가 좀 알 것 같더라... 그래도 오류가 나면 겁은 난다. 아무튼 하나씩 해보려고 한다. 파일은 총 3가지로 app.js, user.js, user_schema.js 이렇게 3가지다. user.js : 로그인, 회원가입, 사용자 목록 user_schema.js : database를 처리를 필요로 하는 함수 (사용자 확인 시 DB 검색, 사용자 추가시 DB 삽입) app.js : 메인 서버로 동작 user_schema.js var crypto = require('crypto'); var Schema = { }; Schema.createS..