분류 전체보기 검색 결과
개발을 하다 보면 당시에는 기억하고 이해할 수 있지만 시간이 지나거나 다른 개발자가 코드를 볼 때 많은 주석이 있음에도 이해하기 어렵고 유지보수에도 어려움을 겪는다. 하지만 디자인 패턴을 공부하면 조금 더 관리하기 쉽고, 확장이 쉬운 소프트웨어를 만들 수 있다. 2000년대 초반 로버트 마틴은 객채 지향 프로그래밍 및 설계의 5가지 원칙을 정의했고 이걸 다른 사람이 앞 대문자만 따서 SOLID라고 지었다. SRP(Single Responsibility Priniciple) - 단일 책임 원칙 여기서 말하는 책임이란 하나의 클래스나 함수가 단 한 가지의 기능만 가져야 한다는 말이다. 나중에 책임져야할 기능이 많아지면 해당 부분 때문에 수정이나 삭제가 힘들고 복잡해진다. 하나의 함수가 하나의 기능만 한다면 ..
HTTP를 통신할 때 진행 또는 완료 시 항상 상태 코드를 가지고 있다. 크게 앞자리가 5가지로 나눌 수 있다. 1xx : 요청을 받았고 계속 진행하는 중인 상태. 2xx : 요청을 성공적으로 받았고 정상적으로 돌려준 상태. 3xx : 요청을 마무리 지으려면 추가 작업이 필요한 상태. 4xx : 요청이 잘못된 상태 (대부분 클라이언트 문제) 5xx : 서버가 해결 못하는 상태 (서버 문제) 우선적으로 알아야 할 중요한 코드만 나열 하자면 200 - Ok 요청 성공적으로 완수. 201 - Created 요청을 성공적으로 완수했고 새로운 리소스가 생성되었음. 204 - No Content 요청에 대해서 돌려줄 콘텐츠는 없지만 헤더는 의미 있을 수 있음. 301 - Moved Permanently 요청한 리소..
감각이 부족하거나, 시간이 부족하거나, 내가 만든것보다 남이 만든게 더 좋을 거 같다는 생각으로 우리는 UI프레임워크 또는 라이브러리를 이용한다. 주로 사용하는게 React에서는 Mui인데 영어 실력이 형편없다보니 번역을 이용한다. 아직 대부분 이해가 가능하게 번역이 되지만 똑같이 시간이 흐르고 있기에 인간의 언어를 컴퓨터가 완전히 따라잡을 순 없다. 사실 사용예제의 짤이나 영상을 보면 어떤 기능인지 짐작은 가지만 그래도 간혹가다 번역으로 당황스러웠던 용어를 포함해 UI에 관련된 용어를 정리해보고자 한다. 1. 아코디언 (Accordion) 짤을 보면 알겠지만 필요할때만 눌러서 해당 세션을 자세히 볼수있는 역할을 하는 기능이다. 많은 정보를 제공해야하지만 모바일이나 PC나 화면은 한정적이기에 이렇게 줄여..
MDN 설명에 따르면 구조분해 할당은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식입니다 그러니까 배열이나 객체를 분해한다는 말이니까 추론하자면 순서나 키값이 있는 녀석들중에 필요한 것 만 골라서 쓸 수 있다는 것이다. 이 분법을 몰랐을 때 리액트의 문법인 줄 알았다. 리액트의 훅폼을 사용할 때 아래와 같은 문법이 쓰인다. const [data, setData] = useState(defaultValue); 단순히 처음 변수가 값의 벨류고 두번째 변수가 첫번째 변수의 값을 수정해주는 문법인 줄 알았으나 이는 useState라는 함수 안에 정의되어있던 것을 단순히 순서대로 꺼내 쓴 것 뿐이었다. 예를들면 const data = [1, 2, 3, 4, 5..
JWT(JSON WEB TOKEN)는 사용자를 인증하고 식별하기 위한 일종의 인증 토큰이다. 기존에는 세션 등의 방법으로 사용자의 인증을 관리했지만 세션의 방식의 단점은 커넥트가 유지되어야 한다. 사용자가 적은 서비스라면 크게 상관없겠지만 사용자가 많아지면 서버의 비용 증가와 부하로 이어진다. JWT의 핵심은 토큰 자체에 사용자의 권한이나 다양한 정보가 들어있고 무상태(Stateless) 환경에서도 데이터를 주고받을 수 있게 된다. 세션처럼 쿠키에 넣어서 서버 세션에 저장하는 게 아닌 사용자의 환경(저장소)에 보관할 수 있다. 요청을 보낼 때만 헤더나 바디에 실어 보내면 서버는 그때만 검증하면 되기에 효과적이다. 대략적인 방식은 아래와 같다. 물론 클라이언트에 있는 정보는 무엇이든 결코 안전하지 않다. ..
최근댓글