전체보기
126개의 글
Broker MQTT에서는 발행자와 구독자 사이에 브로커가 존재한다는 사실을 우리는 이미 안다. 이 브로커는 그 자체로 구독자이며, 발행자이기도 하다. 여러 프로그램들이 개발되었고, 배포되고 있으나 내가 사용할 프로그램은 Mosquitto이다. 모기가 여어로, mosquito 이다. t가 하나인데, MosQuiTTo 로 만들기 위해 의도적으로 t를 2개 쓴 것이 아닌가 싶다. 이런걸 보면 프로그래머들의 재치는 참, 대단하다. 브로커를 다운받고, 설치해보자. 모스키토 다운로드 페이지 위의 페이지에서 각자 운영 체제에 맞는 설치 파일을 받도록 하자. 윈도우의 경우, 실행하면 위와 같은 페이지가 뜬다. 두 링크르 따라 들어가서 필요한 파일들을 다운받자. OpenSSL은 Light 버전을, pthreads는 p..
Circuit Switching Circuit Switching? Call 을 위하여 end - end 사이의 resource를 예약해서 사용하는 방식. link의 bandwidth, switch capacity가 화두가 된다. link의 resource를 점유하고 있기 때문에, capacity를 넘어서면 다른 End가 사용할 수 없다. Circuit처럼 하나의 라인을 열어두고 거기에서 정보를 전달하기 때문에 보장된 통신이 가능하다. Call을 위한 Setup 작업이 필요하다.Three phases:Circuit establishment(call setup) - Data를 보내기 전에, end-to-end circuit을 연결해주는 작업이 필요함.Data transfer - Circuit이 구성되었으면,..
고기 온도계? 고기 요리할 때에 가장 중요한 것은 소스도, 다른 재료들도 있겠지만 아무래도 고기가 얼마나 잘, 적당히 익었는가가 아닐까 합니다. 요리 전문가들은 각종 노하우들로, 몸으로 체득한 기술들로 고기를 맛있게 굽는다지만 일반인들에겐 아무래도 힘든 감이 있었는데, 이 제품은 그러한 어려움을 해결해줍니다. 아래 나무 판은 충전기 역할을 한다고 합니다. 꽂아두면 충전할 수 있는거죠. 위와 같이 고기에 꽂아서 익히고, 어플로 고기 외부의 온도, 내부의 온도, 가해지는 열 환경의 온도를 측정할 수 있다고 합니다. 고기 요리를 할 때 있으면 훨씬 더 맛있는 요리를 할 수 있겠네요 ! 집에서 Meater로 요리 해먹는게 레스토랑에 가는것보다 싸다고 하네요 재밌는 사진입니다. 구매 정보 / 가격 인디고고 Mea..
채팅방 구현 완료 ! 아래 사진은 안드로이드 어플인데, one 탭은 사냥 및 각종 게임에 관련된 곳, Two 탭은 채팅 탭이다. 광산 기능 구현 완료 !실버 을 얻었다니.. 나중에 살짝 손봐야겠다. 여러 인원이 한 광산에서 채광할 수 있으며, 광산의 체력은 1시간 마다 충전된다. (시간 정확히 미정) 남이 캔 것도 이곳에 나온다. 광석으로는 장비를 제작할 수 있다. 현재 일반 던전은 스킬을 비롯해서 모든 기능을 구현하였다. 레이드를 현재 고민중인데, 다수의 인원이 한번에 싸우게 만들지 (어그로 개념이 어렵더라..) 아니면 1:1 전투를 하고, 보상을 나눠 받게 만들지.. 천천히 생각해 봐야겠다. 대장간에서 장비를 만드는 기능을 다 만들었고, 수치는 조정이 필요해 보인다. 제련소 / 상점 / 보석상은 아직..
코골이 방지! 같이 사는 사람이 코를 심하게 곤다면 이것만큼 짜증나는 일이 없다. 밤에 잠을 설치면, 그 다음날 하루 종일 피곤하고 기분이 별로일테니까! 이 제품은 코골이를 자체적으로 막는 것이 아니라, 코 고는 소리를 퍼지지 않게 만들어서 주변 사람들을 도와준다 !위의 남자가 코에 걸치고 있는 저 제품이다. 걸치기만 하면 된다. 원래는 이렇다고 한다. 코고는 소리의 파동(음파)를 받아들이고, 그 음파의 반대되는 주파수의 파동을 보내어 코고는 소리가 퍼져나가지 못하게 막아버리는 것이다. (잘 모르겠지만 신기하지 않을 수 없다.) 따라서 가까이에선 소리가 들리지만, 조금 떨어지면 코고는 소리가 나지 않는다고 한다. 위와 같이 코고는 소리가 퍼져나가지 않아서, 주변 사람이 숙면을 취할 수 있게 된다 ! 구매..
네트워크 기초 네트워크란 무엇인가?The interconnection of a set of devices capable to carry some information. (정보들을 전달할 수 있는 단말기들의 인터커넥션)Telephone network, Internet, cable network, ISDN 등이 있음.인터넷의 구성요소 Hosts = end systems네트워크 어플리케이션들을 실행함communication links두개나 혹은 그 이상의 nodes들을 직접(directly) 연결하는 물리적 수단. (link는 직접 연결에 등장)Fiber, Copper, radio, satellite 등 다양한 방식으로 연결됨 Transmission rate vs bandwidthRouter (switch)패..
Project Blue 네트워크 환경에 접속하는 것은 항상 보안의 문제를 내포하고 있습니다. 집에서는 물론이고, 카페나 공공 장소에서의 와이파이는 심각한 보안의 위험에 노출되어 있습니다. 그러나 그러한 보안 문제 때문에 인터넷을 사용하지 않기에는 너무나도 불편한 것이 요즘 세상입니다. 웹 접속에서 보안을 유지해주며, 개인 정보 유출을 막아줄 수 있도록 나온 것이 이번에 인디고고에서 나온 휴대용 보안 라우터 '프로젝트블루' 입니다. 매우 작은 물건임에도 불구하고 위와 같은 다양한 기능들을 포함합니다. 누군가 당신의 네트워크의 정보를 훔쳐갈 위험으로부터 벗어날 수 있습니다. 존 드레이퍼라는 미국의 유명한 프로그래머가 개발에 참여했다는 것만으로도 펀딩에 가속이 붙은 상황입니다. 특히 존 드레이퍼 팬 패키지는 ..
Mongoose 모델의 강점 Mongoose는 ODM으로 , 스키마 구성 -> 모델 구성 후에 모델을 이용하여 MongoDB에 데이터를 CRUD 작업 할 수 있다. MongoDB는 NoSQL로 스키마 등의 제한이 없다는 굉장한 장점이 있었는데, Mongoose는 왜 다시 스키마를 불러왔는가 ? 스키마와, 모델의 구성을 가져왔으나 제한은 가져오지 않았다는 것이 굉장한 장점이다. 즉, 장점은 가져오되 제한점은 가져오지 않은 것이다. 스키마-모델을 통하여 컬렉션에 들어가는 데이터(MongoDB에서는 도큐먼트, 즉 문서라고 함) 들의 통일성을 줄 수 있다. 그러나 스키마를 반드시 따라서 집어넣어야 하는 제한은 없다. 예를 들어 Person이라는 스키마를 만들자. 12345678var personSchema = ..
QoS 란? QoS는 서비스의 질을 보장해주는 레벨을 의미한다. 사물인터넷은 무선의 네트워크 망에서 통신한다. 와이파이, 지그비, 블루투스 등을 사용하는데 이러한 통신망은 아무래도 유선 통신보다 불안정하다. 따라서 이러한 불안정함을 프로토콜 상에서 안정적으로 보내주기 위하여 QoS가 필요하다. QoS 레벨 그러나 통신을 할 때에 항상 완벽하게 보내야 할 필요는 없다. 때로는 보내져도 좋고, 안보내져도 상관 없는 경우도 존재한다. 따라서 QoS를 지켜야 할 정도를 등급(레벨)로 나누어서 구분하는데, MQTT에는 3가지 레벨로 정의한다. 위의 사진이 MQTT의 QoS 이다. QoS 레벨 0은 보내고 잊는다. 잊는다는 것은 저장하지 않는다는 뜻이다. 한번에 전송이 성공하지 않으면 전송은 실패한 상태로 끝이 난..
MagSix 맥식스는 자석으로 된 USB 케이블입니다. 핸드폰에 미리 끼워두고, 케이블을 가져다 대면 알아서 제자리를 찾아 가는 제품입니다. 아래 사진과 같이 작동합니다. 저렴하고, 아이폰 / 안드로이드 둘다 사용 가능하기 때문인지 굉장한 호응을 얻고 있습니다. 충전량도 굉장히 강력합니다. 눈을 감고도, 한손으로도 바로 충전기를 꽂을 수 있다고 하니 편리해 보입니다. 또한 USB 부분은 거꾸로 꽂아도 작동하는 기술을 넣었다네요. 이거 USB 꽂을 때 가끔 불편했는데 좋아 보이네요 ! PRO-OTG 제품도 있는데, 이 제품은 기존 USB 부분이 위와 같이 USB도 되고, 라이트닝 혹은 마이크로 usb 케이블로 바꿀 수 있는 제품입니다. 폰에서 폰으로 배터리를 충전할 수 있다고 합니다. 이곳에 내용이 들어갑..
Seed 저번에도 물통을 올렸었는데, 오늘도 물통이네요. 물을 많이 마시는 것이 몸에 좋으니, 관련 제품이 계속해서 나오고 인기를 끌고 있습니다. 색상은 위와 같이 다양한 색상이 있습니다. 물통의 크기는 위와 같습니다. 역시 중요한 것은 기능이겠지요 ? Seed 보틀은 물을 마셔야 할 시간에 알람을 주어서 물을 마시게 해주고, 내부의 물 온도를 알려주며 물이 오래되어 상했을 위험이 있으면 알려줍니다. 보온의 기능도 쓸만해 보이네요. 어플과 연동하여 얼마나 물을 마셨는지 알 수 있으며, 물을 마신 양으로 게임을 진행할 수도 있다고 합니다. 구매 방법 사이즈 관계 없이 2병을 사면 $99 에 살 수 있습니다. 10만원의 높은 가격이지만, 물을 안 마시는 습관을 고칠 수 있다면 싼 가격이 아닌가 합니다. 1개..
dokiWatch ? 아이들을 위한 스마트 워치입니다. 일반 스마트 워치들이 자신의 스마트폰과 연동하여 사용하는 반면에 도키워치는 그 자체로 스마트폰의 기능을 가지고 있습니다. 물론 제한적인 성능이지만 말이죠. 기능은 전화, 위치 추적, SOS, 건강 상태 확인, 게임 기능 등이 들어 있습니다. 위와 같이 영상통화도 가능하네요. 따로 스마트폰을 사주지 않아도, 시계에 USIM 칩만 끼워주면 되고 자식들 걱정을 덜 수 있다는게 장점으로 보입니다. 가격은 $179이며, 현재 펀딩중에는 $149에 구매할 수 있습니다. 물건은 5월에 받아볼 수 있다고 합니다. 구매는 아래 링크에서 할 수 있습니다. 킥스타터 dokiWatch
Scanf 공백 ? 왜 이런 포스팅을 올리냐면, 일반적인 scanf의 %s로는 공백을 입력받을 수 없습니다. 띄어쓰기를 입력하면, 거기에서 문자열을 그만 받게 됩니다. 12345678#include #include void main() { char str[20]; scanf("%s", str); printf("%s", str);}cs 간단하게 위와 같은 함수를 사용해봅시다. 아, %s는 문자열을 받는 것이고, 문자열이란 char의 배열입니다. 따라서 한 글자가 아닌 단어단위의 표현이 가능하게 되는거죠. 위 코드를 실행해봅시다. 위의 사진처럼 띄어쓰기 없는 글은 다 입력을 받지만, 띄어쓰기 즉 공백이 있으면 그자리에서 입력을 멈춥니다. 이를 해결하기 위해서 scanf의 %s를 조작할 필요가 있습니다. %[..
KUKE 케이스 저번에 애플에서 보조배터리 일체형 케이스를 내놓았었죠 ? 바로 위 제품인데요, 외관도 보기 좋지 않고 가격도 창렬이라 아이폰 유저들에게도 쓴소리를 먹었던 제품입니다. 이번에 크라우드 펀딩 중인 KUKE 케이스는 디자인도 무난하고, iStick (보조 저장소) 기능도 들어갔습니다. 게다가 가격은 현재 애플 케이스의 반절 정도인 $69 로, 더 좋은 선택으로 보입니다. 외관 디자인은 위와 같습니다. 추가로 지원하는 기능도 위의 사진의 아래부분에 나와있네요. 케이스를 씌우는 것 만으로 보조배터리 + 보조 저장소 기능이 추가됩니다. 다른 제품들과 비교하는 모습입니다. 훨씬 슬림하고, 아래 툭 튀어나온 부분도 없어졌습니다. 기능은 더 많고, 디자인도 더 깔끔해졌네요. 착용 방법 위의 동영상처럼 간..
EJS 프레임워크 변수 처리 Express와 EJS 모듈을 사용하다 보면 같은 페이지에 다른 종류의 변수를 렌더해줘야하는 경우가 생긴다. 예를 들어 똑같은 login 페이지에, 성공할때에는 success 스트링을 출력하고, 실패할때에는 fail 스트링을 출력한다고 해보자. 123456router.get('/login', function(req, res, next){ if(req.body.id == "dalkom") res.render('login', {success:"로그인 성공!"}); else res.render('login', {err:"없는 아이디!"});})Colored by Color Scriptercs 위와 같은 라우팅 코드를 통해서 login.ejs 페이지를 렌더링한다고 할 때에, 아무 조..
- chevron_left
- 1
- 2
- 3
- 4
- 5
- 6
- ···
- 9
- chevron_right