How to Write a Great Research Paper  34'24"

- Simon Peyton Jones - Microsoft Research, Cambridge



1. Don't wait to write

- Idea → write paper → Do research

- writing paper is a primary mechanism for doing research



2. Identify your key idea

- goal is to convey an idea to reader

- can you hear the ping

  . many papers contain good idea, but do not distill what they are

  . make certain the reader is in no doubt what the idea is. be 100% explicit

    . ex1. the main idea of this paper is ...

    . ex2. in this section we present the main contributions of the paper...



3. Tell a story

- Imagine you are explaining at a whiteboard

  1) Here is a problem

  2) It's an interesting problem

  3) It's an unsolved problem

  4) Here is my idea

  5) My idea works (details, data)

  6) Here's how my idea compares to other people's approaches

  7) Structure (conference paper)

    . Title (1,000 readers)

    . Abstract (4 sentences, 100 readers)

    . Introduction (1 pages, 100 readers)

    . The problems (1 pages, 10 readers)

    . My idea (2 pages, 10 readers)

    . The details (5 pages, 3 readers)

    . Related work (1-2 pages, 10 readers)

    . Conclusions and further work (0.5 pages)



4. Introduction 

- Describe the problem

- State your contributions 


  → Evidence

   . Your introduction makes claims

   . The body of the paper provides evidence to support each claim

   . Check each claim in the introduction, identify the evidence, and forward reference it from the claim

   . "Evidence" can be: analysis and comparison, theorems, measurements, case studies


 → Contributions should be refutable

     

 → No "rest of this paper is..."

    . Instead, use forward references from the narrative in the introduction.

    . The introduction (including the contributions) should survey the whole paper, and therefore forward reference every important part

      (Bad ex) ‘computer programs often have bugs. It is very important to eliminate these bugs {1,2}.  Many researchers have tried {3,4,5,6.}.  It really is very important’

      (Good ex;)‘consider this program, which has an interesting bug <brief description>. We will show an automatic technique for identifying and removing such bugs.’



5. Related work




6. Put your readers first


   


- The idea 

  . Explain it as if you were speaking to someone using a whiteboard

  . Conveying the intuition is primary, not secondary

 . Once your reader has the intuition, she can follow the details (but not vice versa)

  . Even if she skips the details, she still takes away something valuable



7. Listen to your readers 

- Get your paper read by as many friendly guinea pigs as possible

  . Experts are good

  . Non-experts are also very good

  . Each reader can only read your paper for the first time once! So use them carefully

  . Explain carefully what you want ("I got lost here" is much more important than "Jarva is mis-spelt".)


- Getting expert help

  . A good plan: when you think you are done, send the draft to the competition saying "could you help me ensure that I describe your work fairly?"

  . Often they will respond with helpful critique (they are interested in the area)

  . They are likely to be your referees anyway, so getting their comments or criticism up front is Jolly Good.


- Treat every review like gold dust : Be (truly) grateful for criticism as well as praise



○ Summary


1. Don't wait to write

2. Identify your key idea

3. Tell a story

4. Nail your contributions

5. Related work: later

6. Put your readers first (examples)

7. Listen to your readers


more: research.microsoft.com/~simonpj




F8 2017 Keynote Day 1   1'17'28"


● Topic : AI, VR

● Speaker : Mark Zuckerberg(마크 저커버그, CEO), Mike Schroepfer(마이크 슈로퍼, CTO), Deb Liu(데브 리우, Platform/Market Place 총괄), Rachel Franklin(레이첼 프랭클린, Social VR 총괄), Ime Archibong(이메이 아치봉, Product Partnership 담당), David Marcus(데이비드 마커스, Messaging Product 담당)


- Mark Zuckerberg(마크 저커버그) 발표내용 요약

  . 지난 10년간 Facebook은 Connecting People (Connecting friends and family, 사람들을 연결) 하는데 집중했고, 향후 Building Community (커뮤니티 구축)하는데 집중할 것

  . Augmented Reality는 physical world(현실세계)를 digital(online)와 연결하여 실제세계를 더 나은 방향으로 만들어 줄 것

  . 카메라가 AR의 첫번째 플랫폼이 될 것 (사례: 포켓몬 고, Face Filter)

  . Augmented Reality 주요기술 3가지 : Precise Location(정확한 위치), 3D effect(3D효과), Object recognition (객체인식)


- Camera Effects Platform

  . Frames Studio : Facebook 카메라와 프로필 사진용 프레임을 직접 디자인 할 수 있는 편집기

  . AR Studio (베타) : 증강현실 기술을 기반으로 움직임, 실시간 방송 중 interaction 에 반응하는 애니메이션 효과 제작 가능


- Facebook Spaces : 오큘러스 리프트를 위한 베타 버전, VR앱으로 원격지 친구와도 가상현실 내에서 같은 공간에 있는 것처럼 활용 가능. Cirtual Maker(가상 마커)를 통해 허공에 그림을 그릴 수 있고 셀카봉을 이용하는 것처럼 본인의 가상현실 경험을 사진으로 남기고 Facebook내 공유 가능


- Developer Circles : 개발자라면 누구나 Community 참여 가능하며, 노하우 공유 및 협업 가능


- Places Graph : 전세계 1억 4천만 곳에 대한 장소 정보 데이터를 무료로 제공. 음식점, 공원 등 다양한 장소의 장소이름, 주소, 사진, User Review 정보를 제공


- Identity : Facebook 로그인과 Facebook 메신저를 이용하는 계정을 연동해서 고객 응대 가능


- Facebook Analytics : 무료로 제공되며, Demographic 통계정보 및 User behavior 관련 분석 가능. Machine Learning 및 AI기술을 활용한 Automated Insights(자동화 인사이트) 기능이 새로 추가되어 더 valuable한 정보 제공


