본문으로 바로가기

개발팀 컴케

 

개발자 리드(테크 리드)의 역할

  1. Engaging with Business 비즈니스 참여
    • Frequent communication with seniors 시니어들과의 잦은 소통
    • Reporting 보고
    • Technical point of contact 기술 소통 포인트
    • Peer to product owner, project manager, other discipline leads 제품 소유자, 프로젝트 관리자, 기타 분야 리드와 소통
  2. Engaging with Team 팀 관계
    • Ensure safety 안전감 확보
    • Defines & demonstrates ‘good’ ’잘하는 것’ 정의 및 입증
    • Delegation & chorus 위임 및 협업
    • Leading & building people 팀 리딩 및 빌딩
    • Facilitates technical discussion 기술 협의 촉진
    • On boarding 온보딩
  3. Architecture & Infrastructure 아키텍처 및 인프라
    • Remove moral hazards 도덕적 헤이 방지
    • Structures emerging design 신규 디자인 구조화
    • Governance 거버넌스(관리)
    • Identify tech debt 기술 부채 식별
    • Vision & metaphor 비전 제시, 비유(?)
    • Identify CFRs CFRs 식별(like OKRs)
    • Coding 코딩
  4. Delivery & Risk 전달 & 위험관리
    • Managing tech debt and CFRs 기술 부채 & CFRs 관리
    • Reputation management 평판 관리
    • Risk analysis 위험 분석
    • Risk mitigation 위험 완화
    • Prioritisation 우선순위 지정
  • Set Technical Vision 기술 비전 설정
  • Defines Architectural Forces 아키텍쳐 적용 정의
  • Assures Delivery 전달 보증
  • Challenges Solution 도전 과제 해결

 

제품 테스트 및 스테이징 서버

 

제품 출시 전 해야할 일; 테스트

  • 일반적인 제품 개발 과정 : 고객 문제 발견 → 디자인 → 개발 → 테스트
  • 제품 개발 이후; 정상적으로 동작하는지 테스트 진행 필요

 

스테이징 서버

  • 테스트와 제품 관리를 전담하는 서버
  • 실제 완성된 제품이 정상적으로 동작하는지 확인하기 위한 서버
  • 프로덕션 서버 : 실제 제품이 돌아가는 서버
  • 스테이징 서버 : 프로덕션 서버와 같은 형태로 구성됨, 개발 완료 후 스테이징 서버에 배포해 필요한 테스트 및 요구사항 확인 진행

 

개발팀의 제품 개발 과정

  1. 요구사항 정의
  2. 설계
  3. 로컬 개발, 디버깅
  4. 코드 업로드
  5. 코드 리뷰
  6. 테스트 배포
  7. 테스트
  8. 프로덕션 배포

 

요구사항 정의, 설계 및 API

요구사항 정의

  1. 고객 요구사항 정의
  2. 기능 요구사항으로 재정의
  3. 개발 요구사항으로 전환
  4. 개발 Lead와 협업 중요 / 백로그 관리

 

설계 과정 고려 요소

  • Reusability 재사용성
  • Changeability 가변성
  • Maintainability 유지보수성
  • Extensibility 확장성
  • Understandability 이해가능성
  • Reliability 신뢰성

 

API

  • Application Programming Interface(Abv)
    • 어플리케이션을 프로그래밍하는데 필요한 인터페이스
  • 인터페이스; 상호 정보 소통을 돕기 위해 경계에 존재하는 시스템
  • IT서비스 내 정보의 소통이 일어나는 곳은 서버 & 클라이언트임
    • 서로 정보를 어떻게 주고 받을지에 대해 API 형태로 미리 정의
    • 정의된 API를 바탕으로 FE-BE 개발 진행하는 것이 일반적
  • 웹 기반 서비스의 경우, 웹 주소 형식을 통해 정보를 요청하고 전달 받는 방식을 주로 사용함
  • API 문서
  • API 예시
    1. 클라이언트: 나의 chrome 창 에서
    2. 요청(Request): 요청 URL을 입력하고 엔터를 치는 것은 아래와 같은 의미
    3. 서버 기능: 서버는 정해진 동작인 랜덤 고양이 사진 데이터를 조회 를 실행
    4. 응답(Response) : 고양이 사진 데이터(JSON )를 클라이언트에 응답

 

Open API

  • 하나의 웹 사이트에서 자신이 가진 기능을 이용할 수 있도록 공개한 프로그래밍 인터페이스
  • 제공 목적 : 자사 서비스 기능을 다양한 서비스에 활용해 서비스 저변을 넓히기 위해 공개적으로 제공함
  • 메타 서비스를 제공하는 대기업의 경우, 시장 확대를 목적으로 오픈 API 운영
  • 공공 목적의 비영리기관의 경우, 무료로 API 제공하는 경우 있음

 

RESTful API

📌 유지보수의 어려움을 해소하고자 일정 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스 중 하나임

 

RESTful API 요청 종류

📌 Method= y = ax+b

함수 = Method
함수의 x 값 = Parameter

 

  • C : Create : 타임라인에 사진을 '올리는' 요청
  • R : Read : 사진을 '불러오는' 요청
  • U : Update : 사진을 '바꾸는' 요청
  • D : Delete : 사진을 '지우는' 요청

 

RESTful API 명령 종류

  • Create(생성) : POST
  • Read(읽어오기) : GET
  • Update(변경) : PUT(전체)/PATCH(일부)
  • Delete(삭제) : DELETE

 

DB가 필요한 이유

  • 무결성 : 실제 데이터와 정확하게 일치하고, 유효한지 등 일관성에 대한 보증
  • 안정성 : 날리지 않게 백업
  • 보안성 : 보안이 중요, 해킹방지, 권한 관리 등
  • 확장성 : Scale up 시 용이한 확장

 

카카오맵 API

 

(ref.) HTTP 요청 메서드


API 활용한 길 찾기 단축어

1. 카카오디벨로퍼스에서 애플리케이션 등록을 통해 앱 키 부여 받기

  • 네이티브 앱 키: Kakao SDK for Android 초기화, Kakao SDK for iOS 초기화 시 사용
  • REST API 키: REST API 요청 시 HTTP 헤더(Header)에 전달
  • JavaScript 키: Kakao SDK for JavaScript 초기화 시 사용
  • Admin 키: 일부 관리자 기능에 사용, 모든 권한을 갖고 있는 키이므로 유출되지 않도록 주의

 

2. REST API 활용하여, 단축어 스크립트 작성

 

3. 실제 실행 화면