[제로베이스 PM스쿨] 매일학습일지 #7.4

 

오늘은 개발자와 커뮤니케이션을 하면서 기본적으로 알고 있어야 하는 지식들을 간단하게 정리 해보았다. 

서비스를 운영하는데에 있어서 이러한 부분을 알고 있어야 요구명세서 등을 작성하고 협의하는데 유용할 것으로 생각된다 ! 

 

꼭 아래에 내용을 잘 숙지하고 협업 시에 잘 커뮤니케이션 할 수 있도록 노력하자 :) 

 

운영체제

  • 하드웨어를 관리해 줍니다. 하드웨어의 용량이 얼마나 있는지 확인할 수 있고, 보조 기억장치를 관리합니다.
  • 프로그램을 설치하고 실행하는 것도 관리합니다. 같은 프로그램이어도 설치되는 운영체제가 다르면 운영체제에서 지원하는 언어로 개발 되어야 합니다.

 

서버와 클라이언트

  • 클라이언트는 고객의 바로 앞에 있는 사람 = 클라이언트 = 프론트엔드
  • 고객이 볼 수 없는 곳에 있는 사람 = 서버 = 백엔드
  • 서버에서 정한 체계에 맞춰서 요청을 한다 → 서버와 클라이언트 간에 정보를 주고받을 수 있는 체계 = API

 

쿠키(Cookie)

  • 사용자들이 브라우저를 이용했던 흔적으로, 앱 또는 웹사이트를 방문하는 유저들에 대한 정보를 저장하는 주된 방법
  • 쿠키는 초대 4KB의 용량을 가진 매우 작은 양의 데이터를 저장
  • 단점 : 보안에 취약
  • 나에 대한 정보를 담아서 서버로 보내면, 서버는 쿠키를 읽어서 내가 누군지 파악함
    • 유저가 검색한 것을 기억하거나 페이지 간 이동이 있을 때 로그인 상태를 유지하는데 사용
    • 쇼핑 카트 항목들, 자주 찾는 검색 키워드
    • 방문 사이트에 로그인 시, ‘아이디와 비밀번호를 저장하시겠습니까?’, 재방문 시 아이디 비밀번호가 입력된 상태인 경우
  • 쿠키의 종류
    • 세션 쿠키 : 쿠키에 만료일이 포함되어 있지 않은 경우, 메모리에 저장되고 하드 디스크에 남지 않는다. 브라우저를 닫으면 영구적으로 손실된다
    • 영구적 쿠키 : 쿠키 만료일이 포함되어 있는 경우, 브라우저를 종료해도 하드 디스크에 남는다. 만료 시기가 되면 삭제된다

 

세션(Session)

  • 일정 시간 동안 같은 사용자의 브라우저로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술
  • 일정 기간이란 사용자가 웹 브라우저를 웹 서버에 접속한 시점으로부터 웹 브라우저를 종료함으로써 연결을 끝내는 시점을 의미
  • 쿠키와 다르게 세션은 서버에서 관리합니다.
  • 서버에서 클라이언트를 구분하기 위해 세션 ID를 부여합니다. 브라우저를 종료할 때까지 인증 상태를 유지합니다.
  • 단점 : 보안은 좋지만 사용자가 많아질수록 서버에 과부하를 주게 됩니다.

 

캐시(Cache)

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

 

토큰 기반 인증

인증 받은 사용자들에게 토큰을 발급하고 클라이언트에서 토큰을 저장했다가 서버에 요청할 때 토큰을 함께 보내서 토큰을 검증한 후 요청한 응답을 한다.

  • 사용자의 인증 정보를 서버나 세션에 유지하지 않아도 된다.
  • 사용자가 로그인 되어 있는지 안되어 있는지 서버에서는 신경 쓰지 않아도 된다.
  • 쿠키를 전달하지 않으므로 쿠키 사용에 의한 취약점이 사라지게 된다.

 

웹 접근성 준수 가이드

  • 장애인 차별 금지법 : 신체장애, 지체, 시각, 청각, 인지 또는 신경학적 장애 등 어떤 장애를 갖고 있는 사람이라도 차별하지 않고 누구나 콘텐츠를 이용할 수 있도록 기술적으로 제공해야 한다
  • 네이버 접근성 가이드
    • 인식의 용이성
    • 운용의 용이성
    • 이해의 용이성
    • 견고성

 

앱 접근 권한 (Accessibility Permission)

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

  • 필수 권한 : 앱에서 제공하는 서비스에서 필수적으로 스마트폰 내의 특정 데이터 또는 기능을 접근해야 하는 경우, 필수 권한으로 분류
  • 선택 권한 : 앱 실행에 반드시 필요한 기능은 아니지만 일부 기능 또는 정보 활용에 제약이 생길 수 있는 경우, 선택 권한으로 분류

 

개발자와 커뮤니케이션 하는 방법

  1. 개발 환경과 개발자들의 언어를 이해하자
  2. 개발팀과 확장성, 속도, 안정성 등을 함께 논의하자
  3. 개발 Trend에 대한 학습도 이어가자
  4. 공유하고 소통하자
  5. 업무의 완료 시점을 정하자

+ Recent posts