인기글
-
spring
[ 스프링 ] 다양한 db연결방법 ( 3편 test code, JUnit, AssertJ )
[시작] 이전 다양한 db연결방법 ( 2편 Jdbc , JdbcTemplate , Jpa , Spring Data Jpa )에 이어서 이번에는 이전 시간에 만든 코드를 테스트 코드를 통해서 검증하는 방법을 알려드리려고 합니다. 들어가기 전에 아래 설명에서는 전체적인 흐름 이해를 위하여 간단하게 구조나 부분 코드만 보여주기 때문에 전체 코드를 보시고 싶으시면 아래 github링크를 확인해 주세요. [Test code 작성 전 준비] 준비 우선 본 프로젝트에서는 테스트코드를 작성하기 위해 junit, assertJ 2가지 프레임워크를 사용할 예정입니다. JUnit : 자바 단위테스트를 위한 프레임워크 AssertJ : 오픈소스 라이브러리로 에러 메시지와 테스트 코드의 가독성을 높여줌 이렇게 두가지를 활용하여..
-
Android
[ 안드로이드 - Kotlin ] Jsoup을 사용한 크롤링 ( 코틀린 )
[ 준비 ] 크롤링할 사이트 이번에 크롤링할 사이트는 flaticon이라는 사이트 입니다. 저는 주로 android 기본 Vector Asset을 많이 사용하는데요! 아무래도 아이콘이 다양하지 않다 보니 여기에 마음에 드는 아이콘이 없을 때 flaticon에서 아이콘을 많이 받아서 쓰곤 합니다. 링크는 아래에도 한 번에 정리해 드리겠습니다. URL 저장 url 저장은 이전 글에서 하던 방식대로 local.properties에 해주겠습니다. build.gradle(:app) dependencies 추가 Jsoup, Coroutines을 사용하기 위해 아래 두둘의 코드를 추가해줍니다. AndroidManifest.xml에 권한 추가 인터넷 사용을 위해 INTERNET권한도 manifest.xml에 추가해줍니..
-
level1
[ 프로그래머스 - Java & Kotlin ] 문자열 다루기 기본 ( 자바 & 코틀린 )
( 연습문제 / 문자열 다루기 기본 ) [문제] 문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한사항 s는 길이 1 이상, 길이 8 이하인 문자열입니다. 입출력 예시 s return "a234" false "1234" true [코드] 자바 class Solution { public boolean solution(String s) { for(int i = 0; i < s.length(); i++){ if(!Character.isDigit(s.charAt(i))) return false; } return s.length() == 4 ||..
-
level2
[ 프로그래머스 - Java & Kotlin ] 튜플( 자바 & 코틀린 )
( 2019 카카오 개발자 겨울 인턴십 / 튜플 ) [문제] 문제 설명 셀수있는 수량의 순서있는 열거 또는 어떤 순서를 따르는 요소들의 모음을 튜플(tuple)이라고 합니다. n개의 요소를 가진 튜플을 n-튜플(n-tuple)이라고 하며, 다음과 같이 표현할 수 있습니다. (a1, a2, a3, ..., an) 튜플은 다음과 같은 성질을 가지고 있습니다. 중복된 원소가 있을 수 있습니다. ex : (2, 3, 1, 2) 원소에 정해진 순서가 있으며, 원소의 순서가 다르면 서로 다른 튜플입니다. ex : (1, 2, 3) ≠ (1, 3, 2) 튜플의 원소 개수는 유한합니다. 원소의 개수가 n개이고, 중복되는 원소가 없는 튜플 (a1, a2, a3, ..., an)이 주어질 때(단, a1, a2, ..., ..
-
spring
[ 스프링 ] 다양한 db연결방법 ( 2편 Jdbc , JdbcTemplate , Jpa , Spring Data Jpa )
[시작] 이전 다양한 db연결방법 (1편 HashMap)에 이어서 이번에는 Jdbc, JdbcTemplate, Jpa, Spring Data Jpa로 repository를 변경하는 적업을 알려드리려고 합니다. 이번 글에서 db를 정하고 변경하기 위하여 이전 글에서 HashMap을 사용해서 임시 저장을 하고 UserInfoRepository를 인터페이스로 구현하였습니다. 들어가기 전에 아래 설명에서는 전체적인 흐름 이해를 위하여 간단하게 구조나 부분 코드만 보여주기 때문에 전체 코드를 보시고 싶으시면 아래 github링크를 확인해 주세요. [상세 설명] 본 설명에서는 각자 프로젝트를 설정한 이름과 경로가 다름으로 기본 경로를 baseDIR로 표시하겠습니다. h2 database 먼저 db는 간단한 테스트에..
최신글
-
Baekjoon
[ 백준 - Java ] 알파벳 ( 자바 )
( dfs / 알파벳 / 1987 ) [문제] 문제 설명 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다. 좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있는지를 구하는 프로그램을 작성하시오. 말이 지나는 칸은 좌측 상단의 칸도 포함된다. 제한사항 메모리 제한 : 256 MB 입출력 예시 첫째 줄에 R과 C가 빈칸을 사이에 두고 주어진다. (1 ≤ R,C ≤ 20) 둘째..
-
Baekjoon
[ 백준 - Java ] 영역 구하기 ( 자바 )
( dfs / 영역 구하기 / 2583 ) [문제] 문제 설명 눈금의 간격이 1인 M×N(M,N≤100)크기의 모눈종이가 있다. 이 모눈종이 위에 눈금에 맞추어 K개의 직사각형을 그릴 때, 이들 K개의 직사각형의 내부를 제외한 나머지 부분이 몇 개의 분리된 영역으로 나누어진다. 예를 들어 M=5, N=7 인 모눈종이 위에 과 같이 직사각형 3개를 그렸다면, 그 나머지 영역은 와 같이 3개의 분리된 영역으로 나누어지게 된다. 와 같이 분리된 세 영역의 넓이는 각각 1, 7, 13이 된다. M, N과 K 그리고 K개의 직사각형의 좌표가 주어질 때, K개의 직사각형 내부를 제외한 나머지 부분이 몇 개의 분리된 영역으로 나누어지는지, 그리고 분리된 각 영역의 넓이가 얼마인지를 구하여 이를 출력하는 프로그램을 ..
-
Baekjoon
[ 백준 - Java ] 적록색약 ( 자바 )
( dfs / 적록색약 / 10026 ) [문제] 문제 설명 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. (색상의 차이를 거의 느끼지 못하는 경우도 같은 색상이라 한다) 예를 들어, 그림이 아래와 같은 경우에 RRRBB GGBBB BBBRR BBRRR RRRRR 적록색약이 아닌 사람이 봤을 때 구역의 수는 총 4개이다. (빨강 2, 파랑 1, 초록 1..