안녕하세요. 오늘은 리액트(웹서버)와 스프링부트(was)를 연동해보겠습니다. 제가 그동안 관리해오던 어플리케이션은 was와 web서버를 구분하지 않고 was가 동적컨텐츠와 정적컨텐츠(html,css,script)를 모두 제공해주는 어플리케이션이었습니다. 이러한 형태는 was에서 모든 자원을 관리하여 was의 부하가 많은 구조입니다. web서버와 was를 분리하여 web서버에서 정적 컨텐츠를 처리하게 하고 was에서는 동적컨텐츠만 처리하게 한다면 상대적으로 많은 처리와 DB접근까지 해야하는 was의 부하를 어느정도 줄여줄 수 있습니다. 저 또한 이러한 부분 때문에 웹서버와 was를 별도로 분리하여 구성될 수 있는 프로젝트를 만들어 볼까 합니다. 프론트엔드 라이브러리로 가장 많이 사용되는 리액트와 스프링 부..
안녕하세요. 오늘은 형상관리 소프트웨어 깃에 대해 알아보겠습니다. 깃에는 크게 깃허브와 깃랩이 있습니다. 국내에서는 깃허브가 사용도가 굉장히 높고 깃랩은 깃허브에 비해 인지도가 현저히 낮죠. 깃과 관련된 형상관리 소프트웨어가 두개이지만 다행이 깃의 개념과 구조, 사용법 모두 같으니 두 소프트웨어를 각각 공부할 필요는 없습니다. 깃의 개념과 구조를 알면 형상관리를 하며 일어날 수 있는 위기상황에 적절한 대응을 하는데 큰 도움이 될 것입니다. 목차깃의 개념과 구조깃 연동깃 사용법(소스 올리기)깃 사용법(커밋내용 보기)깃 사용법(로컬 소스 복원)깃 사용법(잘못올라간 소스 복원)깃 사용법(소스 내려받기)브랜치 생성 및 원격지 머지 깃의 개념과 구조 깃은 위와 같은 구조로 이루어져있습니다. ..
B-tree (Balaced tree) Mysql DB는 인덱스 및 실제 데이터를 B-tree 알고리즘을 통해 관리한다. 각 노드는 하나의 페이지 형태로 여러 레코드 정보를 갖고 있다.페이지의 크기가 정해져 있기에 인덱스 키 값의 크기에 따라 저장할 수 있는 레코드 수가 달라진다.클러스터드 인덱스는 데이터 파일의 물리적 저장 방식을 결정하기에 리프 노드에 모든 칼럼 정보가 저장되며,세컨더리 인덱스의 경우 데이터의 주소로 클러스터드 인덱스 키값을 사용한다.따라서 세컨더리 인덱스로 조회하는 경우 클러스터드 인덱스를 한번 더 거쳐 조회되는 특징이 있다.세컨더리 인덱스 리프 노드에 데이터 주소가 아닌 pk 값을 할당하는 이유?데이터 주소를 사용하게 되면 데이터 변경, 이관, 분리와 같은 상황에서 이를 사용하는..
안녕하세요. 스프링프레임워크&부트 aws redis 연동(로컬에서 실서버까지) 3편입니다. 이전 포스팅에서 로컬환경에서 세션정보를 레디스 로컬 서버에 옮겨 관리 하게끔 했다면 이번 포스팅에서 실서버에서 작업을 해보도록 하겠습니다. 이전 포스팅을 안 보신 분들은 이전 포슽팅을 꼭 따라하신 후 이번 포스팅으 따라하시기 바랍니다. https://developer111.tistory.com/73 스프링 프레임워크 redis 연동(로컬에서 실서버까지)[1] 안녕하세요. 다중서버 환경에서 세션이 was 안에서 관리가 되면 세션 간의 공유가 되지 않아 특정 서버가 다운 되었을때 해당 서버의 사용자들은 다른 서버로 접속경로가 바뀌어도 로그인을 다 developer111.tistory.com 작업환경 aws ec2 am..
안녕하세요. 오늘은 스프링프레임워크&부트 redis 연동(로컬에서 실서버까지) 2편입니다. 지난번 포스팅에서 스프링부트를 통해 간단히 redis도 사용해보고 세션정보가 redis 서버로 전달됨을 확인했는데요. 이번 포스팅에서는 좀더 제대로 구현하고 테스트 하기 위해 스프링 시큐리티를 통해 로그인 인증 권한 관리가 되고 있는 프로젝트에서 세션정보 전달 뿐만 아니라 세션 관리까지 되는지 확인해보겠습니다. 로컬 환경 윈도우 OS 스프링 프레임워크 4.3.2 스프링 시큐리티 4.1.3 Redis-x64-3.2.100 mysql 5.5.2 빌드 툴 이클립스 레디스 설치 및 사용법은 이전 포스팅을 참조해주세요. https://developer111.tistory.com/72 스프링부트 레디스 연동하기(레디스 서버에..
스프링프레임워크&부트 redis 연동(로컬에서 실서버까지)[1]스프링프레임워크&부트 redis 연동(로컬에서 실서버까지)[2]스프링프레임워크&부트 redis 연동(로컬에서 실서버까지)[3] 안녕하세요. 다중서버 환경에서 세션이 was 안에서 관리가 되면 세션 간의 공유가 되지 않아 특정 서버가 다운 되었을때 해당 서버의 사용자들은 다른 서버로 접속경로가 바뀌어도 로그인을 다시 해야하는 불편함이 있습니다. 이를 위해 스프링 프로젝트에서 세션정보를 redis에 보내고 세션을 redis서버에서 관리하도록 해보겠습니다. 로컬에서 실서버까지 작업을 할 것이며 정확한 테스트를 위해 실제 로그인 인증권한 관리가 되고 있는 프로젝트에서도 진행을 할 것입니다. 내용이 길어 총 세편에 걸쳐 설명을 할 것이며 ..
얼마전 프로젝트 소스코드를 깃 원격지로 push를 하는데 계속 에러가 나서 비밀번호가 잘못됬나해서 비밀번호를 몇번씩 바꿔보기도 하며 3-4시간 정도 삽질을 했었다. 깃의 비밀번호를 바꾸면 로컬 깃의 비밀번호도 바꿔줘야한다고 해서 여러번 시도를 했지만 결국 모두 아니었다. Hi @my-gitYou recently used a password to access the repository at my-git/myrepository with git using JGit/Basic authentication using a password to Git is deprecated and will soon no longer work. Visit https://github.blog/2020-12-15-token-authe..
안녕하세요. 오늘은 쿠키와 세션의 개념에 대해 알아보고 유명 포털사이트의 쿠키를 직접 삭제하거나 생성하여 쿠키와 세션이 어떻게 작동되는지에 대해서도 구체적으로 알아보겠습니다. 쿠키와 세션 개념을 알기 위해서는 먼저 http 통신규약의 개념과 http의 특징에 대해 알아야할 필요가 있습니다. HTTP http는 웹페이지를 사용하는 사용자와 웹페이지에 정보를 제공하는 서버와의 의사소통을 하는 방식을 말합니다. 요청과 응답 방식으로 정보를 주고 받으며 사용자가 요청을 하면 서버에서는 그에 필요한 정보를 주로 html 형태로 제공하며 이 html에 DB의 정보들이나 js, css, img 등의 정적 리소스들이 포함이 되어있습니다. HTTP 통신 규약의 특징 - 비연결성(connectionless) http통신은..
