전체 95

둠 이스케이프 2호점 죄 방탈출 후기

한줄평 저와 비슷하다면 가지마세요 저는 방탈출을 이제 막 시작했어요. 공포방탈출을 좋아합니다. 탱커라고 할 수 있죠, 감성테마를 안 좋아해요. 너무 활동적이면 힘들어요. Ex> Done 인생테마 부평 둠이스케이프 2호점: 디스토피아 건대 솔버: 루시드 드림 부평 어메이즈드 2호점: 이탈리안 잡 후기 야외 활동이 있는 줄 모르고 더운 날 예약했어요. 개인적으로 최악의 경험이었습니다. 방탈출 경험을 되살려보면 초반에 이입이 되고 안되고가 방탈출 만족도를 결정하더라구요. 초반 야외 활동이 그 뒤의 것을 결정했고 좋지 않은 기억으로 남았습니다. 공포도 공포도만 따진다면 공테 입문용으로 괜찮을 듯 합니다. 덥지 않은 날씨에서는 괜찮을 수도 있을 거 같아요. 난이도 어려운 편에 속함. 직관적이지 않고 장치 위주의 ..

방탈출 2023.07.07

OAuth 동작 원리

OAuth 동작 원리 이전 포스팅에 이어서 OAuth의 동작원리를 알아보자. OAuth, 간단하게 알아보자 OAuth, 간단하게 알아보자 Open Authorization 대형 사이트로 대신 로그인하는 것. 대부분 잘 알려진 사이트로 로그인하는 것으로 알고 있을 것이다. 사실은 외부사이트에서 제공하는 API로 사용자의 정 jujemu.tistory.com 자, 다시 이해관계자들을 간단하게 살펴보자. Client: 내가 만든 웹사이트 Auth server: Github Resource server: 역시 Github Resource owner: 우리 웹사이트를 이용하려는 사용자 쉽게 설명하기 위해서 Client는 우리로, Auth와 Resource server는 깃헙으로, Resource owner는 사용..

컴퓨터과학 2023.07.07

OAuth, 간단하게 알아보자

OAuth, 간단하게 알아보자 Open Authorization 대형 사이트로 대신 로그인하는 것. 대부분 잘 알려진 사이트로 로그인하는 것으로 알고 있을 것이다. 사실은 외부사이트에서 제공하는 API로 사용자의 정보를 받아와 서비스 운용에 사용할 때 쓰이는 표준이다. 그래서, 뭔데 사용자의 정보를 이미 가입된 외부사이트에서 받기 위해 일종의 통행권을 받아 저장하는 것. 자세히 말하자면, 잘 알려진 사이트로 구글을 예로 들겠다. 웹 사이트를 만든다고 하자. 우리 사이트는 일정관리하는 서비스를 제공한다. 어떤 사용자는 구글 캘린더에 일정을 기록하였고 이 일정으로 관리하고 싶어한다. 우리는 일정을 받기 위한 방법으로 사용자의 아이디와 비밀번호를 받을 수 있다. 사용자 대신 구글에 로그인해서 캘린더에 접근하는..

컴퓨터과학 2023.07.07

JPA란?

JPA란? Java Persistence API 자바의 ORM 기술표준이다. 다르게 표현하면, 'ORM을 구현하려면 자바에서는 이렇게 하자!' 하는 명세서다. 그리고, Hibernate는 JPA를 구현한 라이브러리 중 하나이고 가장 보편적이다. 그래서 뭘 할 수 있는데? 자바로 관계형 데이터베이스를 다룰 때, 객체지향 언어인 자바와 스키마 중심 데이터베이스의 패러다임 차이를 극복하여 객체중심 데이터 설계를 가능하게 한다. 사실 위처럼 설명하면 나는, '뭐만 하면 객체중심이여' 하곤 했다. 뭔지는 모르겠지만 스프링이 객체 지향적으로 설계할 수 있다고 하면, 객체 지향이 가지는 상속, 참조를 통한 연관관계(구성)를 SQL로 풀어낼 때는 '번역'과도 같은 작업이 필요하다. 위 내용은 받아드릴 수 있지 않을까?..

스프링 2023.07.06

[소마] 세팅하지 않은 alias 문제와 alias command

설정하지 않은 alias 문제oh my zsh gl을 git log --all --decorate --graph --oneline 으로alias 설정하려 하는데 Already up to date. 라는 엉뚱한 출력이 나온다. 문제를 ~/.zshrc에서 찾았다. zshrc에 보면Set personal aliases, overriding those provided by oh-my-zsh libs,위 주석 밑에 alias를 설정해야 겹쳐도 내 것이 설정되도록 한다.참고로 나는 다음과 같이 설정했다.# Set personal aliases, overriding those provided by oh-my-zsh libs,# plugins, and themes. Aliases can be placed here, t..

