AOP 어플리케이션에서의 관심사의 분리(기능의 분리) 즉, 핵심적인 기능에서 부가적인 기능을 분리한다. 분리한 부가기능을 애스펙트(Aspect)라는 독특한 모듈형태로 만들어서 설계하고 개발하는 방법 AOP 사용이유 회원이라는 기능이 있고 회원만이 접근할 수 있는 url이 존재, 그 곳을 접근할 때는 회원의 session정보가 존재해야했음. AOP pointcut 기능을 이용해서 모든 요청이 서블릿으로 들어올 때 before pointcut을 걸어두어 회원의 session정보가 존재하는지 검사. package com.test.genius.code.pointcut; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.htt..
자바스크립트에서 function에 인자(Parameter)를 넘기는 방식- 원시타입 : boolean, number, string, null, undefined- 객체타입 : 객체, 배열 등등 1. 원시타입을 파라미터로 넘겼을 경우에는 전달받은 인자(function에 정의된 변수)는 다른 주소값을 가지고 복사된다. 2. 객체타입을 파라미터로 넘겼을 경우에는 전달받은 인자(function에 정의된 변수)는 같은 주소값을 가지고 복사된다. 2-1 ) 받은 인자에 새로운 객체를 할당할 경우 다른 주소값을 가지게 되어서 함수 호출시 넘기는 파라미터객체와 다른 주소값을 가지게된다. => 재할당 2-2 ) 받은 인자에 속성값을 변경하면 전달받은 인자의 주소값은 변하지 않아서 함수 호출시 넘기는 파라미터객체의 값을 ..
문제- 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.- 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력- 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)- 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 출력첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. 예제 입력 110 4200151050100500100050001000050000 예제 출력 1 6 예제 입력 2 10 47901510501005001000500..
문제인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다. 3번 사람은 1번, 2번 사람이 돈을 뽑을 때까지 기다려야 하기 때문에, 총 3+1+4 = 8분이 필요하게 된다...
ADD_MONTHS 함수- ADD_MONTHS( Date, Integer )- 반환 : Date- 해석 : input Date 날짜에서 integer로 들어온 숫자만큼의 달을 증가시켜준다. 즉 ADD_MONTHS( 1월2일, 3) -> 4월 2일 반환. 왜 사용하는가? - 개발을 하면서 특정 날짜에서 10달 후 혹은 100달 후의 날짜가 필요할 수 있습니다. 그때 사용하는 함수가 ADD_MONTHS 함수입니다. 기준일과 플러스할 달의 숫자를 인자로 보내면 숫자만큼 지난 날짜가 나오게 됩니다. 지금으로부터 100달후의 날짜를 알고싶으면 ADD_MONTHS(sysdate,100) 이 되겠네요. - 또한 월을 추가할때 부담되는 것이 매년 해당 월의 갯수가 같은것만은 아니라는 것!. 다른 달은 30 or 31일..
- 스코프 : 어떤 변수들에 접근할 수 있는지를 정의 ( function(){} 단위로 생성, 최상단 스코프 = Global 스코프)- 호이스팅 : var를 통해 정의된 변수의 선언문을 유효 범위(해당 스코프)의 최상단으로 끌어올리는 행위 ( 중요: 선언문만 끌어올리고 값은 끌어올리지 않는다.) 예제123456789var a = 1; test(); function test(){ console.log(a); var a =2; console.log(a);}cs 다음과 같은 자바스크립트 코드가 있을 때 출력결과는?? >>> undifined2 해설> 맨위의 변수 a는 원래는 test함수의 내부까지 값을 전달할 수 있었습니다. 만약 7번줄의 변수명이 a가 아니었다면 말이죠. a라는 변수를 test 함수내부에서 ..
프로젝트를 하던 도중 프론트엔드 개발자도 db를 가지고 있어야 하는 상황이 필요했음.그래서 덤프를 뜨려고 했는데 pgadmin에서 db 백업하는 기능이 있다고해서 찾아봄. 백업하는 법 1. pgadmin에서 백업할 Database 우클릭 2. 저장할 백업 파일의 경로를 설정한다. 3-1. 옵션1에서 모든 Data를 선택, Blobs 해제, Don`t save에서 Owner와 privilege 선택 3-2. 그림과 같이 선택한다! 그리고 백업을 누르면!!! 4. pg_dump가 실행된거임... 사실 나는 덤프를 했던것이었다... Done 클릭하면 Backup 완료! 백업파일의 DB 가져오기 1. 빈 데이터베이스를 생성하고 우클릭 Restore 클릭! 2. 백업파일을 가져온다. 3. 다음과 같이 선택한다! ..
트리거를 사용한 게시판 프로젝트에서의 기능(트리거 사용 이유) 1. 게시판의 글을 유저들이 좋아요, 싫어요를 누를 수 있다.2. 유저들은 하나의 게시글에 하나의 좋아요, 싫어요만 표현할 수 있다. ( Toggle 기능처럼 표현 )3. 그렇게 하기 위해 Hate,Likey(like가 예약어라 likey로 하였음) 테이블을 각각 생성하였다. 1234567891011--싫어요create table tblHate( userSeq serial references tbluserinfo(userSeq), boardSeq serial references tblboard(boardSeq)); --좋아요 create table tblLikey( userSeq serial references tbluserinfo(userS..