목록분류 전체보기 (58)
구어체로 설명하는 다이어리

서문 웹 API 설계의 최첨단은 웹 API가 비즈니스와 기술에서 점점 더 중요해짐에 따라 지속적으로 발전하고 있습니다.API 관리 분야의 리더인 Apigee는 수백 명의 고객과 협력하여 다수의 API를 개발하고 관리해왔습니다. 우리의 경험과 고객, 그리고 전체 산업의 경험을 되돌아보며, 어떤 API 설계 혁신이 실제로 혜택을 가져오고 주목할 만한 트렌드로 자리 잡고 있는지에 대한 통찰을 얻을 수 있었습니다.이 책은 지난 몇 년 동안 등장한 API 설계의 중요한 트렌드를 담아내기 위한 시도입니다. 이 책은 명확하고 간단하게 설명하려고 노력했지만, API 설계에 대한 초급자용 가이드로 작성된 것은 아닙니다. 초보자를 위한 자료를 찾고 계신다면, Apigee에서 이전에 출간한 책들이나 이 주제에 관한 많은 ..

목차 서문 (Foreword)소개 (Introduction)웹 API와 REST (Web APIs and REST)API 설계자의 역할 (The Job of the API Designer)웹 API란 무엇인가? (What is a web API?)REST란 무엇인가? (What is REST?)HTTP와 REST: 데이터 지향 설계 패러다임 (HTTP and REST: A Data-oriented Design Paradigm)데이터 지향 접근이 유용한 이유는? (Why is a data-oriented approach useful?)API 설계 요소 (API Design Elements)표현 설계 (Designing Representations)JSON 사용 (Use JSON)JSON을 간단하게 유지 ..

나는 원래 타이핑하거나 필사하면서 책을 읽는 편이다. 그렇지 않으면 집중력이 휘발되기 때문이다. 찾아보니 블로그에 내용을 기록하며 읽는 사람들이 많은 듯 한데, 저작권 문제가 걱정되는 데다가 나는 블로그 포스팅을 스터디 사기 진작 용도로만 사용하고 있으므로 기한이 지나면 조금씩 비공개하며 진행할 예정이다. 현재로써는 일주일에 포스팅 하나 이상 올리는 것이 목표이므로 가능하면 열심히 해보도록 하겠다. 1장을 살짝 읽어봤는데 코드 위주로 진행하고 있고, 뒤쪽에 나오는 리팩터링 기법을 미리 사용하는 것 같아서 2장부터 읽어볼 것이다. 만약 저와 같이 달려줄 분이 계시다면 지금부터 함께합시다. 시작합니다.

나는 평범한 개발자가 되고 싶다. 일하다 보면 정말 다양한 개발자들을 만나게 된다. 이분은 정말 찐이다! 싶은 분들이 정말 많다. 일상 생활할 때 갑자기 코딩의 신이 영접해 코드 작성하시는 분, 술 마시면 갑자기 코드가 잘 짜져서 취중 코딩하시는 분, 코딩이 취미라 회사 사람들과 업무 외적으로도 프로젝트 하시는 분 등등... 내 주위에 실제 있는 개발자분들이다. 그리고 경험상 이렇게 직무를 과도하게(...) 사랑하시는 분들이 무림 고수 같은 코드를 짜내신다. 아는 분들은 아시겠지만, 이런 분들이 업계에 한두 분이 아니다. 대체로 대부분의 개발자가 이런 성향인 것 같다. 사람은 언제나 자신이 갖지 못한 것을 갈망하는 동물이라 나는 그들의 기질마저 내심 부러웠다. 이는 블로그에 공부한 것을 기록하기 시작하..

