2022.08.02

성민규·2022년 8월 2일
0

Today I Learnd

HTTP Status Code

200(OK) : 요청 성공. 성공의 의미는 HTTP 메소드에 따라 달라진다.
GET : 리소스를 불러와서 메세지 바디에 전송 완료.
HEAD : 개체 해더가 메시지 바디에 있음.
PUT or POST : 리소스가 메세지 바디에 전송 완료.
TRACE : 메시지 바디가 서버에서 수신한 요청 메시지를 포함함

201(Created) : 요청 성공, 리소스 생성. POST 요청 또는 POT 요청 이후에 옴.

202(Accepted) : 요청을 수신하였지만 그에 응하여 행동 불가. 요청 처리에 대한 결과를 HTTP로 비동기 응답을 보내는 것에 대해 명시되지 않음.

203(Non-Authoritative Information) : 돌려받은 메타 정보 세트가 오리진 서버의 것과 일치하지 않지만 로컬이나 서드파티 복사본에서 모아졌음을 의미. 200 OK 응답을 반드시 우선됨

204(No Content) : 요청에 대해서 보내줄 수 있는 콘텐츠가 없지만, 헤더는 의미있을 수 있음. 캐시된 헤더 업데이트 할 수 있음.

205(Reset Content) : 요청을 완수한 이후에 사용자 에이전트에게 이 요청을 보낸 문서 뷰를 리셋하라고 알려줌

206(Partial Content) : 클라이언트에서 복수의 스트림을 분할 다운로드를 하고자 범위 헤더를 전송했을 때 사용.

400(Bad Request) : 잘못된 문법으로 서버가 요청을 이해할 수 없음.

401(Unauthoriezed) : HTTP 표준에서는 “미승인(unauthorized)”를 명시하지만, 의미상 이 응답은 ‘비인증(unauthenticated)”을 의미

403(Forbidden) : 접근 권한 없음. 401과 다른 점은 서버가 클라이언트가 누구인지 알고 있음.

404 (Not Found) : 요청받은 리소스를 찾을 수 없음. 브라우저에서는 URL 오류. 인증받지 않은 클라이언트로부터 리소스를 숨기기 위해 403 대신 전송하기도 함.

405(Method Not Allowed) : 서버에서 메소드를 알지만, 제거되었고 사용할 수 없음. 예를 들면 리소스 삭제 금지. 필수 메소드인 GET과 HEAD는 이 에러코드를 리턴할 수 없음

408(Request Timeout) : 요청을 한 지 시간이 오래된 연결에 일부 서버가 전송. 클라이언트의 요청이 없었더라도 보내지기도 함. 서버가 사용되지 않는 연결을 끊고 싶어한다는 것을 의미.

500(Internal Server Error) : 서버가 처리 방법을 모름.

501(Not Implemented) : 서버에서 지원하지 않는 요청방법. 반환하면 안되는 코드

502(Bad Gateway) : 게이트웨이로 작업하는 동안 잘못된 응답을 수신했음을 의미. 보편적으로 서버가 터졌을 떄 발생.

Docker

애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼. 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는데에 필요한 모든 것이 포함되어 있음. Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있음.

코드를 실행하는 표준 방식을 제공. Docker는 컨테이너를 위한 운영 체제.

Docker Engine이 마치 os의 역할을 함.

Atomic Design

컴포넌트의 파편화, 명확한 컴포넌트 기준 미비로 인하여 나온 디자인 시스템

아토믹 디자인은 5가지의 레벨을 가지고 있다.

출처: https://atomicdesign.bradfrost.com/chapter-2/#the-part-and-the-whole

Atom

더 이상 분해할 수 없는 기본 컴포넌트.
Label, input, button과 같이 기본 HTML element 태그 혹은 글꼴, 애니메이션, 컬러 팔레트, 레이아웃과 같이 추상적인 요소
단일 컴포넌트로 사용하기에는 어려움.

Molecule