- Facebook Messenger

  . Discover Tab : 개인 맞춤형 챗봇을 쉽게 찾을 수 있음. 메신저 앱 내 카메라로 메신저 카드를 스캔하면 선호 브랜드나 Business Page로 연결

  . Chat Extensions : 동종업계 사람들과의 채팅 및 챗봇과도 채팅이 가능

  . AI(인공지능) 비서 M을 통한 delivery.com 을 통해 음식 주문 가능

  . Smart Replies : Business page에서 연락처, 지도, 문연 시간 등 FAQ 응답하는데 유용

  . Hand-over Protocol : 메신저를 통해 개발자들간 소통 가능




F8 2017 Keynote Day 2  1'32'11"


● Topic : Connectivity, AI, VR

● Speakers : Mike Schroepfer(마이크 슈로퍼, CTO), Yael Maguire(야엘 머과이어, Connectivity Lab 총괄), Joaquin Quinonero Candela(호아낀 키뇨네로 깐델라, Applied Machine Learning Director), Michael Abrash(마이클 어브래쉬, Oculus VR 연구원), Regina Dugan(레지나 듀간, Building 8 부사장)


- Connectivity 

  . Facebook은 무선 데이터 전송 분야에서 3가지 경이적인 기록을 세움

    1) MMW(밀리미터 웨이브) 기술 - 13km 떨어진 지점에 36GB/s (초당 36GB) 속도로 데이터 전송

    2) 광회선 분배 기술 - 13km 떨어진 지점에 80GB/s (초당 80GB) 속도로 데이터 전송

    3) MMW(밀리미터 웨이브) 기술 - 비행중인 Cessna 경비행기에 16GB/s (초당 16GB) 속도로 데이터 전송

  . Terragraph System(테라그래프 시스템)을 산호세 다운타운에 시범 운영 중임

  . Tether-tenna(테더테나) : 응급상황에 활용 가능한 무선 인터넷용 소형 헬리콥더


- AI, Artificial Intelligence (인공지능)

  . Caffe2(모바일 활용가능한 AI framework) 를 오픈소스로 제공

  . AI 카메라 탑재 on Facebook, Instagram, Messenger : AI와 Computer Vision기술을 활용하여 피사체와 주변 환경을 인식


- Virtual Reality (가상현실) : 가상현실 동영상 제작이 가능한 Surround 360 Camera (서라운드 360 카메라) 공개


- Augmented Reality (증강현실) : 시각과 함께 청각도 증강하는 Full AR(완전 증강현실) 비전 공개. 가상현실을 현실세계에 투영하는 시스루(see-through) 증강현실 기술 발달에 대해 강조


- Brain-Computer Interface 관련 Building 8의 계획 (Building 8은 Facebook의 미션인 "Connecting the World"에 부합하는 하드웨어 제품 개발에 집중하는 팀)

  . for typing, 뇌를 이용해 컴퓨터/모바일에 문자를 타이핑하는 시스템으로 스마트폰에 100 words/m (분당 100단어)로 입력 가능한 시스템 개발이 목표. wearable sensor 기반 하드웨어로 개발될 것

  . for skin-hearing 피부로 소리를 들을 수 있도록 하는 하드웨어 및 소프트웨어 개발할 것





Artificial Intelligence


Natural Language Understanding @Facebook  22'25"

Making the Facebook Social Graph Semantic  23'50"

Casual 3D Capture  19'10"

Using Machine Translation to Remove Language Barriers on Facebook  21'04"




Virtual Reality


WebVR: Enabling Developers to Build Engaging Cross-Platform VR Content  49'10"

- React VR: Build amazing VR experiences using React  20'50"

- The Making of Facebook Spaces  41'56"

- Early Lessons in Social VR from Oculus Rooms  26'15"

- Crafting Compelling Narratives in VR  47'49"

- VR Together: Adding Social Components to Your VR Apps  41'01"

- VR201: Lessons from the Frontlines  48'35"




Engineering and Open Source


- Litho: A Declarative Framework for Efficient UIs  41"40

- The Evolution of React and GraphQL at Facebook and Beyond  45'23"

- React VR: Build amazing VR experiences using React  20'50"

- Building High-Quality JavaScript Tools  47'07"

- Hack: Compilations @ Scale  21'48"

- Moving Faster: Optimizing Developer Experiences of Facebook Engineers  23'40"

- Improving Android Accessibility with Stetho  18'54"

- How We Shipped Reactions  20'44"

- Building Offline Experiences for Instagram  17'33"

- Surround 360: Beyond Stereo 360 Cameras  34'28"

- 360 Capture SDK: Making VR Social Through Immersive Media Capture  18'02"

- The Evolution of Dynamic Streaming  43'20"

- Delivering Real-Time AI In the Palm of Your Hand  21'02"

- Building for a billion people: Behind the Scenes with Facebook's Product  20'28"




Facebook Platform


- Introduction to the Camera Effects Platform  49'03"

Intro to Building Camera Effects with the AR Studio: Live Demo  44'52"

Making Great Camera Effects  46'00"

Explore the power of the Places Graph  20'59"

Best Practices for Integrating Facebook Technologies into your Product  46'35"

Measure the Complete Customer Journey with Facebook Analytics  45'32"

Facebook Login and Account Kit: Sign up landscape, trends, and product  51'57"

Facebook Analytics: Introducing Automated Insights  17'05"

Powering Mobile Commerce on Facebook  21'02"

Build meaningful customer connections with Facebook  18'53"




Media and Publishers


Media and Facebook  43'18"

What's New with New Feed  18'05"

The Future of Video on Facebook  37'33"

Video Content That Connects  50'23"

Monetizing in a Video-First Environment  44'35"

Fireside Chat: The Future of Media  33'28"




Games


