반응형

분류 전체보기 492

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

개발자 이력서 # 기술 스텍 수준의 척도

네이버 기준 4 - 대규모 프로그램 및 시스템을 참고사항(책/인터넷)없이 개발할 수 있으며, 일반적이지 않은 난해한 부분도 일부 참고를 통해 개발할 수 있음 3 - 중간규모 프로그램 및 시스템을 개발할수 있으며, 주요 이슈 트러블슈팅을 할 수 있을 정도로 내부구조에 대해 이해하고 있음 2 - 시스템 동작 방식을 알고 있으며, 기본적인 기능을 구현할 수 있음 1 - 코드를 읽을 수 있으며, 책을 참고하여 약간의 수정작업 또는 작은 변경사항 추가를 할 수 있음 0 - 경험/지식 없음 그 외

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

서버에 접속하자! 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

ubuntu EC2 서버 mysql 연결 에러 # Can't connect to local mysql server through soket '/var/run/mysqld/mysqld.sock' (2)

Ubuntu에서 나의 서버에 접속해(로컬X) $ sudo mysql 해주었을 때 ERROR 2002 (HY000): Can't connect to local mysql server through soket '/var/run/mysqld/mysqld.sock' (2) 의 에러가 떴다. 그리고 Workbench에서는 아래와 같은 에러가 떴다. Cannot Connect to Database Server Your connection attempt failed for user 'root' to the MySQL server at x5x103.x.ssafy.io:3306: Unable to connect to localhost 그래서 Ubuntu 환경에서 아래와 같이 mysql을 일단 멈추고 다시 시작해보았다. ..

session과 token

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

📜 TIL 2021.10.02

BFS(너비 우선 탐색) Python코드로 이해하기

BFS(너비 우선 탐색) 시작 노드부터 출발해서 가까운 노드부터 우선적으로 탐색하는 형태 큐 자료 구조를 이용한다는 점이 특징 시작 노드를 큐에 넣고 방문 처리를 해야 합니다. 큐에서 노드를 꺼낸 뒤에 그 꺼낸 노드에 인적 노드 중에서 방문하지 않은 노드를 모두 취해놓고 방문 처리를 수행. bfs는 해당 시점에서 인접한 노드를 한 번에 전부 큐에 넣는다는 점이 특징 큐를 위해서 하나의 deque 라이브러리를 부르자. dfs 때와 마찬가지로 이 0번 노드에 대한 내용을 비우고 8개의 노드를 모두 처리할 수 있도록 총원소가 9개인 리스트 객체를 만들어 그래프를 표현해준다. 그래서 1번 노드는 2, 3, 8번 노드와 인접해 있고 2번 노는 1, 7번 노드와 인접해있다. 방문 처리 목적으로 visited라는 이..

DFS(깊이우선탐색) Python코드로 이해하기

DFS(깊이우선탐색) dfs는 이름에서부터 알 수 있듯이 깊이를 우선으로 하여 탐색하는 알고리즘. dfs를 구현하고자 할 때는 스택 자료구조 혹은 재귀 함수를 이용. 먼저 탐색을 시작할 노드를 스텍에 넣고 방문 처리. 스택의 최상단 노드에 방문하지 않은 인접 노드가 하나라도 있다면 그 노드 또한 스택에 넣고 방문 처리. 혹은 만약 스택에 최상단 노드에 방문하지 않은 인접 노드가 없으면 그냥 스택에서 해당 노드를 꺼내면 된다. 이러한 과정을 더 이상 수행할 수 없을 때까지 반복. 어떤 노드부터 방문할지를 결정하기 위한 기준은 문제에서 요구하는 내용에 따라서 달라질 수 있고 어떤 노드부터 방문하더라도 상관이 없는 경우도 있다. 흔히 번호가 낮은 로드부터 방문한다고 가정하고 설명을 진행하는 경우가 많다. 파이..

JPA # 저장할 때와 수정할 때의 동작과정

저장할때 JPA 의 경우 트랜잭션 실행 단위안에서 동작한다. 엔티티 매니저에 의해서 생성된 객체를 영속성 컨텍스트에 등록한다. 이때 해당 객체는 영속상태가 되어 1차 캐시에 저장된다. 또한 insert 쿼리는 쓰기지연 SQL저장소에 저장이된다. 트랜잭션이 끝나는 시점에 쓰기 지연 SQL 저장소에 있는 쿼리문들이 flush가 되고 트랜잭션 커밋이 된다. 수정할때 우선 수정할 엔티티를 찾는다. 이때 1차 캐시에 올라가고 영속상태가 된다. 즉 영속성 컨텍스트가 관리하는 상태가 된다. 그리고 set~~()으로 데이터를 수정한다. 이때 JPA는 데이터베이스 트랜잭션 커밋 시점에 내부적으로 flush가 되는데 영속성 컨텍스트 기능중 변경감지 기능이 있어서 이 것이 현재 1차 캐시의 엔티티와 최소 1차 캐시에 등록된..

일기짱_모더나 백신 2차 부작용/이상반응 기록

9월 23일에 모더나 2차 백신에 예약을 성공해서 싸피 수업 도중에 맞고 왔다. (참고로 모더나 1차를 맞았을 땐 아무런 이상반응이 없었다.) 당일은 아무런 이상반응이 없었고, 다음 날 일어났을 땐 머리가 조금 띵하고 속이 울렁거렸다. 그래서 낮잠을 자면 괜찮겠지 하고 자고 일어났더니 머리가 아픈 건 괜찮았는데 속은 여전히 좀 울렁거렸고 가슴 두근거림이 시작되었다. 평소 가슴 두근거림이 역류성 식도염 때문에 가끔 있어서 대수롭게 생각하지 않았는데 시간이 지날수록 심해졌다. 너무 가슴이 기분 나쁘게 두근거려서 가만히 앉아있지 못할 정도였다. +추가 : 몸 전체를 바늘로 찌르듯한 신경통이 있었다. 그래서 자리에서 일어나 집 안에서 좀 걸으니 나아져서 괜찮아지겠거니 했는데 나중엔 걸어도 가슴이 심하게 두근거려..

일기짱 2021.09.27
반응형