memostack
article thumbnail
그래프 데이터베이스에 대해서 (Graph Database)
Database 2020. 9. 2. 18:59

그래프 데이터베이스를 사용하는 이유? 전통적인 RDBMS 기술보더 더 관계를 잘 표현할 수 있는 데이터베이스로 그래프가 활용 그래프 데이터베이스는 거미줄처럼 복잡한 관계를 가지고 있는 빅데이터를 분석하는데 용이 그래프 데이터베이스는 그래프 이론에 토대를 둔 일종의 NoSQL 데이터베이스 그래프 데이터베이스란? 기존 관계형 데이터베이스와 비교를 해보면, 기존 관계형 데이터베이스 특징 관계형 데이터베이스(RDB)는 데이터를 테이블에 저장함 테이블은 레코드와 컬럼으로 구성되어있고, 테이블내의 외래키를 통해 두 엔티티 사이의 관계를 표현하는데 사용함. SQL이라는 쿼리를 사용하여 데이터를 조회하거나 업데이트 할 수 있음 RDB의 join 조인은 외래키와 테이블의 모든 행의 기본키와 일치시켜 쿼리시 계산한다. 이..

article thumbnail
Neo4j 란?
Database/Neo4j 2020. 9. 2. 18:39

Neo4j Neo4j사가 개발한 '그래프 데이터베이스' 관리 시스템 Neo4j는 GPL3 라이선스의 오픈 소스 커뮤니티 에디션으로 이용이 가능 Neo4j는 Java로 구현되어 있음 Cypher Query Language 를 통해 다른 언어로 작성된 소프트웨어에서 접근이 가능 Graph Database - https://memostack.tistory.com/94 Cypher Query Language (사이퍼 질의어) - 그래프의 효율적인 질의 및 업데이트를 할 때 사용하는 선언형 그래프 질의어 - Cypher는 비교적 단순하고 매우 강력한 언어 (복잡한 데이터베이스 쿼리를 쉽게 표현할 수 있음) neo4j 의 github Link: https://github.com/neo4j/neo4j neo4j/ne..

article thumbnail
피보나치 수열 효율적으로 풀어보기 (Java 알고리즘)
Algorithm 2020. 8. 31. 20:37

