반응형

📜 TIL 67

Nginx란? (생활코딩 스크랩 및 일부 수정)

Web(=World Wide Web, ≒ Internet) 웹이란 World Wide Web의 약자! 인터넷이라는 네트워크 체계 위에서 동작하는 통신 규약 중의 하나. 웹이 인터넷과 같은 의미처럼 사용된 이유는 웹이 가장 성공한 인터넷 서비스이기 때문. HTTP http란 웹서버와 웹클라이언트가 서로 정보를 주고 받기 위한 약속(protocol). 요청은 어떻게 해야하고, 응답은 어떻게 해야하는지에 대한 규칙을 미리 정해둔 것. Web Server(=HTTP Server) 웹서버는 다른 말로 HTTP Server라고도 부른다. 웹브라우저의 카운터 파트너로서 서버 쪽에서 정보를 제공하는 소프트웨어를 의미한다. 대표적인 웹서버는 Apache가 있으며 최근들어 Nginx를 많이 도입하는 추세다. NGINX N..

📜 TIL 2021.10.14

배포 하며 참고했던 여러 사이트 및 명령어

서버에 접속하자! ssh -i cert.pem ubuntu@i4c10x.p.ssafy.io 그리고 배포하고자 하는 프로젝트를 clone하자. git clone https://lab.ssafy.com/s04-webmobile2-sub1/skeleton-project.git 이후 업데이트로 인해 새로운 push가 발생할 경우엔 해당 프로젝트로 이동한 후 git pull Nginx 시작 sudo service nginx start 80이 들어가는 port를 검색하고 싶을 때 netstat -nap | grep 80 [Linux] 사용 중인 포트 종료하기 NodeJS 등을 사용하다보면 가끔씩 비정상적으로 종료되면서, 특정 포트에서 서버를 실행할 수 없다는 오류가 나기도 한다. 이럴 때에는 직접 사용 중인 포트를..

📜 TIL 2021.10.12

session과 token

만약 세션이나 토근이 존재하지 않다면? Gmail에 로그인했는데 메일함을 체크할 때 마다 메일을 적을 때 마다 로그인을 해야한다면 매우 불편할 것. [참고] 인증과 인가 인증 : 특정 서비스에 권한이 주어진 사용자임을 인증받음. 인가 : 인증받은 서비스가 이후의 서비스들을 이용할 수 있도록 허가 받는 것. 세션(Session) 기존에 전통적으로 많이 사용해온 방식. 새로운 요청 마다 세션을 실어서 어떤 사용자가 로그인이 되어있도록 유지시켜준다. 따라서 사용자가 동시에 많이 접소하면 메모리가 부족해지고 메모리위에 세션이 올라가있게 되면 날아가버린다. 사용자는 로그인을 다시 해야한다. 만약 하드나 디비에 넣는다면 메모리에서 바로바로 꺼내서 인증하는 것보단 오래걸린다. 이 것 말고도 다양한 이유는 있으나 일단..

📜 TIL 2021.10.02

TCP/IP의 탄생배경 및 설명

인터넷의 시초는 서로간의 통신을 위해서 시작이 되었고 상호간의 접속을 위한 프로토콜(일종의 약속)이 필요했다. 이를 위해서 OSI라는 프로토콜이 만들어졌다. 그런데, 표준규약 또는 통신사들이 내세우는 표준이라는 것이 뒤떨어지고 또는 너무 무겁기 때문에 실제로는 이 표준을 뒤로 하고 TCP/IP표준이 더 많이 사용하게 되었다. TCP/IP 프로토콜도 OSI 7 layer를 참조한 것이고, 그 중 필요한 것들 위주로 경량화 했다고 보면 된다. TCP/IP는 4계층이다. 링크 계층, IP계층, 전송계층, 애플리케이션 계층. 링크계층은 직접 연결해서 데이터를 보내는 것이다. 이더넷 네트워크 카드를 의미한다. IP계층은 주소와 같다. 어디로 보낼 것인지 어디와 통신할 것인지 대상을 연결한다. 선로와 같은 역할을 ..

📜 TIL 2021.09.22

네트워크 패킷 분석 무료툴 # Fiddler(피들러)와 Wireshark(와이어 샤크)

네트워크 패킷 분석툴의 목적 클라이언트와 서버간의 패킷을 캡쳐하여 데이터 송수신이 제대로 이뤄지고 있는지 확인할 수 있다. API을 콜 했을 때/성공 혹은 실패 여부와 파라미터를 한 눈에 파악할 수 있다. 무엇을 콜 하였는지 파라미터는 어떤게 들어갔는지 알 수 있고 reponse 결과도 볼 수 있다. 즉, 웹개발 시 화면상으로만 보았을 땐 오류가 났는지 안났는지 확인하기 어렵기 때문에 프론트 레이어를 다 찍어주는 패킷 분석툴을 쓰는 것! 그래서 모든 기능을 일일이 실행해보지 않고도 에러 여부를 알 수 있다. 따라서 피들러 혹은 와이어 샤크는 웹 개발 팀의 필수 툴이다. (개발자들 끼리의 "피들러 떠봤어?"라는 말은 피들러를 사용하여 확인해봤냐는 이야기.) Fiddler HTTP 메세지 캡처 기능과 Pro..

