본문 바로가기

개발이야기61

DB, JWT, 프로젝트 구조 ※이 포스팅은 sopt 26기 server part seminar 자료 바탕으로 작성되었으며, 복습용입니다. 1-1. ERD ERD는 개체 관계 다이어그램으로, 말 그대로 개체간의 관계를 다이어그램을 표시해둔 것 (테이블을 생성하고 수정, 삭제, 연결 등을 할 수 있다!) 2-1. 인증 인증이란, API 요청에 대해 사용 가능한 사용자인지 확인하는 절차 즉, 클라이언트가 주장하는 사용자와 같은 사용자인지 확인 ex) 아이디에 알맞는 비밀번호로 로그인 2-2. 인가 인가란, 사용자가 특정 자원에 대한 접근 권한이 있는지 권한 체크를 하는 것 즉, 클라이언트가 하고자 하는 작업이 해당 클라이언트에게 허가된 작업인지 확인 ex) 사용자의 권한 레벨에 따라 접근할 수 있는 부분 제한 2-3. 무상태 프로토콜 무.. 2020. 8. 24.
Database, RDS ※이 포스팅은 sopt 26기 server part seminar 자료 바탕으로 작성되었으며, 복습용입니다. 1-1. DATABASE Database란, - 체계화된 데이터의 집합체 - 중복된 데이터를 없애고, 자료를 구조화하는 효율적인 처리 DBMS란, 데이터베이스를 관리하는 미들웨어 SQL을 사용하면 RDB, SQL을 사용하지 않으면 NoSQL이다. 2-1. RDB RDB란, Relational Database로 - key & value 들의 간단한 관계를 테이블화 시킨 매우 간단한 원칙의 데이터베이스 - 데이터를 column과 row를 이루는 하나 이상의 테이블 예를 들면 테이블의 컬럼이 id 일 때, id는 key가 되고 id 컬럼에 속한 'a'라는 id는 value가 된다. 2-2. Primar.. 2020. 8. 24.
ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '바꾸고싶은비밀번호';FLUSH PRIVILEGES; 에러라기보다는 mysql root 계정 비밀번호를 바꾸고 싶을 때, ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '바꾸고싶은비밀번호'; FLUSH PRIVILEGES; 를 하면 된다 .. ! 2020. 8. 22.
list for문 python으로 알고리즘 문제를 풀면서 헤맸던 부분이 있다. list-a로 구현해놓고 for-b처럼 구현되길 바랬던 것이다. 혹시나 해서 b처럼 바꿔보니 혹시나가 역시나가 되는 그런 상황이었다,, a는 아예 똑같은 반복인 것 같다.a를 더 편하게 생각해왔지만 둘은 확실하게 다르다. a=[[0]*5]*6 print(a) #[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] b=[[0]*5 for _ in range(6)] print(b) #[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0.. 2020. 8. 21.
list 덧셈 list끼리 합치고 싶을 때가 있다. 따로 list를 생성해서 for문으로 하나하나 append 시키는 것보다 '+' 하나로 아주 깔끔하게 합쳐진다. a=[1] b=[2,3] print(a+b) #[1,2,3] 2020. 8. 21.
Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 라고 에러가 난다면 jar 파일을 넣어주어야 한다. 혹시 넣어줬음에도 똑같은 에러가 난다면 pom.xml을 확인하자. mysql mysql-connector-java 5.1.45 junit junit 3.8.1 test 이것도 pom.xml에 추가해주어야한다 ! 2020. 8. 20.
Establishing SSL connection without server's identity verification is not recommended. Establishing SSL connection without server's identity verification is not recommended. 라고 에러가 떴을 땐, getConnection url에 useSSL=false만 추가해주면 된다. false 뒤에 ; 도 붙이지 말 것. timezone을 설정해주어도 설정해주지 않아도 된다. 인텔리제이에서 메이븐 프로젝트를 만들었을 때의 예시다. 2020. 8. 20.
24) application scope * 이 글은 부스트코스 웹 백엔드 강의 수강 바탕으로 작성되었습니다. Application Scope 웹 어플리케이션이 시작되고 종료될 때까지 변수를 사용할 수 있다. ServletContext 인터페이스를 구현한 객체를 사용한다. jsp에서는 application 내장 객체를 이용한다. 서블릿의 경우는 getServletContext()메소드를 이용하여 application객체를 이용한다. 웹 어플리케이션 하나당 하나의 application객체가 사용된다. 값을 저장할 때는 application객체의 setAttribute()메소드를 사용한다. 값을 읽어 들일 때는 application객체의 getAttribute()메소드를 사용한다. 모든 클라이언트가 공통으로 사용해야 할 값들이 있을 때 사용한다. .. 2020. 8. 12.
23) session scope * 이 글은 부스트코스 웹 백엔드 강의 수강 바탕으로 작성되었습니다. Session Scope 웹 브라우저별로 변수를 관리하고자 할 경우 사용한다. 웹 브라우저간의 탭 간에는 세션정보가 공유되기 때문에, 각각의 탭에서는 같은 세션정보를 사용할 수 있다. HttpSession 인터페이스를 구현한 객체를 사용한다. JSP에서는 session 내장 변수를 사용한다. 서블릿에서는 HttpServletRequest의 getSession()메소드를 이용하여 session 객체를 얻는다. 값을 저장할 때는 session 객체의 setAttribute()메소드를 사용한다. 값을 읽어 들일 때는 session 객체의 getAttribute()메소드를 사용한다. 장바구니처럼 사용자별로 유지가 되어야 할 정보가 있을 때 사.. 2020. 8. 12.