Java12 [TIL]20230807 - Jsoup을 활용하여 크롤링하기 프로젝트를 시작하면서 주식 정보를 얻어와야 할 필요가 있어서 크롤링을 통해 주식 정보 데이터를 얻어와야했다. 스프링에서의 크롤링에 대해 구글링 해본 결과 Jsoup라이브러리를 많이 사용하고 내가 원하는 데이터를 가지고 있는 웹사이트에서도 사용이 가능할것 같아 Jsoup라이브러리를 사용하여 크롤링을 시도해 보았다. Jsoup이란 HTML문서에 저장된 데이터를 구문 분석, 추출 밑 조작하도록 설계된 오픈 소스 Java 라이브러리이다. build.gradle 의존성 추가 implementation 'org.jsoup:jsoup:1.15.3' 내가 크롤링한 웹사이트 https://finance.naver.com/sise/sise_market_sum.nhn?&page=1 우리가 필요한 데이터는 테이블의 바디에 있.. 2023. 8. 7. [TIL]20230622 - 예외처리 private static final String OPERATION_REG = "[+\\-*/]"; private static final String NUMBER_REG = "^[0-9]*$"; 자바 4주차 강의를 공부하고 난뒤 기존에 강의 3주차에서 과제로 풀었던 계산기 예제의 코드를 바꾸는 과제가 있었다. 예외처리를 통해 예상범위 밖의 값에 대해 예외를 던지고 기존 main함수에서 new 를 통해 연산자를 정해주었던에서 사용자입력으로 연산자를 정하는 변화에 대해 코드를 작성해야했다. 1. 예외 처리 우선 예외처리를 위한 정수와 연산자의 범위를 정규식을 통해 표현하였다. private static final String OPERATION_REG = "[+\\-*/]"; private static fin.. 2023. 6. 22. [WIL]20230612~20230618 JVM, 객체 지향 프로그래밍 이번주에 공부한것들 1. JAVA 1.1 JAVA는 공통 실행환경이 있어서 여러기기에서 실행 가능하다. JAVA는 여러 기기의 운영체제에서 실행할 수 있는 언어이다. 특히 앱 개발에 적합하다(!!!여기에서 앱이란 스마트폰 app만이 아닌 응용프로그램을 뜻한다.) 1.2 JAVA는 세상과 닮아있는 개발언어라 코드를 이해하기 쉽고 유지보수가 쉽다. JAVA는 클래스를 통해 객체를 만들어 우리 세상에 존재하는 모든 "것"을 닮아있다. ex)인간이라는 객체의 나이, 피부색의 특징과 달리기,뛰기 등 행동 1.3 JAVA는 안정성이 높아서 프로그래밍 오류를 방지하고 보안상 안전하다. JAVA는 작성된 코드를 우선 바이트 코드로 변환하는 Compile과정이 있어 오류를 먼저 체크한다. 또한 JAVA에서 지원하는 보안.. 2023. 6. 18. [TIL]20230616 - 이진법과 비트연산 문제 발생 https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 이문제를 풀 때는 숫자를 Integer.toString(num, 2)를 이용하여 이진법으로 바꿨는데 오류가 발생하였다. 왜냐하면 문제에서는 지도의 가로세로길이가 n으로 주어져있는데 만약 n이 5일때 9를 이진법으로 표현하면 "1001"으로 표현되는데 문자열의 길이는 4인데 n이 5이므로 만약 String.charAt(5)를 실행하면 인덱스를 벗어나기 때문에ArrayIndexOutO.. 2023. 6. 16. [TIL]20230615 - 스트림의 toList()가 없다 문제 발생 자바 문법 강의 중 스트림 부분에서 List를 .stream()을 통해 스트림으로 만들고 .filter()로 만든 후 .toList()를 통해 다시 List로 만들어주는데 .toList()메소드가 존재하지 않았다. 문제 해결을 위한 시도 (List) 을 작성하여 강제 형변환을 시도하였다. -> 에러 표시는 나오지 않았지만 컴파일하니 ClassCastException 예외가 발생하였다. 문제 해결 그래서 toList를 직접 타이핑 해보니 비슷해보이는 메소드를 인텔리 제이가 추천해주었다. List는 콜렉션이기도 하고 메소드가 비슷해보여서 사용해보았더니 정상적으로 실행되었고 원하던 List도 얻을 수 있었다. 새롭게 알게 된 점 toList()메소드를 사용할 수 없었던건 나의 자바 버전은 11버전이.. 2023. 6. 16. [TIL]20230613 - HashSet 의 저장방법 1. 숫자야구 게임 만들기 숫자 야구 게임 규칙 컴퓨터는 0과 9 사이의 서로 다른 숫자 3개를 무작위로 뽑습니다. (ex) 123, 759 사용자는 컴퓨터가 뽑은 숫자를 맞추기 위해 시도합니다. 컴퓨터는 사용자가 입력한 세자리 숫자에 대해서, 아래의 규칙대로 스트라이크(S)와 볼(B)를 알려줍니다. 숫자의 값과 위치가 모두 일치하면 S 숫자의 값은 일치하지만 위치가 틀렸으면 B 기회는 무제한이며, 몇번의 시도 후에 맞췄는지 기록됩니다. 숫자 3개를 모두 맞춘 경우, 게임을 종료합니다. 실행 결과 컴퓨터가 숫자를 생성하였습니다. 답을 맞춰보세요! 1번째 시도 : 134 0B0S 2번째 시도 : 238 1B1S 3번째 시도 : 820 2B1S 4번째 시도 : 028 3B 5번째 시도 : 280 3S 4번만.. 2023. 6. 14. 이전 1 2 다음