전체 글

수바리의 코딩일기

    [Spring Boot] 카카오 로그인 API 구현 (2) - Access token으로 사용자 정보 가져오기

    [Spring Boot] 카카오 로그인 API 구현 (2) - Access token으로 사용자 정보 가져오기

    *만약 클라이언트 개발자가 따로 있다면 클라이언트 쪽에서 access_token을 전달해주기 때문에 이 포스팅부터 수행하면 된다. 만약 혼자 구현해야한다면 아래 글부터 진행하여 테스트할 수 있다. 카카오 로그인 API 구현(1) https://suyeoniii.tistory.com/79 [Spring Boot] 카카오 로그인 API 구현 (1) - Access token 발급받기 Spring Boot를 이용해서 카카오 로그인을 구현해보았다. Node.js로 구현할 때보다 복잡해보였는데, 구현하고 나니까 그래도 생각보단 덜 복잡했다! 동작 흐름 카카오를 이용한 소셜로그인 구현 Flow이 suyeoniii.tistory.com 이제 access_token을 받았으니, 이 token을 이용해서 카카오 서버에서..

    [Python] .py 백그라운드 실행 (nohup)

    [Python] .py 백그라운드 실행 (nohup)

    파이썬 실행 시, 보통 python filename.py로 파이썬 파일을 실행했을 것이다. 하지만 이렇게 실행했을 때, 이 창을 나가면 종료되어 버린다. 그래서 파이썬 백그라운드 실행하는 법을 알아보니 nohup을 이용하면 된다고 한다. java실행할 때만 사용했었는데, python도 이걸로 가능하다니 반갑다 nohup nohup 사용법은, 원하는 명령어 앞에 nohup을 붙여주고, 백그라운드 실행을 위해 맨 뒤에 &을 붙여주면 된다! 백그라운드 실행 nohup python3 app.py & log의 경우 nohup.out에 기록된다. 로그 안남기기 nohup python3 app.py & > /dev/null 뒤에 > /dev/null을 붙여주면 로그가 안남는다고 한다. (확인은 안해봤다) nohup으..

    [Spring Boot] 카카오 로그인 API 구현 (1) - Access token 발급받기

    [Spring Boot] 카카오 로그인 API 구현 (1) - Access token 발급받기

    Spring Boot를 이용해서 카카오 로그인을 구현해보았다. Node.js로 구현할 때보다 복잡해보였는데, 구현하고 나니까 그래도 생각보단 덜 복잡했다! 동작 흐름 카카오를 이용한 소셜로그인 구현 Flow이다 이건 네이버도 비슷하다! Apple은 조금 다를 듯 1. 클라이언트 쪽에서 로그인을 한다 2. 카카오 서버는 redirect url로 code를 전달해준다 3,4. code를 이용하여 access_token을 발급받는다 5. access_token을 서버로 전송한다 6,7. 서버에서는 받은 access_token을 이용하여 카카오 서버에서 사용자 정보를 받는다 8. 받은 사용자 정보를 이용하여 회원가입 또는 로그인을 진행한다 9. JWT등과 같이 사용자 식별 정보를 클라이언트로 보낸다 혼자 프론트..

    [Springboot][EC2] 로컬에서 빌드하고 빌드파일만 업로드하기

    [Springboot][EC2] 로컬에서 빌드하고 빌드파일만 업로드하기

    원래는 EC2에 코드를 올려서 build 하고, 수행하게 되는데 EC2 사양이 그렇게 좋지 않다보니 무리가 갈때가 있다! 그래서 가끔 EC2가 먹통이 되곤 했다... 그래서 로컬에서 빌드하고, 서버에 업로드해서 사용하면 괜찮다고 해서 시도!! 먼저 로컬에서 EC2에서 빌드하는 것과 같이 빌드를 수행해준다 ./gradlew build 수행하면 프로젝트 폴더에 build 폴더 안에 libs 폴더가 생긴다! libs 폴더 안을 보면 jar 파일이 생성되어 있을 것이다 우리는 이 jar파일만 EC2에 업로드 시켜주면 된다 파일업로드는 Filezila, 사이버 덕 등을 이용하여 EC2에 SFTP접속을 해서 파일업로드를 시켜주면 된다 나는 사이버덕을 사용해보았다 EC2에서 해당 서버의 루트경로인 var/www/~로..

    [Nginx][EC2] 도메인 연결, https 적용, 서브도메인 설정

    [Nginx][EC2] 도메인 연결, https 적용, 서브도메인 설정

    새 프로젝트를 시작하면서 또다시 반복되는 서버 세팅...^-^ 매번 같은 작업을 반복하다보니 따로 정리해두면 좋을거 같다고 생각이 들었다 도메인연결 가비아에서 도메인은 구입해둔 상태이다! 가비아에서 서비스관리 -> DNS툴을 들어간다 구매한 도메인 리스트 중, 연결할 도메인을 체크하고 DNS설정을 누른다 A레코드를 추가해준다 호스트에 각각 www, @를 입력하고, 값/위치에는 연결할 인스턴스의 ip주소를 적어준다 확인, 저장을 눌러준다. 이렇게 하면 domain.com과 www.domain.com이 사용가능하다 이제 Nginx에서 도메인을 설정해주자 etc/nginx/sites-available 경로에 들어가면 default라는 파일이 있다 default 파일을 사용해도 가능하지만, 한 인스턴스에서 여러..

    [Node.js] nvm으로 node버전 변경하기

    [Node.js] nvm으로 node버전 변경하기

    현재 nvm으로 설치된 node 버전 확인 nvm ls 현재 선택된 버전은 16버전이다 14버전을 설치해보겠다 nvm install v14 설치하면 자동으로 14버전으로 바뀐 것을 볼 수 있다 이미 설치되어있는 node버전으로 변경하려면 nvm use 14 16으로 변경하고 싶다면 nvm use 16을 하면된다 이전에 brew만으로 node를 설치하고 사용했었는데 old version인 14버전을 설치할 수는 있지만, 환경변수때문인지 node명령어가 실행되지 않았다 nvm으로 하면 바로 해결! 편하다 ^-^

    [Node.js] error: node sass version 6.0.0 is incompatible with ^4.0.0.

    [Node.js] error: node sass version 6.0.0 is incompatible with ^4.0.0.

    기존 React에서 기본 node-sass 버전이 4.0.0 이었는데 이게 설치되지 않는 문제가 있었다! npm ERR! 1 error generated. npm ERR! make: *** [Release/obj.target/binding/src/binding.o] Error 1 그래서 6.0.0을 설치했더니 기존 코드가 6.0.0에서는 작동하지 않는듯 했다 error: node sass version 6.0.0 is incompatible with ^4.0.0. 그래서 4.0.0이나 5.0.0을 깔려고 했는데 그것도 안됨ㅠㅠ 보니까 Node버전 별로 지원하는 node-sass버전이 달랐다! 내 노드버전은 16버전이라 6.0.0만 지원하는 것이었다 node-sass 4.0.0버전을 사용해야하니 node를..

    [webpack] sh: /node_modules/.bin/webpack-dev-server: Permission denied

    [webpack] sh: /node_modules/.bin/webpack-dev-server: Permission denied

    과제로 truffle을 사용한 Dapp 실습을 하는거였는데, 제공된 폴더 안에 webpack이 포함되어 있었다 npm run dev를 수행했는데 상상도 못한 Permission denied가 떴다..! 해결방법 node_modules 폴더가 포함된 자료를 받아서 수행하는거였는데, 기존 node_modules와 package-lock.json을 삭제한 뒤 다시 npm i 를 수행하고 npm run dev를 수행하니 Permission denied없이 잘되었다!

    [AWS][EC2] ssh 접속 시 WARNING: UNPROTECTED PRIVATE KEY FILE! 에러

    [AWS][EC2] ssh 접속 시 WARNING: UNPROTECTED PRIVATE KEY FILE! 에러

    chmod 600 pem파일이름.pem .pem 파일을 처음 받은 뒤, ec2에 ssh접속을 하려하면 WARNING: UNPROTECTED PRIVATE KEY FILE! It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key ".pem": bad permissions Permission denied (publickey). 위와 같은 경고 메세지가 뜨고 Permission denied라고 뜬다 .pem파일이 너무 open 되어 있다는 경고이다 터미널을 연 뒤, 해당 파일 경로에서 chmod 600 pem파일이름.pem 를 입력해주면 해당 권한으로 설정되어..

    [Node.js] Cookie 사용하기 🍪

    [Node.js] Cookie 사용하기 🍪

    쿠키란 웹브라우저에 저장할 수 있는 정보이다 자동로그인을 예로 들면, 자동로그인 시 브라우저에 쿠키를 저장하여 다음에 접속했을 때 쿠키가 있다면 로그인 상태를 유지할 수 있는 것이다 node.js + express환경에서 cookie를 사용해보겠다 생각보다 아주 간단하다 cookie 설정을 한 뒤, 필요한 시점에 cookie를 생성해주고, cookie를 확인해야할 때 확인하면 된다 ...! 쿠키 사용하기 npm i cookie-parser app.js var cookieParser = require('cookie-parser'); const app = express(); app.use(cookieParser()); 설정 끝! 이제 쿠키를 사용해주면 된다 쿠키 사용법 쿠키 주기 res.cookie(key,..