분류 전체보기141 필터 기반으로 동작하는 Spring Security & 필터 종류 스프링 시큐리티는 필터 기반으로 동작한다. 하여 스프링 시큐리티를 이해하기 위해서는 필터를 제대로 이해하는 것이 좋다! 필터(Filter) 란 무엇인가? 필터는 요청과 응답을 걸려서 정제하는 역할 클라이언트로부터 오는 request/response에 대해 최초,최종 단계에 존재 사용되는 용도 : 로깅 용도, 인증, 권한 체크 등 ex) 들어온 요청이 DispatcherServlet에 전달되기 전에 헤더를 검사해 인증 토큰 여부, 변조 검사 등을 함 여러개의 필터가 모여서 하나의 체인(chain)을 형성 할 수 있음 filterchain 사용 코드 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain).. 2023. 10. 2. Spring Security 기본 개념 및 세팅 (+ please sing in 로그인 방법) 이 글을 이해한다면 스프링 시큐리시의 간단한 개념과 아래와 같은 형태의 세팅 방법에 대해 알 수 있다! URL 별로 접근 권한 처리를 하고 싶은 경우 로그인한 사용자와 관리자 권한을 가진 사용자가 지정한 리소스만 접근 가능하도록 세팅하고 싶은 경우 Spring Security란? Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications. Spring Security is a framework that focuses on providing both authenticati.. 2023. 10. 1. 웹 개발자라면 네트워크 공부는 필수! (+ 추천 강의) 처음에 개발자가 되기 위해서 프로그래밍을 공부할 때는 네트워크가 중요한지 몰랐다. 사실, 네트워크를 신경쓰기에는 기본적인 자바, 스프링만 공부해도 이미 과부화 상태...! 하지만, 백엔드 개발자로 취업을 하고 필요한 기능을 구현해 내기만 하던 시기가 조금씩 지나가고, 실무를 하다보면 네트워크 개념이 부족하다는 생각이 들게 되는 시기가 온다. 회사에서 개발자로 일하다 보면 (특히, 백엔드 개발자) 인프라 관련 요청, 대응을 해야 하는 상황이 발생한다. 예를 들어 port를 열어달라고 요청을 하거나, 외부 API 호출을 하다가 권한 오류가 발생하면 서버 IP 주소, 도메인을 전달해서 권한 요청을 하고, 로컬 PC 고정 IP 신청을 하기 위해서 Mac address를 전달 한다. 너무 당연하다는 듯이 위와 같.. 2022. 10. 29. JPA 사용 하는 이유는? (+ ORM 과 SQL mapper 비교) 일반적인 프로그램은 프로그램이 종료 되더라도 실행 중에 작성하거나 생성한 데이터가 이후에 재실행 후 접근 시 동일한 데이터를 바라봐야 한다. 예를 들어 하루 종일 게임을 해서 레벨을 올렸는데, 다음 날 재 접속 했더니 레벨이 다시 초기화 된다면! 생각만 해도 끔찍하다... 데이터를 생성한 프로그램의 실행이 종료되더라도 데이터가 사라지지 않고 저장되는 데이터의 속성. 이 개념을 영속성(Persistence)이라고 한다. Persistence layer 구현하는 방식에 따라 구분이 된다. JDBC 이용하여 영속성 계층 구현 Persistence Framework(영속성 프레임워크)를 이용하여 구현 SLQ mapper ORM 데이터를 저장하고 관리하는 기술의 흐름은 아래와 같이 변화되어 왔다. 기존 기술의 불.. 2022. 10. 17. JPA Entity & 영속성 컨텍스트 & 라이프 사이클 알아보자! JPA는 사용하기 전에 알아야 할 개념들이 있다. 그 중에서도 기본적인 개념인 Entity / 영속성 컨텍스트 / 라이프 사이클에 대해 알아보자. JPA Entity 테이블과 대응하는 하나의 클래스 Entity 4가지 상태 : 비영속, 영속, 준영속, 삭제 Entity 예시 코드 @Entity : 엔티티 클래스에 설정, 필수값 @Table : 엔티티와 매핑할 테이블명 지정 @Id : 식별자 속성에 설정, 필수값 @Coulumn : 매핑할 테이블의 컬럼, 제약조건, 필드면 다른 경우 name 지정 가능 @Entity @Table(name = "user") public class UserEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Co.. 2022. 10. 14. JPA란 무엇인가? Mybatis와 차이점 (+기초 무료 인강 추천) JAVA/Spring을 공부하거나 사용한 개발자라면 JPA를 사용해 보거나, 많이 들어봤을 것이다. 요새 많은 곳에서 사용하는 기술 중 하나이다. 레거시 서비스가 아닌 서비스를 제공하는 곳이라면 개발을 할 때 JPA를 많이 사용하는 추세이다. JPA란 무엇인지, 기존에 쓰던 Mybatis와 비교하면 알아보자. JPA(Java Persistence API) 자바 진영의 ORM 기술 표준 자바 객체와 DB 데이터 간의 매핑을 처리하기 위한 ORM(Object-Relational Mapping) 표준 자바 ORM 기술에 대한 API 표준 명세(인터페이스를 모아 둔 것!) 위의 이야기만 보면 어렵게 느껴질 수 밖에 없지만, 자바로 DB에서 데이터를 조회, 수정, 삭제, 추가를 할 때 사용하는 기술이라고 생각하면.. 2022. 10. 14. Log 로그는 왜 사용하는 것인가? 로그 레벨 정리 Log 로그는 왜 적는 것인가? 로그를 적는 경우 로그 작성 목적과 요구사항에 대한 파악이 우선 필요하다. 소스 코드에 로그를 많이 적게 되면 오히려 운영하면서 많은 로그로 인해 디버깅이 더 불편하게 된다. 키바나를 연동하는 경우에도 쓰레기 데이터가 많이 쌓이기 떄문에 꼭 필요한 로그인지 파악하는 습관이 필요하다. 일반적으로 로그를 작성하는 목적은 아래와 같다. 서비스 동작 상태 파악 장애 파악 & 알림 로그 분석을 통한 서비스 지표의 확인, 트랜잭션, 성능 파악 로그 사용 케이스는? System.out.println(" ") 로그로는 잘 사용하지 않는 케이스 개발할 때 콘솔에 데이터를 찍으며 파악할 때 사용했던 명령어 SasS 환경에서 로컬에 저장되는 로그 파일은 초기화 될 수 있기 떄문에 이러한 방법.. 2021. 6. 18. 운영체제 구조, 커널과 인터페이스 운영체제 구조 인터페이스 커널 시스템 호출 드라이버 커널과 인터페이스 커널 kernel : 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것, 운영체제의 성능은 커널이 좌우 운영체제는 사용자와 응용 프로그램에 인접하여 커널에 명령을 전달하고 실행 결과를 사용자와 응용프로그램에 돌려주는 인터페이스와 운영체제의 핵심 기능을 모아 놓은 커널 두 부분으로 나뉨 유닉스는 사용자 인터페이스를 shell이라 하고, 쉘은 명령어 기반이라 GUI에 익숙한 일반인이 보기에는 어렵게 느낄 수 있음, 쉘의 종류는 C쉘 , T쉘, 배시쉘 등 여러 쉘이 있음 참고로 맥 OS X도 알고 보면 유닉스 계열의 커널을 이용해서 만든 것으로 커널이 같더라도 인터페이스에 따라 사용자가 느끼기에는 다.. 2021. 6. 14. 운영체제 OS란 무엇인가? 운영 체제 정의 및 종류 사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터 시스템의 자원을 효율적으로 관리하는 소프트웨어. 컴퓨터나 노트북의 전원을 켜며 바로 나오는 소프트웨어를 말함 OS(Operating System)라 부르기도 함 예로는 윈도우, Mac OS , 유닉스, 리눅스, IOS, 안드로이드 등이 있음 임베디드 운영체제는 CPU의 성능이 낮고 메모리 크기도 작은 시스템에 내장하도록 만든 운영체제를 말하며, MP3플레이어, 내비게이션, 스마트 시계 등에서 이용함 운영체제의 역할 자원 관리 자원을 응용프로그램에 나누어주며 사용자가 원활하게 작업 할 수 있도록 도움 자원을 요청하는 프로그램이 여러개인 경우 적당한 순서로 자원을 배분하고 회수하여 다른 프로그램으로 나누어 줌 자원 보호 프로그램이나.. 2021. 6. 13. 이전 1 2 3 4 5 ··· 16 다음 반응형