[BOJ]2504 괄호의 값 - python https://www.acmicpc.net/problem/2504 이 문제는 stack을 활용하여 풀수있는 문제이다. 지난번 글 처럼 스택을 사용하므로 list를 스택으로 이용한다. 알고리즘을 설명해보면 스택에 괄호를 여는 "(","[" 기호와 연산결과를 저장하는 방법으로 구현했다. 우선 이해를 쉽게하기 위해 연산결과를 저장하는 부분은 무시한 채로 코드를 보면 0. 입력받은 문자열을 순서대로 검사하면서1. 괄호를 여는 기호의 경우에는 바로 스택에 push(append)연산을 해준다.2. 그리고 괄호를 닫는 기호( ")" , "]" )를 만나면 자신에게 알맞는 괄호를 여는 기호를 만날때 까지 스택을 pop 해준다.3. 이때 자신에게 맞지 않는 닫는기호를 만날경우 ex) "]"일때 "("를 만난 경우 잘못된.. [BOJ]9012 괄호 - python https://www.acmicpc.net/problem/9012 스택을 이용한 기초적인 문제로 코드는 다음과 같습니다. 123456789101112131415161718192021222324252627282930313233import collectionsimport sys def is_vps(x): stack = collections.deque() for i in x: if i == "(": stack.append(i) else: if len(stack) == 0: return False else: stack.pop() if len(stack) == 0: return True return False T = int(input()) for _ in range(T): ip = sys.stdin.readlin.. 코드로 배우는 스프링 웹 프로젝트 개정판 파일 업로드 파트 보안 취약점 본 게시물은 코드로 배우는 스프링 웹 프로젝트 개정판 (구멍가게 코딩단) 의 책을 보던중 파일 업로드 관련 부분에서 파일 업로드 확장자를 필터링 하는 부분에 보안 취약점 부분이 발견되서 이를 공유하고 해결방안을 간단하게 작성하고자 합니다. 우선 위의 책을 보셨다는 가정하에 설명을 드리고자 합니다. 책의 챕터 22를 보면 파일의 확장자와 크기의 제한을 클라이언트 부분에서 javascript를 통해 관리하고 있습니다. 책의 코드는 다음과 같습니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152$(document).ready(function(){ var regex = new RegExp.. Spring에 커넥션풀(Connection Pool) 등록 - HikariCP 커넥션풀(Connection Pool) 이란? 위의 그림처럼 풀(Pool)속에 데이터베이스와의 연결(커넥션)들을 미리 만들어 두고 데이터베이스에 접근시 풀에 남아있는 커넥션중 하나를 받아와서 사용한뒤 반환하는 기법을 말한다. (스레드 풀과 비슷한 개념이라 보면 된다.) 웹 애플리케이션의 경우 다수의 사용자가 데이터베이스에 접근해야 하는 상황이 생겼을때 사용자들이 요청할때마다 연결을 만들고 해제하는 과정을 진행하면 비효율적이다. 따라서 커넥션풀을 이용하여 미리 여러 연결을 만들어놓고 필요한 사용자가 요청시 미리 만들어놓은 연결을 주는 형식인 커넥션풀이 더욱 효과적이다. 커넥션풀은 다양한 구현체들이 존재한다. 그리고 Java에서는 커넥션풀을 사용할때 javax.sql.DataSource 라는 인터페이스를 사.. 이클립스에 github에 있는 Spring Project import 하기 이번 글은 https://chocodrogba.tistory.com/3 처럼 Spring Project를 github에 올렸을때 이를 다른 PC나 다른 사용자가 해당 Project를 이클립스에 import하는 방법을 정리한 글입니다. 먼저 이클립스에서 왼쪽 상단에 Window - Show View - Other 를 클릭하면 다음 화면이 나온다. git으로 검색 한 뒤에 Git Repositories를 Open 그러면 이클립스 화면에 다음 화면이 생성되는데 Clone a Git repository를 클릭한다. 그리고 github의 URI를 입력하면 되는데 이는 다음과 같이 자신이 가져올 Repo에 Clone with HTTPS에 복사 버튼을 누른 뒤 붙여넣기를 하면 된다.URI를 넣은 뒤 Next를 누르면.. [Spring 게시판 만들기] 01.프로젝트 github 연동(SourceTree 사용) 이제 프로젝트를 SourceTree를 통해 github에 repository와 연동하자. 일단 SourceTree와 git 설치 및 github 가입 및 repository 생성법 설명은 생략하겠다. 우선 github에서 임의의 repository를 생성 한다. 그리고 SourceTree를 실행한다. SourceTree를 사용하는 이유는 IDE에 종속되지 않고 git & github를 활용할수 있기 때문입니다. 소스트리를 실행하고 위쪽에 탭에서 Create탭을 클릭하여 프로젝트 폴더에 git으로 repository를 생성해준다. 생성하면 다음과 같은 화면이 생긴다. git에 대하여(스테이지, 커밋, 푸시 등등..) 구글링 혹은 책을 통해 익히도록 하자. 본 게시글에서 설명할 범위가 아니므로 생략한다. 여.. [Spring 게시판 만들기] 00.프로젝트 생성 본 프로젝트는 스프링 MVC 공부를 목적으로 하고있다. 먼저 어떤 기능을 하는 게시판을 만들것인지 설계해보자. 기본적인 기능을 생각해보면 다음과 같다. 1. 로그인, 회원가입 구현2. 기본적인 CRUD[Create(생성), Read(읽기), Update(갱신), Delete(삭제)] 여기에 추가적인 아이디어를 생각해 보았다. * 게시글 추천 시스템 (추천수 TOP 5 게시글 표시)* 관리자, 일반유저 계층 분리 개발툴은 이클립스 ee 자바는 8버전을 사용한다. Spring STS를 사용하여 프로젝트를 생성해보자 이클립스에서 Help - Eclipse marketplace를 선택하면 다음의 화면이 나온다 Find에 sts를 검색해보면 다음과 같다(2019.01.01 기준) 이때 두번째 항목인 Spring .. ChocoDrogba의 개발공부 입니다 컴퓨터공학과 학생으로 저의 공부, 개발을 하는 과정을 정리하는 블로그입니다. 저와 같은 길을 가시는 다른 분들에게도 도움이 될수 있도록 친절하게 쓰도록 노력하겠습니다. 만약 게시글에 잘못된 내용이 있거나 궁금하신 내용이 있으시면 댓글 혹은 이메일로 연락주시면 정말 감사하겠습니다. aekik1118@naver.com 이전 1 2 다음