Building Native Games for Facebook Gameroom  21'02"

What's Next for Instant Games  43'00"

Understanding Gaming Video on Facebook  25'30"




Ads & Monetization


Create Fullscreen Experiences On Mobile with Canvas  18'36"

The Future of Monetizing with Audience Network  17'25"

Thinking Beyond the Install  38'41"

Marketing API's: The Automation Advantage, for All  22'48"

Discover New Facebook Advertising Tools  22'38"

Explore the Power of the Pages API  19'52"




Others Videos 


https://developers.facebook.com/videos/?category=f8_2017

- source : Facebook for developers



■ UNIX 명령어

* source : https://ko.wikipedia.org/wiki/유닉스_명령어_목록


명령어 설명 분류
admin SCCS 파일 작성 / 관리 SCCS
alias 별칭(Alias) 정의 / 표시 기타
ar 라이브러리 압축 파일 작성 및 관리 기타
asa 캐리지 제어 문자 해석 문자열 처리
at 나중에 명령어 실행 프로세스 관리
awk 패턴 검사 및 처리 언어 문자열 처리
basename 경로 이름 중 디렉터리가 아닌 부분만 반환. (dirname도 참고) 파일 시스템
batch 명령어를 배치 대기열에서 실행하도록 스케줄링 프로세스 관리
bc 임의 정확도 연산 언어 기타
bg 백그라운드에서 잡 실행 프로세스 관리
cc/c99 표준 C 프로그램 컴파일 C 프로그래밍
cal 달력 출력 기타
cat 파일 연결 및 출력 파일 시스템
cd 작업 디렉터리 변경 파일 시스템
cflow C 언어 플로그래프 생성 C 프로그래밍
chgrp 파일 그룹 소유권 변경 파일 시스템
chmod 파일 모드/특성/권한 변경 파일 시스템
chown 파일 소유권 변경 파일 시스템
cksum 파일 체크섬 및 크기 기록 파일 시스템
cmp 두 개의 파일 비교. (diff도 참고) 파일 시스템
comm 두 파일에 일치하는 줄 비교 문자열 처리
command 단순 명령어 실행 셸 프로그래밍
compress 데이터 압축 파일 시스템
cp 파일 복사 파일 시스템
crontab 주기적인 백그라운드 작업 스케줄링 기타
csplit 콘텍스트에 기반하여 파일을 나누기 문자열 처리
ctags 태그 파일 작성 C 프로그래밍
cut 파일 내 각 줄의 선택된 필드를 잘라내기 문자열 처리
cxref C 언어 프로그램의 교차 참조 테이블 생성 C 프로그래밍
date 날짜 및 시간 표시 기타
dd 파일 변환 및 복사 파일 시스템
delta SCCS 파일에 델타 (변경 사항) 적용 SCCS
df 남아있는 디스크 공간 보고 파일 시스템
diff 두 파일 비교 (cmp도 참고) 문자열 처리
dirname 경로 이름의 디렉터리 부분만 반환. (basename도 참고) 파일 시스템
du 파일 공간 사용량 측정 파일 시스템
echo 인수를 표준 출력에 기록 셸 프로그래밍
ed 표준 문서 편집기 문자열 처리
env 명령 호출을 위한 환경 설정 기타
ex 문서 편집기 문자열 처리
expand 탭을 공백으로 바꾸기 문자열 처리
expr 인수를 식으로 받아 출력 셸 프로그래밍
FALSE 거짓 값 반환 셸 프로그래밍
fc 명령 역사 목록 처리 기타
fg 포그라운드에서 잡 실행 프로세스 관리
file 파일 종류 결정 파일 시스템
find 파일 찾기 파일 시스템
fold 긴 줄의 출력 필터링 문자열 처리
fort77 포트란 컴파일러 포트란77 프로그래밍
fuser 하나 이상의 열린 파일이 있는 모든 프로세스의 프로세스 ID 나열 프로세스 관리
gencat 서식 있는 메시지 카탈로그 생성 기타
get SCCS 파일 버전 취득 SCCS
getconf 구성 값 취득 기타
getopts 유틸리티 옵션 파싱 셸 프로그래밍
grep 패턴에 따른 문자열 검색 기타
hash 해시 데이터베이스 접근 방식 기타
head 파일의 처음 부분 복사 문자열 처리
iconv 코드셋 변환 문자열 처리
id 사용자 정보 반환 기타
ipcrm 메시지 큐, 세마포어 집합, 공유 메모리 세그먼트 식별자 제거 기타
ipcs 프로세스 간 통신 기능 상태 보고 기타
jobs 현재 세션의 잡 상태 표시 프로세스 관리
join 공통된 필드를 기반으로 두 개의 정렬된 텍스트 파일 병합 문자열 처리
kill 프로세스 종료 또는 신호 전송 프로세스 관리
lex lex를 위한 프로그램 생성 C 프로그래밍
link 파일에 대한 하드 링크 만들기 파일 시스템
ln 파일 연결 파일 시스템
locale 로케일 관련 정보 취득 기타
localedef 로케일 환경 정의 기타
logger 로그 메시지 셸 프로그래밍
logname 사용자의 로그인 이름 반환 기타
lp 파일을 프린터로 보내기 문자열 처리
ls 디렉터리 내용 나열 파일 시스템
m4 매크로 전처리기 기타
mailx 메시지 처리 기타
make 여러 그룹의 프로그램을 유지 보수, 업데이트, 재생성 프로그래밍
man 시스템 문서 표시 기타
mesg 메시지 허가 또는 거부 기타
mkdir 디렉터리 만들기 파일 시스템
mkfifo FIFO 특수 파일 만들기 파일 시스템
more 페이지 단위로 파일 보기 문자열 처리
mv 파일 이동 파일 시스템
newgrp 새로운 그룹으로 변경 (기능은 sg와 비슷함[1]) 기타
nice 변경된 nice 값으로 유틸리티 호출 프로세스 관리
nl 줄 수 필터 문자열 처리
nm 오브젝트 파일의 이름 목록 쓰기 C 프로그래밍
nohup 터미널을 종료해도 계속 프로세스가 실행되도록 처리 (SIGHUP) 프로세스 관리
od 다양한 형식으로 파일 덤프 기타
paste 파일의 일치하는 줄 병합 문자열 처리
patch 변경 사항을 파일로 적용 문자열 처리
pathchk 경로 이름 검사 파일 시스템
pax 포터블 아카이브 인터체인지 기타
pr 파일 인쇄 문자열 처리
printf 서식 있는 출력물 쓰기 셸 프로그래밍
prs SCCS 파일 인쇄 SCCS
ps 프로세스 상태 보고 프로세스 관리
pwd 작업 디렉터리 출력 - 작업 디렉터리 이름 반환 파일 시스템
qalter 배치 잡 변경 배치 유틸리티
qdel 배치 잡 삭제 배치 유틸리티
qhold 배치 잡 홀드 배치 유틸리티
qmove 배치 잡 이동 배치 유틸리티
qmsg 메시지를 배치 잡으로 보내기 배치 유틸리티
qrerun 배치 잡 반환 배치 유틸리티
qrls 배치 잡 해제 배치 유틸리티
qselect 배치 잡 선택 배치 유틸리티
qsig 배치 잡 신호 전송 배치 유틸리티
qstat 배치 잡 상태 보기 배치 유틸리티
qsub 스크립트 제출 배치 유틸리티
read 표준 입력으로부터 줄 읽기 셸 프로그래밍
renice 실행 중인 프로세스의 nice 값 설정 프로세스 관리
rm 디렉터리 엔트리 제거 파일 시스템
rmdel SCCS 파일로부터 델타 제거 SCCS
rmdir 디렉터리 제거 파일 시스템
sact 현재의 SCCS 파일 편집 활동 출력 SCCS
sccs SCCS 서브시스템을 위한 프론트엔드 SCCS
sed 스트림 편집기 문자열 처리
sh 셸: 표준 명령어 인터프리터 셸 프로그래밍
sleep 특정 주기 동안 실행을 일시 정지 셸 프로그래밍
sort 텍스트 파일의 정렬, 병합, 시퀀스 검사 문자열 처리
split 파일을 여러 개로 나눔 기타
strings 파일 내에서 출력 가능한 문자열 찾기 C 프로그래밍
strip 실행 파일로부터 불필요한 정보 제거 C 프로그래밍
stty 터미널을 위한 옵션 설정 기타
tabs 터미널 탭 설정 기타
tail 파일의 마지막 부분 복사 문자열 처리
talk 다른 사용자와 대화 기타
tee 표준 출력 복제 셸 프로그래밍
test 프로그래밍 식 평가 셸 프로그래밍
time 명령 시간 측정 프로세스 관리
touch 파일 접근 및 수정 시간 변경 파일 시스템
tput 터미널 특성 변경 기타
tr 문자열 전송 문자열 처리
TRUE 참 값 반환 셸 프로그래밍
tsort 토폴로지 방식의 정렬 문자열 처리
tty 사용자의 터미널 이름 반환 기타
type 명령어로 사용하는 경우 이름이 어떻게 해석될지 표시 기타
ulimit 파일 크기 제한 설정 및 보고 기타
umask 파일 모드 작성 마스크 취득 및 설정 기타
unalias 별칭(alias) 정의 제거 기타
uname 시스템 이름 반환 기타
uncompress 데이터 압축 풀기 기타
unexpand 공백을 탭으로 바꾸기 문자열 처리
unget SCS 파일의 이전 취득 취소 SCCS
uniq 파일 내 반복되는 줄 보고 또는 필터링 문자열 처리
unlink unlink 함수를 호출 파일 시스템
uucp 시스템 대 시스템 복사 네트워크
uudecode 이진 파일 디코딩 네트워크
uuencode 이진 파일 인코딩 네트워크
uustat uucp 상태 조회 및 잡 제어 네트워크
uux 원격 명령 실행 프로세스 관리
val SCCS 파일 유효성 검사 SCCS
vi 화면 지향 (시각) 디스플레이 편집기 문자열 처리
wait 프로세스 완료 대기 프로세스 관리
wc 줄, 낱말, 바이트, 문자 수 세기 문자열 처리
what SCCS 파일 식별 SCCS
who 누가 시스템에 있는지 표시 시스템 관리
write 다른 사용자의 터미널에 기록 기타
xargs 인수 목록 구성 및 호출 유틸리티 셸 프로그래밍
yacc yacc C 프로그래밍
zcat 데이터 확장 및 연결 문자열 처리



