728x90

분류 전체보기 71

[Spring] 서버 실행 시 DB에 데이터 자동 insert 삽입(.sql 실행)

귀차니즘의 발동application.properties의 ddl-auto를 create로 해놓으면 Spring boot를 실행할 때 테이블이 자동 생성된다.spring.jpa.hibernate.ddl-auto=create 이 경우 테이블만 생성이 되기 때문에, 회원가입 / 로그인 / 조회 등을 테스트 하기 위해DB에 직접 쿼리를 날려주거나 PostMan, MVC 등을 이용하여 정보를 생성했다.매번 포스트맨으로 회원가입, 로그인 등등 데이터들을 만들어주는게 아주 귀찮지 아니한가? 그래서!! 일일이 데이터들을 매번 만들어주지 않아도,서버 실행시 테이블 뿐만 아니라이 테이블에 테스트를 위한 데이터들이 자동으로 같이 저장되길 바랬다. 해결설정파일application.properties에 다음 구문을 추가spri..

GitHub 토큰 인증 에러 remote: Support for password authentication was removed on해결방법, remote: Support for password authentication was removed. Please use a personal access token instead. 맥북 git push 아이디 비번 요구, 안될때

문제Username for 'https://github.com': Ninky0Password for 'https://Ninky0@github.com': remote: Support for password authentication was removed on August 13, 2021.remote: Please see https://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.fatal: Authentication failed for 'https://g..

[Mac] MySQL 설치 (homebrew 없이), Workbench Connection Warning 해결

