본문 바로가기

전체 글

(21)
세션과 토큰 기반 인가(Authorization), JWT란? JWT에 대해 알기 위해서는 우선 인증과 인가의 개념에 대해서 알아야한다. 인증과 인가 인증(Authentication) - 특정 권한이 있는 사용자임을 "인증"받는 것 즉, 회원가입과 로그인 인가(Authorization) - 인증(Authentication)을 받은 사용자가 서비스의 여러 기능을 사용할 때 로그인이 되어있음을 확인하고 "인가"를 받는다. 이중 JWT는 인가(Authorization)에 연관된 기술이다. 로그인 상태를 유지하기 웹사이트 서버가 요청을 받을 때마다 해당 사용자가 로그인, 인증과정을 거친 상태인지 확인을 해서 그에 따라 로그인이 필요한 기능들(ex. 이메일 접속, 댓글 작성)의 허용 여부를 결정해 응답을 해주어야한다. 아이디랑 비밀번호를 브라우저 저장소에 저장한 다음에 요청..
VSCode 단축키 정리 단축키들 중에서 정말 자주 사용하는 단축키들만 정리해둠 기본 들여쓰기 Tab, 내어쓰기 shift + Tab 한줄 주석처리 Ctrl + / 현재 페이지에서 검색하기 Ctrl + f 전체 파일에서 검색하는 창 열기 Ctrl + shift + f 파일명으로 파일 찾기 Ctrl + p 중요도 ★★★ 현재 페이지에서 문자열 변경하기 Ctrl + h 특정 문자열 N개 한번에 수정 Ctrl + d 복수의 장소에 커서 두기 Alt + 클릭 열모드 Ctrl + alt + ↑/↓ (위아래 방향키) 블럭 열모드 Shift + Alt + 드래그 중요도★★ 현재 라인 이동 Alt + ↑/↓ (위아래 방향키) 현재 라인 복사 Alt + ↑/↓ (위아래 방향키) 원하는 라인으로 이동(특정 줄 번호 입력) Ctrl + g 중요도★..
나만의 SNS 만들기 프로젝트(스파르타 웹개발 플러스) 스마트 해상물류 x ICT멘토링 블렌디드 러닝 지원을 통해 수강한 스파르타코딩의 웹개발 플러스 강좌에서 개발한 프로젝트를 복습하는 겸 다시 분석하며 정리하는 게시물이다. 전체 코드는 아래의 깃허브에 업로드 해두었다. https://github.com/dong5854/my_sns GitHub - dong5854/my_sns: sparta_plus_4th_week sparta_plus_4th_week. Contribute to dong5854/my_sns development by creating an account on GitHub. github.com 이번 프로젝트의 목표는 웹플러스 수업에서 지금까지 만든 일기장, 단어장, 맛집지도와 같이 혼자만을 위한 서비스 만들어도 주소만 알면 누구나 들어와 내용을 ..
javascript 조건연산자, 삼항연산자 사용법 조건 연산자는 피연산자가 세 개이기 때문에 삼항 연산자라고도 불린다. if문으로도 작성이 가능하지만 조건 연산자를 사용하면 코드를 좀 더 간결하게 작성할 수 있다. javascript에만 있는 특이한 문법은 아니며 C와 C++ 같은 다른 언어에도 존재하는 문법으로 사용법도 같았던 것으로 기억한다. "조건" ? "A" : "B" 위와 같은 형태로 작성을 하며 조건에 해당하는 부분이 참일 경우 A가 실행되고 거짓일 경우 B가 실행된다. if문과의 간단한 비교를 통해 예시를 보여주자면 만약 아래와 같은 if문을 작성했다고 하자. if(a > b){ console.log(true); }else{ console.log(false); } 위의 if문에서 a가 b 보다 크다면 console.log에 true가 찍힐 ..
robots.txt과 Sitemap robots.txt robots.txt는 검색로봇(검색엔진 크롤러)에게 크롤러가 사이트에서 액세스 할 수 있는 URL를 알려주는 역할을 하는 파일로서, 웹페이지의 수집을 허용하거나 제한하는 국제 권고안이다. 이 파일은 어디까지나 국제 권고안이기 때문에 google혹은 naver등의 저명한 검색엔진이 아니라면 규칙을 준수하지 않을 수 있기 때문에 만약 외부에 노출을 허용하고 싶지 않은 컨텐츠의 경우에는 다른 방법을 이용하여 차단을 해야 한다. robots.txt의 설정법과 같은 부분은 Naver과 google에서 자세한 가이드 알려주어 이를 따라 규칙을 준수하여 작성하면 된다. Sitemap 사이트맵은 사이트에 있는 정보들의 관계에 대한 정보를 제공하는 파일로 검색엔진들은 이 파일을 읽어 사이트를 효과적으..
Datadog(데이터독)이란??(+Datadog API) 이번 포스트는 datadog(의 기본적인 기능들에 관한 설명들이다. 공부를 하며 필기한 정리되지 않은 내용이라 가독성이 떨어질 수 있기 때문에 Datadog101 클래스 혹은 공식문서를 같이 보면 도움이 될 수 있을 것 같다. Datadog101 비디오 시리즈: https://www.youtube.com/watch?v=uI3YN_cnahk&list=PLdh-RwQzDsaOoFo0D8xSEHO0XXOKi1-5J 데이터독 Overview Datadog는 인프라 모니터링, APM(Application Performance Management)에서 tracing 분석, log management 등의 서비스를 제공하고 이 모든 서비스가 연관 분석이 가능하게 해주는 서비스이다. event stream event ..
setInterval()이 한번만 실행되고 끝나는 경우 setInterval이 한번만 실행되고 끝나는 경우 setInterval을 이용해서 함수를 실행할 때, function test(){ alert("test"); } setInterval(test(), 1000); 이런식으로 코드를 작성하면 test()함수는 한번만 실행이 된다. 만약 이 함수를 여러번 실행하고 싶다면 function test(){ alert("test"); } setInterval(test, 1000); 이런 코드를 작성해야 하는데, 이는 자바스크립트에서의 함수는 객체인 것을 명심해야 한다. test와 test()의 차이는 test는 함수를 참조하지만 test()는 함수를 실행한다는 것에 있다. 따라서 setInterval(test(), 1000);는 interval이 함수에 적용이 되는..
웹사이트 크롤링 AWS EC2 Django 프로젝트에 적용 결과물 *본 게시물은 아래의 게시물에서 이어지는 게시물이다. https://dong5854.tistory.com/16 selenium과 bs4를 이용한 동적 웹사이트 크롤링 사용목적 우리가 개발중인 웹 페이지에 선박명을 입력받으면 선박의 위치를 지도에 나타내는 기능을 넣으려고 한다. 하지만 선박의 이름을 입력받아 선박의 위치를 알려주는 API서비스는 찾지 dong5854.tistory.com AWS EC2 인스턴스에 있는 Django 프로젝트에 위의 게시물에서 작성한 크롤링 프로그램을 합치는 작업을 했다. 작업을 성공적으로 마친 후에는 다음과 같은 결과가 나타났다. 크롤링과 기존시스템을 통해 성공적으로 작동을 한 경우는 첫 번째 사진처럼 결과가 나타나고 선박은 존재하지만 marinetraffic API에..