분류 전체보기
-
[Spring Boot] 스프링 시큐리티네이버클라우드 캠프 | BE/Spring 2023. 6. 26. 00:16
이번 블로그 글에서는 로그인/로그아웃 기능을 구현하며 필수적으로 알아야 하는 Spring Security에 대해 알아보도록 하겠습니다. 1. Spring Security Spring Security(스프링 시큐리티)는 웹 어플리케이션의 보안을 위한 강력한 프레임워크입니다. 웹 어플리케이션에서 필요한 인증, 권한 부여를 비롯해 주요 보안 기능을 제공해, 어플리케이션을 안전하게 만들 수 있습니다. Spring Security는 아래와 같은 특징을 가지고 있습니다. 1. 다양한 인증 방법 지원: *Form-Login, *LDAP, *OAuth 등 다양한 인증 방법 지원 2. 권한 부여: 사용자별로 다른 권한을 부여하거나, URL/메서드 수준에서의 세밀한 권한 제어 가능 3. *CSRF 방지: CSRF 공격 방..
-
[Spring Boot] JPQL과 Thymeleaf네이버클라우드 캠프 | BE/Spring 2023. 6. 22. 11:38
1. JPQL SQL은 공급업체에 따라 문법이 조금씩 다른데, 이러한 문제를 해결하기 위해 JPA는 JPQL이라는 쿼리 언어를 제공합니다. JPQL은 엔티티(자바 객체)를 대상으로 쿼리를 수행하며, 등장한 배경과 같이 SQL을 추상화하여 사용하기 때문에 특정 데이터베이스의 SQL에 의존하지 않는다는 특징을 가지고 있습니다. 1-1. JPA Querydsl Querydsl은 JPQL을 코드로 작성할 수 있도록 도와주는 빌더 API입니다. Querydsl의 쿼리는 Java 코드로 작성되기 때문에, SQL의 문자열 쿼리가 아닌 코드 형태로 작성되어 컴파일 시점에서 오류 검사 및 자동 완성 등을 사용할 수 있습니다. Querydsl은 아래와 같은 특징을 가지고 있습니다. 1. Type Safe: Java로 작성..
-
[Spring Boot] 스프링 부트란? (어노테이션, 롬복, DAO-DTO, JPA, 쿼리 메서드 중심으로)네이버클라우드 캠프 | BE/Spring 2023. 6. 21. 10:50
1. Spring Boot란? Spring Boot는 개발자가 스프링 기반의 어플리케이션을 빠르고 쉽게 개발할 수 있도록 하는 프레임워크입니다. Spring Boot는 아래와 같은 이유로 많은 개발자가 사용합니다. 1. 자동 설정: 어플리케이션 실행에 필요한 대부분의 기본 설정을 자동으로 해줍니다. (Spring Framework를 사용해 보신 분이라면..) 2. 내장 서버: Spring Boot는 웹 어플리케이션 서버(WAS)를 내장하고 있어 별도의 웹 서버 설치나 설정이 필요하지 않습니다. 3. 의존성 관리: Spring Boot Start를 통해 의존성 관리를 단순화하여, 호환 가능한 버전을 스스로 관리합니다. 4. 프로덕션 준비: 모니터링, 로깅, 보안과 같은 프로덕션 준비 기능을 내장해 개발자가..
-
[React] 리액트의 시작 (특징과 JSX 규칙을 중심으로)IT Study/FE 2023. 5. 28. 03:13
블로그 본문은 "리액트를 다루는 기술 - 김민준"을 기반으로 정리된 내용입니다. 리액트를 배우기에 앞서, 리액트의 주요 단어를 먼저 살펴보죠. 컴포넌트란? 리액트 프로젝트의 특정 부분이 어떻게 생길지 정하는 선언체로, 재사용이 가능한 API (생김새와 작동 방식 정의) 렌더링이란? 뷰를 보여주는 것 바로 들어가보겠습니다. 1. 리액트는 Virtual DOM (가상 DOM) DOM은 객체로 문서 구조를 표현하는 방법이며, Virtual DOM은 DOM을 통해 객체에 JS와 CSS를 적용할 수 있습니다. DOM 자체는 빠른 편이지만, DOM에 변화가 일어나면 웹 브라우저가 CSS를 다시 연산하고 레이아웃을 구성하고 페이지를 리페인트하는 과정에서 시간 허비 발생합니다. 그렇다면 "일부만 리페인트하여 해결할 수..
-
[Spring Framework] 설치와 서버 생성 (환경설정 미포함)네이버클라우드 캠프 | BE/Spring 2023. 5. 26. 15:35
오랜만에 블로그로 돌아온 Three입니다. 오늘은 Spring을 사용하기 위한 기본적인 환경설정에 대해 간결하게 설명하겠습니다. 사전 작업 : eclipse와 jdk v.11 설치 아래의 단계는 jdk v.11이 설치 과정에 대해 다루지 않았습니다. SpringFramework 사용을 위해 eclipse, jdk를 다운로드하여주세요. (해당 부분까지 다루지 못해 죄송합니다 ㅠㅠ) 1. Spring 설치 아래 GitHub 사이트에서 'Sptring Tool Suite 3.9.18' 버전을 다운로드합니다. Spring Tool Suite 3 the distribution build for the Spring Tool Suite and the Groovy/Grails Tool Suite - spring-att..
-
[Linux] 서버와 root(sudo), 웹 서버와 도메인 설치네이버클라우드 캠프 | BE/Linux 기초 2023. 5. 1. 15:57
1. 서버 생성 및 *root(sudo) 권한 부여하는 이유 리눅스에서 서버를 생성하고, 기본 생성자에게 root 권한을 부여하는 것은 서버 운영을 위해 필요한 과정입니다. 시스템 전체를 관리할 수 있는 최상위 관리자 계정인 root는 서버 관리에 필수적이지만 보안상 위험하며 시스템이 손상될 위험도가 높기 때문에 기본적으로 리눅스 서버는 root 권한을 생성하지 않습니다. 따라서, root 권한을 임시적으로 부여받아 sudo 명령을 실행할 수 있는 특정(일반) 사용자 계정을 생성하여 사용해야 합니다. 이를 통해 시스템의 보안을 유지하며 특정 사용자가 시스템을 관리하도록 하며 서버 운영을 도울 수 있습니다. root 최상위 관리자 계정, 시스템 전체에 대한 완전한 액세스 권한 보유 sudo 임시적으로 ro..
-
[일기] 많이 실수하자.Daily 2023. 5. 1. 01:24
지난주 황대환 선생님께 리눅스 강의를 들었다. 유익하고 집중도 높은 강의였지만, 선생님의 조언 중 가장 와닿는 말은 "많이 실수하세요."였다. 지금까지 얼마나 더 잘해야 할지, 스스로에 대한 기대 혹은 누군가의 기대에 충족하기 위해 처음부터 완벽한 결과물을 내야 한다는 생각에 사로잡혀 있었다. 잘하고 싶다는 마음만 앞서서, 아무런 성과를 내지 못하는 나의 모습을 보며... 스스로 답답함을 느꼈다. 뭐가 그렇게 두려운 걸까..? 난 전공생도 아니고, 처음 배우는 사람일 뿐인데... 사람들은 나에게 어떤 기대를 하고 있을까 싶기도 하고... 욕심스럽게도 나에 대한 기대도 스스로 올라가며, 그들의 기대에 충족하기 위해 어떤 사람이 되어야 할지 고민이 많다. 누군가가 나와 같은 길을 걸어갔다면, 그 사람에게 가..
-
[Linux/Ubuntu] 백그라운드 프로세스네이버클라우드 캠프 | BE/Linux 기초 2023. 4. 30. 16:19
1. 백그라운드 프로세스란? 백그라운드 프로세스란 사용자와 상호 작용하는 것이 아닌 시스템 자원을 이용하여 실행되는 프로세스를 말합니다. 일반적으로 백그라운드 프로세스는 실행 시점에 Shell 명령 끝에 & 기호를 입력하거나 Ctrl + Z 명령으로 현재 실행 중인 프로세스를 중지시킨 뒤 bg 명령을 이용해 실행할 수 있습니다. 2. 백그라운드 프로세스를 사용하는 이유 백그라운드 프로세스는 사용자가 명령을 실행한 후 결과를 기다리는 동안에도 명령을 실행하도록 하기 위해 사용합니다. 백그라운드 프로세스를 사용하여, 사용자는 작업을 처리하며 다른 작업도 수행할 수 있어 작업의 효율성이 증가합니다. 또한, 백그라운드 프로세스를 이용하여 지속적으로 실행되는 서비스나 데몬 프로그램을 구현할 수 있기 때문에 시스템..