본문 바로가기

분류 전체보기128

[Git] 스토리로 이해하는 git 명령어 * 시뮬레이션을 하며 빈번하게 사용될 명령어 - git status - git log Git 스토리 1화 해양대 프로젝트가 시작되었다. 부장님은 팀원들이 개발환경을 셋팅할 수 있도록 공통팀에 전화하여 프로젝트 압축파일을 요청했고, 공통팀은 서둘러 준비된 압축파일을 부장님께 보내면서 'jdk하고 tomcat, 이클립스 파일보냈고~ (서버)소스코드는 1시간내로 git repository url 보낼테니까 거기꺼 받아다가 쓰면돼~!' 라고 말하고는 전화를 끊었다. 그리고 공통팀은 곧바로 해양대 팀원들이 스프링 소스코드를 받아서 개발에 착수할 수 있도록 다음과 같은 절차로 형상관리 작업을 하였다. gitlab에 새로운 repository 생성 git init git add . git commit -m"스프링 서.. 2023. 3. 26.
JAVA / composite 상속은 다형성 + 재사용을 위해서 쓰고 composite는 재사용할때 쓴다. 재사용할땐 상속을 지양하고 composite를 지향하라. *composite 사용 예 2022. 8. 1.
CSS / 브라우저 별 CSS 사용가능여부 알수 있는 사이트 https://caniuse.com/ Can I use... Support tables for HTML5, CSS3, etc caniuse.com 2021. 5. 20.
OS / 이중모드 및 하드웨어 보호 1. 운영체제의 이중모드 컴퓨터를 사용하는 환경은 다양하다. 특정 사람이 특정 컴퓨터만 사용하는 경우도 있겠지만 한 컴퓨터를 여러 사람이 동시에 사용하거나 한 사람이 여러 개의 프로그램을 동시에 실행하는 경우 한 사람의 고의 또는 실수로 다른 프로그램 전체가 영향을 받을 수 있는 환경이 만들어진다. 예를 들면 많은 사용자들이 같은 컴퓨터를 사용하고 있는데 특정 사람의 stop(컴퓨터 강제 종료) 명령어 실행하는 프로그램을 갑자기 실행시키면 모든 사용자가 하던 작업이 종료되어 큰 영향을 끼칠 수 있다. 이런 문제가 발생하지 않기 위한 보호 장치가 바로 이중모드이다. 이중 모드는 사용자모드와 관리자 모드 두 가지를 가지고 있어서 이중 모드이다. 사용자 모드는 단순한 사용자 프로그램을 작동시키는 모드인 반면 .. 2021. 3. 24.
OS / 운영체제 발전과 역할 1. 운영체제의 발전 최초로 탄생한 컴퓨터는 운영체제 개념을 가지고 있지 않았다. 사용자가 모든 상황을 직접 컨트롤해야만 했다. 이러한 점에서 인간은 매우 불편함을 느꼈고 때문에 컴퓨터 자체에서 관리를 도맡아 해주는 프로그램이 필요했다. 이러한 계기로 컴퓨터에 운영체제라는 개념이 탄생했다. 일괄처리 운영체제 최초로 탄생한 운영체제이다. 처리해야할 데이터를 일정기간 또는 일정량 축적하여 일괄처리한다. 다중 프로그래밍 시스템 일괄처리 운영체제의 불편함으로 부터 발전한 운영체제이다. 한명의 유저 프로그램이 쉬면 또다른 유저프로그램이 실행될 수 있도록 관리하여 CPU와 I/O를 할당하고 높은 효율을 가져온다는 것이 특징이다. CPU스케쥴링과 메모리 관리기능을 가졌다. 실시간 시스템 실시간 운영체제인 RTOS를 .. 2021. 3. 24.
OS / 운영체제란? 1. 운영체제란? 컴퓨터 하드웨어를 잘 관리하여 성능을 높이고 사용자에게 편의성을 제공하는 프로그램 ex) 마우스를 움직이는 것마저 운영체제의 관리 속에서 움직인다. 2. 운영체제는 어떻게 동작할까? 컴퓨터가 off상태일 때 운영체제는 하드디스크에 존재하며, 컴퓨터를 on시키면 하드디스크에 있는 운영체제가 메인 메모리로 올라간다. 이러한 동작을 하는 곳은 메인메모리이며, 메인메모리는 원래 RAM인 휘발성 메모리로 컴퓨터가 off되면 자료를 모두 날려버린다. 이때 컴퓨터를 킬때 운영체제를 메모리에 올리는 프로그램까지 날려버리면 운영체제는 메인 메모리로 올라갈 수 있는 방법이 사라진다. 때문에 메인 메모리의 작은 부분은 부팅을 위한 비휘발성인 ROM이라는 영역이 지정되어 있다. 이러한 ROM에는 Boot l.. 2021. 3. 24.
JavaScript / use strict 자바스크립트는 단기간에 만들어진 언어로 매우 유연하게 개발되었다. 때문에 자바스크립트에서는 변수를 선언하지 않고도 값을 할당할 수 있다던가, 기존에 존재하는 프로토타입을 변경하는 등의 희한한 구조가 구현가능하다. 그래서 이런 비상식적인 구조를 좀 더 엄격히 하기 위해 ECMA 5에서 'use strict'라는 것을 추가하여 보다 상식적인 선에서 자바스크립트를 작성할 수 있도록 해두었다. 결론 : 좀더 엄격한 자바스크립트를 사용하고 싶다면 .js파일의 최상단에 'use strict' 를 작성하자. 2020. 12. 25.
HTML / DOM요소는 어떻게 만들어지나 사용자는 웹페이지를 보기위해 HTML파일을 다운받아야하며 다운받은 HTML은 브라우저가 위에서부터 순차적으로 파싱한다. 파싱이 완료된 코드들은 DOM요소로 변환된다. 2020. 12. 25.
HTML / 스크립트 태그 작성 방법 HTML에 스크립트 태그를 작성하는 방법은 크게 4가지가 있다. 헤드태그안에 스크립트 태그 작성 헤드태그 안에 스크립트 작성 시 defer 추가 헤드태그 안에 스크립트 작성 시 async 추가 바디태그안의 가장 아래에 스크립트 작성 헤드태그안에 스크립트 태그 작성 위와 같이 스크립트 태그를 헤드태그안에 작성할 경우 브라우저가 순차적으로 HTML파일을 파싱하다 스크립트 태그를 만나면 파싱을 멈추고 스크립트파일을 서버로부터 다운받고 실행한 후 파싱을 이어간다. 이로인해 야기되는 문제점은 바디태그를 파싱하여 만들어진 DOM요소로 스크립트를 실행하는 .js파일이 존재하지 않는 바디의 DOM요소에 접근하려 하기 때문에 스크립트태그는 오류가 발생한다. 헤드태그 안에 스크립트 작성 시 defer 추가 헤드태그 내부에.. 2020. 12. 25.
정처기 / 실기 단답형 모음 1. 네트워크의 중간에서 남의 패킷의 정보를 도청하는 것은? 답. 스니핑 2. 공신력 있는 기관을 사칭하거나 복잡한 기술 용어를 사용하여 사용자를 속이는 바이러스는? 답. Hoax 3. 보안 매커니즘 중 합법적인 사용자에게 유형 혹은 무형의 자원을 사용하도록 허용할 것인지를 확인하는 제방행위로서, 대표적인 방법으로는 패스워드, 인증용 카드, 지무검사 등을 사용하는것은? 답. Authentication 4. 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우를 뭐라고하는가? 답. 통신적 응집도 5. 적절한 권한을 가진 사용자에 의해 인가된 방법으로만 정보를 변경할 수 있도록 하는것은? 답. Integrity 6. 입출력 헤드가 디스크의 양쪽 끝에 왕복하면서 동작시키지만, 움직이고 .. 2020. 11. 25.
nexacro / Generate 이번장에서는 넥사크로플랫폼의 핵심인 Generate에 대해 알아보자. Generate는 '변환' 이라는 뜻으로 넥사크로의 언어 즉, 넥사크로 스크립트는 넥사크로 스튜디오에 작성되고 작성된 코드는 바로 실행되지 않고 자바스크립트 코드로 Generate되어 실행된다. 이해를 돕고자 비슷한 느낌의 예를 들면, 자바파일의 경우 실행될때 .java확장자로 실행되는 것이 아닌 컴파일 과정을 거쳐 .class파일로 변환되어 .class파일이 실행된다. 이처럼 넥사크로 스크립트도 방금 예시와 같은 맥락에서 이해하면 된다. Generate는 Form을 생성하거나 수정 후 저장할 때 자동으로 처리되며, 메뉴바의 'Generate' -> 'Application' 을 통해 현재 열려있는 프로젝트를 Generate 할 수도 있.. 2020. 11. 4.
nexacro / 컴포넌트 배치 넥사크로 앱에서 컴포넌트를 구성하는 방법은 2가지가 있다. 첫째, Objects 툴바에 존재하는 컴포넌트들을 마우스를 활용하여 선택 후 Form Design창에 배치 둘째, 코드를 작성하는 소스탭에 직접 코드를 작성하여 컴포넌트를 배치 각각의 방법은 장단점이 존재하며 독자는 각각의 방법을 사용 후 본인에게 맞는 방식대로 개발을 하면 될것이다. 그럼 각각의 방법을 예제를 통해 살펴보자. 1. Objects툴바에 존재하는 컴포넌트들을 마우스를 활용하여 Form Design창에 배치하기 컴포넌트를 배치하위해선 Objects툴바가 어떤것인지 그 위치 또한 알아야한다. Objects툴바는 다음과 같다. 해당 이미지에서 빨간박스영역이 Objects툴바이며 컴포넌트를 사용하고자 할땐 해당 툴바를 이용하면된다. Obj.. 2020. 11. 4.
nexacro / 컴포넌트 이번 장에서는 넥사크로의 컴포넌트에 대해 알아보도록 하자. 넥사크로는 div, grid, button, textarea, static 등 많은 컴포넌트를 가지고 있으며, 각 컴포넌트들은 크게 3가지 항목으로 분류할 수 있다. 3가지 항목에 아래와 같으며 각 항목에 해당하는 컴포넌트에는 어떤 것들이 있는지 살펴보자. 1. 단일 컴포넌트 2. 목록형 컴포넌트 3. 컨테이너 컴포넌트 1. 단일 컴포넌트 Static 화면에 일정한 문자열을 출력하기 위해 사용하는 컴포넌트이다. Button Click과 관련된 이벤트 핸들러를 제공, 사용자는 이벤트 핸들러에 스크립트를 작성하여 동작에 따른 실행을 지정 Edit 한줄로 된 문자열을 입력 또는 출력하기 위해 사용되는 컴포넌트이다. 모든 문자열 입력이 가능하며, 경우에.. 2020. 11. 4.
nexacro / 넥사크로 프로젝트 생성하기 이번 장에서는 넥사크로 프로젝트를 생성해보자. 넥사크로 앱을 만들기 위해선 프로젝트를 먼저 생성해야한다. 모든 넥사크로플랫폼 앱은 프로젝트에서 지정된 속성을 기반으로 사용자에게 화면이 보여지고 동작하게 되며, 넥사크로에서의 모든 작업은 메뉴 또는 툴바, 단축키로 실행 할 수 있다. 1. File -> New -> Project 클릭 2. 프로젝트 이름과 프로젝트 파일을 저장할 경로를 지정 후 Next 3. Screen 항목과 Screen Detail 항목을 설정(필자는 기본값으로 진행) 후 Next 4. Frame 설정 후 Finish(프레임 설정의 경우 프로젝트를 생성한 후에 수정가능하다) 하면 끝. 즐거운 넥사크로 개발하세요~^^ 2020. 11. 4.
nexacro / 넥사크로란? 넥사크로가 무엇인가? 넥사크로는 투비소프트에서 개발한 Front-End 기술 개발 도구이다. 넥사크로 플랫폼은 기능, 성능, 디자인 요소들이 기업의 요구 수준에 맞게 조화를 이루도록 구성되어 있으며, 기업에서 필요로 하는 UI/UX 환경 개발에 최적화 되어있다. 넥사크로의 특징 강력한 개발 도구 넥사크로플랫폼 전용 개발 도구인 넥사크로 스튜디오를 통해 개발에 필요한 다양하고 편리한 기능을 위지위그 방식의 화면 개발로 손쉽게 개발 할 수 있다. 웹 표준 준수 국제 표준에 따른 범용 기술을 적용함으로써 다른 시스템 또는 솔루션과 유연한 인터페이스를 지원한다. 빠른 데이터 처리 넥사크로플랫폼은 서버와 클라이언트간 데이터 처리시 화면과 정보를 뺀 데이터만을 송/수신함으로써 서버의 부하를 줄이고 네트워크 효율을 .. 2020. 11. 2.
Spring Legacy / SQL 로그 설정하기 MyBatis는 내부적으로 JDBC의 PreparedStatement를 이용해서 SQL을 처리한다. 따라서 SQL에 전달되는 파라미터는 JDBC에서와 같이 ?로 치환되어 처리되는데, 이때 만약 복잡한 SQL의 경우 ?로 나오는 값이 제대로 되었는지 확인하기가 쉽지 않아 실행된 SQL의 내용을 정확히 확인하기 어렵다. 이러한 문제를 해결하기 위해서 SQL을 변환해서 PreparedStatement에 사용된 ?가 어떤 값으로 처리되었는지 로그를 통해 확인해보자. SQL 로그를 보기 위해선 log4jdbc-log4j2 라이브러리를 사용해야한다. SQL 로그를 확인하기 위해서는 어떠한 준비가 필요할까? 절차는 다음과 같다. log4jdbc-log4j2 라이브러리 추가 로그설정파일 추가 JDBC연결 1. log4.. 2020. 9. 23.
Spring Legacy / MyBatis 연동 및 사용하기 Spring에서 SQL 맵핑 프레임워크인 MyBatis를 사용하려면 어떻게 해야할까? 순서는 다음과 같다. MyBatis 관련 라이브러리 추가 SqlSessionFactory 등록 Mapper 스캔 설정 Mapper 작성 (사용예제) 1. MyBatis 관련 라이브러리 추가 MyBatis를 연동하기 위해 필요한 라이브러리는 총 4개가 있다. - mybatis / mybatis-spring : MyBatis와 스프링 연동용 라이브러리 //mybatis org.mybatis mybatis 3.4.6 //mybatis-spring org.mybatis mybatis-spring 1.3.2 - spring-jdbc / spring-tx : 스프링에서 DB처리와 트랜잭션 처리(해당 라이브러리들은 MyBatis와 .. 2020. 9. 23.
Spring / 퍼시스턴스 프레임워크 퍼시스턴스 프레임워크란? 퍼시스턴스 프레임워크란 데이터의 저장, 조회, 변경, 삭제를 다루는 클래스 및 설정 파일들의 집합이다. 퍼시스턴스 프레임워크를 사용하면 JDBC프로그래밍의 복잡함이나 번거로움 없이 간단한 작업만으로도 DB와 연동되는 시스템을 빠르게 개발할 수 있으며, 안정적인 구동도 보장한다. 퍼시스턴스 프레임워크의 종류 퍼시스턴스 프레임워크는 크게 'SQL 맵퍼' 와 '객체관계 맵퍼(ORM)' 로 나뉜다. 'SQL 맵퍼' 는 SQL 문장으로 직접 DB 데이터를 다루는 프레임워크이고 'ORM' 은 자바 객체를 통해 간접적으로 DB 데이터를 다루는 프레임워크이다. SQL 맵퍼의 종류 Mybatis JdbcTempletes ORM의 종류 Hibernate TopLink 2020. 9. 22.
Spring Boot / JSP를 사용하기 위한 라이브러리 Spring에서는 다양한 템플릿 엔진을 사용할 수 있다. 그 중 JSP는 아래와 같은 라이브러리를 필요로 한다. mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-jasper Maven Repository: org.apache.tomcat.embed » tomcat-embed-jasper Core Tomcat implementation VersionRepositoryUsagesDate10.0.x10.0.0-M8Central 0 Sep, 202010.0.0-M7Central 0 Jul, 202010.0.0-M6Central1Jun, 202010.0.0-M5Central 0 May, 202010.0.0-M4Central 0 Apr, 202010.. 2020. 9. 16.
Spring Legacy / DBCP 설정하기 웹 애플리케이션의 경우 일반적으로 여러 명의 사용자를 동시에 처리해야하기 때문에 DB연결 시 커넥션풀을 이용한다. 커넥션 풀은 스프링에 등록해서 사용하는 것이 좋으며, JAVA단에서는 DataSource라는 인터페이스를 통해 커넥션 풀을 사용한다. DataSource는 매번 데이터베이스와 연결하는 방식이 아닌 미리 연결을 맺어주고 반환하는 구조이기 때문에 성능 향상에 도움이 된다. 이제 본론으로 들어가자. 커넥션 풀은 매우 많은 종류가 있는데, 이번 포스터에서는 최근 유행하고 있는 HikariCP를 사용해 보겠다. 1. 커넥션 풀 라이브러리 추가 com.zaxxer HikariCP 2.7.8 HikariCP 버전은 2.7.4~2.7.8을 권장한다. 2. DataSource 설정 @Configuration.. 2020. 9. 15.
Spring Boot / JSP 사용시 필요한 시큐리티 라이브러리 및 태그 - 라이브러리 - org.springframework.security spring-security-taglibs - 태그 - 2020. 8. 11.
R / 판별분석 판별분석은 기존의 자료를 이용하여 관찰개체들을 몇 개의 집단으로 분류하고자 하는 경우에 사용된다. 이 분석은 등간척도나 비율척도로 이루어진 독립변수를 이용하여 여러 개의 집단으로 분류하는 방법이다. 판별분석의 절차 변수의 선정 표본의 선정 판별식의 수 결정 상관관계 및 기술통계량의 계산 판별함수의 도출 판별함수의 타당성 검정 검증된 판별함수의 해석 판별함수를 이용한 예측 -판별분석 예제- x1변수만을 제외하고 대체로 정규분포를 보이고 있다. 따라서 분석자는 선형판별분석을 실시하면 된다. 선형판별분석은 정준판별분석 또는 판별분석이라고 부른다. 2차 판별함수를 얻기 위해서는 lda()함수대신 qda()함수를 사용해야 한다. 2차 판별 함수는 분산-공분산의 동일성을 가정하지 않는다. -데이터 판별함수의 적재치.. 2020. 8. 6.
R / 로지스틱 회귀분석 회귀분석은 앞전에 설명한 바와 같이 변수 간의 종속 구조, 즉 독립변수와 종속변수의 관계를 규명하는 기법이다. 회귀분석은 독립변수와 종속변수가 주로 연속적으로 측정된 경우에 사용된다. 종속변수가 질적인 경우에는 회귀분석을 사용하는 데에 무리가 따르므로, 판별분석이나 로지스틱 회귀분석의 사용을 권장한다. 판별분석은 종속변수를 주어진 것으로 보고 집단 간의 차이를 가장 크게 하는 독립변수들의 선형결합을 추출하여 집단분류에 사용한다. 로지스틱 회귀분석은 종속변수가 질적인 경우에 사용되는 분석방법이다. -로지스틱 회귀분석 예제- 위의 분석을 기반으로 유의한 독립변수만 활용하여 회귀분석을 이행해보겠다. 이번엔 두 모형을 비교해보자. 비표준화 회귀계수를 알아보자. 로지스틱 회귀계수 지수를 알아보자. 2020. 8. 6.
R / 회귀분석 회귀분석은 독립변수가 종속변수에 미치는 영향력 크기를 조사하여 독립변수의 일정한 값에 대응하는 종속변수 값을 예측하는 기법이다. 회귀분석은 세가지 주요목적을 가진다. 기술적인 목적을 갖는다. 예를 들어 변수들, 광고액과 매출액 사이의 관계를 기술하고 설명할 수 있다. 통제목적을 갖는다. 예를 들어 비용과 생산량 사이의 관계 혹은 결근율과 생산량 사이의 관계를 조사하여 생산 및 운영관리의 효율적인 통제에 회귀분석을 이용할 수 있다. 예측의 목적을 갖는다. 기업에서 생산량을 추정함으로써 비용을 예측할 수 있으며 광고액을 앎으로써 매출액을 예상할 수 있다. 회귀분석의 순서는 다음과 같다. 산포도 -> 분석 : 추정 회귀식 -> 예측, 통제, 기술 -분산분석과 회귀분석의 차이- 회귀분석은 독립변수의 수준과 평균.. 2020. 8. 6.
R / 상관분석 두 변수 사이의 연관성을 설명하는 방법으로는 산포도에 의한 방법, 공분산, 상관계수 등이 있다. 산포도 산점도라고도 불리며, 분석자는 변수 간의 전반적인 관계를 파악할 수 있다. 공분산 두 확률변수가 어느 정도 결합되어 있는가를 측정한다. 상관계수 두 확률변수 X, Y가 있어 두 변수 간의 일차적인 관계가 얼마나 강한가를 지수로 측정하고 싶을 때 두 변수의 일차관계의 방향과 정도를 나타내는 측정치. 피어슨 상관계수라고도 한다. 피어슨 상관계수는 등간척도와 비율척도로 구성된 양적변수 간의 관련성을 나타낸다. 또한 다른 변수들의 관계를 통제하고 두 변수 간의 순수한 관계를 상관관계로 파악하는 부분상관계수가 있다. 상관계수의 종류는 크게 단순상관계수, 다중상관계수, 부분상관계수가 있다. 이와 같이 다양한 상관.. 2020. 8. 6.
R / 분산분석(ANOVA) 분산분석은 2개 이상의 여러 모집단을 한꺼번에 비교하는 경우 사용된다. 예를 들어 스마트폰 시장에서 경쟁하는 회사가 4개라고하자. 이들회사의 고객만족정도를 조사하기 위하여 각 회사별 고객만족도를 비교 연구하고자할때 사용되는 것이다. 위 예시의 경우에서 회사는 독립변수가 되며, 고객만족정도는 종속변수가 된다. 독립변수를 요인이라고 부르기도한다. 이 기법은 두개이상의 모집단 평균차이를 한꺼번에 검정할 수 있게 해준다. 분산분석의 절차 두 요인에 상호작용이 있는지 조사한다. 만일 상호작용이 없으면, 두 요인을 따로 분석하여 하나씩 조사한다. 만일 상호작용이 중요하지 않으면 2단계로 간다. 만일 상호 작호작용이 중요하면 그 자료를 의미 있게 변환하여 그 상호작용을 중요하지 않게 만들 수 있는가를 결정한다. 만일.. 2020. 8. 6.
R / 표본검정 및 교차분석 -중심 위치- 중심위치는 관찰된 자료들이 어디에 집중되어 있는가를 나타낸다. 정상적인 빈도곡선의 경우, 대체로 가운데에 집중되어 있다. 중심위치를 나타내는 측정치는 산술평균, 최빈값, 중앙값 등이 있다. 이 세 가지를 합하여 대표값이라고 부른다. 산술평균 중심위치를 알려주는 데에 가장 많이 사용되는 측정치이다. 중앙값 가운데 등수에 위치한 관찰지이다. 최빈값 가장 많이 관측되는 수, 즉 주어진 값 중에서 가장 자주 나오는 값이다. mean() : 평균 구하는 함수 mode() : 최빈값 구하는 함수 median() : 중앙값 구하는 함수 variance() : 분산 구하는 함수 sd() : 표준편차 구하는 함수 sd()/mean() : 변동계수 구하는 함수 비대칭도(왜도)나 첨도를 구하려면 psych 라.. 2020. 8. 5.
R 공부 1편 자료를 벡터로 입력하기 위해서 사용하는 함수 : c() 평균 구하는 함수 : mean() 표준편차 구하는 함수 : sd() 상관관계 구하는 함수 : cor() 두 데이터의 관련성을 그림으로 나타내기 위한 함수 : plot() cor()과 plot()은 비교하려는 두대상의 데이터 수가 맞지않으면 오류발생 #Input data age Knowledge -> Wisdom -> Nirvana 정보와 지식의 차이는 지식은 살아있는 정보 즉, 삶에 적용되는 정보를 말한다. 기존 데이터와 빅데이터의 차이는 3V로 설명가능 빅데이터는 용량(Volume), 속도(Velocity), 다양성(Variety) 이 있는 자료를 말한다. 빅데이터 분석과정 : 빅데이터 수집관리 -> 데이터 분석 -> 의사결정 단계 데이터마이닝 대.. 2020. 8. 4.
Spring Boot / 트랜잭션 롤백하기 // 둘중에 하나라도 실패하면 rollback 하기 @Transactional(rollbackFor = Exception.class) public void updateAndDelete(Post post) { try { mRepo.update(post); mRepo.delete(post.getId()); System.out.println("DB 정상"); } catch (Exception e) { System.out.println("DB 오류"); throw new RuntimeException(e); } } 2020. 8. 3.
Spring / Security란? 스프링 시큐리티란? 스프링 시큐리티는 인증, 인가, 일반적인 공격에 대한 보호를 제공하는 프레임워크이다. 시큐리티는 인증과 인가를 분리하여 아키텍쳐가 설계되어 있는데, 해당 포스트에서는 아키텍쳐와 인증 프로세스 그리고 인증 프로세스에서 사용되는 주요 컴포넌트에 대해 살펴보겠다. 인증 인증이란 컴퓨터 시스템 사용자의 신원(주소, 신분 등)같은 주장을 증명하는 행위이다. 사람 또는 사물의 신원을 나타내는 행위와 대조적으로 인증은 그 신원을 검증하는 프로세스이다. 즉, 인증이란 사용자 이름, 사용자 아이디, 사용자 패스워드 등과 같은 자격을 증명하는 것을 검사하여 신분을 검증하는 것이다. 그렇다면 어떻게 스프링에서 시큐리티가 동작하는지 다음과 같은 시나리오와 함께 살펴보자. -시나리오- 사용자 이름과 암호를 .. 2020. 8. 2.