📜 TIL 2021.09.13

SSH란?

SSH Secure Shell Protocol 다른 컴퓨터에 접속할 때 쓰는 것. 네트워크 프로토콜 중 하나. 컴퓨터와 컴퓨터가 인터넷과 같은 Public Network를 통해 서로 통신을 할 때 보안적으로 안전하게 통신을 하기 위해 사용하는 프로토콜. 주로 데이터 전송과 원격 제어 시 사용한다. 데이터 전송의 예) 원격 저장소인 깃헙 소스 코드를 원격 저장소인 깃헙에 푸쉬할 때 SSH를 활용해 파일을 전송. 원격 제어의 예) AWS 클라우드 서비스 AWS의 인스턴스 서버에 접속하여 해당 머신에 명령을 내리기 위해 SSH를 통해 접속. 다른 프로토콜의 종류에는 FTP ,Telnet 등이 있지만 SSH를 사용하는 이유는 보안때문이다. SSH는 보안적으로 훨씬 안전한 채널을 구성한 뒤 정보를 교환하기 때문에..

📜 TIL 2021.09.11

RESTful한 URL이란?

1. 소문자 사용. 카멜방식이 아닌 소문자를 사용하여 작성. 잘못된 예 https://pythontoomuchinformation.tistory.com/users/postLikes 올바른 예 https://pythontoomuchinformation.tistory.com/users/post-likes 2. 언더바를 대신 하이픈 사용. 잘못된 예 https://pythontoomuchinformation.tistory.com/users/post_likes 올바른 예 https://pythontoomuchinformation.tistory.com/users/post-likes 3. 마지막에 슬래시를 포함하지 않는다. 슬래시는 계층을 구분하는 것으로, 마지막에는 사용하지 않는다. 잘못된 예 https://py..

📜 TIL 2021.09.10

서버 이중화(HA- High Availability) 솔루션 및 로드 밸런싱(Load Balancing)

HA(High Availability)를 간단히 한국어로 직역을 하자면 “고가용성”이다. 고 가용성이란 “가용성이 높다”는 뜻으로서, “절대 고장 나지 않음”을 의미한다. 즉, 네트워크나 프로그램 등의 정보 시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질을 말한다. 최근 들어 기업의 모든 비즈니스가 디지털화 되면서, 고 가용성이 보장된 서비스를 제공해야 하는 케이스가 점점 많이 발생하고 있다. 또한 단 한번의 예상치 못한 서버 다운은 기업 신용 실추 등의 문제와 직결되기 때문에 손실이 매우 크다. 여담으로 HA설계를 하느냐 안하느냐에 따라 주니어 개발자와 시니어 개발자를 나누는 기준이 되기도 한다고 한다. 서버 이중화 서버 이중화란 운영중인 서비스의 안정성을 위해 각종 자원을 이중 또..

📜 TIL 2021.09.07

Gitlab에 JIRA와 Mattermost 연동시키기

들어가기 전에 Gitlab에 JIRA와 MetterMost를 세팅하기 전 Members메뉴에 들어가 나의 Max role이 Maintainer인지 확인. 상위 role이어야 Settings메뉴가 보이기 때문에 확인해줘야 한다. 어떤 role부터 Settings메뉴를 건드릴 수 있는지는 모르지만 정확한 건 Developer의 상태에서는 Settings메뉴가 보이지 않아 설정할 수 없다. Gitlab 설정 1. Settings - Repository - Default branch 현재는 master 브랜치가 Default 브랜치로 설정되어 있다. master에서 공용으로 사용하는 develop 브렌치로 바꾸어준다. 2. Settings - Repository - Protected branches Master..

📜 TIL 2021.08.31

리눅스 # Ubuntu에서 Vi 파일 수정 시 방향키 및 문자 오류

상황 처음으로 Driver.java를 수정해보려 $ vi Driver.java 명령어를 통해 Driver.java파일을 열어보았다. 그런데 방향키로 요리조리 움직이려 하니 잘 안움직여지거나 이상한 영단어를 입력시키는 둥 난리가 났었다..ㅎ 해결 VIM을 설치하여 간접적으로 해결할 수 있다. $ sudo apt-get update $ sudo apt-get install vim 근데 여기서 install도 하지 못하고 바로 아래의 에러발생 E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg frontend lock (/var/lib/d..

📜 TIL 2021.08.24
반응형