molecule은 여러 개의 atom을 결합하여 자신의 고유한 특성을 가짐.
molecule의 중요한 점은 한 가지 일을 함.
molecule의 SRP는 재사용성과 UI에서의 일관성, 테스트하기 쉬운 조건이라는 이점을 가짐.

Organism

앞 단계보다 좀 더 복잡하고 서비스에서 표현될 수 있는 명확한 영역과 특정 컨텍스트를 가짐
atom, molecule, orginism으로 구성.
예를 들어, Header라는 컨텍스트에 Logo(atom), navigation(molecule), search form(molecule)의 형태.
molecule에 비해 좀 더 구체적으로 표현되고 컨텍스트를 가지기 때문에 상대적으로 재사용성이 낮아지는 특성이 있음.

Template

템플릿은 Page를 만들 수 있도록 여러 개의 organism, molecule로 구성됨.
와이어 프레임
실제 콘텐츠가 없는 page 수준의 스켈레톤

Page

유저가 볼 수 있는 실제 콘텐츠를 담고 있음.
template의 인스턴스라고 할 수 있음.

아토믹 디자인의 각 단계는 선형(linear) 프로세스가 아님
UI를 응집력 있는 전체와 일부분에 대한 콜렉션으로 생각할 수 있도록 도와주는 멘탈 모델.

Swagger

Swagger는 REST API를 설계, 빌드, 문서화 및 사용하는데 도움이 되는 OpenAPI 사양을 중심으로 구축된 오픈 소스 툴.

ORM

객체(클래스)와 관계(RDB)와의 설정을 의미

객체 지향 프로그래밍(OOP)는 클래스를 사용하고 관계형 데이터베이스(RDB)는 테이블을 사용함. 객체 모델과 관계형 모델 간의 불일치가 발생, ORM은 이러한 불일치를 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결.

ORM 장점

  • 객체 지향적 코드를 사용함으로써 직관적이고 비지니스 로직에 집중할 수 있도록 도와준다.
  • 재사용 및 유지 보수의 편리성이 증가한다.
  • DBMS에 대한 종속성이 줄어든다.

ORM 단점

  • 의도대로 SQL이 작성되었는지 확인이 필요하다.
  • 프로젝트가 크고 복잡해질수록 ORM 기술을 적용하기 어려워진다.

ORM 종류

- Flask : SQLAlchemy
- Django : 내장 ORM
- Node.js : Sequalize
- Java : Hybernate, JPA
- GraphQL : Prisma

페르소나(persona) 기법

사용자를 연구하기 위한 디자인 방법론의 하나.

페르소나란 어떤 서비스나 제품, 사이트 등을 사용하는 다양한 사용자들의 유형을 대표하는 가상의 캐릭터.
사용자들의 요구 사항, 경험, 행동, 목표 등을 이해하는 데 있어서 도움이 된다.

페르소나의 유형

단지 사람을 묘사하는 것이 아니다. 타깃으로 설정한 사람들이 해당 제품을 사용해서 보여주는 실제 행동 패턴과 태도, 능숙하게 다루는 정도, 제품을 사용하는 동기와 목표 등을 반영하고 있어야 한다.

1. 목표 지향 페르소나(Goal-directed Personas)
목표 중심으로 작업의 프로세스와 흐름을 검토

2. 역할 기반 페르소나(Role-Based Personas)
사용자들의 역할을 중점으로 조사하는 것

3. 관계지향 페르소나(Engaging Personas)
사용자의 감정, 심리, 배경을 조사해서 만들어서 제품의 디자인과 관련한 업무에 사용자 경험을 더 잘 반영하도록 하는 것

4. 가상 페르소나(Fictional Personas)
UX 디자인 팀의 경험을 기반으로 하여 과거 제품에서의 사용자 반응을 기반으로 만드는 가상 페르소나

UML

Unified Modeling Language의 약자로 1997년 OMG(Object Management Group)에서 표준으로 채택한 통합 모델링 언어.

profile
끈기있고 꾸준하게!!

0개의 댓글