본 게시글은 직접 공부한 내용을 바탕으로 작성한 글입니다. 만약 틀린 부분이 있다면 댓글을 통해 말해주시면 감사하겠습니다. 웹서버의 역할은 뭘까요? 서버 개발자는 개발을 하며 웹서버, 웹서버 합니다. 그리고 우리는 node.js를 이용하여 처음 개발을 시작하며 node.js를 사용해서 "웹서버를 연다!"라고 배우며 node.js를 배우기 시작하죠, 하지만 우리는 지금 Nginx에 대해 공부하고 있습니다. 그런데 어라? 조금 찾아보니 Nginx도 웹서버라고? 라는 생각이듭니다. 이에 대해 설명해 보겠습니다. 웹서버 서버 개발자가 말하는 웹서버는 일반적으로 아래와 같은 구조의 형태를 말하는 웹 서버입니다. web server → was (web application server) → database 이 일반..
해당 게시글은 영진닷컴의 을 바탕으로 작성 되었으며 영진닷컴의 저작권 허락을 바탕으로 게재되는 글입니다. 1편 - [좋은 웹 API 디자인] API 디자인 기초 https://smaivnn.tistory.com/8 이 전 글에서 우리는 컨슈머의 입장에서 api를 구현해야 한다고 했다. 그렇다면 컨슈머의 입장은 어떻게 알 수 있을까?, 바로 사용자 입장에서의 직관성이다. 직관적인 이름 나는 판타지 소설을 좋아한다. 판타지 소설을 읽다보면 미들네임을 갖고 있는 이름이 많이 보인다. 가령 예를 들어 "게임 속 바바리안으로 살아남기"의 주인공 이름은 "얀델의 아들 비요른"이다. 이러한 미들네임은 서양에서 많이 볼 수있다. 고대 로마의 가이우스 율리우스 카이사르부터 현대의 한나 다코타 패닝, 로빈 리한나 펜티 등..
해당 게시글은 영진닷컴의 을 바탕으로 작성 되었으며 영진닷컴의 저작권 허락을 바탕으로 게재되는 글입니다. 2편 - [좋은 웹 API 디자인] 사용하기 좋은 API 디자인 https://smaivnn.tistory.com/9 API란 무엇인가? 웹 어플리케이션 프로그래밍 인터페이스, 줄여서 API라고 부르는 이 것은 개발을 하며 정말 많이 보고 듣는 단어이다. 좋은 웹 API 디자인을 알아보기 이전에 우선 이 API가 무엇인지에 대해 정의 하는 것이 필요하다. 인터페이스(interface)란 뭘까? 사전적 의미는 상호작용이다. 즉, API란 애플리케이션이 다른 무엇과 상호작용을 하도록 하는 것이라는 추상화 된 개념을 갖는 것이다. API 디자인이 왜 중요한데? 개발을 하며 우리는 많은 API를 활용하고, ..
1편 보러가기 - https://smaivnn.tistory.com/5 2편 보러가기 - https://smaivnn.tistory.com/6 팀 프로젝트의 시작 .. 개인 프로젝트를 마치고 드디어 팀 프로젝트가 시작되었다. 이번 글은 팀 선정의 과정부터 시작해 우리의 환경, 주제 선정, 설계, 기술적 우여곡절, 후기를 순서로 진행하고자 한다. 팀 선정 팀 선정은 스마일게이트 측에서 지역별 거점, 지원한 담당 분야, 개인 프로젝트를 모두 고려하여 임의로 팀을 배정하여주었다. 그렇게 모인 우리 팀은 총 4명이었으나, 추후 우리팀과 인연이 있던 다른 1명이 다른 조에서 우리 팀으로의 변경을 희망하여 결과적으로 총 5인으로 구성된 팀이 결성되었다. 프로젝트를 잘 마쳐서 우리 다 같이 판교로 가자는 의미로 to..
1편 보러가기 - https://smaivnn.tistory.com/5 3편 보러가기 - https://smaivnn.tistory.com/7 개인 프로젝트 이번 스마일게이트 winter dev camp는 12월부터 2월 24일, 약 3개월간 진행되었다. 그 중 12월은 스마일게이트 측에서 제시하는 주제에 해당하는 개인 프로젝트를, 그리고 1, 2월은 팀 프로젝트를 진행하였다. 개인프로젝트의 주제는 아래 3가지이다. 1. URL shortener 2. Blog 3. 인증시스템 나는 3번 인증 시스템을 선정하였다. 인증 시스템을 선정한 이유는 내가 백엔드 담당으로 지원했기 때문이다. 블로그의 경우 인증 기능은 이미 해결 했다고 가정하고 진행하는 프로젝트였으며 주로 클라이언트에게 권장되었다. 또 url sh..
2편 보러가기 - https://smaivnn.tistory.com/6 3편 보러가기 - https://smaivnn.tistory.com/7 안녕하세요. 이번 포스팅은 스마일게이트(smilegate)에서 주관한 2022 winter Dev Camp 후기입니다. 23년 2월 24일 금요일, 12월 부터 진행된 스마일게이트에서 주관하는 winter dev camp 일정을 모두 마쳤다. 이번 포스팅은 캠프를 진행하며 느낀 여러가지 것들에 대해 다뤄보려고 한다. 합격 이번 캠프는 이 전부터 있던 스토브 개발 캠프, 서버 개발 캠프와는 다르게 채용연계형이 아닌 개발 캠프이다. 따라서 따로 연계되는 채용 과정 등이 있지는 않다. 이번 캠프는 각 지방 거점에서 설명회를 진행 후 인원 모집을 진행하였는데 나는 강원 ..
카카오 로그인(React, node.js) 들어가며, 카카오 로그인을 구현하면서 정말 많은 삽질을 하였다. 나의 경우 passport를 이용하다가 이해가 가지 않아 다시 공식 문서를 참고하여 Rest API를 이용.. 그러던 와중 결국 프로세스를 깨달아 버려서 해당 내용을 글로 정리하고자 한다. 이번 글에서는 kakao developer사이트의 공식 REST API활용한 방법에 대해 알아본다. 카카오 디벨로퍼 등록 카카오 로그인을 구현하기 위해서는 카카오 디벨로퍼 등록을 진행해야 합니다.관련하여서는 따로 다루지 않으나 추후 추가할 가능성도 있습니다. RestAPI RestAPI를 이용하는 방법은 공식 문서에 잘 나와있다. 하지만 이는 조금 아는 사람들에 해당하는 말이고 이를 처음 접한 나로써는 읽기 너무..
Socket.io 이란? socket.io를 알아보기 전, 웹 소켓에 대해 먼저 알아보자. 웹 소켓은 HTML5에 새로 추가된 실시간 양 방향 데이터 전송을 위한 기술이다. http가 아닌 ws프로토콜을 사용하며, 따라서 브라우저, 서버가 ws프로토콜을 지원하면 사용 가능하다. socket.io 사용 예제 socket.io 예제의 디렉토리 구조는 아래와 같다. 필요한 npm을 install 해준다. npm install express socket.io 그리고 아래 코드를 각 파일에 붙여넣자. // index.js const express = require("express"); const app = express(); const webSocket = require("./socket"); app.get("/..
프로젝트 선정 이유, 목표 현재 나는 컴퓨터 공학과 재학 중이며 학과에서 컴퓨터 동아리 활동을 하고 있다. 1학년 무렵 활성화되어 있던 동아리 홈페이지가 어느 날부터인가 비활성화되었고, 마침 이번 방학 동안 React, node.js를 활용한 프로젝트를 계획하던 나는 "동아리 홈페이지를 제작해 보는 것이 전반적인 클라이언트와 서버 간 통신 프로세스에 대해 알아가는 것에 많은 도움이 되겠다." 싶어 이 프로젝트를 선정하게 되었다. 설계, 설계 .. 가장 중요한 프로젝트의 설계 react : 이번 프로젝트에서 나는 리덕스 툴킷을 이용하였다. 이 때문인지 변수, 함수들의 관계를 어떻게 설정하고 관리할 것인가에 대해서 많이 골머리를 썩였다. 특히 리덕스 툴킷을 관련하여서 구글링을 해보아도 원하던 자료가 많지 않..