일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 스레드
- Stream
- express
- Django
- Knowledge Graph
- 스크럼 마스터
- scrum
- java
- 자바
- 이벤트 루프
- Python
- 소켓
- 노드js
- 노드
- 지식 그래프
- 예제
- 스크럼
- 개발자
- node.js
- ngrinder
- node
- 파헤쳐보자
- 특징
- C++
- socket.io
- RDF
- Router
- benchmark
- Groovy
- nodejs
- Today
- Total
라봉이의 개발 블로그
nodejs의 기본 모듈 중 하나인 fs는 file system의 약어이다. 말 그대로 fs 모듈을 이용해 파일 시스템에 사용되는 기능들을 사용할 수 있다. fs는 표준 POSIX 함수와 비슷하게 만들어놨기 때문에 예전에 리눅스 프로그래밍을 배운 필자로서는 fs모듈이 매우 흥미롭게 다가왔다. 모든 파일 시스템 연산은 동기식과 비동기식이 존재하는데 비동기식은 모두 연산이 완료되었을 시 마지막 argument에 callback으로 전달한다. callback의 첫번째 argument는 예외처리가 담긴 변수인데 예외가 없을 시 undefined나 null이 반환된다. 동기식의 오류처리는 try/catch로 잡을 수 있다고 하는데 nodejs에서 동기식을 사용한다는 것은 매우 비효율적이므로 따로 적지는 않겠다. ..
QGraphicsItem 클래스의 boundingRect 함수는 QGraphicsScene에 addItem된 QGraphicsItem들의 직사각형 모양의 외부 경계를 정하는 함수이다. QGraphicsView 안에 존재하는 QGraphicsScene 안의 이벤트를 감지한다. 이때 QGraphicsView는 item들을 다시 paint하는 지 결정해야하는데 이때 boundingRect에서 정한 아까의 직사각형이 scene 범위 외에 존재한다면 그 item을 paint하지 않는다. 그래서 boundingRect를 잘못 지정한다면 화면에 item이 없어졌다가 다시 생기는 현상을 목격할 수도 있다. 참고로 사진에 보이는 선들은 QGraphicsItem을 상속 받았다. 문서: qt docs 참고사진:
간단히 말하면 explicit 용어는 묵시적 형변환을 할 수 없게 만들고 명시적인 형변환만 가능하도록 만드는 것이다. 그렇다면 이렇게 굳이 귀찮게 하는 이유는 무엇일까? 묵시적으로 형변환을 가능하게 만들면 프로그래머가 개발할 때 의도 또는 생각지도 않는 오류가 발생할 수 있기 때문이다. 예를 들어, class Point{ private: int y; public: Point(int yy = 0) { y = yy; } void Print() const{ cout
이전 포스트: [Node.js] - [nodejs][socket.IO] 노드js 소켓 IO 사용기-1. socket.io란? 간단한 예제 코드 살펴보기 이전에는 socket.io를 간단히 사용하는 법을 살펴 보았다. 이번 포스트는 socket.io를 좀 더 유용하게 만들었던 함수들을 어떻게 썼는 지 정리해보고자 한다. 현재 연결된 소켓을 id로 찾기 현재 연결된 소켓 중에서 socket.id를 이용해 소켓 객체를 가지고 오고 싶을 때 io.sockets는 namespace를 리턴한다. namespace란 기본적으로 다른 end points나 경로를 지정하는 것을 의미한다고 정식 docs에 나와있다. 사용해보지 않아서 잘 모르겠지만 소켓들은 namespace를 통해 구분될 수 있고 이벤트를 달리할 수 있는..
socket.io란?? socket.io는 websocket 프로토콜을 지원하는 네트워킹 라이브러리이다. 비동기 이벤트 방식으로 "실시간"으로 간단하게 데이터를 주고받을 수 있게 만든 라이브러리이며 정말 쉽게 만들 수 있지만 강력한 기능들로 하여금 다양한 서비스를 만들 수 있다. 서버 사이드에서는 아직 node.js에서만 가능하고 클라이언트 사이드에서는 javascript가 가능한 곳, 브라우저 심지어 스위프트나 자바 안드로이드도 가능하고 C++11도 가능한 것으로 보인다. socket.io 깃허브 주소 위에서 설명했듯 socket.io는 Websocket 프로토콜을 사용한다. 원래는 웹 브라우저에서 양방향으로 자유롭게 데이터를 교환하기 위해서 WebSocket이란 개념이 나왔고 그것을 구현할 수 있도록..