전체 글 5

[Kotlin] IntArray 와 Array<Int> 의 차이

문제 코틀린으로 숫자 배열을 다뤄야 하는데, IntArray 로 리턴해야 하는 함수에 Array 타입으로 리턴하니 타입 불일치 에러가 발생했다. 둘 다 숫자가 들어있는 배열이 아닌가? `Array` 와 `IntArray`는 모두 Int 타입의 요소를 보유할 수 있는 유형이지만, 다음과 같은 차이점이 있다. 1. 초기화 방법 Array 는 arrayOf 함수로 초기화 해야 하고, IntArray 는 intArrayOf 함수로 초기화한다. val a: Array = arrayOf(1, 2, 3) // initialized using arrayOf function val b: IntArray = intArrayOf(1, 2, 3) // initialized using intArrayOf function pri..

Kotlin 2023.03.25

Node js 의 장점과 단점

Node js 의 장점과 단점 장점 성능 관점 싱글 스레드 기반 비동기 IO처리로 매우 빠른 고성능 서버이다. CPU intensive하지 않고, 많은 Connection을 동시에 처리해야 하는 상황에서 nodejs의 성능이 좋다. 브라우저 외 다른 용도의 서버로도 사용 가능하다. restart 시간이 1초 미안이기 때문에 프로세스가 종료되어도 빠르게 다시 시작할 수 있고, 빠른 배포나 업그레이드 작업이 가능하다. 생산성 관점 JS는 자바와 같은 프로그래밍 언어보다 생산성이 좋다. 같은 서버 코드를 짜는데 걸리는 시간이 적다. 낮은 learning curve 프론트엔드와 백엔드 기술의 통합 : 프론트엔드 개발자들도 js 기술을 가지고 서버 백엔드를 개발할 수 있게 된다. 따라서 의사 소통 비용을 줄일 수..

Javascript 2021.03.13

Graph QL 이란? - GraphQL과 RESTful API

GraphQL 이란 API를 위한 쿼리 언어 graph QL(이하 sql)은 Server API를 구성하기 페이스북에서 만들어진 쿼리 언어입니다. 보다 더 익숙한 쿼리 언어인 sql과 한번 비교해 봅시다 SQL GQL 목적 데이터베이스 시스템에 저장된 데이터를 가져옴 웹 클라이언트가 데이터를 서버로부터 효율적으로 가져온다. 호출 위치 백엔드 시스템에서 작성하고 호출 클라이언트 시스템에서 작성하고 호출 표와 같이, gql 은 데이터를 더욱 효율적으로 주고받기 위한 목적으로 만들어진 쿼리 언어입니다. 여기서 데이터를 주고 받는 다는 것은, 마치 카페에서 커피를 주문하는 것과 비슷합니다. 카페에서 우리는 카운터라는 창구(Endpoint) 에서 "달고 휘핑크림이 들어간 커피 주세요!"와 같이 적절한 요청을 하고..

GraphQL 2020.08.20

쿠키, 세션 기반 인증과 JWT 기반 인증

쿠키, 세션 기반 인증과 JWT 기반 인증 1 사용자 인증 사용자 인증은 HTTP 프로토콜의 약점을 보완하고자 사용한다. HTTP 프로토콜은 connectionless, stateless 하다고 한다. 클라이언트가 요청하고 서버가 응답을 하고 나면 서버는 그 연결에 대한 상태 정보를 유지하지 않은 채 연결을 끊어 버리는 특징이다. 이러한 특징에 대한 대비가 되지 않는다면 우리는 아마 쇼핑몰에서 옷을 사려고 해도 매번 페이지를 이동할 때 마다 다시 로그인을 해야 할 것이다. 이런 불상사가 일어나지 않으려면 웹서비스를 개발할 때 유저들의 인증작업을 처리할 방법을 마련해야 한다. 전통적으로 사용해왔던 사용자 인증 방식이 쿠키와 세션이고, 전통적 방법의 문제점을 보완해서 최근에 많이 사용한다는 토큰 기반 인증 ..

TIL 2020.08.15

res.json VS res.send() VS res.end

res.json VS res.send() res.end() Express 어플리케이션 서버는 HTTP 요청을 받아서 res라고 불리는 응답 객체를 제공한다. 이 응답 객체를 이용하여 클라이언트에게 응답을 할 수 있는데, 코드를 보다 보면 여러가지 방법으로 응답을 하는걸 확인할 수 있었다.. res.json(), res.send(), res.end() 이 셋은 같은 기능을 하는 것 같지만 분명 다르다. 이 세 메서드들의 차이점을 공부해보기로 했다. 언제 무엇을 써야 하는 걸까? res.send() res.send() 는 다음과 같이 body를 인자로 받는다. res.send([body]) body에 들어갈 수 있는 것은 다음과 같다. Buffer , String, Object ,그리고 Array 이다. 이..

TIL 2020.07.22