피보나치 수열 피보나치 수열을 이전 항 2개를 더한값이 현재 항이 되는 수열이다. 예를들어, A(n) = A(n-1) + A(n-2) (단, A(1) = 1, A(2) = 1 이다) 를 만족하는 수열 2 3 5 8 13 21 34 55 89 144 233 ... 프로그래밍 피보나치 수열을 풀어보는 방법은 여러방법이 있다. 그 중 아래 3가지 방법으로 풀어본다. 배열로 풀어보는 방법 배열없이 풀어보는 방법 재귀함수를 이용하는 방법 1. 배열로 풀어보는 방법 STEP 1. int 배열을 선언한다. STEP 2. A(1) = 1, A(2) = 1을 미리 초기화한다. STEP 3. 반복문을 이용하여 A(n) = A(n-1) + A(n-2)를 이용하여 계속해서 더한다. public static void main(..

article thumbnail
프로그래머스 - 2016년 (Java)
Algorithm 2020. 8. 30. 01:05

문제의 저작권은 프로그래머스(https://www.acmicpc.net/)에게 있습니다. 문제 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 TUE를 반환하세요. 제한 조건 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 예제 a|b|result 5|24|TUE Coding - Java if문을 사용하여 1월, 2월..

article thumbnail
프로그래머스 - 가운데 글자 가져오기 (Java)
Algorithm 2020. 8. 29. 17:36

문제의 저작권은 프로그래머스(https://www.acmicpc.net/)에게 있습니다. 문제 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 예제 // Input abcde // Output c // Input qwer // Output we Coding - Java substring()을 이용하여, 가운데에 위치한 문자를 가져온다. public static String solution(String s) { String answer = ""; final int length = s.length(); if (0 == length % 2) { // 짝수 final in..

Integer.parseInt 와 Integer.valueOf의 차이 (JAVA)
Language/JAVA 2020. 8. 28. 19:43

목표 Integer.parseInt()와 Integer.valueOf()의 차이를 알아본다. 차이점 문자열로 된 숫자를 parseInt와 valueOf를 사용하여 타입 변환을 해보고 출력해보면 같은 결과가 나온다. public class Main { public static void main(String[] args) { String angel = "1004"; // 출력 System.out.println(Integer.parseInt(angel)); // 1004 System.out.println(Integer.valueOf(angel)); // 1004 } } 1004 1004 타입을 찍어보면, parseInt의 경우는 getClass()라는 메소드가 없어서 오류가 발생한다. 반면, valueOf는 ..

article thumbnail
백준 1330번 - 두 수 비교하기 (Java)
Algorithm/Beakjoon 2020. 8. 28. 19:32

문제의 저작권은 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. 예제 // Input 1 2 // Output // Input 5 5 // Output == Coding - Java 단순히 if문을 이용하여 두 수를 비교하여 알맞은 부등호를 출력하면 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void..

article thumbnail
백준 1000번 - A + B (Java)
Algorithm/Beakjoon 2020. 8. 28. 19:20

문제의 저작권은 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 예제 // Input 1 2 // Output 3 Coding - Java 콘솔로 입력을 받을때는 Scanner 또는 BufferedReader, System.in.read()가 있다. 본 글에서는 BufferedReader 와 System.in.read()를 이용하여 문제를 풀었다. 방법 1. BufferedReader 이용 import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[]..

article thumbnail
백준 Ex.10171번 - 고양이 (JAVA)
Algorithm/Beakjoon 2020. 8. 26. 18:08

문제의 저작권은 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 아래 예제와 같이 고양이를 출력하시오. 예제 // Input 없음 // Output \ /\ ) ( ') ( / ) \(__)| Coding - Java 쉬운 문제 같지만, 성급하게 풀면 이스케이프 문자를 신경쓰지 못하고 틀릴 확률이 높다. (정답률도 36.614%...) 백슬래쉬(\)를 주의해서 입력해야 함. public class Main { public static void main(String[] args) { System.out.println("\\ /\\\n" + " ) ( ')\n" + "( / )\n" + " \\(__)|"); } } 채점 결과 Reference https://www.acmic..

article thumbnail
백준 Ex.10718번 - We love kriii (JAVA)
Algorithm/Beakjoon 2020. 8. 26. 17:54

문제의 저작권은 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올 해에도 파주 World Finals 준비 캠프에 참여했다. 대회를 뜰 줄 모르는 지박령 kriii를 위해서 격려의 문구를 출력해주자. 예제 // Input 없음 // Output 강한친구 대한육군 강한친구 대한육군 Coding - Java 간단한 문제이고, 방법 2가지로 풀어볼 수 있다. 방법 1. System.out.println()를 2번 호출 방법 2. 개행문자(\n)를 이용 방법 3. 람다식을 이용한 방법 (비추천, 비효율적이기 때문에) // 방법 ..

article thumbnail
백준 Ex.2557번 - Hello World (JAVA)
Algorithm/Beakjoon 2020. 8. 26. 17:48

문제의 저작권은 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 Hello World!를 출력하시오. 예제 // Input // Output Hello World! Coding - Java 프로그래밍을 처음 배우면 가장 먼저 만들어보는 프로그램으로, 단순히 표준 출력을 이용하여 Hello World!를 찍어주면 된다. public class Main { public static void main(String[] args) { System.out.println("Hello World!"); } } 채점 결과 Reference https://www.acmicpc.net/problem/2557 2557번: Hello World Hello World!를 출력하시오. www.acm..

article thumbnail
Groovy! JAVA와의 차이점
Language/Groovy 2020. 8. 20. 09:42

Default Import 아래 패키지는 기본으로 import 되어 있기 때문에 바로 사용 가능하다. java.io.* java.lang.* java.math.BigDecimal java.math.BigInteger java.net.* java.util.* groovy.lang.* groovy.util.* Multi-Methods 그루비는 런타임시의 인수 유형에 따라 적절한 메소드를 선택하여 실행 함. 이렇게 호출하는 방식을 디스패치(Dispatch) 또는 다중메소드(Multi-Methods)라고 함. int method(String arg) { return 1; } int method(Object arg) { return 2; } Object o = "Object"; int result = method..

article thumbnail
Groovy 다운로드 및 사용 환경 구축 (Version 3.0.5)
Language/Groovy 2020. 8. 20. 08:45

Groovy 란? Groovy는 자바에 파이썬, 루비와 같은 동적 언어의 특징을 넣은 스크립트 언어 JVM 위에서 동작하는 동적 스크립트 언어 Jython, JRuby, Jacl, Rhino, LuaJava 등에 비해 손색이 없으며, 빠르게 성장 중 방법 1. brew 를 이용하여 Groovy 다운로드 주의할 점 '방법 1'은 Mac OSX에서만 가능한 방법이므로, 다른 OS인 경우 '방법 2'를 참고. brew를 이용하여 설치하기 때문에, brew 설치가 우선적으로 되어 있어야 함. hong@TaehongKimui-MacBookPro ~ % brew install groovy Updating Homebrew... ... ==> groovy You should set GROOVY_HOME: export ..

article thumbnail
python으로 qrcode 생성기 만들기
Language/Python 2020. 8. 8. 13:41

모듈 다운로드 python 3.4버전 이상 pip install --upgrade pip pip install qrcode Pillow 설치 확인 hong@TaehongcBookPro ~ % python3 Python 3.7.7 (v3.7.7:d7c567b08f, Mar 10 2020, 02:56:16) [Clang 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import qrcode 코딩 # -*- coding: utf-8 -*- import os import qrcode url = r"https://memostack.tistory.com/" img_form..

article thumbnail
1. 생성자 대신 정적 팩터리 메소드를 고려하라 (Effective JAVA)
Study/Effective JAVA 2020. 7. 27. 21:45

인스턴스를 얻는 방법 전통적인 방법은 public 생성자(constructor) 정적 팩토리 메소드(static factory method)로 부터 제공 받음 그 클래스의 인스턴스를 반환하는 단순한 정적(static) 메소드 '정적 팩토리 메소드'는 '디자인 패턴'에서의 '팩토리 메소드(Factory Method)'와 다르다. 또한, 디자인 패턴 중에 이와 일치하는 패턴은 없다. 정적 팩토리 메소드의 예 메소드 설명: 기본 타입(primitive type)인 boolean 값을 받아 Boolean 객체 참조로 변환 public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; } Static Factory Method..

article thumbnail
CentOS7 네트워크 설정
DevOps/Linux 2020. 7. 22. 19:13

네트워크 설정 # cd /etc/sysconfig/network-scripts/ # ls ifcfg-enp0s3 ifdown-isdn ifup-aliases ifup-ppp ifcfg-lo ifdown-post ifup-bnep ifup-routes ifdown ifdown-ppp ifup-eth ifup-sit ifdown-Team ifdown-routes ifup-ippp ifup-tunnel ifdown-TeamPort ifdown-sit ifup-ipv6 ifup-wireless ifdown-bnep ifdown-tunnel ifup-isdn init.ipv6-global ifdown-eth ifup ifup-plip network-functions ifdown-ippp ifup-Team ifup..

article thumbnail
Virtual Box에 CentOS7 설치
DevOps/Linux 2020. 7. 21. 22:32

참고. CentOS 란? 레드햇(RedHat)에서 개발한 리눅스 계열의 운영체제(Operating System)이다. 무료로 제공하고 있어서 기업에서도 많이 사용하는 운영체제이다. (부를때는 센트OS, 센토스 등등 사람마다 다양하게 부르지만, 글쓴이의 경우는 센트OS라고 부르고 있다) Virtual Box에 CentOS7 설치 1. iso 파일 다운로드 아래 사이트에서 iso 이미지 파일을 다운로드 받는다. http://isoredirect.centos.org/centos/7/isos/x86_64/ CentOS Mirrors List isoredirect.centos.org 2. Virtual Machine 생성 CentOS7을 설치할 가상 머신 VM을 생성한다. 3. CentOS7 설치 설치가 모두 끝..

article thumbnail
Mac OS에서 Virtual Box 설치 실패하는 경우
ETC 2020. 7. 21. 22:12

Virtual Box 설치 실패 아래와 같이 Mac OS에서 설치 실패하는 경우가 발생함. '시스템 환경 설정' > '보안 및 개인 정보 보호' > 하단의 자물쇠 클릭 아래와 같이 Mac OS에서 차단을 하는 바람에 설치가 정상적으로 이루어지지 않는다. '허용'을 누른다. 다시 설치를 하면, 정상적으로 설치가 된다. 다른 글 2020/07/21 - [OS/Linux] - Virtual Box에 CentOS7 설치 Virtual Box에 CentOS7 설치 참고. CentOS 란? 레드햇(RedHat)에서 개발한 리눅스 계열의 운영체제(Operating System)이다. 무료로 제공하고 있어서 기업에서도 많이 사용하는 운영체제이다. (부를때는 센트OS, 센토스 등등 사람마다 � memostack.tist..

article thumbnail
Jenkins 'Simple Theme' 플러그인으로 테마 변경하기
DevOps/Jenkins 2020. 7. 8. 23:10

젠킨스 플러그인 Simple Theme Simple Theme를 이용하여 젠킨스의 테마를 다양하게 변경 할 수 있다. 테마 변경하기 1. 플러그인 설치 좌측 메뉴에서 'Jenkins 관리' 클릭 > '플러그인 관리' 클릭 검색창에 simple theme 검색. 체크박스 체크하고, '지금 다운로드 하고 재시작 후 설치하기' 클릭 플러그인 설치 2. 테마 적용 좌측 메뉴에서 'Jenkins 관리' 클릭 > '시스템 설정' 클릭 설정에서 Theme 쪽에서 ADD 버튼을 눌러, CSS URL을 설정한다. 테마 CSS URL 정보는 http://afonsof.com/jenkins-material-theme/ 를 참고한다. URL 예시 RED https://cdn.rawgit.com/afonsof/jenkins-m..

article thumbnail
Homebrew를 이용하여 젠킨스(Jenkins) 설치하기
DevOps/Jenkins 2020. 7. 8. 22:39

사전 준비물 Mac OSX homebrew가 설치되어있는 환경 Home brew를 이용하여 젠킨스 설치하기 1. 아래 명령어 수행 $ brew install jenkins 2. 설치 후 젠킨스(Jenkins) 실행 $ brew services start jenkins 3. 브라우저를 이용하여 localhost:8080 으로 접속 4. 관리자 패스워드 입력 브라우저에 표시된 경로에 위치한 파일에서 '관리자 패스워드'를 가져와 입력한다. $ vim /Users/hong/.jenkins/secrets/initialAdminPassword 5. 기본 플러그인 설치 본 글에서는 젠킨스 초기 셋팅을 하면서 '추천 플러그인'을 설치하도록 했다. (1번째 버튼 클릭) 수동으로 원하는 플러그인을 설치하고 싶은 경우, 2..