웹 프로그래밍 (30) 썸네일형 리스트형 [JAVA] 변수란? 해당 글은 남궁성님의 자바의 정석을 학습 후에 작성되었습니다. 변수(variable)란? 하나의 값을 저장할 수 있는 메모리 공간이다. (특정 메모리 공간에 이름을 지정하고, 주소 대신 이름을 통해 메모리에 값을 저장하고 읽을 수 있게 한 것이다) 변수의 선언 변수 선언 이유 값을 저장할 공간을 마련하기 위해서 변수 선언 방법 // 변수타입 변수이름; int age; // 정수(int) 타입의 변수 age를 선언 변수에 값 저장 변수에 값 저장하기 int age; age = 25; // 변수 age에 25 저장 ------ int age = 25; 변수의 초기화 변수에 처음으로 값을 저장하는 것 변수의 종류는 클래스 변수, 인스턴스 변수, 지역 변수가 있다. 지역 변수는 읽기 전에 꼭!!!초기화를 해.. [JAVA] JAVA 특징 해당 글은 남궁성님의 자바의 정석을 학습 후에 작성되었습니다. 자바(Java)란? 프로그래밍 언어로 컴퓨터 프로그램(애플리케이션)을 만드는데 사용한다. 자바는 단순히 프로그래밍 언어가 아닌, 실행환경(JRE) + 개발도구(JDK) + 라이브러리(API)를 제공한다. 라이브러리란?JDK(Java Development Kit) - 자바 개발 도구 프로그램을 개발하는데 필요한 기능들을 미리 만들어 둔 것 (자바에서 제공하는 라이브러리를 사용하면 쉽고 빠르게 어플리케이션을 만들 수 있다) 왜 자바를 사용해야 하나? 자바는 PC 애플리케이션, 웹 애플리케이션, 모바일 애플리케이션, 빅 데이터, 게임 등 다양한 곳에 사용된다. 20년간 프로그래밍 언어 1,2위 배우기 쉽고 풍부한 학습자료 모던 프로그래밍 언어(객체.. [JAVA] 정규표현식 정규 표현식 주어진 문자열에서 발견할 수 있는 글자 패턴을 표현한 식 정규 표현식 표현법 표현식 의미 ^X 문자 선택을 표현하며 x 와 y 중에 하나를 의미한다. x$ 문자열의 종료를 표현하며 x 문자로 종료됨을 의미한다. .x 임의의 한 문자의 자리수를 표현하며 문자열이 x로 끝난다는 것을 의미한다 x+ 반복을 표현하며 x 문자가 한번 이상 반복됨을 의미한다 x? 존재여부를 표현하며 x 문자가 존재할 수도, 존재하지 않을 수도 있음을 의미한다 x* 반복여부를 표현하며 x 문자가 0번 또는 그 이상 반복됨을 의미한다 x` `y (x) 그룹을 표현하며 x를 그룹으로 처리함을 의미한다 (x)(y) 그룹들의 집합을 표현하며 앞에서부터 순서대로 번호를 부여하여 관리하고 x,y는 각 그룹의 데이터로 관리된다 (x.. [Spring] Spring Validator BindingReuslt/Errors 사용 API를 개발하면서 request body로 넘어온 도메인 객체 정보가 유효한 정보인지에 대한 validation check하는 로직을 개발하게 되었다. validation check를 하기 위해 Spring Framework Validator API를 사용하였다. 아래와 같이 API를 통해 요청을 할 경우, 넘어온 파라미터 정보가 유효 한지에 대한 유효성 검사를 했다. (회사 코드를 첨부할 수 없어 임의로 작성한 예시이다..) @RequestMapping(value = "/{path}/user", method = RequestMethod.POST) @ResponseStatus(value = HttpStatus.ACCEPTED) public UserInfo createUser(@PathVariable S.. [Spring Security] #2 Spring Security 설정 SecurtyConfig 설정 1 @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().disable(); http.authorizeRequests() .antMatchers("/user/**").authenticated() .antMatchers("/manager/**").access("hasRole('ROLE_ADMIN') or hasRole('ROLE_MANAGER')") .antMatchers("/admin/**").acc.. [Spring Security] #1 Spring Security 시작하기 사용 도구 MariaDB Docker Spring Boot Spring Security Datatbase user 생성 create user 'security'@'%' identified by 'security'; grant all privileges on *.* to 'security'@'%'; create database security; use security; MariaDB와 Docker, Spring Boot 프로젝트 연동은 아래 포스팅에서 확인 할 수 있습니다. https://yundevnote.tistory.com/16 [Docker] Docker와 MariaDB 연동 MariaDB연동(docker) 앞에서 만든 spring boot 프로젝트와 JPA 연동 Database는 Mariadb 사.. LocalDate, LocalTime, LocalDateTime Java 8부터 java.time API를 사용할 수 있게 되었다. java.time API가 사용되기 전에는 Calendar와 Date 클래스를 사용하여 시간을 나타냈다. 하지만 이 클래스들은 치명적인 단점을이 있기 때문에 더이상 잘 안쓰는 추세이다. 어떠한 단점이 있는지, 그럼 Java 8에서 나온 java.time 패키지에는 어떠한 클래스가 있고 어떻게 사용할 수 있는지에 대해 알아보자!! java.time은 Java 8 이상부터 사용할 수 있으니 참고하자! Calendar, Date 클래스의 문제점 1. 상수필드 남용 calendar.add(Calendar.SECOND,2) 2. 헷갈리는 월 지정 1월=0 2월=1 ... 3. 일관성이 없는 요일 상수 Date.getDay()에서는 일요일이 0 C.. [Spring Security] Spring Security란? Spring Security 인증, 인가를 지원하고 주요 공격으로부터 어플리케이션을 보호해주는 프레임워크 스프링 기반의 어플리케이션 보안을 담당하는 프레임워크 서블릿의 여러 종류의 필터와 인터셉터를 이용해서 처리된다. 필터 : 서블릿에서 말하는 단순한 필터 의미 인터셉터 : 스프링에서 필터와 유사한 역할 필터와 인터셉터는 서블릿이나 컨트롤러의 접근에 관여한다. 필터는 스프링과 무관한 서블릿 자원 인터셉터는 스프링의 빈으로 관리되면서 스프링의 컨텍스트 내에 속한다 스프링 시큐리티를 이용하게 되면 인터셉터와 필터를 이용하면서 별도의 컨텍스트를 생성해 처리 인증과 권한 부여(Authentication, Authorization) 인증 : 사용자에 대한 검증. 자신을 증명하는 것 권한 부여 : 인증을 기반으로 .. 이전 1 2 3 4 다음