상속 Java의 대표적인 기능 중 하나이다. Class 내의 함수 혹은 필드를 그대로 다른 Class에게 전달하는 의미이다. 물건을 다른 사람에게 전달해주듯 변수명, 함수명을 같이 사용할 수 있도록 한다. class TestA { void testA() { System.out.println("testA의 전유물"); } } class TestB extends TestA { void testB() { System.out.println("testB의 전유물"); } } public class ExtendStudy { public static void main(String[] args) { TestB testB = new TestB(); testB.testA(); testB.testB(); } } TestB의..
Java, 셀레니움 설치하기 셀레니움 이란? 현재 서비스 중인 웹 사이트의 html 코드를 긁어오기 위한 언어 중 하나이다. HTML 코드는 Value값이 변하더라도, 정해진 html 안에서 코드의 결과가 발생된다. 그래서 해당되는 태그 안의 결괏값을 가져와서 마치 자신의 데이터처럼 가져오는 기술이다. 일반적으로 허용되는 기술이 아닌만큼, 사용할 때는 다른 서버에 부담되지 않도록 조심해야 한다는 단점 또한 있다. 셀레니움은 제이숲과 비슷하게 사용하지만 최근 FrontEnd의 기술이 발달된 만큼 동적 페이지가 많아지고 그로 인해서 jsoup이 불러오지 못하는 html이 많아지기에 셀레니움을 선호하기도 한다. Selenium 라이브러리 설치하기 https://www.selenium.dev/downloads/..
Java, FCM Push 전송하기, json Version Java에서 APK Push 전송하기 import org.json.simple.JSONObject; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; public class FCMessage { // FCM에서 가입 후 받는 키값 public final static String AUTH_KEY_FCM = "TOKEN을 보내기 위한 KEY 값, ANDORID ID에 KEY 값이 있다."; public final static Stri..
Java, Cookie 활용하기 Cookie의 활용 Cookie, HTTP의 일종으로 인터넷 사용자가 웹 사이트 방문시, 그 사이트가 사용하고 있는 서버를 통해 사용자의 pc에 설치되는 작은 기록 정보이다. HttpServletRequest를 사용하는 Java에서 request값을 오랫동안 값을 유지하기 위해 대신 사용하는 방법 중 하나이다. 보통, Login 여부 혹은 이전에 받은 Data를 저장하기 위한 용도로 활용한다. 이 활용에 가장 비슷한 것은 Session이 있다. Session과 Cookie의 차이 먼저, Session과 Cookie의 가장 큰 차이라고 한다면 서버와 클라이언트이다. Session은 Server에 값을 저장하고, Cookie는 Client에 값을 저장한다. Server는 ..
[Java] Thread 활용하기 Thread Process(프로세스) 보다 더 작은 단위로, 한 개 이상의 스레드가 작동해야 프로세스가 작동된다. 한 프로세스 안의 복수 개의 스레드가 존재하여, 한 번의 실행으로 여러 개의 작업효과를 나타내기 위해 사용하는 기술이다. 예를 들면, 하나의 업무를 하기 위해 한 사람이 일하는 것과 여러 사람이 같은 일을 처리한다고 생각한다면 보통 여러 사람이 같이 일한다면 금방 끝날 것임을 누구나 쉽게 예측할 수 있다. 마찬가지로 스레드를 사용하고, 알아야 하는 이유는 스레드를 사용하여 작업시간의 단축에 의미를 갖는다. 그렇다면, Thread를 왜 사용할까? Java는 보통 한 개의 스레드, 프로세스만 사용한다. 한 개의 작업이 실행되는 동안, 다른 작업의 실행은 할 수 ..
Java, 메모장 파일 만들기 메모장 파일 만들기 데이터의 길이가 일정하지 않으며, 데이터의 길이가 초과될 수도, 없을 수도 있는 상황 속에서 이 데이터를 DB에 넣기에는 매우 안 좋다고 생각되었습니다. DB의 용량을 1000으로 했을 때, 길이가 100이 될 수도 있는거고, 길이가 1000이 넘을 수 있는 상황도 있을 수 있기 때문입니다.그래서 메모장을 만들어 저장을 한다면, 이런 위험에 대해서 대비 할 수 있고 메모장의 이름만 DB에 저장한다면 가능할지 모른다고 생각하여 만들게 되었습니다. package test; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; public class test02 { publ..
자바 Stack 클래스 사용 방법 Stack의 소개 시험이나 책에서 단골 소재로 소개되는 Stack은 FILO(First In Last Out)로 외우면 끝이다. 먼저 들어온 상자가 제일 나중에 나가듯이 먼저 들어온 데이터가 가장 나중에 나가는 구조를 가진 원리이다. import java.util.Stack;//import 하기 Stack stack = new Stack();//String 형 Stack 선언 사용 방법은 Stack을 선언해서 사용하면 된다. 제네릭 부분에는 사용할 객체를 담으면 된다. Stack의 사용 stack.push(값);//추가 stack.pop();//삭제 먼저 Stack에 대해 설명을 했듯이, 들어오는 것만 값을 입력하고, 삭제는 값을 입력하지 않는다. 제일 마지막에 들어온 ..
List를 Array 형변환, toArray. 상황에 따라서, List를 Array로 형변환 시켜야할 때가 존재한다. 이에 따라 for문을 사용해서 바꿀수 있지만, 번거로움이 존재한다. 그러나 이를 함수 하나로 사용해보자. List list = new ArrayList(); String[] arr = new String[5]; arr = list.toArray(arr); 위의 List를 Array로 변환 시켰다. 비록, list에는 아무것도 담겨있지 않지만, 이렇게 사용하면 매우 쉽게 사용 할 수 있다. arr = list.toArray(new String[5]); list는 List의 대상의 자리이며, new String[5]는 현재 String 배열에 담기 때문에, String 객체의 배열크기 5를 ..
YAML 실행하기 yaml 사용 import yaml yaml_data = """ color_def: - &col1 "#ff0000" - &col2 "#00ff00" - &col3 "#0000ff" color: title1: *col1 title2: *col2 title3: *col3 """ data = yaml.load(yaml_data) print("title1 = ", data["color"]["title1"]) print("title2 = ", data["color"]["title2"]) print("title3 = ", data["color"]["title3"]) YAML 실행하기 2 # YAML 데이터를 파이썬으로 읽어오기 import yaml #yaml 데이터 정의 yaml_data = ""..
#파이썬으로 json 분석하기 import urllib.request as req import os.path import json #json데이터 다운로드하기 url = "https://api.github.com/repositories" fileName = "rep.json" if not os.path.exists(url): req.urlretrieve(url, fileName) jsonData = open(fileName, "r", encoding="utf-8").read() data = json.loads(jsonData) for dat in data: print(dat["name"] + " - " + dat["owner"]["login"])
네이버 api (개발자) 제공 사이트 : developers.naver.com/docs/search/news/ # 네이버 검색 API예제는 블로그를 비롯 전문자료까지 호출방법이 동일하므로 blog검색만 대표로 예제를 올렸습니다. # 네이버 검색 Open API 예제 - 블로그 검색 import os import sys import urllib.request client_id = "네이버 클라이언트 ID" client_secret = "네이버 클라이언트 시크릿" #뉴스 키워드 검색 encText = urllib.parse.quote("it") url = "https://openapi.naver.com/v1/search/news.json?query=" + encText # json 결과 # url = "ht..
API 사용하기 간단한 api 사용하는 방법에 대해 소개하겠습니다. api 제공 사이트 세계의 날씨 사이트 openweathermap.org/ Сurrent weather and forecast - OpenWeatherMap 2 Billion Forecasts Per Day 2,500 new subscribers a day 2,600,000 customers 20+ weather APIs 2 Billion Forecasts Per Day 2,500 new subscribers a day 2,600,000 customers 20+ weather APIs openweathermap.org 회원가입 진행 후 => api 키를 발급받습니다. api 키는 이 화면에서 회원이면 누구나 받아 올 수 있습니다. 제 a..