'Story List'에 해당되는 글 179건
- 2015.04.14 :: [News] Steam Greenlight
- 2015.04.07 :: [News] Facebook messenger
- 2015.04.06 :: [News] live streaming
- 2015.04.01 :: [SQL] 보면서 익히는 SQL 학습
- 2015.03.27 :: [OS] Working set vs Page fault
- 2014.12.31 :: CR(0x0D,13), LF(0x0A,10)에 대한 이해
- 2014.04.25 :: hulu / youtube 국가 제한 풀기 1
- 2014.04.21 :: What's The Developer or Programmer?
- 2014.04.01 :: [Xml] Xml library 추천
- 2014.01.12 :: [Curl] API 사용 방법
스팀의 Greenlight은 개발 초기부터 사용할수 있는 효과적인 마케팅 방법이자, 적극적으로 유저들의 피드백을 받아 들일수 있는 방법
게임 초기 디자인 부터, 사용자 커뮤니티를 통해 적극적인 홍보 및 needs를 받아 들여, 성공의 가능성이 높게 접근 할수 있을 것으로 보임
https://steamcommunity.com/workshop/browse/?appid=765&browsesort=pending&browsefilter=pending&p=1
2015년 3월 25일 Facebook이 매달 약 600 million(약 6억명)이 사용하는 Messanger platform 을 개발자에게 개방 했다. 아울러 연동을 위한 SDK도 함께 개발을 하였다.
참조:
https://developers.facebook.com/blog/post/2015/03/25/introducing-messenger-platform-and-businesses-on-messenger/
https://developers.facebook.com/docs/chat#!/docs/messenger
생각 해보자, 매달 6억명이 사용하는 Platform이라? 재미난(?) 생각이 스물 스물 올라온다...ㅋㅋㅋ
Facebook이 messanger platform을 개방하면서, 선보인 약 40여개의 Apps을 살펴 보면, 근래에 이슈가 된 Vine, Periscope, Meerkat 등과 유사한 대한 app을 볼수 있다.
참조: https://developers.facebook.com/docs/messenger/showcase
그리고, 발표한 자료에서 개인적으로 감동(?) 받은 부분은 아래의 기능이다.
https://messenger.com/business
물론 현재 많이 사용되고 있는 SMS의 기능과 유사하다고 할수 있겠지만, 사용자 에게는 다른 경험을 제공한다고 느껴진다.
개인적으로 페이스북 메신저 내용을 보면서, 무섭다는 느낌이 들었다.
매달 6억 명의 사용자를 가지고 있으면서, 이를 통해 쌓이는 big data 분석은 "I don't know who I am, but Facebook must to be understood who I am" 문구와 같은 현실을 만들어 나가고 있다고 생각한다.
이를 바탕으로 business 영역으로 넓혀 가고 있는 Facebook이 만들어 가는 생태계가 기회?인지, 아니면, 또다른 절망?을 줄지 앞으로의 행보가 궁금해진다.
개인 방송국 시대가 열렸다. 난 무엇을 방송할까?
http://www.theguardian.com/technology/2015/mar/26/twitter-periscope-live-video-app-meerkat
여러 종류의 DB를 사용하며 SQL 쿼리를 작성시, 조금씩 쿼리가 다른점이 있어 헷갈릴 때까 있다. 그리고, 때때로 쿼리 syntax가 기억이 가물가물해서 웹서핑을 하는 경우가 있는데, 아래의 사이트는 이런 고민을 한번에 해결해 주는 것 같아 공유 합니다.
http://sqlzoo.net/wiki/SQL_Tutorial
Working set을 살펴 보기 전에 작업 관리자(Task Manager)를 살펴보자.
위를 보면, Working Set(작업 집합), Page fault(페이지 펄트)를 확인 할수 있다.
쉬운 이해를 위해 Questions 을 가지고 시작해보자.
1) Working Set 값이 높으면 좋은 것인가? 나쁜 것인가?
2) Page fault 값이 높으면 좋은 것인가? 나쁜 것인가?
(답변)
1) 좋다? 나쁘다?를 말할 수 없다. 왜냐면 Working set 값이 높다는 것은 해당 Process가 addressing하는 physical memory가 많다는 것이다. 그러나, 만약에 Working set이 계속 증가한다면 프로그램의 문제를 의심해야 함(예: 메모리 릭)
2) 나쁘다. 왜냐면, memory와 hard간에 swap이 빈번하게 발생한다는 것은 프로그램의 성능 및 프로그램 구현상에서 메모리 관리를 잘 못하고 있다는 의미로 해석해도 틀리지 않음.
언제나 그렇지만, MSDN을 찾아 보면 명쾌한 답변이 있음을 확인 할수 있다.
위의 글을 보면, 언제? 왜? Page fault가 발생하고, 이현상에 따라 Working Set이 어떻게 동작하는지 이해 할수 있다.
간단하게 정리하면, Swap에 의해, Page fault가 발생하게 되고, OS는 해당 프로세스의 Virtual address를 관리하는 MMU에 의해 Working set이 증가하게 됨
감사합니다.
CR(0x0D,13), LF(0x0A,10)에 대한 이해
1. 단어 정리
1) Carriage Return: 현재 줄에서 맨처음으로 간다.
2) Line Feed: 현재 위치에서 줄(Line)만 하나 내린다.
* 타자기에서 위의 의미라 유래 되었음.
2. "New line := '\n' := enter" 에 대한 시스템적 해석 차이
1) Unix/Linux 계열: LF
2) Windows: CR + LF
3) MAC: CR
4) 정규식에서는 CR 또는 LF 중 하나만 있어서 New line으로 인식함
영어 스터디 또는 미드를 보기 위해서 위해, 미국에 있을때는 hulu를 통해서 쉽게 접근 할수 있었으나, 한국에서는 국가 제한에 걸려 불편함(?)이 있다.
이런 저런 방법이 있지만,
http://hola.org 를 설치하고 접근하는게 최선이라고 생각된다.
What's The Developer or Programmer?
- Not coder.
- Not finding problem, but also developing solution about it through Research & Development.
개발을 하다보면, Xml Parser 때문에 고민을 하게 되는 경우가 있다. 개발자마다 조금씩 원하는 기능에 차이가 있을 수는 있지만, 아래의 조건이 필수 공통 사항이라고 판단된다. 개인적으로 XmlParser 를 추천함.
[원하는 라이브러리 조건]
1. Cross platform(Unix/Linux/Window)
2. Easy use ==> 가장 중요
3. Fast & Small
(장점) 단지 2개의 파일만 프로젝트에 포함하면 됨: XmlParser.cpp/XmlParser.h
http://www.applied-mathematics.net/tools/xmlParser.html
(또다른 유명한 xml library)
http://sourceforge.net/projects/tinyxml
http://xerces.apache.org/xerces-c/
http://www.firstobject.com/dn_markup.htm
http://xmlparselib.sourceforge.net/
근래 Web API를 개발 및 테스트를 하면 매우 유용하다.
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Virtualization/3.0/html/REST_API_Guide/appe-REST_API_Guide-cURL_Integration.html
yum install curl
Usage: curl [options]
uri
uri
refers to target HTTP address to send the request. This is a location on your Red Hat Enterprise Virtualization Manager host within the API entry point path (/api
). cURL options
- -X
COMMAND
, --requestCOMMAND
- The request command to use. In the context of the REST API, use
GET
,POST
,PUT
orDELETE
.Example:-X GET
- -H
LINE
, --headerLINE
- HTTP header to include with the request. Use multiple header options if more than one header is required.Example:
-H "Accept: application/xml" -H "Content-Type: application/xml"
- -u
USERNAME:PASSWORD
, --userUSERNAME:PASSWORD
- The username and password of the Red Hat Enterprise Virtualization user. This attribute acts as a convenient replacement for the
Authorization:
header.Example:-u admin@internal:p@55w0rd!
- --cacert
CERTIFICATE
- The location of the certificate file for SSL communication to the REST API. The certificate file is saved locally on the client machine. Use the
-k
attribute to bypass SSL. See Chapter 2, Authentication and Security for more information on obtaining a certificate.Example:--cacert ~/Certificates/rhevm.cer
- -d
BODY
, --dataBODY
- The body to send for requests. Use with
POST
,PUT
andDELETE
requests. Ensure to specify theContent-Type: application/xml
header if a body exists in the request.Example:-d "<cdrom><file id='rhel-server-6.0-x86_64-dvd.iso'/></cdrom>"
Example A.1. GET
request
GET
request lists the virtual machines in the vms
collection. Note that a GET
request does not contain a body. GET /api/vms HTTP/1.1 Accept: application/xml
GET
), header (Accept: application/xml
) and URI (https://[RHEVM-Host]
:8443/api/vms
) into the following cURL command: $ curl -X GET -H "Accept: application/xml" -u [USER:PASS] --cacert [CERT] https://[RHEVM-Host]:8443/api/vms
vms
collection displays. Example A.2. POST
request
POST
request creates a virtual machine in the vms
collection. Note that a POST
request requires a body. POST /api/vms HTTP/1.1 Accept: application/xml Content-type: application/xml <vm> <name>vm1</name> <cluster> <name>default</name> </cluster> <template> <name>Blank</name> </template> <memory>536870912</memory> <os> <boot dev="hd"/> </os> </vm>
POST
), headers (Accept: application/xml
and Content-type: application/xml
), URI (https://[RHEVM-Host]
:8443/api/vms
) and request body into the following cURL command: $ curl -X POST -H "Accept: application/xml" -H "Content-type: application/xml" -u [USER:PASS] --cacert [CERT] -d "<vm><name>vm1</name><cluster><name>default</name></cluster><template><name>Blank</name></template><memory>536870912</memory><os><boot dev='hd'/></os></vm>" https://[RHEVM-Host]:8443/api/vms
Example A.3. PUT
request
PUT
request updates the memory of a virtual machine resource. Note that a PUT
request requires a body. PUT /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1 Accept: application/xml Content-type: application/xml <vm> <memory>1073741824</memory> </vm>
PUT
), headers (Accept: application/xml
and Content-type: application/xml
), URI (https://[RHEVM-Host]
:8443/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399
) and request body into the following cURL command: $ curl -X PUT -H "Accept: application/xml" -H "Content-type: application/xml" -u [USER:PASS] --cacert [CERT] -d "<vm><memory>1073741824</memory></vm>" https://[RHEVM-Host]:8443//api/vms/082c794b-771f-452f-83c9-b2b5a19c039
Example A.4. DELETE
request
DELETE
request removes a virtual machine resource. DELETE /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1
DELETE
) and URI (https://[RHEVM-Host]
:8443/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399
) into the following cURL command: $ curl -X DELETE -u [USER:PASS] --cacert [CERT] https://[RHEVM-Host]:8443//api/vms/082c794b-771f-452f-83c9-b2b5a19c039
Accept: application/xml
request header is optional due to the empty result of DELETE
requests. Example A.5. DELETE
request with body
DELETE
request force removes a virtual machine resource as indicated with the optional body. DELETE /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1 Accept: application/xml Content-type: application/xml <action> <force>true</force> </action>
DELETE
), headers (Accept: application/xml
and Content-type: application/xml
), URI (https://[RHEVM-Host]
:8443/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399
) and request body into the following cURL command: $ curl -X DELETE -H "Accept: application/xml" -H "Content-type: application/xml" -u[USER:PASS]
--cacert[CERT]
-d "<action><force>true</force></action>" https://[RHEVM-Host]
:8443//api/vms/082c794b-771f-452f-83c9-b2b5a19c039