chmod : 권한 변경

r 읽기 허용, w 쓰기 허용, x 실행 허용 (u 사용자, g 그룹, o 기타, a 전체)

examples: 

chmod 777 filename.txt

chmod -R 777 directory

000 ---- --- ---

111 ---x --x --x

222 --w- -w- -w-

333 --wx -wx -wx

444 -r-- r-- r--

555 -r-x r-x r-x

666 -rw- rw- rw-

777 -rwx rwx rwx


chown, chgrp : user / group 변경

examples: 

chown file12 file12.txt (** file12.txt 파일을 file12 user 권한)

chown -R file12 file12.txt

chgrp file12 file12.txt (** file12.txt 파일을 file12 group 권한)

chgrp -R file12 file12.txt



tar xvzf : tar 압축 풀기

examples:

tar xvzf zipfile1.tar


tar cvzf : tar 압축하기

examples:

tar cvzf zipfile1 .


gzip : gzip 압축하기

examples:

gzip gzfile1.txt (gzfile1.txt.gz 이 생성됨)


gunzip : gzip 압축 풀기

examples:

gunzip zipfile1.txt.gz


unzip : zip 압축 풀기

examples:

unzip zipfile12.zip



■ vi editor

exmaples: 

vi filename.txt (파일이 없는 경우 추가/있는 경우 편집)

