전체 글 410

Linux의 특징

데니스 리치 데니스 리치는 c언어와 unix의 아버지라고 불리는 사람이다. 최초의 유닉스 시스템을 개발했고 c언어를 개발했다. 컴퓨터 세상을 열어준 컴퓨터 계의 잡스형 같은 분. 리처드 스톨만 GNU 프로젝트와 자유 소프트웨어 재단의 설립자 위 두 사람이 있기에 저희가 지금 롤도 하고 유튜브도 볼 수 있게 된 게 아닐까 생각을 해본다. GPL 라이선스 GNU 프로젝트로 배포한 프로그램의 라이선스로 사용하기 위해 자유 소프트웨어 재단에서 만든 자유 소프트웨어 라이선스이다. Linux 커널이 사용하는 라이선스로 가장 널리 알려진 카피레프트 라이선스이다. GPL소프트웨어에 관련된 다섯 가지 의무 1. 프로그램을 어떠한 목적으로 든 지 사용할 수 있다. 법으로 제한할 수 없다. 2. 프로그램의 소스코드를 무료로..

LINUX 2021.10.21

LINUX란?

LINUX란? 리눅스는 서버에 최적화된 무료 공개 운영체제 그렇기때문에 어떤 IT분야를 가도 사용할 줄 알아야 한다. 새로운 IT분야를 공부할 때 중요한 것은 이 기술이 생겨나게 된 배경을 먼저 0순위로 공부를 해야 그 기술을 공부함에 있어 필요성을 느낄 수 있기 때문에 상당히 중요한 부분이다. 운영체제란? 운영체제는 컴퓨터에서 동작하는데 컴퓨터는 소프트웨어와 하드웨어 크게 두 부분으로 나눠서 작동한다. 하드웨어는 CPU, RAM, HDD, Keyboard 등등 기계적인 부분이고 소프트웨어에서도 크게 두 부분으로 나눠지는데 응용소프트웨어와 응용소프트웨어로 나눠진다. 응용소프트웨어는 웹브라우저, 게임 등등을 말하고 시스템 소프트웨어는 컴퓨터의 내부 동작을 제어하고 응용소프트웨어가 실행될 수 있는 인터페이스..

LINUX 2021.10.21

SpringbootSecurity/ JWT 서버 구축 최종

저번 포스팅과 연결돼 있습니다. 저번 포스팅에서 JWT을 만들어서 응답을 해주는 것까지 했었는데 response해더에 Authorization키에 벨류에 JWT토큰이 담겨져서 응답된 것을 확인할 수 있었습니다. 그럼 이제 클라이언트가 자신의 개인정보에 접근을 하기 위해서 다시 로그인을 하는 것이 아닌 JWT을 이용해서 해당 개인정보에 접근을 하게 되면 전자서명을 통해서 개인정보에 접근할 수 있게 구현을 하면 된다. 그러기 위해선 jwt필터를 만들어야 한다. 포스트맨으로 테스트를 해보면 해당 필터를 타고 header에 Authorization키의 벨류 값을 확인해 볼 수 있다. 그럼 여기에다가 jwtheader를 넘기면 된다. 그럼 필터를 등록해서 테스트해보자 포스트맨으로테스트하면 잘 나온다 그럼 그럼 이..

SpringbootSecurity 2021.10.05

SpringbootSecurity/JWT토큰만들기

이번 포스팅은 저번 포스팅과 연결돼 있습니다. com.auth0 java-jwt 3.10.2 위 dependency는 JWT토큰을 만들어주는 라이브러리이다. pom.xml에서 설정해 주기!! 어번 포스팅에서 클라이언트가 로그인 요청이 왔을 때 JWT서버에서 해야 하는 설정을 해줬다면 이제 요청이 끝나고 응답을 해줄 때 JWT서버에서 해줘야 할 설정들을 포스팅해보겠습니다. 이전 포스팅에서 attemptAuthentication(요청) 함수가 끝이 나고 successfulAuthentication함수가 순차적으로 실행되는데 successfulAuthentication함수에서 JWT토큰을 만들어서 응답을 해주기 전까지 포스팅을 했습니다. 이번 포스팅에서 응답을 하는 것을 포스팅해보겠습니다. 주석에 주요 내용들..

