본문 바로가기

분류 전체보기

(59)
TestCode ? 왜 작성하는거야? 시작하기에 앞서 프로젝트를 하다 보면 하나의 기능을 완성하고 실제로 프로젝트의 요구사항에 맞게 잘 동작하는지 테스트를 하는 과정을 필수적으로 거치게 됩니다. 저의 경우, 이번 SSAFY 공통 프로젝트에서는 JPA , Docker , Redis … 등 프로젝트 기간 안에 새로운 기술들을 빠르게 익히고 적용해야 했습니다. 때문에 기능 구현에만 초점을 두고 개발을 진행하게 되었는데요. 내가 구현한 기능이 올바르게 동작하는지 , 버그는 없는지 , 잘 작성이 되었는지 문득 궁금해졌습니다. 하지만 프로젝트 기간 안에 기능을 정확하게 테스트하는 과정에 많은 시간을 쏟지 못했습니다. 결국 다음과 같은 방법으로 해당 기능이 제대로 작동된는지 안되는지 확인하게 되었는데요..! 어떤 문제점이 있었을까요? 예를들어 댓글을 조..
[시작] 개발 일기(?)를 작성해보려고 합니다. 지금까지 블로깅을 하지 않은 이유... 블로그를 개설한 날은 2022년 1월이었습니다. 취업 관련 회고록이나 , 알고리즘 문제 복습, 학습 기록을 위해서 블로그를 시작하게 되었습니다. 주로 백준이나 프로그래머스에서 알고리즘 문제를 풀고 풀이 과정을 작성했는데요 , 처음에는 재미있었지만 점점 어려운 문제를 풀수록 글로 풀어 설명하기 어려워졌고 부담을 갖게 되었습니다. 이때부터였을까요.. 저는 평소에 알고리즘 문제를 풀다가 힌트, 혹은 정답을 얻기 위해서 , 알고리즘 말고도 다른 모르는 개념에 대하여 학습하기 위해서 구글에 검색하여 정보를 얻고는 했습니다. 이때 약간의 불편한 점을 발견하게 되었는데요 , 자세하고 꼼꼼하게 설명해 놓은 블로그들이 있는가 하면 , 들어가서 10초도 안 보고 나오는 블로그들이 몇..
[Java] 백준 17396 : 백도어 [문제] https://www.acmicpc.net/problem/17396 17396번: 백도어 첫 번째 줄에 분기점의 수와 분기점들을 잇는 길의 수를 의미하는 두 자연수 N과 M이 공백으로 구분되어 주어진다.(1 ≤ N ≤ 100,000, 1 ≤ M ≤ 300,000) 두 번째 줄에 각 분기점이 적의 시야에 보이는 www.acmicpc.net 유섭이는 무척이나 게으르다. 오늘도 할 일을 모두 미뤄둔 채 열심히 롤을 하던 유섭이는 오늘까지 문제를 내야 한다는 사실을 깨달았다. 그러나 게임은 시작되었고 지는 걸 무척이나 싫어하는 유섭이는 어쩔 수 없이 백도어를 해 게임을 최대한 빠르게 끝내기로 결심하였다. 최대한 빨리 게임을 끝내고 문제를 출제해야 하기 때문에 유섭이는 최대한 빨리 넥서스가 있는 곳으로 ..
[Java] 백준 14938 : 서강그라운드 [문제] https://www.acmicpc.net/problem/14938 14938번: 서강그라운드 예은이는 요즘 가장 인기가 있는 게임 서강그라운드를 즐기고 있다. 서강그라운드는 여러 지역중 하나의 지역에 낙하산을 타고 낙하하여, 그 지역에 떨어져 있는 아이템들을 이용해 서바이벌을 www.acmicpc.net 예은이는 요즘 가장 인기가 있는 게임 서강그라운드를 즐기고 있다. 서강그라운드는 여러 지역중 하나의 지역에 낙하산을 타고 낙하하여, 그 지역에 떨어져 있는 아이템들을 이용해 서바이벌을 하는 게임이다. 서강그라운드에서 1등을 하면 보상으로 치킨을 주는데, 예은이는 단 한번도 치킨을 먹을 수가 없었다. 자신이 치킨을 못 먹는 이유는 실력 때문이 아니라 아이템 운이 없어서라고 생각한 예은이는 낙하산..
[JAVA] 백준 20160번 : 야쿠르트 아줌마 야쿠르트 주세요 [문제] https://www.acmicpc.net/problem/20160 20160번: 야쿠르트 아줌마 야쿠르트 주세요 첫 줄에는 정점의 개수 V(1 ≤ V ≤ 10,000)와 도로의 개수 E(0 ≤ E ≤ 100,000)가 정수로 주어진다. 그 다음 E 줄에 걸쳐 각 도로를 나타내는 세 개의 정수 (u, v, w)가 순서대로 주어진다. 이는 u 와 v(1 ≤ www.acmicpc.net 야쿠르트를 외치며 잠에서 깼다. 오늘은 야쿠르트로 하루를 시작하려고 한다. 야쿠르트 아줌마는 10개의 지점을 최단 시간으로 이동하며 들리신다. 각 지점에서 야쿠르트 아줌마보다 같거나 더 일찍 도착한 사람에게 야쿠르트를 팔고 바로 다음 지점으로 출발하신다. 각 지점은 정점 위에 있고 지정된 차례에만 야쿠르트를 판매한다..
[Java] 백준 1238 : 파티 [문제] https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net N개의 숫자로 구분된 각각의 마을에 한 명의 학생이 살고 있다. 어느 날 이 N명의 학생이 X (1 ≤ X ≤ N)번 마을에 모여서 파티를 벌이기로 했다. 이 마을 사이에는 총 M개의 단방향 도로들이 있고 i번째 길을 지나는데 Ti(1 ≤ Ti ≤ 100)의 시간을 소비한다. 각각의 학생들은 파티에 참석하기 위해 걸어가서 다시 그들의 마을로 돌아와야 한다. ..
SPRING - REST API API (Application Programming Interface) 란 ? Open API 는 프로그래밍에서 사용할 수 있는 개방되어 있는 상태의 Interface이다. 네이버 , 카카오 등 포털 서비스 사이트나 통계청 , 기상청 등과 같은 관공서 , 공공 데이터 포털이 가지고 있는 데이터를 외부 응용 프로그램에서 사용할 수 있도록 OPEN API 를 제공하고 있다. OPEN API 와 함께 거론 되는 기술이 REST 이며 , 대부분의 OPEN API는 REST 방식으로 지원한다. REST 란 ? 'Representational State Transfer' 의 약어로 하나의 URI(Uniform Resource Identifier) 는 하나의 교유한 리소스(Resource)를 대표하도록 설계 된다는 ..
[Java] 백준 1600: 말이 되고픈 원숭이 (2차원 배열 풀이) [문제] https://www.acmicpc.net/problem/1600 1600번: 말이 되고픈 원숭이 첫째 줄에 정수 K가 주어진다. 둘째 줄에 격자판의 가로길이 W, 세로길이 H가 주어진다. 그 다음 H줄에 걸쳐 W개의 숫자가 주어지는데, 0은 아무것도 없는 평지, 1은 장애물을 뜻한다. 장애물이 있 www.acmicpc.net 문제 요약 : 원숭이는 출발지점에서 도착지점에 가야 하는데 인접 한 방향 (상하좌우- 8방향)로 이동하거나 문제에서 주어진 기회를 이용하여 만큼 말처럼 이동 (8방향 -체스의 나이트와 같은 이동 방식) 해서 움직여야 하는 문제. 가장 최소한의 동작 수를 구하는 문제이다. [풀이 과정] 이 문제 풀이를 검색했을 때 주로 3차원 배열을 사용한 풀이 방법이 많아서 2차원 배열로..