vi -R filename.txt (or) view filename.txt (읽기 모드로 실행)

vi +n vip125.txt (파일을 열어 n 행에 위치)

vi -r vip125.txt (손상된 파일 회복)


■ vi editor 명령어

i = 커서 있는 위치에서 입력 모드 전환

I = 커서 왼쪽, 행의 처음에 문자 삽입

a = 커서 있는 줄 끝에서 입력 모드 전환

A = 커서 오른쪽, 행의 끝에 문자 삽입

o = 커서 있는 줄 아래에 빈 줄을 삽입

O = 커서 있는 줄 위에 빈 줄을 삽입

R = 덮어쓰기 모드로 전환

x = 한 문자 삭제

dw = 한 단어 삭제

dd = 한 줄 삭제

D = 한 줄 내에서 커어있는 뒤 내용 삭제

u = 바로 전에 수행한 명령 취소

y = 지정된 영역을 버퍼에 복사

yy = 현재 줄을 버퍼에 복사

v = 단어단위로 블록을 설정

Shift + v = 라인 단위로 블록지정이 가능

p = 버퍼에 있는 내용을 커서 뒤에 삽입

P = 버퍼에 있는 내용을 커서 앞에 삽입

d = 현재 커서가 위치해 있는 단어 복사

Ctrl + f = PageDown과 같은 효과로 한화면 뒤로 넘김

Ctrl + B = PageUp과 같은 효과로 한화면 앞으로 넘김

gg = 화면의 처음으로 이동

G = 화면의 마지막으로 이동

숫자 G = 해당 숫자에 해당하는 LINE 으로 이동

H = 현재 화면의 상단으로 이동

M = 현재 화면의 중단으로 이동

L = 현재 화면의 하단으로 이동

/name = name 문자열 찾기

n = 다음 name으로 이동

N = n과 같으며, 역방향으로 이동

:/name/ = name 문자열 찾기

:w = 지정된 파일에 저장

:wq, :x, ZZ = 지정된 파일에 저장하고 vi를 종료

:q = 저장하지 않고 종료

:q! = 저장하지 않고 강제 종료


한국에서는 "개발자가 보면 암걸리는 동영상"이라는 제목으로 널리 알려진 "The Expert (Short Comedy Sketch)" - 한국어 자막 있음




Requirements


- Seven Red lines

   . Two with red ink

   . Two with green ink

   . And the rest with transparent


- All of them strictly perpendicular


- One of the lines in the form of a kitten



Solution


 : How to draw seven red lines, all perpendicular, some with green ink, some with transparent ink, and one in the form of a kitten.





■ Web/Internet Technologies


HTTP: The Protocol Every Web Developer Must Know - Part 1

https://code.tutsplus.com/tutorials/http-the-protocol-every-web-developer-must-know-part-1--net-31177


HTTP: The Protocol Every Web Developer Must Know - Part 2

https://code.tutsplus.com/tutorials/http-the-protocol-every-web-developer-must-know-part-2--net-31155


- The communication protocols, languages/APIs, and other mechanisms that enable the internet to function.

- HTTP, Browsers, DNS, HTML/XML, AJAX, etc

- To study you should up an HTTP server and enable basic authentication, HTTPS



■ Algorithm Complexity


List of algorithm general topics

https://en.wikipedia.org/wiki/List_of_algorithm_general_topics


List of Algorithms

https://en.wikipedia.org/wiki/List_of_algorithms


List of Data Structures

https://en.wikipedia.org/wiki/List_of_data_structures


- Big-O notation, Hashtables, Trees, Graphs


● Mathematics

● System Design

● Distributed Systems and Cloud Computing

● Coding



■ Data Science Tutorials  https://www.topcoder.com/community/data-science/data-science-tutorials/


■ ETC References


● Agile software development https://en.wikipedia.org/wiki/Agile_software_development

● Google's Code Style Guide https://github.com/google/styleguide

● Google's Android Style Guide http://source.android.com/source/code-style.html

● CodeJam questions https://code.google.com/codejam/contests.html

● TopCoder: practice questions https://www.topcoder.com/




■ Google Research https://research.google.com/ )


Research papers wirtten by Google engineers

https://research.google.com/pubs/papers.html


Distributed Systems and Parallel Computing

https://research.google.com/pubs/DistributedSystemsandParallelComputing.html


Bigtable: A Distributed Storage System for Structured Data

https://research.google.com/archive/bigtable.html


MapReduce: Simplified Data Processing on Large Clusters 

https://research.google.com/archive/mapreduce.html


The Chubby Lock Service for Loosely-Coupled Distributed Systems

https://research.google.com/archive/chubby.html


The Google File System 

https://research.google.com/archive/gfs.html


Spanner: Google's Globally-Distributed Database

https://research.google.com/archive/spanner.html


Megastore: Providing Scalable, Highly Available Storage for Interactive Services

https://research.google.com/pubs/pub36971.html


Native Client

https://developer.chrome.com/native-client


http://www.w3schools.com/



[ HTML, CSS, JAVASCRIPT, SQL, PHP, jQUERY, BOOTSTRAP, ANGULAR, XML ] 의 


- 모든 튜토리얼과 레퍼런스를 확인 가능

- 직접 샘플 코드를 연습해 볼 수 있도록 에디터와 샘플 DB 제공


웬만한 web 관련 튜토리얼은 다 정리되어 있고, 심플하고 일목 요연하게 잘 구성된 학습 사이트





