삼성 소프트웨어 멤버십 면접 발표 자료

Post on 10-Aug-2015

171 views 7 download

Transcript of 삼성 소프트웨어 멤버십 면접 발표 자료

전 ‘박은환’입니다.

저는요?

구글 플레이 주소 : https://play.google.com/store/apps/details?id=com.moonwrite.moonwrite

Nginx + Node.js + MongoDB Android Client

Nginx + Node.js + MongoDB Android Client

“왜 Nginx를 사용하셨나요?”

Nginx도 ‘이벤트 기반’으로 동작한다고 함!

“왜 Node.js를 사용하셨나요?”

예제를 보고 기존의 서버 코드보다 양이 줄어들 것이라는 확신! Hello World로 Apache/PHP보다 10배 정도 빨랐음!!! 자바 스크립트는 쉬울테니 엄청 빠른 개발이 가능하겠지!

서드파티 모듈들이 꽤 풍부했음. 이벤트 기반, 단일 스레드 모델과 Non-blocking I/O라는게 신기했음.

예제를 보고 기존의 서버 코드보다 양이 줄어들 것이라는 확신! Hello World로 Apache/PHP보다 10배 정도 빨랐음!!! 자바 스크립트는 쉬울테니 엄청 빠른 개발이 가능하겠지!

서드파티 모듈들이 꽤 풍부했음. 이벤트 기반, 단일 스레드 모델과 Non-blocking I/O라는게 신기했음.

예제를 보고 기존의 서버 코드보다 양이 줄어들 것이라는 확신! Hello World로 Apache/PHP보다 10배 정도 빨랐음!!! 자바 스크립트는 쉬울테니 엄청 빠른 개발이 가능하겠지!

서드파티 모듈들이 꽤 풍부했음. 이벤트 기반, 단일 스레드 모델과 Non-blocking I/O라는게 신기했음.

예제를 보고 기존의 서버 코드보다 양이 줄어들 것이라는 확신! Hello World로 Apache/PHP보다 10배 정도 빨랐음!!! 자바 스크립트는 쉬울테니 엄청 빠른 개발이 가능하겠지!

서드파티 모듈들이 꽤 풍부했음. 이벤트 기반, 단일 스레드 모델과 Non-blocking I/O라는게 신기했음.

예제를 보고 기존의 서버 코드보다 양이 줄어들 것이라는 확신! Hello World로 Apache/PHP보다 10배 정도 빨랐음!!! 자바 스크립트는 쉬울테니 엄청 빠른 개발이 가능하겠지!

서드파티 모듈들이 꽤 풍부했음. 이벤트 기반, 단일 스레드 모델과 Non-blocking I/O라는게 신선했음.

“왜 MongoDB를 사용하셨나요?”

상황에 따라 달라지는 기획, 빠르게 대응해야했음. 스타트업이라 돈이 없어서 스케일-아웃한 서버를 설계해야했음.

(다행히 서버는 네이버에서 지원받음!) ‘Embeded Document’ 가 가능했음.

버전 업이 되면서 성능도 지속적으로 좋아짐. 게다가 Auto-Sharding 도 지원! 데이터 타입으로 배열도 지원!

ObjectId라는 고유 번호도 발급!

상황에 따라 달라지는 기획, 빠르게 대응해야했음. 스타트업이라 돈이 없어서 스케일-아웃한 서버를 설계해야했음.

(다행히 서버는 네이버에서 지원받음!) ‘Embeded Document’ 가 가능했음.

버전 업이 되면서 성능도 지속적으로 좋아짐. 게다가 Auto-Sharding 도 지원! 데이터 타입으로 배열도 지원!

ObjectId라는 고유 번호도 발급!

상황에 따라 달라지는 기획, 빠르게 대응해야했음. 스타트업이라 돈이 없어서 스케일-아웃한 서버를 설계해야했음.

(다행히 서버는 네이버에서 지원받음!) ‘Embeded Document’ 가 가능했음.

버전 업이 되면서 성능도 지속적으로 좋아짐. 게다가 Auto-Sharding 도 지원! 데이터 타입으로 배열도 지원!

ObjectId라는 고유 번호도 발급!

상황에 따라 달라지는 기획, 빠르게 대응해야했음. 스타트업이라 돈이 없어서 스케일-아웃한 서버를 설계해야했음.

(다행히 서버는 네이버에서 지원받음!) ‘Embeded Document’ 가 가능했음.

