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/DataBase 2018. 4. 4.
[Tibero/Window10/CentOS] 티베로 (Tibero) 설치하기 및 소개
[Tibero/Window10/CentOS] 티베로 (Tibero) 설치하기 및 소개 티베로란? 티베로는 티맥스데이터사에서 제작한 한국산 데이터베이스 관리 시스템이다. SQL 등을 포함, 오라클의 제품과 거의 동일한 호환성을 제공함에 따라 오라클 데이터베이스의 대안으로도 간주된다. 티베로 5는 데이터베이스 간 동기화 성능을 개선하여 다중 노드에서도 안정적인 DB 서비스 운영을 가능하게 한다.- 위키백과 한국산 데이터베이스라고 생각하시면 됩니다. 설치를 진행합시다 우선 다운로드를 진행 합시다. http://www.tmaxsoft.com/tibero-vm-download/ 다운로드를 하셨으면 실행해 줍시다. 각 OS 환경에 맞는 인스톨러를 설치하셔야 합니다. 네 다음 다음 환경 잘 보시고 다음 다음 다음 디..
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/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/ELK 2018. 3. 8.
[Elasticsearch/엘라스틱서치] Elasticsearch Clustering 버전 5.5 소개 및 설치하기
Elasticsearch ( 엘라스틱서치 ) 소개 및 설치하기 , Clustering(ES 5.x) 이번에 소개해드릴 것은 바로 엘라스틱 서치! 입니다. 공식홈페이지 : https://www.elastic.co/kr/products/elasticsearch 위키백과에서는 일래스틱서치를 아래와 같이 설명하고 있습니다. 일래스틱서치(Elasticsearch)는 루씬 기반의 검색 엔진이다. HTTP 웹 인터페이스와 스키마에서 자유로운 JSON 문서와 함께 분산 멀티테넌트 지원 전문 검색 엔진을 제공한다. 일래스틱서치는 자바로 개발되어 있으며 아파치 라이선스 조항에 의거하여 오픈 소스로 출시되어 있다. 공식 클라이언트들은 자바, 닷넷(C#), PHP, 파이썬, 그루비 등 수많은 언어로 이용이 가능하다.[2] 일..
IT/가상화폐 2018. 3. 6.
[bitmax/비트맥스]비트코인 선물거래! 100배 레버리지, 비트맥스를 알아보자
[bitmax/비트맥스] 마진거래! 비트코인 선물거래! 100배 레버리지 가능! 비트맥스를 알아보자 비트맥스 공식홈페이지https://www.bitmex.com/app/trade/XBTUSD 6개월간 수수료 할인 혜택으로 회원가입하기 회원가입 접속 주소https://www.bitmex.com/register/KAh3TR 위 링크로 가입할 경우 10퍼센트 수수료 할인을 받으며추천인인 글쓴이는 거래가 일어날 시 수수료보다 적은 금액의 보상금을 받습니다. 비트코인 선물거래는 비트맥스 BitMex는 비트코인과 이더리움, 대시, 리플, 테조즈, 제트 캐시 등여러 알트 코인에 대한 스와프와 선물을 거래할 수 있는 외국 거래소입니다. 비트코인을 가지고 비트코인의 방향성(올라갈 것인지, 내려갈 것인지)을 맞추는 것으로..
IT/BigData 2018. 2. 19.
Apache Kafka ( 아파치 카프카 ) 2.11-0.9.0.0 소개 및 설치하기
Apache Kafka ( 아파치 카프카 ) 2.11-0.9.0.0 소개 및 설치하기 아파치 카프카(Apache Kafka)는 아파치 소프트웨어 재단이 스칼라로 개발한 오픈 소스 메시지 브로커 프로젝트이다. 이 프로젝트는 실시간 데이터 피드를 관리하기 위해 통일된, 높은 스루풋의 낮은 레티어신을 지닌 플랫폼을 제공하는 것이 목표이다. 요컨대 분산 트랜잭션 로그로 구성된, 상당히 확장 가능한 pub/sub 메시지 큐로 정의할 수 있으며, 스트리밍 데이터를 처리하기 위한 기업 인프라를 위한 고부가 가치 기능이다.디자인은 트랜잭션 로그에 많은 영향을 받았다 아파치 카프카는 원래 링크드인이 개발한 것으로, 2011년 초에 최종적으로 오픈 소스화되었다. 2012년 10월 23일에는 아파치 인큐베이터로부터 완전히 ..
IT/DataBase 2018. 1. 31.
[Oracle/CentOS 7] CentOS 7.2 + Oracle DB 11g r2 설치하기 ( 리눅스환경 오라클 설치하기 )
[Oracle/CentOS 7] CentOS 7.2 + Oracle DB 설치하기 진행하겠습니다! 많은 부분 구굴 검색으로 정보를 얻어 설치 진행해 보았습니다. CentOS 7 & Oracle DB 구성 ⦁ 정형 데이터를 저장하는 Oracle 데이터베이스 CentOS 설치 프로그램의 진행 순서 ⦁ Centos 7.2 버전 다운로드 - https://www.oracle.com/database/technologies/11g-112010-sparc64soft.html - http://vault.centos.org/centos/7.2.1511/isos/x86_64/ ⦁ VirtualBox CentOS 설치 ( Linux 환경에서 설치하셔도 됩니다.) Oracle DB 설치 과정 ⦁ CentOS 7.2 버전 설치..
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/BigData 2018. 1. 23.
Apache Hbase ( 아파치 에이치베이스 ) 1.2.6 소개 및 설치하기
Apache Hbase ( 아파치 에이치베이스 ) 아파치 HBase는 하둡 플랫폼을 위한 공개 비관계형 분산 데이터 베이스이다. 구글의 빅테이블을 본보기로 삼았으며 자바로 쓰여졌다. 아파치 소프트웨어 재단의 아파치 하둡 프로젝트 일부로서 개발되었으며 하둡의 분산 파일 시스템인 HDFS위에서 동작을 한다. 대량의 흩어져 있는 데이터 저장을 위한 무정지 방법을 제공하는 구글의 빅테이블과 비슷한 기능을 한다. 라고 위키백과에 쓰여있다. https://ko.wikipedia.org/wiki/%EC%95%84%ED%8C%8C%EC%B9%98_HBase 그럼 본격적으로 설치를 해봅시다. 설치하기 Step 1 : Hbase 준비하기 Step 2 : Hbase Path 추가하기 Step 3 : Hbase data 디렉..
IT/가상화폐 2018. 1. 14.
퀀텀(qtum) 지갑 사용하기 및 전송하기 (거래소 -> 지갑 또는 지갑 -> 거래소)
퀀텀(qtum) 지갑 사용하기 및 전송하기 (거래소 -> 지갑 또는 지갑 -> 거래소) 우선 퀀텀지갑을 받아야겠죠? https://eco.qtum.org/wallet 들어가줍니다 퀀텀 홈페이지 그리고 wallet 클릭 후 아래처럼 자신의 컴퓨터 환경에 맞는 올바른 운영체제용 지갑을 다운받습니다. 퀀텀 코어! 다운을 받아 설치를 하면 상당히 긴 설치시간이 필요합니다 용량도 2GB 이상 필요하다고 하고요 지갑 백업은 필수입니다!! ( 거래소에서 개인지갑으로 보낼경우 ) Receive 란에 들어가줍시다 그럼 라벨란에 적절한 이름을 적고 그냥 지불요청 버튼을 누루게 되면 다음과 같은 지갑 주소가 생성됩니다! QMHWaLYTAEnBWUUT1NjU9eEfMotWkNu6EA 이런식으로 표시됩니다. 이건 제 퀀텀 지갑..
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/BigData 2017. 11. 21.
Apache Hadoop ( 아파치 하둡 ) 2.6.5 소개 및 설치하기 Teragen(테라젠) 이용하기
Apache Hadoop ( 아파치 하둡 ) 설치하기 위키백과의 설명을 따르면 https://ko.wikipedia.org/wiki/%EC%95%84%ED%8C%8C%EC%B9%98_%ED%95%98%EB%91%A1 아파치 하둡(Apache Hadoop, High-Availability Distributed Object-Oriented Platform) 은 대량의 자료를 처리할 수 있는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 프리웨어 자바 소프트웨어 프레임워크이다. 원래 너치의 분산 처리를 지원하기 위해 개발된 것으로, 아파치 루씬의 하부 프로젝트이다. 분산처리 시스템인 구글 파일 시스템을 대체할 수 있는하둡 분산 파일 시스템(HDFS: Hadoop Distributed File ..
IT/가상화폐 2017. 11. 5.
업비트 사용후기 지갑만들기 - 가상화페(비트코인,등..) 거래소
업비트 사용후기 - 가상화페(비트코인,등..) 거래소 업비트에서는 117개의 코인 174개 마켓 거래지원을 한다고 압니다. 홈페이지화면 https://upbit.com/home 여러개의 코인은 한번에 볼 수 있어서 좋았습니다. 폴로닉스 한국판이네요 비트렉스에서 상장페지되면 업비트도 상장페지!! 입출금 간편하게 생성가능하네요 아직은 비트코인 이더리움 이더리클래식만 입출금이 가능하네요 확실히 많은 코인들을 입출금 할 수 있으면 빗썸이나 코인원보다 유용할 것 같네요. 코인 동향도 확인할 수 있고 좋네요 아래는 모바일로 확인한 업비트 입니다. 모바일로도 여러가지 코인동향을 살표볼 수 있네요 코인동향 보안등급도 4단계 진행을 합니다. 맨 마지막은 카카오페이로 진행 업비트가 카카오아이디를 사용합니다. 이상으로 업비..
IT/BigData 2017. 11. 5.
Apache ZooKeeper (아파치 주키퍼) 분산 코디네이터 소개 및 설치하기
Apache ZooKeeper (아파치 주키퍼) 분산 코디네이터 설치하기 주키퍼에대한 설명은 아래와 같이 위키백과에서 설명하고 있다. 아파치 주키퍼(Apache ZooKeeper)는 아파치 소프트웨어 재단 프로젝트중의 한 소프트웨어 프로젝트로서 공개 분산형 구성 서비스, 동기 서비스 및 대용량 분산 시스템을 위한 네이밍 레지스트리를 제공한다. 주키퍼는 하둡의 한 하위 프로젝트이었으나 지금은 독립적인 상위 프로젝트이다. 주키퍼의 아키텍처는 중복 서비스를 이용한 고가용성을 제공한다. 클라이언트는 주키퍼 마스터가 응답을 하지 않으면 다른 주키퍼 마스터에게 요청을 한다. 주키퍼 노드들은 파일 시스템이나 trie 데이터구조와 비슷한 구조의 네임 스페이스안에 데이터들을 저장한다. 클라이언트들은 이 노드들에게서 읽거..
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/BigData 2017. 7. 29.
Cloudera quickstart(클라우데라), Zeppelin (제플린) 설치하기 및 예제
Cloudera quickstart, Zeppelin (제플린) 설치하기 포스팅을 시작하겠습니다. Cloudera quickstart, Zepplelin 설치 과정 l Step 1 : Cloudera Quickstart 다운로드 l Step 2 : VirtualBox 시스템 가져오기 l Step 3 : Cloudera Manager 설치 l Step 4 : Zeppelin 다운로드 l Step 5 : Zeppelin 환경설정 l Step 6 : Zeppelin 실행 Step 1 : Cloudera Quickstart 다운로드 l https://www.cloudera.com/downloads/quickstart_vms/5-10.html l Cloudera Manager quickstart VirtualBo..