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 2021. 2. 1.
Java 파일 읽는 방법, Apache Tika(아파치 티카) 사용하여 파일 읽기
Apache Tika Java를 통해서 파일을 읽어 오는 방법을 소개하겠습니다. 아파치 티카는 PPT, CSV ,PDF 등 다양한 형태의, 파일의 메타 데이터와 텍스트를 감지하고 추출하는 라이브러리입니다. 지원되는 포맷을 아래와 같다고 합니다. tika-core - 핵심 라이브러리 (파서 없음) tika-parsers - core + Tika Parser interface (두가지) 위 두가지 라이브러리를 사용하여 파일을 읽을 수 있습니다. org.apache.tika tika-core 2.0.0-ALPHA org.apache.tika tika-parsers 2.0.0-ALPHA pom 위 라이브러리를 추가 후 public String parseExample() throws IOException, SAX..
IT/Java 2020. 7. 31.
[디자인 패턴] Java를 이용한 소스로 보는 디자인 패턴 종류 정리 2편
이번 포스팅에서는 디자인 패턴 정리 Java를 이용한 디자인 패턴 종류 정리를 하려고 합니다. 바로 시작하겠습니다. 2020/07/30 - [IT/Java] - [디자인 패턴] Java를 이용한 소스로 보는 디자인 패턴 종류 정리 1편 [디자인 패턴] Java를 이용한 소스로 보는 디자인 패턴 종류 정리 1편 이번 포스팅에서는 디자인 패턴 정리 Java를 이용한 디자인 패턴 종류 정리를 하려고 합니다. 바로 시작하겠습니다. 인터페이스 - 기능에 대한 선언과 구현 분리 - 기능으로 사용 통로 기�� kingname.tistory.com 이전 편에 이어서 2편입니다. 이전편에서는 스트레터지 패턴, 어댑터 패던, 템플릿 메소트 패턴, 팩토리 메소드 패턴, 싱글톤 패턴, 프로토타입 패턴, 빌더 패턴에 대해서 정..
IT/Java 2020. 7. 30.
[디자인 패턴] Java를 이용한 소스로 보는 디자인 패턴 종류 정리 1편
이번 포스팅에서는 디자인 패턴 정리 Java를 이용한 디자인 패턴 종류 정리를 하려고 합니다. 바로 시작하겠습니다. 인터페이스 - 기능에 대한 선언과 구현 분리 - 기능으로 사용 통로 기능과 분리 public class AinterfacesImplrement implements Ainterfaces{ public void funcA(){ System.out.println("기능 과 분리"); } } interfcese public interface Ainterfaces { // 기능에 대한 선언 public void funcA(); } ⇒ 2개를한후 클래스 사용 (위에서 선언 구현) 델리게이트 ( 떠넘기다 ) - 두 객체관의 관계 개발을 할시 다른 객체에 개발을 위임하여 사용 public class Ao..
IT/Java 2020. 4. 17.
자바 리플렉션 (java reflection) 개념 및 사용법 알아보기
안녕하세요오늘은 자바의 리플렉션이라는 계념에 대해서 알아보겠습니다. 리플렉션 (Reflection)이란? 리플렉션은 구체적인 클래스 타입을 알지 못해서 그 클래스의 메소드와 타입 그리고 변수들을 접근할 수 있도록 해주는 자바 API 입니다. 위 설명에 의하면 구체적인 클래스 타입을 모를때 사용하는 방법을 리플렉션이라고 합니다.여기서 의문점이 듭니다. 내가 짠 코든데 내가 만든 클래스의 이름도 모르는게 말이 되나? 라는 의문이 생깁니다.하지만 가끔 어떤 타입의 클래스나 변수 혹은 메소드를 사용할지 모르는 경우가 생깁니다. 예를 들어 변수의 값을 조건에 따라서 다르게 사용해야하는 경우라던가.어플리케이션이 실행되고 나서 생성되는 클래스라던가. 이럴경우에 리플렉션을 사용할 수 있습니다. 사용방법사용방법은 간단합..
IT/Java 2018. 7. 27.
[Java/Socket] UDP 를 이용한 다중 채팅 프로그램 만들기
UDP 를 이용한 다중 채팅 프로그램 만들기 최종적으로 만들 채팅 프로그램은 와 같은 구조를 가집니다. 우선 UDP를 이용하여 만들기 위해서는 TCP와 UDP를 알아야합니다. TCP(Transmission Control Protocol)연결형 서비스를 지원하는 전송계층 프로토콜인터넷 환경에서 기본으로 사용한다.호스트간 신뢰성 있는 데이터 전달과 흐름제어 및 혼잡제어 등을 제공하는 전송계층 UDP(User Datagram Protocol)비연결형 서비스를 지원하는 전송계층 프로토콜사용자 데이터그램형 프로토콜인터넷상에서 서로 정보를 주고받을 때 정보를 보낸다는 신호나 받는다는 신호 절차를 거치지 않고,보내는 쪽에서 일방적으로 데이터를 전달하는 통신 프로토콜보내는 쪽에서는 받는 쪽이 데이터를 받았는지 받지 않..
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/자바] 주소를 이용하여 홈페이지(HTML)소스를 (파싱) 알아보자
[JAVA/자바]주소를 이용하여 홈페이지 (HTML)소스를 알아보자 파일을 읽는거와 마찬가지로 URL을 이용하여 해당 사이트의 html 소스를 알아오는 방법입니다. 소스파일 : HtmlParser.javapublic class HtmlParser {public String HtmlParser(String urlToRead) { StringBuffer result = new StringBuffer(); try { URL url = new URL(urlToRead); InputStream is = url.openStream(); int ch; while ((ch = is.read()) != -1) { //System.out.print((char) ch); result.append((char) ch); } }..
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/Java 2017. 7. 7.
R(알) 프로그레밍 지도 위치 표시 / 지도에 도서관 위치를 표시해보자
R(알) 프로그레밍 지도 위치 표시 / 지도에 도서관 위치를 표시해보자 우선 도서관의 위치를 알기 위해서 서울 공공데이터 포털에 들어가서 통합검색에 도서관 위치를 검색합니다. 그 중 저는 두번째 서울시 도서간 위치정보 (좌표계 : WGS1984) 로 위치를 표시해 보겠습니다. 선택해서 들어가면 아래와 같은 사진이 뜹니다. 그럼 아래에 보이는 XLS, CSV, JSON 으로 파일을 받을 수 있습니다. 그럼 CSV 를 선택해서 다운로드! 다운로드한 파일을 열어줍니다. 그럼 아래와 같은 데이터 컬럼들로 이루어져 있습니다. 그 중 저는 이름이랑 위도 경도만 알면 되니 시설명과 경도, 위도를 뽑아서 아래와 같은 만들었습니다. 나머지 다 삭제 LatLong은 위도(Lat) 경도(Long) 을 : 구분자로 합쳐놓은것..
IT/Java 2017. 6. 22.
안드로이드 쓰레드(Thread)와 핸들러(Handler) 사용하기
안드로이드 쓰레드(Thread)와 핸들러(Handler) 사용하기 쓰레드와 핸들러란?컴퓨터 프로그램 수행 시 프로세스 내부에 존재하는 수행 경로, 즉 일련의 실행 코드. 프로세스는 단순한 껍데기일 뿐, 실제 작업은 스레드가 담당한다. 프로세스 생성 시 하나의 주 스레드가 생성되어 대부분의 작업을 처리하고 주 스레드가 종료되면 프로세스도 종료된다. 하나의 운영 체계에서 여러 개의 프로세스가 동시에 실행되는 환경이 멀티태스킹이고, 하나의 프로세스 내에서 다수의 스레드가 동시에 수행되는 것이 멀티스레딩이다. 이라고 합니다. 우선 안드로이드 프로젝트를 만들어 줍니다.만들것은 쓰레드를 이용한 계산기 입니다.부족한 점이 많습니다.그냥 참고용 입니다. 숫자 입력 후 버튼을 클릭하면 결과값이 나옵니다. main.xml..