분류 전체보기

코딩 개발

Mysql transaction

Transaction 사전적 의미로는 거래, 매매, 처리 라는 뜻이 있는데 아마... 여기서는 처리로 사용되겠죠? 트랜젝션이란 데이터베이스에서 여러 명령이 묶인 작업의 한 단위를 의미합니다. 트랜젝션으로 명령들을 묶고 그 명령들이 한번에 데이터베이스에 적용되게끔 하는 기능이죠. 동료에게서 transaction이 사용되는 재미난 예시를 들었는데요. 은행에서 송금을 보내는 과정을 예시로 들어줬습니다. 송금을 할 때 갑자기 서버가 터지게 되면 돈이 공중분해 될 수도 있지 않겠습니까? 그렇게 되면 돈을 잃어버리게 되는 것이지요. 그래서 이 트랜젝션 기능을 이용하여 서버가 터지게 되면 기존에 저장되어있는 save 포인트로 roll back 하게 되는 사례가 있다고 합니다. 이제 본격 mysql로 들어가보면 mys..

코딩 개발

TypeORM 개념... 다시 잡기

typeORM이 제대로 뭔지 모르고 넘어서가 transaction이나 query runner를 하기 어려워졌기 때문에 다시 공부해 보려고 합니다. 스노우볼에 강하게 맞은 기분입니다. ORM Object-relational mapping - 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해줍니다. 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용합니다. 객체 모델과 관계형 모델 간에 불일치가 존재하기 때문에 ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결합니다. express와 관계형 데이터베이스를 조합할 때 자주 사용되는 ORM으로 sequelize와 typeorm 이 있는데 typeorm을 사용하는 이유는 모델의 정의를 제대로 하..

코딩 개발

Path parameter & Query parameter

Path parameter URL로는 고유한 자원(resource, data)을 지칭할 수 있습니다. http://naver.com/stocks http://tistory.co.kr/blogs 등을 보면 알 수 있죠. 그러나 특정 자원을 가리키는 url 경로에 가변적인 부분이 있다면 어떻게 될까요? http://naver.com/stocks/kakao 라는 주소는 직관적으로 kakao사의 주식 정보를 나타냄을 알 수 있습니다. 이 상황에서 회사의 이름 부분은 다른 회사에 대한 정보를 요청할 때에는 언제든지 바뀔 수 있는 가변적인 자리입니다. http://naver.com/stocks/uber http://naver.com/stocks/samsung-electronics 등으로 가리키는 특정 리소스가 변경..

코딩 개발

RESTful API

REST API Representational State Transfer API - 상태를 전달하는 것을 나타내는 방법 통신을 한다는 것을 다음과 같이 풀어서 설명하는 방법입니다. ‘특정 자원(데이터)을 어떤 방식으로 전달하는 것’으로 간주하고, 이를 표현하는 방식을 통일하여, 개발자들 사이에서 의사소통을 원활히 하고자 했죠. 요청에는 여러 종류가 있습니다. 아래 간단한 예시들을 확인해볼까요? Client가 user(What) 정보를 가져오고자(How) 요청하는 것 Client가 1번 음료(What)의 정보를 가져오고자(How) 요청하는 것 Client가 2번 음료(What)를 주문하는 정보를 서버에 주며(How) 주문을 요청하는 것 요청을 자세히 보면 크게 두 부분으로 나뉘어 있다는 것을 알 수 있습니..

코딩 개발

Node - 각 layer 별 error handling

Controller Error 컨트롤러는 표현 계층, 즉 입력과 출력에 관련한 부분을 담당합니다. HTTP 통신을 처리하는 웹 서버의 관점에서는 http request (요청 입력), http response (응답 출력)을 담당하는 레이어입니다. 따라서 통신이 처음 시작될 때, 사용자로 부터 받은 정보를 클라이언트(프론트엔드)가 전달해주면, 해당 입력에 대한 유효성 검증을 처리하며 에러 및 예외가 발생할 수 있습니다. KEY_ERROR가 대표적입니다. Request로 들어와야하는 정보 가운데 누락된 key가 있을 때를 지칭합니다. 클라이언트가 키를 누락시켰다는 것은, request body라는 객체 안에 email 이라는 특정 키가 없는 것을 말합니다. 회원가입 시 email, password 등 필수..

코딩 개발

Error Handling

Error handling 의 목적 개발자는 사용자가 서비스를 이용하는 동안 발생할 수 있는 에러를 미리 사전에 예측하여, 이용자의 사용 흐름이 막히지 않도록 유도해야합니다. 이런 과정을 에러 핸들링이라고 합니다. 에러 핸들링은 사용자로 하여금 서비스가 다시 안정화될 것이라는 믿음을 주고, 서비스 이용자의 이탈을 방지하기 위한 수단으로도 사용됩니다. Error handling 의의 에러 핸들링은 엄밀히 말해, 에러 핸들링(Error Handling)과 예외 핸들링(Exception Handling) 두가지 종류로 구분됩니다. 에러와 예외 상황은 발생 상황과 발생 주체가 다릅니다. 에러는 컴퓨터가 내지만, 예외는 개발자가 의도적으로 발생시키는 것이죠. 에러는 언어의 문법 에러, 통신 장애로 발생하는 에러등..

호소세
'분류 전체보기' 카테고리의 글 목록 (33 Page)