Develop/CS

· Develop/CS
들어가며 개발을 처음 시작하며 프레임워크에 대해서 공부했을 때에는 단순히 어떻게 코드를 작성해야 데이터를 보내고 받을 수 있는 지에 대해서만 고민하기 시작했다. 점점 다양한 API를 만들어가고 다양한 사람들과 협업하면서 RESTful한 아키텍처를 지키려고 노력하게 되었다. 대부분의 레퍼런스가 모두 이 RESTful 원칙을 지켜서 API를 만든다. 그래서 별 생각 없이 은연중에 따라 RESTful을 지켜 개발하곤 한다. 오늘은 이러한 RESTful이 뭔지 자세히 정리해보려고 한다. 본론 API란? 먼저 API는 Application Programming Interface의 약자이다. 이 API라는 것을 통해서 어플리케이션의 데이터를 주고받을 수 있다는 것이다. 그렇게 생각하면 이 API라고 하는 것의 범위..
· Develop/CS
들어가며 git이란 무엇일까? git의 역사부터 github란 뭔지에 대해서까지 포스팅할 예정이다. 이번 포스팅은 개발을 입문하는 사람에게 초점이 맞춰줘 있다. 본론 git의 역사 git의 역사를 이야기하면 리눅스의 이야기도 빼놓을 수 없다. 깃이라고 하는 VSC(버전 관리 시스템)은 리눅스와 함께 개발되었다. Linux 커널은 굉장히 규모가 큰 오픈소스 프로젝트다. 이 커널 프로젝트는 당연히 오랫동안 진행되었는데, 1991-2002년 사이에는 Patch와 단순 압축 파일로만 관리했다. 2002년에 드디어 Linux 커널은 BitKeeper라고 불리는 상용 DVCS(분산 버전 관리 시스템)를 사용하기 시작했다. 하지만 2005년에 커뮤니티가 만드는 Linux 커널과 이익을 추구하는 회사가 개발한 Bit..
· Develop/CS
들어가며  이번 포스팅에서 다룰 내용은 리눅스 계열 운영체제의 기본 텍스트 에디터인 vi이다. vi는 1970년대 UNIX 계열 운영체제에서 쓰이는 문서 편집기이다. vi를 모르는 사람이라면 터미널에서 작업하다가 vi를 사용해 모든 키보드 입력이 안 먹혀서 당황한 적이 있을 것이다. 편집기를 CLI으로 사용할 수 있게 해주는 vi에 대해서 알아보자. 미리 보기 사진으로 Vim의 이미지를 가져왔는데, 현재는 대부분 vi와 vim을 같이 사용한다. 대부분의 유닉스와 리눅스 배포판에서 vi 명령어를 쓰게 되면 자동으로 vim을 사용하도록 연결해 주게 된다. 따라서 이번 포스팅에서는 vi라고 부를 것이지만 내부적으로는 vim을 쓰고 있는 것이 된다. vim을 쓰고 있는 것인 지 키보드 화살표 키를 통해서 확인..
· Develop/CS
들어가며 배포 파이프라인을 구현하는 과정에서 Java 계열과 node 계열 프로그래밍 언어들이 동작이 미묘하게 다르다는 것을 느꼈는데 (컴파일러와 인터프리터의 차이점으로 인한 것이었다) 관련 내용에 대해서 트러블슈팅하는 과정에서 얻은 인사이트를 요약하여 컴파일러와 인터프리터의 차이에 대해서 포스팅하려고 한다. 또한 전공 수업을 들으면서 C언어의 복잡한 컴파일 과정을 살펴보면서 생긴 개인적인 호기심을 해결하기 위해 조사하며, 함께 자바스크립트의 동작 원리도 좀 살펴보고 개인적인 호기심을 통해 조사한 내용을 읽기 쉽게 최대한 집약해 두었다. 차례차례 빌드, 컴파일, 인터프리터, 하이브리드에 대해서 알아보려고 한다. 빌드(Build) 먼저 빌드(Build)라는 것은 단어의 뜻에서 알 수 있듯이 뭔가를 짓는다는..
· Develop/CS
들어가며 인증과 인가는 백엔드 개발자라면 당연히 알아야 하는 개념 중 하나이다. 인증가 인가에 대한 개념 자체는 크게 복잡한 내용을 다루고 있지 않지만, 문제는 쉽지 않은 구현 과정이다. HTTP 통신이 지닌 한계점을 웹 브라우저의 저장소 ( 로컬 스토리지, 쿠키 등 )과 어플리케이션 레벨에서 관리해야 하는데, 이런 식으로 인증/인가를 구현하는 데 다양한 바리에이션이 존재한다. 이번 포스팅에서는 인증과 인가의 개념과 어떻게 구현할 수 있는 지 레벨까지 다뤄보도록 한다. Authentication vs. Authorization 인증(Authentication) 인증은 사용자의 신원을 검증하는 과정을 말한다. 우리가 흔히 웹사이트에 로그인하기 위해 아이디와 비밀번호를 입력하는데, 이러한 계정 정보가 일치하..
marsboy
'Develop/CS' 카테고리의 글 목록