본문 바로가기

01-2. 저장소 만들기 ※ 이렇게 저장소 Repository를 생성한 후 3번에서 선택한 폴더에 버전관리를할 파일을 넣어서 관리한다. 더보기
01-1. Git 기본 소개 ※ 버전 관리 시스템(Version Control System) = 형상관리, 소스관리 버전이란? - 의미있는 변화들(기능의 개선, 버그수정, 고객의 요구사항에 맞게 소프트웨어를 커스터마이징하여 제공했다 등등) 버전 관리 시스템이란? - 의미있는 변화들을 관리하는 체계, 방법론, 소프트웨어 ex) 어떤 문서에 변화가 있을 때 원본 문서를 수정하는게 아니라 원본 문서를 복사해서 복사본에 수정사항을 작성한다. 이렇게 변화가 있을때마다 버전을 업데이트하면서 문서를 관리하면 나중에 원하는 버전의 문서를 사용할 수 있다. GIT이란? 리누스 토발즈가 리눅스 커널소스 관리를 위해 만든 소스 버전 관리 프로그램. 속도에 중점을 둔 분산형 버전관리 시스템(DVCS) - 대형프로젝트에 효과적 SVN과 다르게 COMMIT.. 더보기
02. JSP/Servlet JSP란? - 자바를 기반으로 하고 있는 스크립트 언어 JSP 특징 - 동적 웹 어플리케이션 컴포넌트 - .jsp 확장자 - 클라이언트의 요청에 동적으로 작동하고 응답은 html을 이용 - jsp는 서블릿으로 변환되어 실행 - MVC 패턴에서 View로 사용 Servlet이란? - 자바에서 웹 어플리케이션을 구현하기 위해 작성하는 코드로써 웹 컨테이너에 의하여 생성된다. - 웹 서버 상에서 실행되는 자바 클래스 파일이라 할 수 있다. 그러므로 자바의 API를 모두 사용할 수 있고 객체지향적인 장점을 모두 가지고 있다. Servlet 특징 - 동적 웹어플리케이션 컴포넌트 - java 확장자 - 클라이언트의 요청에 동적으로 작동하고, 응답은 html을 이용 - java thread를 이용하여 동작 - MVC.. 더보기
01. 웹프로그래밍 1.웹 기본개념 - 프로토콜 : 네트워크상에서 약속한 통신규약 (http, FTP, SMTP ... 등등) - IP : 네트워크상에서 컴퓨터를 식별할 수 있는 주소 - DNS : IP주소를 사람이 쉽게 외우도록 맵핑한 문자열 - 포트 : IP주소가 컴퓨터를 식별할 수 있게 해준다면, 포트번호는 해당컴퓨터의 구동되고 있는 프로그램을 구분할 수 있는 번호 ex) http://www.spa.com/8080/index (http - 프로토콜/ www.spa.com - IP주소를 DNS로 표시한것/ 8080-포트 / index - infomation path) 2.JAVA 웹 3.웹프로그램의 동작 WebServer와 WebApplicationServer(WAS)의 차이 - WebServer : Web Client.. 더보기
[SPRING] 빈(Bean) 관련해서 오류가난다면? - 빈관련 오류가 난다면 이클립스 프로젝트 아래에 Spring Elements에서 해당 빈이 생성됐는지, 어떻게 어디에 생성 됐는지를 확인해보자. 각각의 context마다 생성된 빈을 보여준다. 해당 빈이 생성된 위치라던가 중복된게 있는가 등등... 콘솔창의 에러와 Spring Elements의 정보를 이용하면 빈 관련 에러가 왜 발생했고 어떻게 해결해야 하는지, 혹은 구글에 검색하는데 도움이 될 것이다. **빈 추가하기 더보기
[SPRING SECURITY] 4.스프링 시큐리티 로그인 커스터마이징 1) 커스터 마이징을 위한 .java, .jsp CustomAuthenticationProvider.java (DB에서 사용자 불러와 권한조회 하기) - 에 추가한 클래스로써 권한확인 작업을 한 후 return result;를 하면 result의 내용이 에서 default-target-url에 선언한 컨트롤러로 넘어간다 public class CustomAuthenticationProvider implements AuthenticationProvider { @Autowired CustomService customService; @Override public Authentication authenticate(Authentication authentication) throws AuthenticationExc.. 더보기
[SPRING SECURITY] 3.스프링 시큐리티 로그인 커스터마이징 1) 커스터 마이징을 위한 security-context.xml 속성들 - 스프링 시큐리티는 속성을 이용하면 해당 페이지에서 로그인 할 수 있도록 한다. login-page 로그인 페이지 주소를 지정 username-parameter 로그인 페이지 form에 있는 username을 저장할 변수이름 지정 (ID값) password-parameter 로그인 페이지 form에 있는 password를 저장할 변수이름 지정 login-processing-url 로그인 페이지 form에 action에 입력할 주소 지정 ex) default-target-url 로그인 성공시 호출할 주소 지정 authentication-failure-url 로그인 실패시 호출할 주소 지정 always-use-default-target.. 더보기
[SPRING SECURITY] 2.스프링 시큐리티 security-context.xml 알아보기 - 스프링 시큐리티는 어떤 웹페이지에 접속할 때에 접속자의 권한을 반드시 확인하고 권한에 맞는 페이지만 보여준다. 아래 예제를 보자, 이 예제는 구글링해서 찾은 security-context.xml의 예제이다. 간단히 예제를 설명하자면 다음과 같다. 안에 있는 은 해당 페이지의 접속 권한에 대해 설정한다. 즉 저 예제는 모든페이지(/**)는 ROLE_USER만이 접속할 수 있다는 말이다. 그리고 속성은 유저들의 권한을 설정한다. 즉 아이디가 guest이고 비밀번호가 guest인 사람의 권한은 ROLE_USER로써 저 웹페이지에 접근할 권한이 있다. 또한 권한을 가진 유저가 하나이므로 저 아이디를 제외한 모든 아이디는 권한이 없으므로 접근이 불가능 하다. 그리고 앞의 스프링 시큐리티기본세팅을 한 후 sec.. 더보기
[SPRING SECURITY] 1.스프링 시큐리티 기본세팅 1) 라이브러리 다운 - 스프링 시큐리티 라이브러리를 다운받아야 한다. 일반적인 스프링에서는 pom.xml에 다운받으려는 스프링 시큐리티 설정을 추가하면 된다. - 해당 설정은 스프링 공식홈페이지(https://spring.io/)에서 해당 설정을 찾을 수 있다(http://projects.spring.io/spring-security/) pme.xml org.springframework.security spring-security-web 4.2.2.BUILD-SNAPSHOT spring-snapshots Spring Snapshots https://repo.spring.io/libs-snapshot true - 하지만 내가 했던 프로젝트는 스프링이긴 했지만 pom.xml이 없었고 직접 라이브러리를 추가.. 더보기
[자바] 자바를 이용한 날짜처리 String last_login_date ="2016-12-21 09:40:30" SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//현재날짜Date sysDate = new Date();//비교하려는 날짜를 형변환 한다.Date lastLogDate = format.parse(last_login_date); //두 날짜의 시간을 밀리초 단위로 만들어 뺀다.long differ = sysDate.getTime() - lastLogDate.getTime();//위에서 뺀 두 날짜의 시간차이를 나타내고싶은 상태로 나누기를 하여 나타낸다.//밀리초 단위이기 때문에 1초는 1000으로 나타낸다.long differDays = diffe.. 더보기
[자바스크립트]날짜 Date 타입 계산법 자바스크립트를 이용한 날짜 계산법이다. var sysDate= new Date(); //현재 날짜 및 시간 alert(new Date(Date.parse(sysDate) - N * 1000 * 60 * 60 * 24)); // N일 전 alert(new Date(Date.parse(sysDate) + M * 1000 * 60 * 60 * 24)); // M일 후alert(new Date(Date.parse(sysDate) + 1000 * 60 * 60)); //한시간후 alert(new Date(Date.parse(sysDate) + 1000 * 60)); //1분후 alert(new Date(Date.parse(sysDate) + 1000)); //1초후 이므로 위의 글에 기초하여 날짜를 컨트롤 하고싶.. 더보기
08-4 해싱 ※ 해싱(Hashing) - 해싱은 키값을 비교하여 검색하는 것이 아니라 산술적 연산을 이용하여 키가 있는 위치를 계산하여 바로 찾아가는 계산 방법이다. - 키값을 원소의 위치로 변환하는 함수를 해싱 함수(Hashing Function)라 한다. - 해싱 함수에 의해 계산된 주소의 위치에 항목을 저장한 표를 해시 테이블(Hash Table) 이라 한다. - 즉 해싱은 어떤 키값을 해시함수를 통해 그 키값이 저장될 해시 테이블의 위치를 구한다. 그리고 그 위치에 저장하거나 검색한다. - 해시 테이블을 버킷과 슬롯으로 구성한다. - 해싱 함수에 의해서 계산된 주소는 버킷 주소가 된다. - 버킷에 여러개의 슬롯을 만들어 값이 비슷한 여러개의 키값을 저장할 수 있다. ※ 해싱 구조 용어 동거자 : 모든 키값이 .. 더보기