본문 바로가기

PM 학습일지/7주차

제로베이스 PM 스쿨 10기 7주차 - 4

개발자와 협업하기

✔️개발 환경 기술에 대한 깊은 이해 (개발 프로세스의 순서에 대해 알고, 개발 용어에 대해 알고 있어야 함)

  • 사용자의 요청을 프로그래밍 언어를 통해 컴파일러가 컴퓨터의 언어(이진법)로 변환해서 전달

프로그래밍 언어의 비유 → 업무 설명서(매뉴얼) = 프로그래밍 언어

  • 운영체제에 따라 사용할 수 있는 프로그래밍 언어의 종류가 다 다르다 → 각 OS 맞는 언어로 개발해야 함
  • 애플→스위프트, 구글→코틀린

서버 & 클라이언트

  • 서버 - 정보를 계속 전달하는 역할 / 클라이언트 - 정보를 요청하는 역할

  • 서버에서 정한 체계에 맞춰서 요청을 함
  • API가 없다 - '서버와 클라이언트 간에 정보를 주고 받을 수 없는 체계가 없다'는 뜻

쿠키 (Cookie)

✔️쿠키를 먹으면 부스러기가 남는 것 처럼, 사용자가 웹/앱을 이용한 흔적을 남기는 것을 "쿠키"라고 함

  • 앱 또는 웹 사이트를 방문하는 유저들에 대한 정보를 저장하는 주된 방법이다. 쿠키는 최대 4KB의 용량을 가진 매우 작은 양의 데이터를 저장한다.
  • 쿠키에 나에 대한 정보를 담아서 서버로 보내면, 서버는 쿠키를 읽어서 내가 누군지 파악한다.
    • 유저가 검색한 것을 기억하거나 페이지 간 이동했을 때 로그인 상태를 유지하는데 사용된다.
    • 쇼핑 카트 항목들, 자주 찾는 검색 키워드
    • 방문 사이트에 로그인 시, ‘아이디와 비밀번호를 저장하시겠습니까?’. 재방문 시 아이디 비밀번호가 입력된 상태인 경우
  • 단점은 보완에 취약하다.

쿠키 (Cookie)의 종류

  • 세션 쿠키
    • 쿠키에 만료일이 포함되어 있지 않은 경우, 메모리에 저장되고 하드디스크에 남지 않는다. 브라우저를 닫으면 영구적으로 손실된다.
    • ex) 1회성 로그인
  • 영구적 쿠키
    • 쿠키에 만료일이 포함되어 있는 경우, 브라우저를 종료해도 하드디스크에 남는다. 만료시기가 되면 삭제된다.
    • ex) 자동 로그인
    • 영구적 쿠키는 일정 기간 동안 유저의 정보가 항상 남아있기 때문에 보안에 매우 취약함 (쿠키는 하드웨어에 저장됨)

세션 (Session)

✔️보안 측면에서는 쿠키보다 낫지만 사용량이 많을 경우 서버에 과부하가 걸릴 수 있다는 단점 존재

  • 일정 시간 동안 같은 사용자의 브라우저로부터 들어오는 일련의 요구를 하나의 상태(=input, 입력 or 저장 등)로 보고 그 상태를 일정하게 유지하는 기술
  • 일정시간이란 사용자가 웹 브라우저를 웹 서버에 접속한 시점으로부터 웹 브라우저를 종료함으로써 연결을 끝내는 시점을 의미
    • ex) 은행의 자동 로그아웃 화면, 이력서 작성 화면에서 로그인 세션 만료 안내를 위한 임시 저장 버튼
  • 쿠키와 다르게 세션은 서버에서 관리
  • 서버에서 클라이언트를 구분하기 위해 세션 ID를 부여, 브라우저를 종료할 때까지 인증 상태를 유지한다.

Session Process

  1. 클라이언트가 서버에 요청합니다
  2. 클라이언트가 서버에 접속 시 세션 ID를 발급받습니다.
  3. 클라이언트는 세션 ID에 대해 쿠키를 사용해서 저장하고 가지고 있습니다. 클라이언트는 서버에 요청할 때, 이 쿠키의 세션 ID를 서버에 전달해서 사용합니다.
  4. 클라이언트의 요청을 처리해서 클라이언트에 응답합니다.

캐시 (Cache)

✔️정적인 데이터나 값을 저장해둬서 로딩 시간을 단축함

  • 캐싱은 데이터나 값을 미리 복사해 저장한다는 뜻
  • 웹사이트에 처음 접속할 때 보다 다시 접속 했을 때 로딩 시간이 단축되는 이유
  • 서버로 데이터에 접근하는 시간이 오래 걸리는 경우나, 값을 다시 계산하는 시간이 오래 걸리는 경우에 사용
  • 브라우저가 저장하는 자산은 정적인 자산임 (웹 페이지에 방문할때마다 변하지 않는 것들)
    • 이미지: 로고, 사진, 백그라운드 등
    • HTML
    • CSS
    • JavaScript

토큰 기반 인증

✔️토큰은 사용자의 정보를 담고 있지 않으므로 보안에도 강하고 서버와 클라이언트 간 연결을 계속 유지하고 있지 않아도 되기 때문에 서버 과부하 문제에 있어서도 좋은 방법임

웹 접근성

✔️웹 접근성 준수 가이드

  • 장애인 차별 금지법과 연관
    • ‘신체장애, 지체, 시각, 청각, 인지 또는 신경학적 장애 등 어떤 장애를 갖고 있는 사람이라도 차별하지 않고 누구나 콘텐츠를 이용할 수 있도록 기술적으로 제공해야 한다.’
  • 네이버 등 포털에서 웹 접근성 준수 가이드를 예시와 함께 쉽게 설명해 줌

시각장애인도 웹사이트에 접근할 수 있도록 글씨의 순서나 오디오를 삽입해두어야 함

  • 웹 접근성 가이드를 준수하지 않으면 법적인 처벌을 받을 수 있음
  • 스타트업인 경우 일단 시장에 빠르게 출시를 하고 이후 웹 접근성 준수 가이드에 저촉되지 않도록 수정하는 것을 권장

앱 접근 권한 (Accessibility Permission)

✔️스마트폰 앱 서비스 제공자가 앱을 통해 이용자의 스마트폰 내에 저장되어 있는 정보 및 설치된 기능에 접근하여 해당 정보를 읽고 수정하거나 기능을 실행할 수 있는 권한을 말함

  • 앱의 접근 권한에 대해 필수 권한과 선택 권한은 처음부터 구분해서 정의해두어야 개발자들이 이를 보고 개발할 수 있음
  • 필수권한: 앱에서 제공하는 서비스에서 필수적으로 스마트폰 내의 특정 데이터 또는 기능을 접근해야 하는 경우, 필수 권한으로 분류
  • 선택권한: 앱 실행에 반드시 필요한 기능은 아니지만 일부 기능 또는 정보 활용에 제약이 생길 수 있는 경우, 선택 권한으로 분류
  • 앱 접근 권한 개인 정보 보호 안내서

개발자들과 협업하기 정리

① 개발 환경과 개발자들의 언어를 이해하자

② 개발팀과 확장성, 속도, 안정성 등을 함께 논의하자

③ 개발 트렌드에 대한 학습도 이어가자

④ 공유하고 소통하자

⑤ 업무의 완료 시점을 정하자