■ 프레지 접속 : prezi.com



△ 단축키 활성화 [켜기] [끄기]


■ 간단한 단축키 

   1  화면 줌인 Zoom In

   2  화면 줌아웃 Zoom Out

   3  화면이 시계방향으로 회전

   4  화면이 반시계 방향으로 회전


   [스페이스바(Space bar)] 감상하기 ↔ 편집하기 모드 변환

   [Shift] 클릭 + 회전하면, 15도씩 회전함

   [Shift] 클릭 + 두개의 오브젝트를 선택하면 Grouping 됨 

                  > 영구적으로 그룹으로 만들기 위해서는 선택 후, [그룹] 체크함

   [Shift] 클릭 + 영역을 드래그 하면, 영역내에 있는 오브젝트가 모두 선택됨


   F  삽입할 프레임(좌측 상단) 변경 

       ※ 단, 단축키를 이용해서 프레임을 삽입할 경우 패스가 자동으로 설정되지 않음

   P  패스 설정



■ 파워포인트(.ppt) 파일을 프레지로 Import하여 빠르게 작업하는 방법


   - 파워포인트 자료를 PDF로 저장한 후, 프레지에서 [파일(PDF, 동영상)에서...] 로 불러올 경우

      파워포인트에서 작성한 파일의 형태 그대로 깨지지 않고 불러올 수 있음


   - 그냥 파워포인트를 불러 올 경우, 글의 내용/이미지 등을 모두 수작업으로 수정해주어야 함





■ 프레지(Prezi) 작업 내용을 동영상으로 만들기


스크린캐스트오매틱 - http://www.screencast-o-matic.com/

- 화면으로 보고있는 것을 동영상으로 추출해 줌(무료)

- 프레지(Prezi) 작업한 내용을 동영상으로 만들 수 있는 툴



■ 다양한 폰트 적용


   - [수정] → [테마 설정] 버튼을 클릭하고, Wizard 또는 Advanced로 테마 편집 가능

   - [테마 설정] 내에서 [Use the Prezi CSS Editor] 버튼을 클릭하여 CSS 편집 가능 

     . "font-face" 부분에 적절한 폰트를 입력

     . 글꼴(font)의 확장자명(.keg)은 변경하지 말 것


   - 프레지 코리아 블로그 ( http://blog.naver.com/prezi_kor )에서 다양한 한글 폰트 사용 가능

     1) 프레지에서 사용할 수 있는 다양한 한글 폰트 - http://blog.naver.com/prezi_kor/30166082941

     2) 한글날 기념 프레지 무료 테마 및 폰트 추가  - http://blog.naver.com/prezi_kor/220139205652




■ 애니메이션 설정


   - [패스 설정] → 애니메이션을 삽입할 프레임 옆의 '☆ ' 버튼 클릭

      → 프레임내에서 애니메이션을 적용할 오브젝트들을 순서대로 클릭



■ 투명 이미지(PNG) 검색 + 사용하기

   - 더나운프로젝트 - thenounproject.com




■ 기타 팁


   - 프레지에서는 한 캔버스에 3개 이상의 글꼴(font)을 사용할 수 없음

   - 프레지가 동작하지 않을 때 - adobe.com 에서 Adobe Flash Player를 최신버전으로 다운로드 받아 업데이트 




■ 창의성


    - 새로운 것을 생각해내는 특성 (국어사전)


    - 새로운 생각이나 개념을 찾아내거나 기존에 있던 생각이나 개념들을 새롭게 조합해내는 것과 연관된 

      정신적이고 사회적인 과정 (위키백과)


    - 문제를 해결하거나, 타인과 의사소통을 하거나, 자신이나 타인들을 즐겁게 해 주는 데 유용한 아이디어나 대안

      또는 가능성을 생성하거나 인식하는 경향성 (LG경제연구소)

 

    - 혁신이란 '새로운 것을 하는 것' 이고,

      창의성이란 '새롭고 유용한 아이디어를 창출하는 능력 또는 과정' (경영학자 Theodore Levitt 교수)


    - 모든 혁신은 새로운 아이디어를 찾는 창의성에서 시작된다 (Teresa Amabile 교수) 

       → 혁신의 출발점이 창의성임을 강조



■ 창의적 인재 (삼성경제연구소)


    - 전문지식과 창의적 사고 스킬을 바탕으로 과업에 몰입함으로써 창의적인 산출물을 내고


    - 집단의 과업이 창의적인 결과가 나올 수 있도록 타인과 협업해 새로운 아이디어를 내며


    - 집단 구성원들이 창의적 아이디어를 내고 문제를 해결할 수 있도록

       다양한 확보, 갈등 관리, 집단 성찰 등을 통해 집단을 관리할 줄 알며


    - 조직 전체의 입장에서 창의적이고 혁신적인 산출물이 나올 수 있도록

      조직구조 설계, 전략 수립, 자원확보, 창의적인 조직문화 및 풍토를 마련하는 사람


* img source: http://www.ideachampions.com/weblogs/archives/2010/11/25_awesome_quot.shtml


■ A HISTORIC FUSION OF ART, FASHION & TECHNOLOGY



