전체 글 264

게시판 프로젝트 - 본문 업데이트-

Tiles를 이용하여 페이지를 나타냈으며 해당 페이지에 우리가 개발한 목록창을 구현해본다. tiles_member.xml에 /member/listMember.do 로 요청했을때, 표시할 태그를 추가한다. name의 값은 URL 요청명에서 .do를 제외한 요청명과 일치해야 한다. 이전 포스팅 글을 보면 해당 내용이 있다. 아래 그림과 같이 작성한다. 이후, 브라우저에서 컨트롤러 요청 시 요청명에 대한 뷰이름을 가져온다. 그리고 ModelAndView 객체에 설정한 후 뷰리졸버를 반환하도록 한다. *코드 참조* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 /pro27/src/main/java/com/myspring/pr..

게시판 프로젝트 - Tiles-

JSP에 타일즈를 적용하는 간단한 예시이다. JSP는 다루지 않았기 때문에 어떻게 설정하고 이루어지는지 간단하게 알아본다. 타일즈는 레이아웃을 다루기 위해 제공하는것으로 JSP 페이지 레이아웃을 위한 프레임워크이다. 페이지 레이아웃을 쉽고 단순하게 구현하고 공통된 레이아웃을 사용하므로 유지관리가 쉽다. 이를 적용하기 위해 pom.xml을 통해 쉽게 라이브러리에 설치할 수 있다. 그림과 같이 라이브러리가 설치된것을 확인할 수 있다. 다음으로 타일즈 관련 XML 파일을 설정한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 classpath:tiles/*.xml Colored by Color Scripter cs 프로젝트의 spring/appServlet/servlet-context..

[백준] 19237 어른 상어

올해 삼성 역량테스트 문제로 알고 있다. 이 문제는 시키는 대로 구현하는 문제이다. 문제의 출처는 아래와 같다. https://www.acmicpc.net/problem/19237 이 문제는 복잡한 구현으로 설계를 잘해야한다. 먼저 각 상어들을 구조체로 관리하여 위치와 방향, 그리고 살이있는지를 관리한다. 문제에서 방향에 따라 복잡하게 구현되어져 있는데 그것을 shark_dir[상어번호][방향][우선순위] 로 지정해 주었다. 사용방식은 sol() 함수의 내부를 보면 이해할 수 있다. 마지막으로 상어의 냄새와 해당 위치에서의 상어 번호를 관리해준다. (smoke[x][y][냄새],smoke[x][y][상어번호] ) 이제 시뮬레이션은 아래와 같다. 0) 입력과 함께 해당 위치에서의 냄새 및 상어번호를 저장하..

[Spring] 게시판 프로젝트

우리가 이제까지 진행한 게시판을 Spring으로 나타내보자. 이전의 장에서 프로젝트를 만들었고 마이바티스 프레임워크를 pom.xml을 이용해 설치했을 것이다. 우리는 아래와 같은 프로젝트를 만들어야 한다. Spring 프레임워크를 진행하면서 느낀건 복잡하다고 느겼다. 그래서 다시한번 확인하고 가자 pom.xml에서 추가한 마이바티스 라이브러리는 Maven Dependencies에서 확인할 수 있다. 그리고 lib에는 오라클 드라이버인 ojdbc6.jar이 포함된다. 오라클은 오픈소스가 아니므로 드라이버를 직접 다운로드하여 설치해야 한다. web.xml은 다른 설정 파일을 읽어 들이는 부분과 DispatcherServlet을 매핑하는 부분이 자동으로 만들어진다. 여기서는 action-mybartis와 se..

[Spring] 마이바티스 프레임워크, 애너테이션

Spring JDBC로 DB와의 연동 설정 sql문이 복잡해지면서 개발이나 유지관리에 어려움이 생기고 확장된 JDBC의 기능을 스프링에서 제공한다. 물론 JDBC보다는 마이바티스나 하이버네이트 같은 데이터베스 연동 관련 프레임워크를 사용하니 간단하게만 알아보고 간다. 나중에 Spring 프로젝트를 하게 되면 아래와 같은 JDBC 관련 설정 파일을 확인할 수 있다. File Description web.xml ContextLoaderListener를 이용해 빈 설정 xml 파일들을 읽음 action-servlet.xml 스프링에서 필요한 여러 가지 빈을 설정 jdbc.properties 데이터베이스 연결 정보 저장 action-service.xml 서비스 빈 생성을 설정 action-dataSource 스..

[Python] Keras를 이용한 시계열 기반 예측

저번 시간에 이어 이제 날짜별로 저장된 데이터를 예측해본다. 원래는 다음날의 종가를 알고 싶었지만, 여기서는 예측하여 그것을 그래프로 나타낸다. Keras의 LSTM을 사용한다. *Keras를 사용하기 위해 텐서플로우 패키지를 설치하려 했지만, 필자의 파이썬 버전이 3.8이라 텐서플로우가 설치되지 않는다. 텐서플로우는 3.7이하의 파이썬 버전이 필요해서 colab을 통해 진행한다. 데이터 확인 Colab 프로젝트에 먼저 이전시간에 저장한 주식 데이터를 로드하고 아래와 같이 필요한 패키지를 import한다. 이전에 우리가 저장한 상위 데이터 5개를 확인할 수 있다. 최신 데이터까지 필요하다면 이전 글을 참고하여 최신 데이터까지 Pandas를 사용해 저장한다. 데이터 저장 및 예측 단위 설정 이제 최고가, ..

python 2020.06.21

[Python] Pandas 데이터 프레임 (엑셀, 크롤링)

어쩌다 책을 찾다보니 파이썬 주식 데이터와 관련된 책이 있었고 주식을 하나도 모르던 내가 예전에 아버지께서 이 회사의 주식이 엄청 오를거다. 하시는 말씀을 기억하면서 파이썬으로 주식 데이터를 크롤링하고 저장하고 한번 나타낸 후, Keras를 통한 학습으로 어떤지 결과를 알고 싶어 금방 하게 되었다. 주식 데이터를 크롤링하고 저장하는것 까지만 진행해보자. 기본 예제코드는 첫 번째 Refernce를 모두 참고하였다. 먼저 크롤링을 해보자. 크롤링은 beautifulsoup 등의 크롤링 모듈을 사용해도 되지만, 여기서는 Pandas의 기본 크롤링을 사용하였다. Pandas 설치 패키지를 설치하면 된다. pip를 사용해 설치해도 되고 필자는 파이참 IDE를 사용하는데 해당 프로젝트의 setting에서 패키지를 ..

python 2020.06.14

[백준] 15661 링크와 스타트

문제의 출처는 아래와 같다. https://www.acmicpc.net/problem/15661 이 문제는 삼성 역량테스트 기출문제인 '스타트와 링크' 의 상위호환 버전으로 문제가 조금 변형된 문제이다. 원래 문제에서는 팀을 두 그룹으로 나눌 때, 팀의 인원이 같은 즉, N/2 명으로 동일한 상태를 요구했다. 이 문제는 팀을 두 그룹으로 나눌 때, 팀의 인원이 다를 수 있다. 즉 N이 4일때 (1) , (2,3,4) 와 같이 팀의 인원이 다른 상태를 생각해야 하는 문제이다. 그래서 필자는 그룹을 나누기 위해 부분집합을 사용하였다. 부분집합을 구하면서 바로 연산을 해도 되지만 필자는 N의 부분집합을 모두 구한 상태에서 조건에 맞지 않는 부분과 이미 동일한 부분집합의 내용일때 그 경우를 바로 리턴하였다. 규..

[백준] 16988 Baaaaaaaaaduk2 (Easy)

문제의 출처는 아래와 같다. https://www.acmicpc.net/problem/16988 이 문제 역시 삼성 역량테스트 연습 문제이며 기출 문제의 '연구소'와 비슷한 문제이다. 내가 느끼기에는 '연구소' 보다 하위호환정도의 난이도이다. 이 문제는 바둑돌을 둘 수 있는 전체 경우와 각 경우에 BFS 탐색으로 조건에 맞게 실행하여 최대값을 갱신해주는 문제이다. DFS로 전체 경우를 해도 되지만, 여기서는 다중 for문을 이용해 2개의 바둑돌을 놓을 수 있다. 2개의 바둑돌을 놓았으면 BFS를 하는데 조건에 알맞지 않으면 그 경우는 제외하여 코드를 짜면 된다. main을 보면 4중 for문으로 이루어져 있다. 이와 같이 전체 빈 공간에 2개의 바둑돌을 놓고, BFS를 호출하여 정답을 갱신해준다. 1 2..

알고리즘 2020.06.05