프로젝트 2023.06.28

도커란?

도커란? '컨테이너 뭐시기'에서 정확히 뭔지 알아볼까요. 도커 한 줄 소개 프로세스를 격리시켜서 독립적으로 작동할 수 있게 해요. 격리시킨다는 것은? 컨테이너라는 공간에 프로그램의 라이브러리 의존, 다른 프로그램을 담아서 실행을 보장해요. 어떤 의미에서는 컨테이너 안에서 '환경이 온전히' 실행. 따라서 배포와 관리가 쉽다는 장점이 있어요. 프로그램 실행 환경을 임의로 변경되지 않게 보장하가 위함도 있고 프로그램간 라이브러리, 디렉토리의 공유로 발생하는 문제도 해결할 수 있죠. 도커 특징 이미지로 컨테이너를 생성. CLI(Command Line Interface) 환경 리눅스 운영체제 기반 도커와 리눅스 이미지에 매우 경량화된 리눅스 계열 OS가 포함되어요. linux kernel이 들어있지 않은 OS이기..

컴퓨터과학 2023.06.26

HTTP 헤더란?

HTTP 헤더Hypertext Transfer Protocol Header HTTP는 start line, header, body로 구성된다.start line은 반드시 한 줄이며 method, authority, version + crlf 의 값을 가진다.header는 start line과 body와 구분 짓는 빈 줄 이전 사이의 모든 값을 의미한다. HTTP 요청, 응답에 필요한 부가정보를 포함한다.표준헤더가 많아서 다양한 형태가 존재한다.필요 시, 필드 추가가 가능하다. 영문으로는 다음을 참조하길 바란다.HTTP Header - Margaret Rouse, techopedia.comHTTP headers are the name or value pairs that are displayed in the..

컴퓨터과학 2023.06.11

API 요청에서 path, query, body의 차이점

path, query, body의 차이점 path, query, body를 통해 응답에 필요한 정보를 클라이언트로부터 받을 수 있다.물론 헤더로도 받을 수 있지만 여기서는 넘어가겠다.하지만 각각에게 기대되는 정보는 다르다. pathURI는 resource 혹은 representation을 구분하기 위해 사용된다.대부분 URI의 URL을 사용해서 리소스의 경로를 표현한다. (둘은 동일하게 봐도 무방하다)path는 오직 리소스에 초점을 두어 사용하도록 권장된다. 다르게 표현하면, 행위(메서드)를 포함하지 않는다. Ex>/articles/members/search queryget 요청에 필요한 tag, filter, 검색 keyword가 될 수 있다. Ex>구글에 무한도전을 검색하면 다음과 같은 query로 ..

컴퓨터과학 2023.06.10

HTTP status code는 각각 언제 사용될까?

HTTP status code의 종류와 사용처 200번대 - 요청 처리 완료Successful 200, OK요청이 완료되어 정상적으로 프로세스가 처리되었다. 어떠한 요청이든 처리가 완료되었다면 OK로 응답하여도 좋다.201, Created주로 post 요청에 대한 응답 완료로 쓰인다. 요청에 의해 생성된 리소스는 서버에서 관리하게 된다.서버에서 정해준 location이 응답 header에 추가될 수 있음을 알려준다.204, No Content요청에 대한 처리가 완료되었고 응답할 내용이 없다. delete와 put, patch(update) 요청에 응답할 때 사용할 수 있다.300번대 - 추가 요청이 필요Redirectional 응답에 location 헤더 필드가 존재하면 해당 location으로 자동 이..

컴퓨터과학 2023.06.10

TCP/IP를 간단하게 알아보자

TCP/IP 간단 요약 TCP/IP 는 인터넷으로 통신할 때 주로 TCP와 IP가 묶인 패킷이 사용된다고 해서 붙여진 이름이다. 통신을 원하는 애플리케이션이 메세지를 만들면 TCP로 포장되어 세그먼트가 되고 다시 한번 IP로 포장되어 패킷이 된다. 헷갈리는 개념 우선 정리HTTP는 stateless, 즉 클라이언트와 서버가 요청 - 응답 후 연결을 끊는다. 아래에 설명할 IP, TCP에 연결형, 비연결성이 나오는데 이는 3way handshake로 동작하냐 아니냐로 이해해야한다. http의 연결과 다른 것이다.정확히는 http는 stateless 지향적으로 설계되어야 한다.  IPInternet ProtocolNetwork Layer 만약 IP만으로 통신한다면?비연결성: 응답을 받을 수 있는 가를 판단하..

컴퓨터과학 2023.06.10