2010년 11월 10일, Ralphlauren.com 10주념 기념과 영국의 e-commerce 런칭을 기념하기 위한 패션쇼를 진행했다. 특이한 점은 기존의 방식과 다르게 뉴욕 메디슨 애비뉴(Madison Avenue, New York)와 런던 뉴 본드 스트리트 랄프로렌 플래그십 스토어(Ralph Lauren's Flagship Stores, New Bond Street) 건물 외벽에 3D 화면을 영사하는 형태의 쇼로 수천명이 패션쇼를 보게 만들었다. 랄프로렌의 패션쇼는 소수의 사람들만 초대해서 이들이 정규 미디어를 통해 소개하는 형식이었는데, 4D Experience 쇼는 신기술의 도입을 통해 패션쇼의 패러다임을 바꾼 사례이다. 


비디오 매핑의 프로젝션 방식은 이미지들이 실제 존재하거나 마치 손에 잡힐듯 가깝이 떠있는 것처럼 보이게 하는 착시 현상을 일으켰다. 영상뿐만 아니라 음악과 특수음향, 바람이 부는 듯한 시청각 효과를 통해 더 욱 현장감을 살렸고, 최신 향수인 빅 포니 컬렉션(Big Pony Collection)을 공기 중에 뿌려 관객들로 하여금 향을 직접 느낄 수 있도록 하였다.


약 7분으로 이루어진 Ralph Lauren 4D Experience는 총 15개의 챕터로 구성되어 하나의 스토리를 이루는 방식으로 흥미롭게 구성되었다. 패션쇼를 직접 체험한 관객들은 스스로 촬영을 해서 소셜미디어에 공유하는 등 컨텐츠가 재생산되어 홍보 효과를 극대화 할 수 있었으며, 랄프 로렌은 역대 가장 성공적으로 패션쇼를 마칠 수 있었다. 2년이 지난 지금, 랄프로렌의 이 프로젝트는, 디지털 마케팅 성공 사례 및 브랜드 이미지 혁신의 성공 사례로 회자되고 있다.



The Official Ralph Lauren 4D Experience - New York

November 10, 2010



The Official Ralph Lauren 4D Experience - London

November 10, 2010



The Official Ralph Lauren 4D Experience - Behind The Scenes

November 10, 2010


■ Official Web: http://4d.ralphlauren.com/




* source : Social Media ROI, 에이콘

 - David Smith and Craig Mindrum, 'How to captue the essence of innovation,' accenture, January 2008

 - http://www.accenture.com/us-en/outlook/Pages/outlook-journal-2008-successful-innovation.aspx



풍문으로 듣다 (Heard It through the Grapevine)


- By Michael E. Bechtel and Lauren M. Chewning



기업 특히 대기업이 다듬어지지 않은 수많은 아이디어에서 가치 있는 혁신을 뽑아내려면 어떻게 해야 하는가? 모든 직원의 상상력과 경험을 활용해야 한다. 아이디어 제안 뿐 아니라 아이디어 선별에서도 이들의 역할은 아주 중요하다.


이것이 개발 프로세스를 관리하기 위해 '집단 협력(mass collaboration)' 이라는 기법을 도입한 액센츄어 이노베이션 솔루션 네트워크에 기본적으로 깔린 생각이다. 내부적으로 '이노베이션 덩굴(innovation grapevine)'이라 불리는 툴의 시작점은 '씨앗(seed)'이다. '씨앗'이란 전략적인 과제나 사업 아이디어인 셈인데 "전 세계적인 고객 체험을 좀 더 잘 전달하기 위해서는 어떻게 해야 하는가?", "좀 더 효과적으로 인재를 발굴 채용하기 위해서는 어떻게 해야 하는가?"와 같은 생각을 가리키기도 한다.


다음 단계는 사내 직원들(또는 사업 파트너, 고객) 사이에 씨앗을 뿌릴 비옥한 토양을 찾는 것이다. 이들은 논의되는 문제에 관해 해박한 지식을 가지고 있거나 경험과 협력을 통해 새로운 돌파구를 마련하고 새로운 아이디어를 제안해 가치를 창출할 수도 있다. 이들이 입력한 정보는 유실될 위험도 없고 제안한 사람을 찾아내기 쉽다는 장점이 있다.


여기까지는 좋다. 하지만 앞서 말한 바와 같이 단지 거대한 전자 건의함 설치만으로는 개발 과정에 도움이 되지 않는다. 과연 누가 이 방대한 정보를 검토 할 것이며 어떤 기준으로 분류할 것인가? 좋은 포도를 선별해 훌륭한 와인으로 만드는 작업은 누가 할 것인가? 그래서 필요한 것이 위키의 응용 기술과 크라우드소싱 기법이다. 혁신 포도덩굴은 위키 컨셉트에 기반을 두고 있다. 위키피디아처럼 공동으로 저술하고 공동으로 편집하는 환경을 말한다. 하지만 하나의 주제에 관해 수많은 사람의 의견을 종합한 결과를 취하는 방식이 아니라 사람들이 되도록이면 다양한 변주와 적용 사례들을 산출하도록 장려하는 방식이라는 점을 보면, 위키피디아의 '역'이라 생각하는 편이 옳다. 말하자면 '분기(分岐)형 위키'인 셈이다.


덩굴이 적절한 비유인 데는 또 다른 이유가 있다. 하나의 아이디어가 다른 사람에게 넘어갈 때 생기는 아이디어의 분기 또는 변형, 개선이야말로 진정한 가치 창출에 기여할 수 있기 때문이다.


히트 상품은 대개 최초의 아이디어로부터 비롯되기보다는 그것에 자극을 받아 생겨난 부차적인 아이디어로부터 비롯된 것일 경우가 많다. 증기기관이 바로 그런 경우의 고전적 사례다. 상하운동을 회전운동으로 변환시키기 전까지 증기기관은 상업적으로 성공할 거라는 기대를 별로 모으지 못했다.


혁신 포도덩굴은 사람들에게 아이디어 제출뿐 아니라 아이디어 평가도 요청한다. 가령 아마존닷컴은 고객들이 직접 상품에 별점을 매기도록 한다. '누가 백만장자가 되고 싶은가?'와 같은 TV 쇼를 보면 관중들의 투표 결과가 '전문가의 도움' 찬스보다 정답에 가까울 때가 많다는 사실을 발견하게 된다.


경영진이 혁신 포도덩굴에 새로운 전략 개발에 필요한 질문을 제기했다고 해보자. 몇 주간 진행 과정을 지켜보다가 뚜껑을 열어보면 그 안에는 다양하게 분화된 아이디어 뿐 아니라 그 아이디어에 대해 회사 전체가 집단적 지성을 발휘해 평가하고 순위를 매긴 결과도 들어 있다.


생생한 현장의 소리에 활짝 귀를 열어둘수록 가치 창조의 혁신을 이룰 가능성은 더욱 높아진다.



스마트시대 변화의 흐름이라는 주제로 어제 발표한 자료를 공유합니다. :-)
스마트시대를 주도하는 소셜미디어와 디지털 네이티브
View more presentations from Liah Cha.
스마트시대를 주도하는 소셜미디어와 디지털 네이티브에 포커스를 맞췄구요.
짤막하게 정리한 내용은 아래와 같습니다.

