전체 글
-
[Spring] Maven project application.properties 설정Project/3. 예약: 메인페이지 - BE 2020. 3. 16. 16:10
properties ? db 계정이나 Password와 같이 따로 관리하고 싶은 값들은 properties 파일을 통해 설정하고 그 값들을 가져와 사용할 수 있습니다. properties 파일 생성 & 정의 1. properties 파일 생성 Spring framework에서 Maven project로 시작할 때는 기본적으로 application.properties 파일이 존재하지 않는 경우가 있습니다. 그래서 먼저 다음 경로에 application.properties 파일을 만들어줍니다. root - src - main - java - resourses - application.properties - webapp 2. properties 정의 /src/main/resourses/application.p..
-
[Java] 토막글Programming/Java 2020. 3. 11. 23:39
변수 변수(Variable) 는 값(Value)이 저장된 메모리의 위치(주소)에 붙여진 이름 데이터를 저장하기 위한 메모리 공간으로 그릇에 비유할 수 있다. Java 자료형에는 기본 자료형(primitive type)과 참조형(reference type)이 있다. 자료형 기본 자료형에는 정수, 실수, 문자, 논리값 등과 같은 자료형이 있고, 참조 자료형에는 배열, 클래스, 인터페이스 등이 있다. 기본 자료형 변수는 그것이 나타내고자 하는 값을 가지고 있는 반면, 참조 자료형 변수는 값에 대한 메모리 주소를 가지고 있다. 리터럴 리터럴은 데이터 그 자체를 뜻한다. 변하지 않는 데이터를 의미하는 것 예를들어, int a = 1; 에서 a는 변수, 1는 리터럴이다. 문자열 리터럴은 이중 인용 부호(", ")로..
-
디자인 패턴과 아키텍쳐Programming/TIL 2020. 3. 7. 16:45
"MVC패턴을 적용하였고 3tier 구조로 되어있는 프레임워크를 갖추고 있다"라는 기술설명서는 우리나라에서 흔하게 접해볼 수 있는 애플리케이션 설명문이다. 아마 이 MVC와 3Tier는 엔터프라이즈급 산업에서는 가장 많이 채택되고 있는 구조일 것이다. 사실, 배울때에는 2개의 개념이 비슷하게 와 닿았다. MVC로 설명하나 3Tier로 설명하나 같은 말 같은데, 굳이 왜 두개의 개념을 다 써주는 걸까? 응.. 그렇다.. 이유가 있다. 한번에 써주는 데는 두 개념이 소프트웨어를 정의하는 관점이 다르기 때문이다. Software Achitecture 위키피디아에 설명된 SW 아키텍쳐에 관한 설명을 보면, 청사진으로 비유해 두었다. 그만큼 SW 아키텍쳐는 프로그램에 있어 기초이자 근본이다. 그리고 설계단계에서 ..
-
[Web] CGI, Servlet, JSPProgramming/Web 2020. 3. 6. 23:58
CGI > Servlet > JSP 는 다음 개념이 등장한 순서이다. 웹의 역사와 함께 각 개념들이 등장한 흐름과 정의를 알아보자. 처음 웹이 등장하고 활성화 되지 않았을 때는 정적인 데이터(HTML, XML, 이미지 파일 등)를 전달하는 것 만으로도 충분했다. 그러나 웹이 발달하면서 사용자와 상호작용하는 결과를 보여주는 동적인 페이지가 필요하게 되었다. 예를들어 이용자의 ID에 정보에 따라 그에 맞는 결과를 보여주는 페이지. 그러나 기존의 웹 서버는 정적인 페이지를 보여주는 용도로 만들었기 때문에 사용자의 요청을 받아 정보를 동적으로 생성하고 이를 다시 클라이언트로 보여주는 것이 불가능했다. 따라서 서버에서 다른 프로그램을 불러내고 그 프로그램의 동적인 처리결과를 클라이언트로 보내줄 수 있는 인터페이스..
-
[SWEA] 탈주범 검거Algorithm/SWEA 2020. 3. 3. 16:53
[1953] 탈주범 검거 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpLlKAQ4DFAUq Solution 터널 구조에 따라 이동할 수 있는 방향과 다음 터널과의 연결여부를 체크하면서 BFS로 풀이했다. switch문을 더 깔끔하게 풀었으면 좋았을텐데.. 소스코드 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 6..
-
[SWEA] 특이한 자석Algorithm/SWEA 2020. 2. 21. 23:56
[4013] 특이한 자석 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeV9sKkcoDFAVH 하나의 자석이 1 칸 회전될 때, 붙어 있는 자석은 서로 붙어 있는 날의 자성과 다를 경우에만 반대방향으로 1 칸 회전한다. 자석을 회전시키는 방향은 시계 방향이 1, 반시계 방향이 -1로 주어진다. 날의 자성은 N 극이 0으로, S 극이 1로 주어진다. 각 자석의 날 자성정보는 12시방향부터 시계방향으로 순서대로 주어진다. 정답은 K번 회전한 후 획득한 점수의 총 합이다. Solution LinkedList를 활용해서 시계방향, 반시계방향을 구현하였다. 먼저 왼쪽과 오른쪽의 자석이 회전하는지(자성이 다른지) 확인..
-
[SWEA] 올해의 조련사Algorithm/SWEA 2020. 2. 18. 22:58
[5672] 올해의 조련사 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRgX36gSIDFAUo 앵무새들의 첫 글자가 순서대로 주어진다. 새로운 줄 세우기 방법으로 다시 앵무새들을 줄 세웠을 때 얻을 수 있는 가장 빠른 문자열을 알아내자. 새로운 줄 세우기 방법은 다음과 같다. 기존의 줄을 세운 다음 가장 앞 or 뒤에 있는 앵무새를 새로운 줄의 마지막에 새우는 것을 반복하는 방식 Solution 기존의 줄에서 앞 문자와 뒤 문자의 사전 순서를 비교하여 새로운 줄의 끝에 순서대로 넣는다. 사전식 순서가 같은 경우 while() 문을 반복하여 다음에 나오는 문자가 더 작은 앵무새의 이름을 넣는다. 소스코드 1..
-
[SWEA] 수영장Algorithm/SWEA 2020. 2. 15. 15:18
[1952] 수영장 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpFQaAQMDFAUq 김프로는 지출이 너무 많아 1년 동안 각 달의 이용 계획을 수립하고 가장 적은 비용으로 수영장을 이용할 수 있는 방법을 찾고 있다. 이용권 종류 1. 1일 이용권 : 1일 이용가능 2. 1달 이용권 : 1달 이용 가능 3. 3달 이용권 : 3달 동안 이용 가능 4. 1년 이용 가능 이용 계획에 따라 가장 적은 비용으로 수영장을 이용할 수 있는 방법을 찾고 비용을 출력하는 문제 Solution permutation()을 사용하는 문제로 알고 풀었는데 풀이 방법이 떠오르지 않아 dp로 풀었다. 평소에 dp 문제 어려워했었는..