[JAVA] 번역기를 위한 영어 논문 정렬기
·
Java/기타
영어로된 논문을 읽어야 하는 상황이 생겼는데 번역기를 사용하기 위해 ctrl + c / ctrl + v를 하니 아래와 같이 이상하게 복사가 된다... 개행 부분을 지우는 게 너무 귀찮아서 프로그램을 하나 만들었다. 사용방법 PDF ctrl + c --> 자바 프로그램 클릭 -> 키보드 f -> 번역기에 ctrl + v 아래는 소스코드이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 ..
[JAVA] TimerTask
·
Java
훑어보기 어떠한 메소드를 일정 시간마다 반복해서 실행하고 싶을 때 TimerTask를 사용한다. 일단 코드부터 보면 1. Timer 객체를 만든다. 2. TimerTask(일정 시간마다 반복해서 실행할 일)를 만든다. 3. Timer 클래스의 schedule 메소드를 작성한다. 이 부분에 일정 시간마다 실행할 메소드를 작성하고 schedule 메소드를 사용한다. 인자는 TimerTask객체 / 딜레이(얼마 뒤에 시작할지) / 주기(몇 초마다 반복할지) 심화 Timer A facility for threads to schedule tasks for future execution in a background thread. Tasks may be scheduled for one-time execution, o..
java Json parsing example
·
Java
라이브러리는 gson-2.8.2 사용 자바에서 위와 같은 json 형식의 String의 값을 가져오는 방법 {}는 JsonAsObject로 []는 JsonAsArray로 가져오고 JsonElement를 String으로 가져올지, Double로 가져올지 타입을 정하는 것은 JsonElement 객체의 getAsString, getAsDouble 등을 이용하면 된다.
스트래티지 패턴(strategy pattern)
·
Java/디자인패턴
HeadFirst Design Pattern 스트래티지 패턴 디자인 원칙 1. 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분으로부터 분리시킨다. = 바뀌는 부분은 따로 뽑아서 캡슐화시킨다. 그렇게 하면 나중에 바뀌지 않는 부분에는 영향을 미치지 않은 채로 그 부분만 고치거나 확장할 수 있다. 2. 구현이 아닌 인터페이스에 맞춰 프로그래밍한다. 3. 상속보다는 구성을 활용한다. = 상속보다 다른 클래스의 객체를 가진다. Duck의 서브클래스에서 달라질 수 있는 부분 ==> fly(), quack() 나는 모습이 다를 수 있고, 소리가 다를 수있다. Duck의 서브클래스에서 달라지는 않는 부분 ==> swim() Duck의 서브클래스에서 모두 달라지는 부분 ==>display() 디자인 원칙..
[JAVA] 지뢰찾기 (수정)
·
Java/프로젝트
지뢰찾기의 기본적인 기능인 마우스 왼쪽 클릭, 오른쪽 클릭, 휠 클릭, 마우스 왼쪽 & 오른쪽 동시 클릭만 구현했다. MVC패턴밖에 안배웠기 때문에 MVC 패턴을 사용하여 코드를 짰었는데 뭔가 이상함을 느꼈다. 생각해보니 사용자의 입력이 있을 때만 프로젝트 내에서 어떠한 일(?)이 실행 되기 때문에 사용자의 입력이 없을 경우 프로젝트 내에서 어떠한 일이 진행되지 않는다. 즉 사용자의 입력이 있을 때만 Method가 실행 되므로 MVC패턴의 파생된 디자인 패턴인 MVP패턴이라는 것이 어울린다고 생각했다. MVP 패턴을 사용했고 Core.java가 main함수를 포함하고 있다. MVP 패턴의 정확한 이해가 안됐기 때문에 적절하게 사용했는지는 잘 모르겠다.. Core.java 1 2 3 4 5 6 7 8 9 ..
mongoDB 몽고디비
·
Java/Database
몽고디비 사용법 자바 8 기준 몽고디비 4.4 다운로드 한 뒤 몽고디비 드라이버 4.2를 다운로드 받음 (library) 프로젝트 오른쪽 클릭 - properties - java build path - library 탭 - add External Jars - 몽고디비 드라이버 추가 database가 collection들을 포함하고 collection들은 document들을 포함한다. database - collection1 - document 1,2,3,4 .... - collection2 - document 1,2,3,4,5,6... - collection3 - document 1,2,3,4,5,6... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2..
Redis example2
·
Java/Database
공 굴리기 프로젝트에 Redis로 데이터 저장. controller Package ButtonActionListener.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 package ball.controller; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class ButtonActionListener implements ActionListener{ private Core core; public ButtonActionListener(Core core) { this.core = co..
Redis example)
·
Java/Database
DB는 보통 데이터베이스 관리 시스템(DBMS)에 의해 제어된다. 데이터 베이스는 관리가 목적이다. 데이터베이스 내 데이터는 일반적으로 표 안에 행과 열로 모델링 된다. 이는 프로세싱과 데이터 쿼리 작업을 더 효율적으로 실행하기 위함이다. 이로써 데이터는 쉽게 액세스, 관리, 수정, 업데이트, 제어, 체계화 될 수있다. 대부분 데이터 베이스는 SQL(Structured Query Language)를 쓴다. 스키마 - 데이터의 구조적인 특성, 인스턴스에 의해 규정된다. 1. 레디스 윈도우 버전을 다운받는다. 2. 위와 같이 나오면 정상이라고 합니다. 3. Jedis library를 다운 받는다. 4. Project 오른쪽 클릭 - properties - Java build Path - library tab..