42SEOUL

42SEOUL/Circle6

[42Seoul] ft_transcendence - 03

이제 코드에 관한 이야기를 해볼까 한다.(굉장히 오랜만이다.) 과제에서는 모든 사용자는 42인트라넷의 OAuth를 통해서 로그인해야 한다고 명시되어 있다. 우리는 차후 배포 해볼 계획도 가지고 있어서 구글 소셜 로그인도 함께 구현을 했다. OAuth OAuth는 "Open Authorization"의 약자로, 사용자가 제3자 애플리케이션에 자신의 정보에 대한 일정한 접근 권한을 부여할 수 있게 해주는 표준 프로토콜이다. 이를 통해 사용자는 자신의 하나의 계정 정보로 다양한 서비스와 애플리케이션에 로그인하고 특정한 정보나 기능에 접근할 수 있게 된다. OAuth 기본 원리 리소스 소유자(Resource Owner): 데이터의 실제 소유자, 여기서는 42 카뎃이 된다. 클라이언트(Client): 사용자의 정..

42SEOUL/Circle6

[42Seoul] ft_transcendence - 02

우리 팀은 깃허브로 소스코드를 공유하면서 프로젝트를 진행했다. 지난 글에서 말했던 개발 환경 세팅에 이어 우리 팀의 깃과 깃허브 활용방안에 대해 이야기해보려 한다. [42Seoul] ft_transcendence - 01 설계에 이어, 협업을 더 원할하게 하기 위해 개발 환경을 세팅해주었다. 적용해보니 괜찮았던 몇가지 툴에 대해 말해보겠다. eslint eslint는 자바스크립트 코드의 문제점 혹은 오류를 찾아 리포트 woongtech.tistory.com 우리 팀은 팀원 전부 웹 개발을 이전에 해본 전체 코드 학습을 기본 목표로 프로젝트를 시작했다. 따라서 초반에는 프론트, 백 나누지 않고 모든 과정을 함께 공부하면서 개발하기로 했으나.. 생각보다 더 많은 시간이 소요되어 결국 프론트3, 백2로 나누게..

42SEOUL/Circle6

[42Seoul] ft_transcendence - 01

설계에 이어, 협업을 더 원할하게 하기 위해 개발 환경을 세팅해주었다. 적용해보니 괜찮았던 몇가지 툴에 대해 말해보겠다. eslint eslint는 자바스크립트 코드의 문제점 혹은 오류를 찾아 리포트해주는 역할을 수행한다. eslint의 특징은 다음과 같다. Find and fix problems in your JavaScript code - ESLint - Pluggable JavaScript Linter A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease. eslint.org 규칙 기반: 다양한 규칙을 제공한다. ..

42SEOUL/Circle6

[42Seoul] ft_transcendence - 00

드디어 42서울의 이너서클의 마지막 과제에 도달했다. 이번에는 과제 완료 후 정리해서 쓰는것이 아닌, 부분적으로 새로 배운 것이나 적용해본 것들을 위주로 글을 써볼까 싶다. 먼저, 우리 팀은 7월 초부터 프로젝트를 시작했다. 웹 프로젝트를 어떻게 시작해야하는지 모르겠어서 주변 사람들에게 도움을 좀 받았었다. 고맙게도 여러 조언들을 들을 수 있었고, 그 중에서도 여러 사람들이 공통적으로 조언을 했던 부분은 "설계"였다. 설계를 잘 하자 설계를 잘 하자는 말은 사실 42서울 과제를 하다보면 매번 듣는 말이었다. 하지만 개인 과제를 할 때는 뭔가 "하다보면 답이 나오겠지" 라는 생각으로 설계를 조금 소홀히 했었다. 그래서 막상 과제를 끝내고 코드를 다시 보면... ㅎ 점점 상위 과제를 할 수록 팀 프로젝트의 ..

42SEOUL/Circle5

[42Seoul] webserv - 02

이어서 [42Seoul] Webserv - 01 이전 글에 이어. [42Seoul] Webserv - 00 길고 길었던 웹서브 과제가 끝남에 따라, 그 동안 했던것들을 정리해보고자 한다. 웹서버와 HTTP 웹서브 서브젝트를 보면 이런 글귀가 있다. This is when you finally u woongtech.tistory.com 지난 글에 이어 이번엔 HTTP 메세지에 대해 써보려한다. HTTP Request 클라이언트(크롬, 사파리와 같은 브라우저)가 서버에 무언가 요청을 한다면, 서버는 요청에 맞도록 적절하게 응답을 해주어야 한다. 만약 우리가 구글 메인에 접근하고 싶을 때, 브라우저 검색창에 주소를 입력하는것을 브라우저에서는 구글 홈페이지 요청에 대한 적절한 HTTP 메세지를 작성해서 서버로 ..

42SEOUL/Circle5

[42Seoul] Webserv - 01

이전 글에 이어. [42Seoul] Webserv - 00 길고 길었던 웹서브 과제가 끝남에 따라, 그 동안 했던것들을 정리해보고자 한다. 웹서버와 HTTP 웹서브 서브젝트를 보면 이런 글귀가 있다. This is when you finally understand why a URL starts with HTTP URL이 H woongtech.tistory.com HTTP에 대한 개념이나 웹서브라는 과제가 어떤것을 해야하는지 살펴보았다면, 과제를 어떻게 진행할 것인가에 대해서 한번 고민해보는것도 좋다. 나는 웹서브를 진행하면서 팀원들과의 협업을 효율적으로 수행하기 위해 깃을 통해 소스코드 관리를 했고, 깃허브에서 이슈트래킹을 통해 서로의 진행 사항을 공유했다. 이런식으로 기능 구현이나 고치는 작업들을 이슈..

42SEOUL/Circle5

[42Seoul] Webserv - 00

길고 길었던 웹서브 과제가 끝남에 따라, 그 동안 했던것들을 정리해보고자 한다. 웹서버와 HTTP 웹서브 서브젝트를 보면 이런 글귀가 있다. This is when you finally understand why a URL starts with HTTP URL이 HTTP로 시작하는 이유를 마침내 이해할 때가 왔다는 뜻이다. 그렇다면, 웹서버를 만드는 데에는 HTTP와 URL의 이해가 필수가 되어야하겠다. 서브젝트에서는 HTTP에 대해 이렇게 설명하고 있다. HTTP(Hypertext Transfer Protocol)는 분산, 협업, 하이퍼미디어 정보 시스템을 위한 애플리케이션 프로토콜입니다. HTTP는 하이퍼텍스트 문서가 사용자가 쉽게 액세스할 수 있는 다른 리소스에 대한 하이퍼링크를 포함하는 World..

42SEOUL/Circle5

[42SEOUL] CPP Module 09

Chapter 1 Introduction C++은 Bjarne Stroustrup이 C 프로그래밍 언어의 확장 또는 "클래스를 얹은 C"로 만든 범용 프로그래밍 언어이다. (출처: Wikipedia C++ - Wikipedia From Wikipedia, the free encyclopedia General-purpose programming language C++Logo endorsed by the C++ standards committeeParadigmsMulti-paradigm: procedural, imperative, functional, object-oriented, generic, modularFamilyCDesigned byBjarne StroustrupDeve en.wikipedia.or..