객체 배열을 사용한 다량의 데이터 관리 객체 배열을 이용해서 student1, student2, student3, student4의 변수에 데이터를 저장하고 push() 메소드를 활용해서 students 배열에 모든 데이터를 밀어넣고 그 속에서 합계와 평균을 구해보도록 하겠습니다. 객체2 객체 배열을 사용한 다량의 데이터 관리 확인 New 키워드를 사용해서 객체를 생성할 수 있는 함수인 생성자 함수 확인 Data 내장객체 getFullYear() : 년도 getMonth() : 월 getDate() : 일 getDat() : 요일 getHours() : 시간 getMinutes() : 분 getSeconds() : 초 Date 내장객체 확인
로그인을 하기에 앞서, 현재 우리의 홈페이지에서 회원가입을 진행하면 폼에 입력된 정보가 암호화 되어 데이터베이스에 저장되는 것 아니라 입력값 그대로 저장된다. 우리는 입력값 그대로를 데이터베이스에 저장하는 것이 아니라 해쉬(Hash)형태로 변환 후 DB에 저장할려고 한다. 시큐리티는 어떤 로직을 가지고 있는지 살펴보면 로그인을 요청한다. 시큐리티가 지켜보고 있다가 파라미터로 전달된 username, password를 가로챈다. 가로챈 파라미터로 로그인 진행이 완료된다. 시큐리티가 가지고 있는 전용 세션에 유저정보를 저장한다. 우리는 세션에 저장되어 있는 유저정보를(IOC)를 DI(의존성주입)을 사용하여 필요할 때 마다 사용한다. 여기서 중요한 점은 시큐리티 세션에는 우리가 만들어놓은 User 오브젝트를 ..
우리는 앞으로 Spring Security에서 인증이 안된 사용자들이 "/auth" 경로를 통해 접근할 수 있도록 설정할 것이다. 예를들어서 JoinForm(회원가입), loginForm(로그인페이지) 들은 인증이 필요하지 않은 곳이기 때문에 "/auth" 경로로 설정하는 것이다. 필요한 모든 곳의 주소를 변경했다면 config라는 패키지를 하나 만들고 패키지속에 SecurityConfig 라는 Class를 생성해준다. SecurityConfig 클래스 속에서 WebSecurityConfigurerAdapter 클래스를 상속(extends)후 HttpSecurity를 가지고 있는 configure() 메소드를 오버라이딩 해준다. 설정파일을 bean으로 등록하기 위해서는(스프링 컨테이너에서 객체를 관리할 ..
시큐리티 로그인을 하기 위해서는 Pom.xml 수정이 필요하다. #1 pom.xml 수정 (dependency 추가) org.springframework.security spring-security-taglibs org.springframework.boot spring-boot-starter-security dependency를 추가하고 서버를 돌리면 메인 페이지로 가려고 하는데, url에 자동으로 /login으로 매핑되어 이상한 로그인 페이지로 이동한다. 이유는 바로, Spring security가 가로채서 이 화면으로 자동으로 가게 만들어놨기 때문(username은 user Password는 콘솔창에 띄워지는 해쉬 Password를 사용하면 원하는 메인페이지로 이동이 가능하다) 이를 통해서 알 수 있..
객체 객체 객체 선언 및 호출 객체는 {} 중괄호를 사용해서 생성하고 중괄호 안에 이 객체를 필요로 하는 속성들을 정의한다. 속성 : 속성값의 형태로 정의한다. 속성값으로는 모든 자료형의 값을 담을 수 있다. 객체의 형태 var 변수명 = { 속성명 : 속성값, 속성명 : 속성값, 속성명 : 속성값, . . . . }; 객체 실습 대괄호를 이용해서 객체 내부 속성으로 접근 객체명["속성명"] .을 이용하여 객체 내부 속성으로 접근 객체명.속성명 객체의 속성명 제시시 공백이나 특수문자가 포함될 경우 반드시 문자열의 형태로 제시해야 한다. 객체가 가지고 있는 모든 속성들에 순차적으로 접근하고자 한다면 반복문 제시 단, for loop문으로는 불가능하고 for in문을 사용해야한다. 객체의 속성 중 함수 자료..
함수(function) 함수의 기본 형태 function 함수명(매개변수, 매개변수, . . . . ){ 해당함수 호출시 실행할 소스코드; return 결과값; } 매개변수가 없는경우 매개변수 생략 가능 반환값이 없을경우 반환값(return)도 생략 가능 함수 관련 실습 매개변수와 return값이 생략된 모습 확인 매개변수가 전달되는 함수의 모습 함수의 매개변수 확인 확인 확인 확인 확인 확인 확인 확인 함수 호출 시 전달되는 값은 내부적으로 arguments 배열에 담긴다. arguments는 모든 함수마다 내부적으로 하나씩 존재하는 배열 객체를 뜻한다. 매개변수 관련 arguments배열 함수 호출 시 전달되는 값은 내부적으로 arguments배열에 담긴다. * arguments : 모든 함수마다 내..
JavaScript 배열 자바스크립트에서는 변수 선언 시 별도의 자료형 지정이 없기 때문에 어떤 자료형의 값이 오던 한 배열에 담을 수 있다. (Java의 컬렉션과 유사) 배열의 선언(1) 형 변수이름 = [값, "값", false, [123], 50]; 이런식으로 어떤 자료형의 값이 오던 한 배열에 담아서 저장할 수 있다. 확인 배열의 선언(2) 배열선언 시 배열의 크기를 지정한 채로 선언하거나, 크기를 지정하지 않아도 된다. var arr1 = new Array(); // 배열의 크기가 0인 빈 배열 var arr2 = new Array(2); // 배열의 크기가 2인 배열 var arr3 = []; // 배열의 크기가 0인 빈 배열 배열의 활용(1) Array 객체의 메소드 indexOf(찾고자하..
문자열과 숫자 문자열 관련 메소드(내장함수) toUpperCase() : ()안의 문자열을 대문자로 변환한다. toLowerCase() : ()안의 문자열을 소문자로 변환한다. indexOf() : ()안의 요소가 해당 문자열의 몇번 째 인덱스에 존재하는지 출력한다. lastIndexOf() : ()안의 요소가 해당 문자열에서 뒤로부터 몇번 째 인덱스에 존재하는지 출력한다. substring() : substring(시작인덱스), substring(시작인덱스, 개수) : 문자열을 파싱해준다. split() : () 안에 존재하는 기준으로 문자열을 잘라준다. 문자열과 숫자 문자열 관련 메소드(내장함수) 문자열 처리 메소드 숫자(수학) 관련 메소드(내장함수) 특이상황 : 모든 메소드는 Math 객체에서 받아..