Today’s Developer Requirements (현대 개발자의 필수덕목)

HYEONG HWAN, MUN/ 2월 25, 2017/ 미분류/ 1 comments

https://blog.lael.be/post/5674

적당히 돈벌며 회사다니고 있는데, “배움을 멈추면 늙는다” 라는 어느 커뮤니티에 본 글을 떠올리며 뭔가 새로운걸 보고 있다.

새롭다는 것은 NEW 뿐만 아니라 기존 지식의 ENHANCE 도 포함한다.

 

아무튼 최근에 본 인강(=인터넷강의/Webinar/Video lecture)에서 다음의 슬라이드를 보았다.

 

Today’s Developer Requirements(현대 개발자의 필수 덕목)

- Horizontal Scale : 서비스의 성능 향상을 위해서 CPU 업그레이드나, RAM 더 꼽는것 말고 서비스를 2개 또는 그 이상으로 분리할 수 있는 능력이다. 요즘은 클라우드가 잘되어 있어서 성능 변경은 정말 쉽지만, 서버를 분리하여 늘리는 - Scale Out 은 능력이 필요하다.

- Realtime Availability : 이건 개발자가 24시간 폰 켜놓고 대기하라는 뜻이 아니라, 데이터가 입력되면 바로 사용할 수 있게 하라는 것이다.

- Flexible Data Model : 고객의 다양한 형태(숫자, 문자, 파일, 이미지)의 입력을 반영하여 변경할 수 있어야 한다.

- Rapid Query Execution : 검색의 요구가 있으면 빠른 실행이 가능해야 한다.

- Sophisticated Query Language : 서비스를 운영하기 위해서 필연적으로 다수의 Table(Index, core) 를 만들게 되는데 이것들의 복잡한 관계를 실행할 수 있어야 한다.

A, B, C 테이블이 서로 관계가 있을때 1) A 결과물을 처리하고 코드상에서 loop를 돌며 다시 B 테이블 결과물을 요청하고, 처리하는 방법과 2) 한번에 JOIN 해서 결과를 얻어오는 방법이 있는데 .
상황에 따라 예외가 있을 수 있지만 거의 대부분 한번에 JOIN 하는 것이 더 빠르다. (쿼리를 잘 짜면 JOIN 도 인덱스를 따른다.)

- Schemaless : 고객의 다양한 종류의 입력을 처리할 수 있어야 한다.

Schemaless 는 좋은 것인지 나쁜 것인지 좀 더 생각해 보아야겠다.

 

 

1 Comment

  1. 필수덕목이 너무 어렵습니다.ㅠㅠ

Leave a Comment

작성하신 댓글은 관리자의 수동 승인 후 게시됩니다.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*