반응형

재학습 67

[nginx or Linux] nginx 오류 An error occurred.

오류 내용을 살펴보자면, 에러를 살펴보란다. An error occurred. Sorry, the page you are looking for is currently unavailable. Please try again later. If you are the system administrator of this resource then you should check the error log for details. Faithfully yours, nginx. 1.nginx restart nginx오류가 간간히 나긴 했는데, 대부분 OOM 문제였다.(메모리 초과) 그때는 관리자권한으로 서버를 접속하여 COMMAND :: /etc/init.d/nginx restart 위 커맨드를 사용했다. nginx는 rest..

재학습/오류 2022.01.25

[node] node version 업데이트

create-react-app을 사용하여 프로젝트를 만드려는 때에 오류가 발생했다.찬찬히 읽어보니 노드 버전이 낮다는 것.따라서 노드 버전을 업데이트 해줘야 했다. 1)node -v (버전확인) 2)npm cache clean -f (npm 캐쉬삭제) 3)npm install -g n (노드 버전관리 플러그인 n) -노드버전관리 플러그인인 n을 설치해준다. 4)n lts (n을 사용하여 설치 lts-lts버전) -n을 사용하여 lts버전을 설치한다. (*LTS - Long Term Support) 그 후에 create-react-app 수행 시 정상 작동함을 확인할 수 있었다.

재학습/오류 2022.01.25

[CLOUD] 클라우드 서비스란?

클라우드 서비스란? 클라우드 서비스는 서버대여이다. 서버를 대여해주는것은 물리적으로도 가능하나, 클라우드 서비스는 서버를 네트워크를통해 대여해준다. 클라우드 형태의 종류 Iaas(Infrastructure As A Service) -물리장비+미들웨어를 추상화한 서비스 -IT인프라를 대여해주는 서비스 ex) AWS EC2, S3 ... Paas(Platform As A Service) -Iaas를 한층 더 추상화한 서비스 -한층 더 추상화했기 때문에 자동화기능이 지원된다. ex) AWS Beanstalk(빈스톡), Heroku(헤로쿠) 등 Saas(Software As A Service) -클라우드로 구현된 소프트웨어 서비스 ex) 구글드라이브, 드롭박스 등 *그렇다면 왜 개발자들은 프로젝트를할때 Paas..

재학습/INFRA 2021.11.26

[Postgresql] Vacuum 이란?

[Vacuum이란?] Postgresql에서는 Vacuum 개념이 있다. Vacuum개념을 설명하기위해서는 다른 선수개념들이 필요하므로 하나씩 짚어가고자 한다. Postgres는 MVCC를 구현하기위한 튜플개념이 존재하는데, 쉽게말해 트랜잭션을 가능하게 하는것을 목적으로 하는 개념이다. 이 튜플은 Postgres에서 '데이터'이다. 데이터는 튜플형태로 저장된다고 보면된다. 그렇다면 다시 본론으로돌아와보자. 트랜잭션을 지원히기위해서 튜플형태로 저장되어있는 데이터의 Update/Delete연산은 기존의 데이터를 직접 가공하는 형태로 이루어지지않는다. 즉, 기존의 데이터는 그대로 저장해두고, 사용하지않는다는 표시를 한다. 이 부분은 조금 더 정확히 설명해볼 필요가 있다. 한 개념만 더 짚어보자, Postgre..

재학습/DB 2021.10.20

[Nodejs - Mongoose] MongooseServerSelectionError: Could not connect to any servers in your MongoDB Atlas cluster.