LAN이라는 단어는 여러분들도 일상에서 자주 들어보셨을 겁니다.랜선, 랜카드 등등... 여러가지 상황에서 들려오지만, 정작 이 LAN이 무엇인지에 대해서는 잘 모르고 있죠.오늘은 이 LAN이 무엇인지에 대해서 알아보겠습니다. LAN이란? LAN은 Local Area Network의 줄임말입니다.컴퓨터나 주변기기들이 네트워크를 구성하여 통신하는 망인데, 이 범위가 Local에 국한됩니다.회사 사무실이나 학교 등 비교적 가까운 범위에 한정되는 망인 것이죠. LAN의 특징 LAN의 특징은 속도가 빠르고 신뢰도가 높다는 것입니다.여러분은 수강신청을 할 때 사양 좋은 PC방 컴퓨터보다 컴공과 컴퓨터가 속도가 더 빠를 수 있다라는 말 들어보셨나요?이 말은 학교 내부의 컴퓨터는 같은 지역적 네트워크 (LA..

데이터 통신에서 동기식 전송과 비동기식 전송은 송신측과 수신측이 어떻게 시간적인 타이밍을 맞추는가에 따라 달라집니다. 동기식 전송 동기식 전송은 블록 단위로 데이터를 전달하는 방식인데 이렇게 묶인 데이터 단위를 프레임이라고 합니다.문자 동기 방식과 비트 동기 방식이 있습니다. 문자 동기 방식 : 데이터를 전송할 때 특정한 제어 문자를 사용해서 데이터의 시작과 끝을 나타냅니다.데이터는 고정된 크기 (Frame) 를 가지고 데이터를 처리합니다.제어 문자의 오버헤드로 인해 효율이 떨어질 수 있습니다. 비트 동기 방식 : 비트 단위로 데이터를 전달하는 방식입니다.문자가 아닌 개별 비트 하나하나를 데이터 전송 단위로 사용하여 더 세밀한 데이터 전송을 합니다. 비동기식 전송 비동기식 전송은 하나의 글자를..

데이터 전송이란 컴퓨터 정보를 다른 곳으로 보내는 것을 말합니다.그 정보는 숫자나 문자, 혹은 음악일 수도 있고 사진일 수도 있는데요.오늘은 그 데이터를 전송하는 방식 중 직렬 전송과 병렬 전송에 대해 알아보려 합니다. 직렬 전송 직렬전송은 하나의 통신 채널을 통해 한 번에 한 비트씩 전송합니다.보내는 쪽과 받는 쪽에서 하나만 채널을 사용한다면 상당히 간단하고 구축이 쉽겠죠?다만 한 비트씩 보내는 것이다 보니 속도가 느립니다. 병렬 전송 병렬전송은 여러 개의 통신 채널을 통해 한 번에 여러 비트를 전송합니다.한 번에 여러 비트를 전송하니 당연히 빠를 수밖에 없습니다.대용량 데이터를 전달하는 데에 강점을 가지고 있지만, 신호 간섭 등에 의해 장거리 전송 시 안정성이 떨어진다고 하네요. ...

getServerSideProps는 Next.js에서 SSR (Server Side Rendering) 하기 위한 방법입니다.서버 단에서 데이터를 받아와 클라이언트 페이지에 렌더링하는데요.이 함수는 페이지를 요청할 때마다 호출되고, HTML을 서버 단에서 먼저 생성하여 클라이언트에 전달합니다.미리 페이지를 생성한다는 점에서 역시 SEO에 좋은 선택입니다. import type { InferGetServerSidePropsType, GetServerSideProps } from 'next';type Repo = { name: string; stargazers_count: number;};export const getServerSideProps = (async () => { // Fetch data f..

데이터 전송에는 두 가지 종류가 있습니다. 바로 아날로그 전송과 디지털 전송입니다.각각 무엇을 뜻하는지 알아보겠습니다. 아날로그 전송 아날로그 전송은 연속적인 전기신호로 데이터를 전송하는 방식입니다.자연 현상이나 물리적 특성을 그대로 전달하는데 사용됩니다.음악을 들을 때 파형 같은 게 나오는 걸 본 적이 있으시죠?바로 이러한 것들이 아날로그 신호의 대표적인 예시입니다. e.g. 오래된 전화 통신, 라디오 방송, 텔레비전 방송 등 디지털 전송 디지털 전송은 비연속적인 0과 1의 비트(이진수)로 데이터를 전송하는 방식입니다.데이터를 일정한 값으로 변환하여 전송하고, 수신 측에서 이를 해석해서 원래의 정보로 복원합니다.모든 것을 디지털 신호로 변환하기 때문에 주로 전자기기의 데이터 전송에서 사용됩니..

Next.js는 Static Site Generation (SSG, 정적 사이트 생성) 을 합니다.SSG는 프로젝트 빌드 시점에 미리 사이트를 만들어 놓는 것인데요.이렇게 미리 사이트를 만들어 놓으면 클라이언트 측에서 페이지에 접속했을 때 서버 측에서는 빌드 시 미리 생성해두었던 페이지를 클라이언트로 전달하고,클라이언트에서는 서버 측에서 받은 페이지를 그대로 뷰에 띄워주기만 하면 되기 때문에 페이지 로딩 속도가 빨라집니다.getStaticProps와 getStaticPaths는 이 SSG를 하기 위한 두 가지 방법입니다. getStaticProps getStaticProps는 빌드 시에 데이터를 가져와서 페이지를 생성합니다. import type { InferGetStaticPropsType, Ge..