SpringbootSecurity 2021.10.04

SpringbootSecurity/JWT 사용한 로그인(2)

이번 포스팅은 저번 포스팅과 연결돼 있습니다. 실제 로그인을 해보기전에 테스트를 해보면서 이해도를 올려보자 포스트맨으로 위와같이 요청을 할 때 아래 함수가 실행되는데 이때 request에 담겨있는 데이터가 어떻게 들어오는지 확인하기 위해서 테스트를 해본다. request에 담겨있는 username과 password가 들어온다. 근데 만약에 데이터를 json으로 보내면 어떻게될까? json형식의 데이터가 오는 것을 알 수 있다. 일반적으로 웹 브라우져에서만 로그인 요청이 오지는 않는다. 안드로이드나 자바스크립트로 json데이터를 주고받을 수도 있기 때문에 위 json데이터를 파싱 해보자 위와 같이 해주면 json데이터를 파싱 해주는데 파싱 된 데이터를 user오브젝트에 담았다. 이제 로그인 시도를 하기 위..

SpringbootSecurity 2021.10.01

SpringbootSecurity/JWT 사용한 로그인(1)

이번 포스팅은 저번 포스팅과 연결돼 있습니다. 저번에는 가장의 토큰을 JWT라고 가정을 하고 테스트를 해보았고 이제는 진짜 JWT를 구현해서 회원가입과 로그인을 진행하는 포스팅이 될 것 같습니다. 기본적으로 SpringbootSecurity서버는 Security를 통한 로그인과 회원가입이 이루어져야하기때문에 설정들을 다뤄줍니다. 왜 이렇게 하는지에 대한 내용은 자세한 내용은 이전 OAuth로그인포스팅에 자세히 나와있습니다. 왜 이렇게 하는지에 대한 설명은 이전 Seucurity포스팅에 다 담겨있습니다!. 그럼 위와같은 Service가 언제 동작을 하냐면 /login으로 요청이 들어오면 Service가 동작을 한다. 왜냐하면 SpringSecurity가 기본적인 login주소가 /login이기 때문이다. ..

SpringbootSecurity 2021.10.01

R/ 문자열 함수

문자열 데이터를 어떻게 가공하고 분석하는지에 대한 단원이다. "a"가 들어가있는 문자열을 찾아서 t/f값으로 반환해준다. 어떤 문자열을 분석하기위해선 원소별 패턴을 검사하는 방법부터 알아야 한다. 위문 법을 다음과 같이 응용할 수 도 있다. 이제 끝나는 문자 패턴을 분석할 때는 $를 사용한다 글자 수 분석 R의 특징이 R의 최소 단위가 백터이기 때문에 31번째 줄처럼 데이터를 넣어도 알아서 타입을 추론해서 분석해준다. 문자열 치환 위와 같이 파싱 하듯이 문자를 치환하는 방법도 있다. 공백으로 치환했기 때문에 ", "를 지워버린 격이 된 것이다. 위와 같이 데이터가 추출돼서 출력되는 것이지 animal이라는 데이터는 형태 그대로를 유지하고 있다. 공백 제거

R 2021.09.30

SpringbootSecurity/JWT임시 토큰 만들어서 테스트

이 포스팅은 저번 포스팅과 이어져 있습니다. 저번 포스팅에서 만들었던 MyFilter1에 다음과 같이 filter를 설정해 줬다 요청이 POST로 들어오면 동작을 하도록 해 주고 포스트맨으로 POST 요청을 해보자 그럼 이제 하나의 가정을 해보자 우리가 "cos"라는 토큰을 만들었다고 가정을하고 이 cos라는 토큰이 넘어오면 인증이 되도록하고 그게 아니면 더 이상 filter를 못 타게 해서 컨트롤러로 진입을 할 수 없도록 만들어 볼 것이다. 위와 같이 잘 동작하는 것을 볼 수 있다. dochain을 타지 못하면 프로세스가 종료되기 때문에 cos라는 토큰이 없으면 프로세스가 종료된다. 그럼 이 filter를 Security가 동작하기 전에 걸어야 가장 먼저 인증을 해낼 수가 있다. 위와 같이 Securi..

SpringbootSecurity 2021.09.28