본문 바로가기

분류 전체보기

(330)
VMware CentOS7에 mariaDB 설치,Workbench 연결 https://velog.io/@rbdus96/CentOS7%EC%97%90-MariaDB-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%A4%EC%A0%95 CentOS7에 MariaDB 설치 및 설정 MariaDB를 기본 yum install mariadb로 설치했을 경우 5.5 버전이 설치된다. 따로 repository를 설정해야 상위버전을 설치할 수 있다. 1. mariadb repo 파일을 만든다. tab 키를 이용하면 쉽게 폴더작성이 가능하 velog.io 1. mariadb repo 파일 생성 (mariadb 10.11버전 사용함) vi /etc/yum.repos.d/MariaDB.repo ab 키를 이용하면 쉽게 폴더작성이 가능하다. (폴더가 존재할 경우에만) i 입력하여..
깊이우선탐색 & 너비우선탐색 (백준 1260번 문제 java풀이) [Silver II] DFS와 BFS - 1260 https://www.acmicpc.net/problem/1260 분류 그래프 이론, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색 문제 설명 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 ..
Filter 와 interceptor, AOP 차이와 용도 이번 면접에서 아직 java에 대해서 정확하게 모르는 구나...! 라고 느꼈고java, spring 에 대해서 다시 공부해야겠다고, 생각했습니다 😭그래서 정리해보는 Filter와 interceptor 그리고 AOP종류실행시점FilterDispatcher Servlet에 요청이 전달되기 전/후 실행InterceptorServlet이 Controller mapping method를 호출하기 전/후 실행AOPtarget joinPoint(method)가 실행되기 전,후,자유롭게 호출Filter웹 어플리케이션에 전반적으로 사용되는 공통적인 기능을 구현할 때 적용할 수 있습니다.특히 공통적인 기능을 서블릿이 호출되지 전에 수행(전처리)하거나 서블릿이 호출되고 난 후에 수행(후처리)시 사용. 필터를 사용하면 클라..
DP(동적 프로그래밍) 동적 프로그래밍은 하위의 작은 문제들을 풀고 이를 이용해서 더 큰 문제를 풀어나가는 방법입니다. 모든 동적 프로그래밍 알고리즘은 격자(grid)로부터 시작합니다. 동적 프로그래밍의 특징 모든 답안에는 격자가 있습니다. 격자의 각 칸에는 최적화하고자 하는 값을 적습니다(최대화 또는 최소화). 배낭 문제의 경우에는 모든 물건의 총 가치를 썼습니다. 각 칸은 원래 문제에 대한 하위문제이고, 다른 문제를 하위문제로 가질 수 있습니다. 원래의 문제를 어떻게 하위문제로 나눌 수 있을지 생각해야합니다. 그러면 각각의 축이 어떻게 되어야 하는지 알아내는 데 도움이 됩니다 대표적인 문제로는 배낭채우기 문제가 있습니다. 물건이 3개일 때, 스테레오 $3000 4kg 노트북 $2000 3kg 기타 $1500 1kg dp[]..
대칭키와 공개키(비대칭키) 방식의 차이 SSL(Secure Sockets Layer)은 클라이언트와 서버가 서로 데이터를 암호화해 통신할 수 있도록 돕는 보안계층입니다.SSL 3.0부터 SSL의 이름을 TLS로 변경했고, 대다수의 보안 프로토콜이 TLS로 교체되었습니다. 더 이상 SSL을 사용하고 있지 않으나 계속 SSL로 불리고 있습니다. SSL의 구조를 이해하기 위해 대칭키와 공개키에 대해서 알아보겠습니다. 대칭키 암호화 방식대칭키는 동일한 key를 가지고 암호화와 복호화(암호화를 평문으로 변환)를 수행합니다.장점 - 공개키 암호화 방식에 비해 연산 속도가 빠르다단점 - 키를 교환해야 한다. 이 과정에서 키가 탈취될 가능성이 있다.대표적인 알고리즘 : DES, 3DES, AES, SEED, ARIA… 공개키 암호화 방식대칭키 암호화 방식의..
JWT, 사용자 인증 방식 정리 이전 개인프로젝트를 진행하면서 JWT를 이용하여 인증하는 방식을 택했는데,JWT에 대해 제대로 알아보고자 글로 정리하면서 학습해보겠습니다. 서버가 클라이언트 인증을 확인하는 방식 3가지 : Cookie, Session, Token 클라이언트가 사용자 인증을 하면 그 인증을 유지할 수 있도록 쿠키와 세션을 사용해왔다. but, 쿠키는 탈취 가능성이 있다. 보안에 취약하다세션은 유저의 인증정보를 서버쪽에서 유지함.-> 서버의 확장성이 떨어진다     서버의 메모리를 차지하여 요청이 많을 경우 서버 과부하의 원인이 된다.토큰도 탈취 가능성이 있지만 accessToken 유효기간을 짧게 설정하고, refreshToken을 따로 저장해서 보완할 수 있습니다. -> 이를 보완하고자 토큰 기반 인증 시스템이 도입되었..
MyBatis로 대댓글 구현 배웠던 내용을 다시 한 번 정리해보는 글입니다 :) 코드는 답글을 작성할 수 있는 코드인데, 대댓글로도 구현이 가능할 것 같습니다. *팀프로젝트 파티쉐어의 partyboard를 참고로 게시글을 작성합니다. ERD: 게시글 작성 * Service @Transactional @Override public void regist(PartyBoardVO board) throws Exception { dao.register(board); // origin column 값을 등록된 게시글 번호로 수정 dao.updateOrigin(); } * DAO // 게시글 작성 @Insert("INSERT INTO partyboard(category,pnum,title,content,writer,mnum) " + "VALUES..
BFS(너비우선탐색) - 최단 경로 문제를 푸는 알고리즘 최단경로,즉 가장 짧은 것을 찾는 문제. 예를 들어 여러분이 친구 집까지 가는 최단 경로일 수도 있고, 체스 게임에서 체크 메이트를 만드는 데 필요한 최소한의 수 일수도 있습니다. 이렇게 최단 경로 문제를 푸는 알고리즘을 너비 우선 탐색이라고 합니다. 문제를 풀기 위해선 다음과 같은 절차가 필요합니다. 문제를 그래프로 모형화한다 너비 우선 탐색으로 문제를 푼다 너비 우선 탐색은 다음과 같은 두 가지 종류의 질문에 대답하는 데 도움이 됩니다. 유형 1. 정점A에서 정점B 로 가는 경로가 존재하는가? 유형 2. 정점A에서 정점B로 가는 최단 경로는 무엇인가? BFS는 Queue를 이용합니다. 망고 판매상을 찾는다고 가정할 경우 나->1촌->2촌->3촌->... 1촌관계인 모든 사람중에서 찾는다 -> 목록에 ..