버전 업이 되면서 성능도 지속적으로 좋아짐. 게다가 Auto-Sharding 도 지원! 데이터 타입으로 배열도 지원!

ObjectId라는 고유 번호도 발급!

상황에 따라 달라지는 기획, 빠르게 대응해야했음. 스타트업이라 돈이 없어서 스케일-아웃한 서버를 설계해야했음.

(다행히 서버는 네이버에서 지원받음!) ‘Embeded Document’ 가 가능했음.

버전 업이 되면서 성능도 지속적으로 좋아짐. 게다가 Auto-Sharding 도 지원! 데이터 타입으로 배열도 지원!

ObjectId라는 고유 번호도 발급!

상황에 따라 달라지는 기획, 빠르게 대응해야했음. 스타트업이라 돈이 없어서 스케일-아웃한 서버를 설계해야했음.

(다행히 서버는 네이버에서 지원받음!) ‘Embeded Document’ 가 가능했음.

버전 업이 되면서 성능도 지속적으로 좋아짐. 게다가 Auto-Sharding 도 지원! 데이터 타입으로 배열도 지원!

ObjectId라는 고유 번호도 발급!

상황에 따라 달라지는 기획, 빠르게 대응해야했음. 스타트업이라 돈이 없어서 스케일-아웃한 서버를 설계해야했음.

(다행히 서버는 네이버에서 지원받음!) ‘Embeded Document’ 가 가능했음.

버전 업이 되면서 성능도 지속적으로 좋아짐. 게다가 Auto-Sharding 도 지원! 데이터 타입으로 배열도 지원!

ObjectId라는 고유 번호도 발급!

새로운 경험! 도전 정신!

새로운 경험! 도전 정신!

Nginx

SSL

Node.js

MongoDB

Android

개발할 당시 RESTful 하면서 아름다운 코드를

작성하기로 마음먹음.

각 URL을 Method별로 함수로 구분하여 구현함.

GET /article/:id - get_by_id PUT /article/:id - edit_article

파일 업로드 구현하는데 콜백 구조가 너무 복잡!

대략 이런 느낌...

Async 모듈을 사용하여 해결

요청 시, 서버에서 응답하는 규칙을 정해놓음.

요청 시, 서버에서 응답하는 규칙을 정해놓음.

에러가 어디서 발생했는지 포인트를 잡을 수 있음.

이런 식으로 에러를 찾다가 좀 더 체계적인 접근이 필요함을 느낌

MongoDB 메뉴얼을 보면서 열심히 함. 읽기 처리를 분산함.

(서비스가 잘 안되서 분산 처리가 무의미했습니다...)

DrawerLayout 를 구성하여 개발!

GCM 을 이용하여 서버-앱 간 알림을 구현함. (단, 중복된 알림이 오는 버그가 있었음.)

RequestQueue를 init해주는 클래스를 작성하고 사용함.

“글을 작성할 때, 사용자의 감정에 따라 음악을 추천해주면 어떨까?” 라는 생각을 하게됨.

“주파수로 변환한 후, 분석하면 된다고 생각함!” (고 3 학생, 푸리에 변환에서 많이 좌절...ㅠ)

한 번, Matlab으로 분석해보기로 함 필요한 것은 시간-주파수-크기에 따른 그래프

meshgrid와 spectogram 함수를 이용하여 분석함.

결국, 분위기에 맞는 음악을 분류함. (앱에 넣었는데 저작권때문에 기능 자체를 뺐습니다...)

이 일로 사람의 감정에 대해 큰 관심을 갖게 됨! “사람의 목소리를 통해서 감정을 추측할 수 있지 않을까?”

관련 논문들을 살펴보았지만, 잘못된 감정 모델을 채택한다고 생각을 하게됨.

이 일로 사람의 감정에 대해 큰 관심을 갖게 됨! “사람의 목소리를 통해서 감정을 추측할 수 있지 않을까?”

관련 논문들을 살펴보았지만, 잘못된 감정 모델을 채택한다고 생각을 하게됨.

이 일로 사람의 감정에 대해 큰 관심을 갖게 됨! “사람의 목소리를 통해서 감정을 추측할 수 있지 않을까?”

관련 논문들을 살펴보았지만, 잘못된 감정 모델을 채택한다고 생각을 하게됨.

“아무것도 안 해보고 후회하는 것보다 일단 도전해보는 것이 낫다.”

감사합니다.