[잠깐 홍보]
이번에 IT 개발자를 이해하기 위한 모든 개발지식 온라인 강의를 런칭 했습니다 :) 현재 오픈 이벤트로 30% 할인 중에 있으니 많은 관심 바랍니다🔥🔥
IT 제품 개발 프로세스 파악하기 #2 - 개발 시작하기
1. 화면 구현 - 프론트엔드 개발자
전체적인 기획안이 확정된 후 프로덕트 디자이너는 협업용 UI 툴(제플린, 피그마 등)에 화면 디자인 작업을 한 후 공유합니다. 그러면 해당 디자인을 보고 프론트엔드 개발자는 화면 구현을 시작합니다.
위에 보이는 zeplin에는 웹 디자인이 들어있는 것을 확인할 수 있습니다. 디자이너가 작업을 완료하면 프론트엔드 개발자는 이를 통해 간격, 색상, 크기 등의 수치를 확인하고 코드(HTML, CSS, JS)로 구현합니다.
2. API 개발 - 백엔드 개발
프론트엔드 개발자가 화면을 구현할 때 백엔드 개발자는 데이터베이스를 모델링하고 친구 초대 API를 개발합니다.
(API, 데이터베이스에 대해 잘 모르시겠다면 클릭하세요!)
보통 친구 초대를 받으면 초대자와 가입자가 받는 포인트, 몇 명의 친구를 초대했는지 등의 데이터가 필요합니다. 그래서 백엔드 개발자는 유저 데이터에 포인트, 초대자 정보도 포함할 수 있도록 데이터베이스를 새롭게 모델링합니다.
이때 프론트엔드(웹)에서는 데이터베이스에 바로 접근할 수 없고 API 서버에 접근해서 통신을 합니다. 웹에서 '초대 링크를 통해서 가입하기', '초대로 받은 포인트 보기' 같은 동작들을 하기 위해선 결국 API 서버와 통신이 필요합니다. 그래서 백엔드 개발자는 기존 API에 친구 초대 기능을 추가하거나 아니면 새롭게 API를 구현합니다.
3. API 서버와 통신하는 로직 구현 - 프론트엔드 개발자
친구 초대 이벤트 페이지나 다른 UI 요소 구현을 끝난 프론트엔드 개발자는 또 할 일이 남아있습니다. 바로 API 서버와 통신하는 작업입니다.
백엔드 개발자가 열심히 개발한 API 서버와 통신해서 초대 링크로 가입하기, 받은 포인트 확인하기 같은 동작들을 구현해야 합니다.
4. 로그 남기기 - 프론트엔드 개발자, 백엔드 개발자
일반적으로 유저들이 웹, 앱에서 행동하는 것을 로그 데이터 형태로 수집한 후 로그를 다루는 서버로 전송하게 됩니다. 그래야 나중에 친구 초대 이벤트가 성공적으로 마쳤는지 알 수 있겠죠?
그래서 보통 제품 개발을 진행한 후 초대 링크 클릭, 페이지 방문 등 유저가 사용하는 특정 행동 리스트에 유저 로그를 수집할 수 있는 코드를 추가합니다. API 서버에도 특정 수치를 집계하기 위해 로그를 수집하는 코드를 넣기도 합니다.
[IT 종사자라면 이 정도는 알자 시리즈] 2탄. 머신러닝과 딥러닝 개념 파악하기 & 요새 머신러닝 트렌드 간단 정리
- 해당 아티클은 제가 토요일에 작성했습니다. 본 큐레이션에서는 인공지능, 머신러닝, 딥러닝의 개념을 파악합니다. 머신러닝 트렌드에 대한 건 본문에서 확인해주세요💪🏼
- 인공지능은 사람이 수행하는 지능적인 작업을 자동화하기 위한 연구 활동입니다.
- 옛날부터 많은 프로그래머들과 학자들이 인공지능을 구현하기 위한 방식으로 크게 2가지로 규칙 기반 시스템(Rule-based system)과 머신러닝을 연구했습니다. 이때 규칙 기반 시스템은 수많은 경우의 수에 대응하는 데는 한계가 명확합니다. 그래서 세계관이 좁은 문제를 해결하려고 할 때 사용됩니다. 대표적으로 체스게임(바둑에 비해 단순), 게임 캐릭터의 활동 등이 있습니다.
- 하지만 세계관이 넓고 문제가 정말 다양한 경우에는 사람처럼 학습을 해야 더 높은 정확도의 결과를 도출할 수 있습니다. 그래서 컴퓨터가 직접 학습할 수 있는 머신러닝(Machine Learning)이라는 방식이 인정을 받기 시작한 거죠! 머신러닝은 프로그래머가 만든 모델을 바탕으로 해서 들어오는 데이터를 분석하고 학습합니다
- 효율이 높은 머신러닝을 구현하기 위해서 머신러닝 연구자들은 여러 가지 알고리즘을 연구합니다. 그러다가 인간의 뇌 구조(뉴런의 연결)에 영감을 받았고 인공 신경망이라는 알고리즘을 찾아냅니다.(현재 대부분의 머신러닝 알고리즘은 '인공 신경망' 알고리즘을 사용합니다)
그리고 꾸준히 '인공 신경망' 기술이 발전하면서 수많은 연산을 바탕으로 더 정확한 결과를 예측하는 딥러닝이 나왔어요. 딥러닝은 노드(정확히는 은닉층)를 훨씬 많이 사용해서 깊은(Deep) 인공 신경망 모델을 사용한 방식을 뜻합니다. 컴퓨터 하드웨어 성능이 급성장하면서 더 많은 계산과 학습이 가능해졌고 자연스럽게 인공 신경망의 깊이가 깊어졌다고 보시면 됩니다.
댓글
의견을 남겨주세요