[배경] MongoDB를 사용하기위해 MongoDB 공식 웹페이지의 Cluster를 사용하고자 했다. (https://www.mongodb.com/) 이번에도 마찬가지로 위의 예쁜코드를 사용했다. *connect에 나오는 저 URL이 MongoDB Cluster를 생성하여 얻은 Connection String이다. 그러나..이번에도 결과는 참혹했다. 다음과 같은 오류가 나와버린 것..! MongooseServerSelectionError: Could not connect to any servers in your MongoDB Atlas cluster. One common reason is that you're trying to access the database from an IP that isn't w..

재학습/오류 2021.10.06

[Nodejs - Mongoose] MongoParseError: options usecreateindex, usefindandmodify are not supported

[배경] NodeJS에서 Express프레임워크를 설치하여 적용하고, MongoDB사용을위해 MongoDB 사용 툴인 Mongoose를 설치하였다. 위처럼 코드를 예쁘게 작성해준뒤 npm run start로 시작을 해주었지만 결과는 참혹했다. MongoParseError: options usecreateindex, usefindandmodify are not supported가 발생해버린 것! 예시를 보고 이쁘게 따라쳐줬는데 뭐가 문제였을까.. [결과] 몽구스 버전이 6.0이상이라 발생하는 이유였다. 6.0이상이라면 {useNewUrlParser:true, uiseUnifiedTopology:true, useCreateIndex:true, useFindAndModifiy:false} 이 내용이 기본값이된..

재학습/오류 2021.10.06

[NextJS] TypeError: Cannot read properties of null (reading 'tagName')

오류 : TypeError: Cannot read properties of null (reading 'tagName') 오류 발생 지점은 다음과 같다. 필자의 경우는 기존 HTML을 NextJS로 옮기기 위해 기존 HTML구조를 그대로 가져왔는데 , 의 위치가 nextJS 규칙에 맞지않게 되어있었던것이 오류의 원인이였다. 왜냐하면 일반적인 HTML코드의 내부스타일은 head안에 작성되니까. 따라서 이렇게 수정한 뒤 TypeError: Cannot read properties of null (reading 'tagName') 에러는 해결되었다.

재학습/오류 2021.10.01

JWT (Json Web Token) 간략하게 정리하고 가자

JWT(Json Web Token) JSON포맷을 이용하여 사용자에 대한 속성을 저장하는 WebToken. 구조 Header / Payload / Signature 총 3부분을로 나눠짐. -각 부분은 . (Dot) 구분자로 구분된다. -각 부분은 Json형식으로 이루어져있다. -각 부분은 모두 Base64로 인코딩되어 표현된다. *Base64는 암호화된 문자열이 아니다. 따라서 같은 데이터에 대해 항상 같은 문자열을 반환한다. Header -typ : 토큰의 타입을 지정한다 ex) jwt -alg : 알고리즘 방식을 지정한다. Signature(서명)및 토큰검증에 사용된다 ex) HS256 or RSA... Payload Payload는 토큰에서 사용할 정보들이 담겨있다. Json포맷이기때문에 Key -..

재학습/개념 2021.08.01

ID생성전략 없이 Custom String ID를 만들어보자!

[기술 스택] SpringBoot + Postgresql + JPA [기존 ID생성 전략] JPA에는 3가지 전략 존재한다. 3가지 전략에 대한 간단한 설명은 아래 글에서도 언급했으니 넘어간다. https://japing.tistory.com/entry/기본키-매핑전략-Identity에-대해 기본키 매핑전략 Identity에 대해 JPA의 기본키 매핑전략에는 총 3가지가 있다! 1.Identity -DB에게 ID생성을 맡기는 방법! 2.Sequence -시퀸스를 이용하여 ID를 증가시키는 방법! 3.Table -시퀸스처럼 사용할 수 있는 테이블을 생성하여 ID를 japing.tistory.com 이번프로젝트에서는 직접 아이디를 만들어 주입하는 방식을 사용한다. 즉, ID Generator을 사용해서 ID..

재학습/JPA 2021.07.26

JPA 필요없는 쿼리가 나간다?

이상한 일이였다. 쿼리가 많이 나갈 건 알고있었던, 나의 로직. 아니나 다를까.. 속도가 너무 느렸다. 따라서 쏘는 쿼리들을 까본 결과 예상밖의 쿼리가 나가고있었다. 바로 필요없는 쿼리가 더 나가고 있었던 것..! 내가 짠 로직 상으로는 Insert쿼리만 나가면되는데, 대체 왜 Select -> Insert 순으로, 쿼리가 2번이 나가버리는걸까? [배경] 1. Custom String ID를 사용한다. (ID를 정한 상태로 Persist합니다.) 2.JpaRepository를 상속하여 사용합니다. [로직] public void myLogic(User user) { User createdUser = userRepository.save(user); createShop(createdUser.getId()); ..

재학습/JPA 2021.07.21
반응형