IT/Java 2021. 12. 23.
[Java/Selenium, jsoup] 자바를 이용하여 스크린샷, 텍스트 수집하기
https://kingname.tistory.com/221 [Python] 파이썬 selenium을 이용한 스크린샷 찍기 이전에는 셀레니움을 설치하는 포스팅을 했다면 https://kingname.tistory.com/219 파이썬 크롬브라우저 자동화 컨트롤러 Python Selenium 설치하기 Selenium이란 Selenium은 웹 어플리케이션을 자동으로 테스팅,. kingname.tistory.com 저번 글에서는 파이썬을 이용하여 스크린샷을 찍는 글을 포스팅 했었습니다. 이번에는 Java를 이용하여 저번에 작성한 파이썬 코드를 Java를 이용하여 보도록 하겠습니다. 우선 아래의 라이브러리를 설치해야합니다. 메이븐레파지토리에서 다운로드가 가능합니다. // selenium implementation..
IT/Java 2020. 7. 31.
[디자인 패턴] Java를 이용한 소스로 보는 디자인 패턴 종류 정리 2편
이번 포스팅에서는 디자인 패턴 정리 Java를 이용한 디자인 패턴 종류 정리를 하려고 합니다. 바로 시작하겠습니다. 2020/07/30 - [IT/Java] - [디자인 패턴] Java를 이용한 소스로 보는 디자인 패턴 종류 정리 1편 [디자인 패턴] Java를 이용한 소스로 보는 디자인 패턴 종류 정리 1편 이번 포스팅에서는 디자인 패턴 정리 Java를 이용한 디자인 패턴 종류 정리를 하려고 합니다. 바로 시작하겠습니다. 인터페이스 - 기능에 대한 선언과 구현 분리 - 기능으로 사용 통로 기�� kingname.tistory.com 이전 편에 이어서 2편입니다. 이전편에서는 스트레터지 패턴, 어댑터 패던, 템플릿 메소트 패턴, 팩토리 메소드 패턴, 싱글톤 패턴, 프로토타입 패턴, 빌더 패턴에 대해서 정..
IT/Environment 2018. 9. 27.
[Lombok/롬복] lombok 사용법 설치하기 및 적용하기 및 예제
[Lombok/롬복] lombok 설치하기 및 적용하기 오늘 소개해 드릴 것은 바로 Lombok (롬복)입니다. Java 기반에서 작성하는 VO, DTO, Entity 관련 작업을 쉽게 도와주는 도구입니다.Getter, Setter, ToString 등... 관련 메소드들을 깔끔하게 작성할 수 있습니다. 홈페이지 https://projectlombok.org/ maven repositotyhttps://mvnrepository.com/artifact/org.projectlombok/lombok/1.16.18 위 사이트에서 메이븐을 통해서 다운로드를 받을 수 있습니다. org.projectlombok lombok 1.16.18 provided1.16.18 버전 기준 메이븐을 통해서 프로젝트에 적용 시키기 ..
IT/Algorithm 2018. 6. 17.
[JAVA/자료구조] DoublyLinkedList 더블링크드리스트 코드 알아보기
[JAVA/자료구조] DoublyLinkedList 더블링크드리스트 코드 및 알아보기 https://visualgo.net/en/list 그림으로 알아보기 위와 같은 구조가 더블링크드리스트 ( DoublyLinkedList ) 입니다. 노드와 노드가 서로 연결되어 있다는 점이라는 장점이 있습니다. 단순열결리스트와는 다르게 이전 노드와 다음 노드로 구성되어 있습니다. 단점으로는 이전 노드를 지정하기 위한 변수를 하나 더 사용해야 합니다. 메모리를 더 많이 사용한다는 의미이기도 하죠 왜그런지는 코드를 통해서 알아보도록 하겠습니다. public class DoblyLinkedList {private Node head;privateNode tail;private int size = 0;private class ..
IT/Algorithm 2018. 4. 21.
[JAVA/알고리즘] factorial 팩토리얼 코드 알아보기 (재귀, 기본)
[JAVA/알고리즘] factorial 팩토리얼 코드 알아보기 오늘은 factorial 를 코드를 통해서 알아보도록 하겠습니다. 5! = 5 * 4 * 3 * 2 * 1 을 만족하는 것이 팩토리얼( ! ) 입니다. 코드를 보겠습니다. public class factorial {public static void main(String[] args) {int n = 1;int result = 0;int end = 5;for(int i = n; i
IT/Algorithm 2018. 4. 10.
[JAVA/자료구조] LinkedList 단순연결리스트 코드 및 알아보기
[JAVA/자료구조] LinkedList 링크드리스트 코드 및 알아보기 https://visualgo.net/en/list 그림으로 알아보기 위와 같은 구조가 단순연결리스트 ( LinkedList ) 입니다. 삽입/삭제가 ArrayList보다 빠르다는 장점이 있습니다. 단점으로는 ArrayList는 무작위 접근이 가능하지만 LinkedList 에서는 순차접근만이 가능합니다. 왜그런지는 코드를 통해서 알아보도록 하겠습니다. 우선적으로 class를 만들어 줍니다. 이름은 LinkedList로 만들겠습니다. public class LinkedList {private Node head; // 맨 앞 정보를 가지고 있는 head 노드private Node tail; // 맨 끝 정보를 가지고 있는 tail 노드p..
IT/Algorithm 2018. 4. 2.
[JAVA/알고리즘] Quicksort 큌정렬을 알아보자!
[JAVA/알고리즘] Quicksort 큌정렬을 알아보자! 우선 아래 홈페이지 https://opentutorials.org/course/543/2723 오픈튜토리얼에서 각각의 정렬 원리를 잘 설명한 동영상을 보실 수 있습니다. 퀵 정렬이란? 퀵 정렬은 찰스 앤터니 리처드 호어가 개발한 정렬 알고리즘이다. 다른 원소와의 비교만으로 정렬을 수행하는 비교 정렬에 속한다. 퀵 정렬은 n개의 데이터를 정렬할 때, 최악의 경우에는 O번의 비교를 수행하고, 평균적으로 O번의 비교를 수행한다. 퀵 정렬의 내부 루프는 대부분의 컴퓨터 아키텍처에서 효율적으로 작동하도록 설계되어 있고, 대부분의 실질적인 데이터를 정렬할 때 제곱 시간이 걸릴 확률이 거의 없도록 알고리즘을 설계하는 것이 가능하다고 합니다. 소스코드를 짜기 ..
IT/Algorithm 2018. 3. 15.
[JAVA/알고리즘] DFS(깊이 우선 탐색) BFS(너비 우선 탐색) 코드 정리
[JAVA/알고리즘] BFS DFS 정리 BFS 는 너비 우선 탐색을 뜻하고 꼭지점의 형제들을 우선으로 탐색한다고 설명하고 있습니다. public class bfs {// 노드의 수static int n = 7; static int arr[][] = {{0,0,0,0,0,0,0,0},{0,0,1,1,0,0,0,0},{0,1,0,0,1,1,1,0},{0,1,0,0,0,0,0,0},{0,0,1,0,0,0,0,0},{0,0,1,0,0,0,0,1},{0,0,1,0,0,0,0,0},{0,0,0,0,0,1,0,0}};public static void main(String[] args) { // 탐색한 곳을 확인하기 위함int f[] = new int[n+1]; int q[] = new int[7];int head ..
IT/Java 2017. 12. 12.
[JAVA/JSON] simple json parser, 공공데이터 날씨실활정보를 이용한 날씨정보 수집하기
[JAVA/JSON] simple json parser, 공공데이터 날씨예보를 이용한 날씨정보 수집하기 포스팅을 시작하겠습니다. 우선 우선적으로 받을 것은 simple json 입니다. com.googlecode.json-simple json-simple 1.1.1 https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple/1.1.1 위 url에 접속하여 파일을 받아서 사용하셔도 됩니다. 이번에 수집할 자료는 공공데이터 포털 https://www.data.go.kr 에서 제공하는 동네예보정보조회서비스 에서 초단기실황조회 서비스를 이용할 것입니다. API 신청을 하게 되면 아래와 같은 화면을 마이페이지에서 볼 수 있습니다. 서비스키를..
IT/Java 2017. 10. 31.
[JAVA/ 자바] CSV 파일을 읽어보자
[JAVA/ 자바] CSV 파일을 읽어보자 소스 public void loadFile(String locationFilePath) {String line = null;File locationFile = new File(locationFilePath);try {BufferedReader in = new BufferedReader(new FileReader(locationFile));while( (line = in.readLine()) != null) {String[] arr = line.split(",");locationList.add(arr);}}catch (Exception e) {e.printStackTrace();}} 메소드를 생성하여 사용하겠습니다. 위 소스코드를 사용하기 위해서는 private ..
IT/Java 2017. 8. 27.
[JAVA/자바] JAVA 빈 클래스 작성하기 / 자바빈즈(JavaBeans)란?
[JAVA] JAVA 빈 클래스 작성하기 자바빈즈(JavaBeans)란? 컴포넌트 형태로 제작된 자바 모듈 JSP 페이지가 복잡한 자바코드로 구성되는 것을 피하고 JSP 페이지에는 HTML과 같은 쉽고 간단한 코드만을 구성하도록 하는 것이 목적이다. 컴포넌트들의 개별 -> 빈 효율성, 재사용 등의 측면에서 장점이 있다. 빈 작성 정보를 저장하는 변수는 모두 private로 선언해야 한다. private로 선언된 변수의 값을 저장하는 메소드를 만든다. 메소드의 이름은 setOoo() 형식으로 만든다. Ooo는 변수의 이름과 같으며 첫 글자는 대문자로 한다. 반대로 변수의 값을 가져오는 메소드를 만들어야한다. getOoo() 형식으로 만들고 Ooo는 set과 같이 첫 글자는 대문자로 한다. 아래와 같이 구성..
IT/Javascript 2017. 6. 23.
JSON (JavaScript Object Notation) 제이슨? 무엇인가?
JSON (JavaScript Object Notation)은 경량의 DATA-교환 형식이다. 이 형식은 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이하다. JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999의 일부에 토대를 두고 있다. JSON은 완벽하게 언어로 부터 독립적이지만 C-family 언어 - C, C++, C#, Java, JavaScript, Perl, Python 그외 다수 - 의 프로그래머들에게 친숙한 관습을 사용하는 텍스트 형식이다. 이러한 속성들이 JSON을 이상적인 DATA-교환 언어로 만들고 있다. 쉡게말해서 속성-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 ..