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. 5. 12.
[Java/알고리즘] 1부터 100까지의 소수의 합을 구하자! (에라토스테네스의 체)
[Java/알고리즘] 1부터 100까지의 소수의 합을 구하자! (에라토스테네스의 체) 1부터 100까지의 소수의 합을 구하기 위해서는 우선 소수에 대해서 알아야 합니다. 소수는 1과 자기자신만으로 나누어지는 수를 소수라고 합니다. 예를들어 17은 1과 17만으로 나누어집니다.하지만 15는 1,3,5,15 로 나누어 지죠그럼 17은 소수라고 할 수 있습니다. 아래는 그냥 에라토스테네스의 체를 사용하지 않은 소수 구하기 입니다.public class Prime {public static void main(String args[]){ // 합을 구하기 위한 변수int sum = 0;// 1은 제외해야 하기 때문에 2부터 시작 for(int num=2; num
IT/Algorithm 2018. 4. 2.
[JAVA/알고리즘] Quicksort 큌정렬을 알아보자!
[JAVA/알고리즘] Quicksort 큌정렬을 알아보자! 우선 아래 홈페이지 https://opentutorials.org/course/543/2723 오픈튜토리얼에서 각각의 정렬 원리를 잘 설명한 동영상을 보실 수 있습니다. 퀵 정렬이란? 퀵 정렬은 찰스 앤터니 리처드 호어가 개발한 정렬 알고리즘이다. 다른 원소와의 비교만으로 정렬을 수행하는 비교 정렬에 속한다. 퀵 정렬은 n개의 데이터를 정렬할 때, 최악의 경우에는 O번의 비교를 수행하고, 평균적으로 O번의 비교를 수행한다. 퀵 정렬의 내부 루프는 대부분의 컴퓨터 아키텍처에서 효율적으로 작동하도록 설계되어 있고, 대부분의 실질적인 데이터를 정렬할 때 제곱 시간이 걸릴 확률이 거의 없도록 알고리즘을 설계하는 것이 가능하다고 합니다. 소스코드를 짜기 ..
IT/Algorithm 2018. 3. 27.
[JAVA/자료구조] 큐(Queue)와 스택(Stack) 코드 구현하기
[JAVA/자료구조] 큐(Queue)와 스택(Stack) 구현하기 Java로 큐와 스택을 구현을 해봅시다 우선 큐와 스택을 알아야겠죠? 큐(Queue)란 선입선출 구조입니다. 먼저들어온게 먼저나간다는 소리입니다. 예를 들면 영화 티켓구매하기 위해서는 줄을 서야하겠죠? 맨 앞사람이 가장 빨리 왔으니 가장빨리 예매를 하겠죠? 그림으로 보자면 반대로 스택(Stack)은 후입선출 구조입니다. 나중에 들어온게 먼저 나간다는 소리입니다. 예를 들자면 뷔폐에 있는 접시를 생각하면 되겠습니다. 맨 위에 접시가 올려지고 맨 위 접시가 가장 빨리 나갑니다. 그림으로 보자면 그럼 이제 큐와 스택을 이해했으니 실제로 구현을 해봅시다 먼저 큐(Queue) 입니다. public class Queue { private int fr..
IT/Javascript 2018. 1. 23.
[Spring/AJAX] AJAX (에이작스) 를 이용하여 데이터 전송하기
AJAX (에이작스) 를 이용하여 데이터 전송하기 오늘은 AJAX 를 이용하여 데이터를 사용해보도록 합시다. 간단하게 로그인체크와 게시글을 등록해 봅시다. 우선 main 페이지 스크립트 입니다. 게시판은 ckeditor를 이용하였습니다. home.jsp 에서 Controller로 보내서 사용하기 입니다. 매우 간단합니다. 우선 home.jsp 입니다. slideDown 이나 slideUp 은 메뉴를 내리고 올리고 하는 효과입니다. 그아래 ajax를 사용하는 부분을 봐줍시다. 각 id 값에 해당하는 버튼을 클릭했을 경우 이벤트가 발생합니다. type은 내가 어떻게 보낼 것인지 정해줍니다. 대표적으로 GET, POST 가 있습니다. url은 데이터를 보낼 Url 주소를 입력합니다. data는 이제 url 주..
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-교환 언어로 만들고 있다. 쉡게말해서 속성-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 ..