전체 글

Spring 🟢

[Intellij] Cause: error: invalid source release: 16 해결하기

프로젝트 클론 후 실행을 하니 Cause: error: invalid source release: 16 오류가 발생하였다. 1차 시도 sourceCompatibility = '16' build.gradle에서 위의 source 버전을 11로 변경했다. 결과는? 클론한 프로젝트에 Record 클래스가 포함되어 있었다^_^... Record 클래스는 자바 14에서 추가되었기 때문에 컴파일 오류가 떴다ㅎ 고로 16이나 그 이상은 유지하며 오류를 해결해야 했다. 2차 시도 구글링을 통해 Project Structure에서 sdk를 16버전 설치 후에 변경, Modules → Lenguage level도 16으로 변경 결과는2 ? 여전히 안되었다. 똑같이 Cause: error: invalid source rel..

카테고리 없음

Kotlin, 널 안정성이란?

자바 언어 스터디를 진행 중인데 요새 핫한 코틀린이라는 언어가 자바와 무슨 차이가 있는지, 그 장점이 뭐길래 이렇게 핫한(?) 건지에 대해 궁금함이 생겨 찾아보게 되었습니다. Kotlin이란? Java 가상 머신에서 동작하는 프로그래밍 언어로, Java와의 상호운용성 Kotlin은 Java와 100% 상호운용성을 가지고 있기 때문에 Java 라이브러리와 API를 쉽게 사용 가능 또한, Java로 작성된 코드도 Kotlin에서 쉽게 사용할 수 있습니다. 상호운용성이란 하나의 시스템이 동일 또는 이기종의 다른 시스템과 아무런 제약이 없이 서로 호환되어 사용할 수 있는 성질 널 안전성 Kotlin은 널 안전성을 지원하는 언어로, null 값으로 인한 오류를 방지하고 안전하게 코드를 작성할 수 있도록 도와줌 기..

Algorithm 👩🏻‍🔧

[프로그래머스] k 번째 수 JAVA

https://school.programmers.co.kr/learn/courses/30/lessons/42748 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 1. array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 2. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 3. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를..

Algorithm 👩🏻‍🔧

[BOJ 백준] 20546 기적의 매매법

문제 요약 문제 링크 주식을 살 수 있다면 가능한 만큼 즉시 매수 한 후 오로지 기도만 하는 BNP 전략의 준현이와 3일 연속 가격이 전일 대비 상승/하락 한다면 전량 매도/매수하는 33 매매법의 성민이가 있다. 입력 : 첫 번째 줄에 준현이와 성민이에게 주어진 현금이 주어진다. 두 번째 줄에 2021년 1월 1일부터 2021년 1월 14일까지의 MachineDuck 주가가 공백을 두고 차례대로 주어진다. 모든 입력은 1000 이하의 양의 정수이다. 출력 : 1월 14일 기준 준현이의 자산이 더 크다면 "BNP"를, 성민이의 자산이 더 크다면 "TIMING"을 출력한다. 둘의 자산이 같다면 "SAMESAME"을 출력한다. 기존의 코드 import java.util.*; import java.io.*; i..

JAVA 🎻

[JAVA] 스트림 활용하기

모던 자바 인 액션 5장을 보고 정리한 내용입니다. 1. 필터링, 스트림 슬라이싱 고유 요소 필터링 distinct 고유 요소로 이루어진 스트림을 반환하는 메서드 즉, 중복한 값들은 반환하지 X 고유 여부는 스트림에서 만든 객체의 hashCode, equals로 결정 List numbers = Arrays.asList(1, 2, 1, 3, 3, 2, 4); numbers.stream() .filter(i -> i % 2 ==0) .distinct() .forEach(System.out::println); // 출력 // 2 // 4 스트림 슬라이싱 takeWhile 무한 스트림을 포함한 모든 스트림에 프레디케이트를 적용해 스트림을 슬라이스 가능 takeWhile과 filter의 차이? filter 메서드..

JAVA 🎻

[JAVA] Jsoup을 이용한 크롤링

방법 1. Jsoup의존성 추가 gradle에서는 아래와 같은 의존성을 추가해주면 된다. // jsoup HTML parser library @ implementation 'org.jsoup:jsoup:1.15.3' 2. 크롤링할 페이지의 url 등록 Document docs = Jsoup.connect("").get(); 3. 크롤링할 css 요소의 쿼리문 복사 제가 크롤링할 요소는 제목, 카테고리, 본문 url이므로 사진의 개발자 툴에서 해당 요소들이 있는 css 쿼리를 복사한다 각 요소가 속한 태그의 class = “샬라샬라” ← 이 부분을 작성하면 됨! //공지사항 제목 Elements titles = docs.select("a.tbl_title"); //공지사항 카테고리 Elements cate..

JAVA 🎻

[JAVA] 디폴트 메서드

스터디를 진행 중인 모던 자바 인 액션을 보고 정리한 내용입니다. 디폴트 메서드란? 자바 8부터 지원하는 기능으로 인터페이스를 쉽게 변경할 수 있음 디폴트 메서드는 특정 프로그램을 구현하는 데 도움을 주는 기능이 아니라 미래에 프로그램이 쉽게 변화할 수 있는 환경을 제공하는 기능 위의 예제는 자바 8이 나오기 전에는 컴파일이 불가능한 코드 → 자바 8 이전에는 List (List가 구현하는 Collection인터페이스 포함)가 stream이나 parallelStream 메서드를 지원하지 않았음 위를 해결하려면? 1. 직접 인터페이스를 만들기 (자바 8 설계자들이 했던 것처럼) Collection 인터페이스에 stream 메서드를 추가하고 ArrayList 클래스에서 구현 🤔 이 방법의 문제 이미 컬렉션 ..

JAVA 🎻

[JAVA] 문자열 치환의 replace 메서드

String 변수나 배열 같은 곳에서 사용 자신이 바꾸고싶은 문자로 문자열을 치환시켜주는 기능 메서드 String replace(char old, char new) 문자열 중의 문자(old)를 새로운 문자로(nw)로 바꾼 문자열을 반환 String replace(CharSequence old, CharSeqeunce nw) 문자열 중의 문자열(old)를 새로운 문자열(nw)로 모두 바꾼 문자열을 반환 String replaceALL(String regex, String replacement) 문자열 중에서 지정딘 문자열(regex)과 일치하는 것을 새로운 문자열(replacement)로 모두 변경 예제 String replace(char old, char new) 예제 String s = "Hello";..

카테고리 없음

첫 게시글

저는 백엔드 개발자를 진로로, Spring과 JAVA 등을 공부하는 학생 개발자 입니다. 거창한 글보다는 제가 공부한 지식들을 정리하기 위해 느리지만 조금씩 작성할 예정입니다! 글 솜씨가 부족하지만 열심히 작성하기 위해 노력하겠습니다 :)

minl741
홀리몰리 개발로그