문제Connection Warning for MySQL Server 8.3.0 with MySQL Workbench 8.0.36위와 같은 MySQL과 MySQL Workbench의 커넥션 오류가 계속 생겼다. 원인아무튼제일 윗줄의 저 문제의 원인은 무엇이냐, MySQL Workbench는 MySQL Server versions 5.6, 5.7, 8.0.이랑만 사이가 좋기 때문에, 다른 버전의 MySQL을 설치했다면 MySQL Workbench는 6.3버전을 설치해야된다. 고민homebrew도 설치해서 깔아보기도하고, 그냥 홈페이지에서 바로 설치도 해보았으나 왜인지모르게 계속 오류가 생겼다. brew install mysql로 설치하는 경우 가장 최신의 MySQL이 설치된다.(현시점 MySQL을 brew로..

DB 2024.05.02

스프링과 객체 지향 프로그래밍 - 다형성 관점

객체 지향 프로그래밍 프로그램을 유연하고 변경이 용이하게 만들음. → 대규모 소프트웨어 개발에 많이 사용. 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나, 여러개의 독립된 단위, 즉 "객체들의 모임"으로 파악하고자 하는 것. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있음. 역할과 구현의 분리 세상을, 역할 & 구현으로 구분해보자. → 세상이 단순해지고, 유연해지며, 변경도 편리해진다! 클라이언트에게는 다음의 장점이 있다. 대상의 역할(인터페이스)만 알면 된다. (이거 자동차?ㅇㅇ 그럼 됐음. 운전 가능.) 구현 대상의 내부 구조를 몰라도 된다. (내부구조 알아야만 운전을 할 수 있는게 아니니까) 구현 대상의 내부 구조가 변경되어도 영향을 받지 않는다. (내부구조 바뀌어도 자동차 역..

Web/SrpingBoot 2024.04.24

[종합설계] 사용자 DB 설계, 회원가입 및 로그인(JWT 토큰)

User 테이블 및 Entity 사용자의 정보 중 어떤 것이 우리 서비스에 필요할 것인지 고민해 보았을 때, 일반적으로 생각하는 id는 전화번호로 하는 것이 적합하다고 판단. 기본적인 password 외의 정보로는 이름, 성별, 생일이 필요하다고 판단. (친근한 대화 서비스를 위해 이름을 불러드리며 대화형 시스템을 만들 것이기 때문에, 성별에 따라 제공되거나 주의해야 하는 부분이 달라질 수 있기에, 연령대를 파악해야 하기 때문에) 설계한 DB 테이블. 회원가입 시 핸드폰 번호와 비밀번호, 성별, 이름, 생일을 입력하여 진행. 구현한 User Entity. 가입 완료된 회원은 GenerationType.IDENTITY인 id로 구별. 회원가입 회원가입 서비스에서는, User 레파지토리에 접근하여 해당 전화..

[취준일지] RDBMS index, Multipart 타입, 멀티미디어 저장소

9. RDBMS의 index가 무엇인가요? 그렇다면 유니크키 FK는 index인가요? RDBMS에서 인덱스는 데이터베이스 테이블에 대한 데이터 검색 작업 속도를 향상시키는 데 사용되는 데이터 구조입니다. 일반적으로 테이블에 있는 하나 이상의 열 값을 기반으로 데이터의 정렬된 표현을 생성하여 작동합니다. 인덱싱된 열을 기반으로 데이터를 쿼리할 때 데이터베이스 엔진은 인덱스를 사용하여 검색 기준과 일치하는 행을 빠르게 찾을 수 있습니다. Unique Key 제약조건은 특정 열(또는 열의 조합)에 대해 고유한 값을 갖도록 강제하는데 사용됩니다. 이를 위해 RDBMS는 해당 열(들)에 대한 인덱스를 생성합니다. 이러한 인덱스를 통해 데이터의 고유성을 보장하면서도 검색 성능을 향상시킬 수 있습니다. 따라서 Uni..

면접준비 2024.03.15

[취준일지] HTTP상태코드, ERD설계 및 개발 경험, 헤더와 쿠키

5. HTTP 상태 코드 100번대, 200번대, 300번대, 400번대, 500번대에 대해 각각의 특징을 설명해주세요. 참고 : HTTP 상태 코드 정리 100번대 (정보 응답): 이 상태 코드들은 일시적인 응답을 나타내며, 클라이언트가 계속 요청을 진행해도 좋다는 것을 알려줍니다. 예를 들어, 100 Continue는 서버가 요청의 초기 부분을 받았고, 나머지 부분도 계속해서 보내도 좋다는 의미입니다. 200번대 (성공): 이 코드들은 요청이 성공적으로 수행되었음을 나타냅니다. 가장 흔히 볼 수 있는 200 OK는 요청이 성공적으로 처리되었고, 응답이 포함되어 있다는 것을 의미합니다. 300번대 (리다이렉션): 클라이언트가 요청한 리소스가 다른 위치로 옮겨졌음을 알려주는 코드입니다. 예를 들어, 30..

면접준비 2024.03.13

[취준일지] 세션, JWT 토큰, 쿠키, RestfulAPI, HTTP 메소드

1. 세션 기반의 인증 방식과 토큰(JWT)기반의 인증 방식에 대해 설명해주세요. 세션 기반 인증 방식은 사용자가 로그인하면 서버에서 사용자정보를 세션에 저장하고, 이 세션을 식별할 수 있는 세션ID를 발급합니다. 이 ID는 클라이언트에 쿠키로 저장되며, 클라이언트는 요청마다 이 쿠키를 서버에 전송해 사용자인증을 합니다. 서버는 세션 저장소에서 해당 세션 ID를 찾아 사용자 정보를 확인합니다. 토큰 기반 인증 방식은 사용자가 로그인하면 서버에서 사요자정보를 바탕으로 토큰을 생성하여 클라이언트에게 전달합니다. 클라이언트는 요청 시 이 토큰을 서버에 전송해 사용자인증을 합니다. 서버는 토큰을 검증하고 클라이언트의 요청을 처리합니다. 1-1. JWT를 이용한 인증 방식의 장점을 설명해주세요. 우선 Statel..

면접준비 2024.03.13

DFS & BFS 기본 간단 개념

자세한 내용 보러 가기 탐색이란? 많은 양의 데이터 중 원하는 데이터를 찾는 과정 EX) DFS, BFS 재귀함수란? 자기 자신을 다시 호출하는 함수. 파이썬의 경우 최대 재귀 깊이 제한이 있음. 종료 조건을 반드시 명시해야 함. 반복문을 이용하여 재귀함수와 동일한 기능을 구현할 수 있음. (재귀함수를 쓴다고 해서 반복문보다 항상 꼭 유리한 것은 아님. 유리할수도, 불리할수도 있음.) +) 컴퓨터가 함수를 연속적으로 호출하면 컴퓨터 메모리 내부의 스택 프레임에 쌓임. 그렇기 때문에 스택을 사용해야할 때 구현상 스택 라이브러리 대신 재귀함수 이용하는 경우가 많음. DFS : 깊이 우선 탐색 그래프에서 깊은 부분을 우선적으로 탐색. 스택 / 재귀를 이용함. 탐색 시작 노드를 스택에 삽입한 후 방문 처리함. ..

자료구조 2024.01.15
728x90