1. 정보 생산 패러다임의 변화
   - 모든 사람이 뉴스를 전하는 시대
   - 찾아오는 뉴스
   - 정보 분류의 용이

2. 정보 소비 패러다임의 변화
   - 내 입맛에 딱 들어맞는 정보와 신뢰성
   - 간결한 메시지 - 빨라진 정보 교환 속도
   - 소비자를 찾아오는 상품과 서비스

3. 정보 소통 방식의 변화
   - 적은 비용으로 시기 적절한 효율적 홍보
   - 대중, 사용자가 요구하는 도구
   - SNS 소통 채널로 위상 확립, e-Mail 을 넘어서

4. 다양한 도구, 소셜미디어 사용의 가속화
   - Open API와 매쉬업 - 다양한 도구
   - 페이지 체류 시간 증가
   - 모바일 혁명과 결합, 온.오프라인 경계의 소멸


1. 컴퓨터 시대 (1946년 ~ 1991년) : PC의 활성화

에니악  앨런 튜링


에니악(ENIAC, Electronic Numerical Integrator And Computer)은 1943년에서 1946년에 걸쳐서 펜실베이니아 대학의 모클리와 에커트가 제작한 전자 컴퓨터이다. 보통 에니악이 세계 최초의 컴퓨터라고 알려져 있지만, 전자 컴퓨터로는 아타나소프-베리 컴퓨터가 최초이며, 모든 범주를 포함해서 보면 안티키테라가 최초의 컴퓨터이다.

앨런 튜링(Alan Mathison Turing, OBE, 1912년 6월 23일~1954년 6월 7일)은 영국의 수학자, 암호학자, 논리학자이다. 특히 컴퓨터 과학에 지대한 공헌을 했기 때문에 '컴퓨터 과학의 아버지'라고 불린다. 1944년엔 세계 최초의 프로그래밍 가능 디지털 전자 컴퓨터 콜로서스(Colossus)를 만들었다.

1)  William Henry "Bill" Gates III - 1955년 10월 28일 생
     Founder and former Chairman of Microsoft

2) Steve Jobs - 1955년 2월 24일 생
    Co-founder, Chairman and CEO of APPLE Inc and former CEO of Pixar Animation Studios.


2. 인터넷 시대 (1991년 ~ 2007 년) : 웹의 활성화

1) Sir Tim Berners-Lee - 1955년 6월 8일 생
    Inventor of World Wide Web (WWW)
    Founder and Director of World Wide Web Consortium (W3C)
    The first web site was built at CERN and first put online on 6 August 1991

2) Jerry Yang - 1968년 11월 6일 생 (대만)
    Co-founder of Yahoo

3) Larry Page - 1973년 3월 26일 생
   Co-founder of Google, Inc.
   Still "on leave" from his Ph.D. program at Stanford University

4) Jeffrey P.Bezos - 1964년 1월 12일 생 (뉴멕시코)
    Chairman and CEO of Amazon.com
    Person of the Year 1999, Time magazine

* Mart Zuckerberg - 1984년 5월 14일 생
  Co-founder of Facebook

* Mark Dorsey - 1976년 11월 19일 생
  Co-founder of Twitter, Inc.



3. 스마트 시대 (2007년 ~ ) : 앱의 활성화

1) Steve Jobs, Again : iPhone, App Store

2) Dennis Crowley
    Co-founded Dodgeball with his fellow student Alex Rainert in 2000
    Fousqure is Second version of Dodgeball in 2009




[source : 고려대학교, 최진영 교수님 강의 교안]

요 며칠간 재미있게 본 몇몇 링크들~


Google vs. Apple  3년사 인포그래픽

안드로이드 마켓은 어떻게 이통사를 배제하고 있나

iPad Keynote in less than 180 seconds



#Android #안드로이드 


■ 참고 사이트

- Android Market : http://www.android.com/market/
- Android Developers : http://developer.android.com/
- Android Project (Source) : http://source.android.com/
- Android Development Wiki : http://wiki.andmob.org/
- Android Pub (안드로이드펍 커뮤니티) : http://www.androidpub.com/
- 회색의 구글 안드로이드 개발 : http://graynote.tistory.com/
- 커니의 안드로이드 개발 : http://androidhuman.tistory.com/
- 안드로이드 기반 오픈소스 프로젝트 및 참고사이트 모음

■ 안드로이드 강좌 (안드로이드펍 커뮤니티)


Appendix 2. 디버깅 방법


■ 예제로 시작하는 안드로이드 개발 : http://www.acornpub.co.kr/blog/334

스터디 겸 안드로이드 개발을 시작했습니다. (책은 '예제로 시작하는 안드로이드 개발')
MJAndroid 실행하는데 MAP 구동이 안되서 몇시간을 고생했는데
원인은 API Key 받을 때, MD5 fingerprint 입력 오타가 났었네요..


+ Recent posts