인기글
- Android [ 안드로이드 - Kotlin ] Jsoup을 사용한 크롤링 ( 코틀린 ) [ 준비 ] 크롤링할 사이트 이번에 크롤링할 사이트는 flaticon이라는 사이트 입니다. 저는 주로 android 기본 Vector Asset을 많이 사용하는데요! 아무래도 아이콘이 다양하지 않다 보니 여기에 마음에 드는 아이콘이 없을 때 flaticon에서 아이콘을 많이 받아서 쓰곤 합니다. 링크는 아래에도 한 번에 정리해 드리겠습니다. URL 저장 url 저장은 이전 글에서 하던 방식대로 local.properties에 해주겠습니다. build.gradle(:app) dependencies 추가 Jsoup, Coroutines을 사용하기 위해 아래 두둘의 코드를 추가해줍니다. AndroidManifest.xml에 권한 추가 인터넷 사용을 위해 INTERNET권한도 manifest.xml에 추가해줍니..
- spring [ 스프링 ] 다양한 db연결방법 ( 3편 test code, JUnit, AssertJ ) [시작] 이전 다양한 db연결방법 ( 2편 Jdbc , JdbcTemplate , Jpa , Spring Data Jpa )에 이어서 이번에는 이전 시간에 만든 코드를 테스트 코드를 통해서 검증하는 방법을 알려드리려고 합니다. 들어가기 전에 아래 설명에서는 전체적인 흐름 이해를 위하여 간단하게 구조나 부분 코드만 보여주기 때문에 전체 코드를 보시고 싶으시면 아래 github링크를 확인해 주세요. [Test code 작성 전 준비] 준비 우선 본 프로젝트에서는 테스트코드를 작성하기 위해 junit, assertJ 2가지 프레임워크를 사용할 예정입니다. JUnit : 자바 단위테스트를 위한 프레임워크 AssertJ : 오픈소스 라이브러리로 에러 메시지와 테스트 코드의 가독성을 높여줌 이렇게 두가지를 활용하여..
- spring [ 스프링 ] 다양한 db연결방법 ( 1편 HashMap ) [시작] 이번에는 Spring을 사용한 db연결방법에 대하여 설명해 드리겠습니다. 내부 변수부터 시작해 h2 database를 사용하여 repository를 구현하는 방법으로 순차적으로 글을 올려볼까 합니다. 추가로 스프링 프로젝트 생성은 아래 프로젝트 생성에 대하여 설명한 링크를 참고해 주시면 됩니다. 들어가기 전에 전체적인 프로젝트의 구조를 보면 [Controller - Service - Repository - DB]로 구성되어 있습니다. 컨트롤러 : MVC패턴에서 컨트롤러 부분 서비스 : 비즈니스 로직 구현 레포지토리 : DB 접근에 관련한 코드 구현 들어가기 전에 아래 설명에서는 전체적인 흐름 이해를 위하여 간단하게 구조나 부분 코드만 보여주기 때문에 전체 코드를 보시고 싶으시면 아래 github..
- Android [ 안드로이드 - Kotlin ] retrofit을 사용한 공공데이터 포털 데이터 받기 ( 코틀린 ) 안녕하세요! 다들 코로나 조심하고 계신가요? 최근 들어 백신에 대한 이슈가 많아서 공공데이터 포털에 있는 "공공데이터활용지원센터_코로나19 예방접종 통계 데이터 조회 서비스" api를 활용하여 간단히 화면에 띄우는 코드를 올려보도록 하겠습니다. 바로 코드를 보시고 싶은 분들은 맨 아래로 이동하여서 [전체 코드] 탭이나 제 github링크를 통하여 확인하시면 됩니다. [ 준비 사항 ] 준비 레트로핏 사용전 우선 api가 있어야겠죠? 공공 데이터 포털에서 원하시는 api를 신청하시면 키를 알려줍니다 해당 키는 api호출 시 꼭 필요함으로 미리 신청해주시면 됩니다. 예제로 바로 설명을 위해 여기서는 따로 키 받는 법에 대한 이야기는 하지 않도록 하겠습니다. API 정보 저장 api key를 받았다면 local..
- Android [ 안드로이드 - Kotlin ] API KEY 관리 [ API KEY 관리법 ] API KEY를 관리하는 이유 api key 같은 상수들을 관리하는 다양한 이유가 많지만 여기서는 두 가지 정도 이야기를 해보면 첫째로 코드에 그대로 작성하는 것은 보안상의 이유로 좋지 않습니다. 두 번째는 api키를 여러 곳에서 사용하는 경우 한 번에 관리하기 쉽도록 한 곳에서 관리하는 것이 좋습니다. 사용법 안드로이드에서는 보통 api key를 local.properties에 작성 후 build.gradle (:app)에서 BuildConfig에 변수를 추가하면 끝입니다. 여기서 추가로 git에 코드를 올리는 경우 .gitignore에도 local.properties를 적어주시면 됩니다. 기본적으로 git init 명령어를 사용하시면 local.properties를 포함하..
최신글
- 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..