반응형 분류 전체보기75 [Javascript] 오픈소스 차트 및 그래프 생성 - ECharts 소개 및 예제 안녕하세요, 웹 페이지에 동적으로 여러 차트를 생성하고자 할 때 유용하게 쓸 수 있는 자바스크립트 오픈소스 툴인 Apache ECharts에 대해 알아보겠습니다. EChart 공식 페이지의 Demo 페이지(https://echarts.apache.org/examples/en/index.html)에서 확인 할 수 있듯이, 선 그래프, 막대그래프, 파이 차트, Map, Tree, 게이지 바 등등 정말 다양한 차트를 Javascript를 통해 HTML 페이지에서 동적으로 생성이 가능합니다. 우선, 무료 오픈소스이고 Canvas 태그를 활용해서 구현이 되어 있어서 정말 다양한 곳에서 쉽게 사용이 가능할 것 같습니다. Demo들이 너무 많아서 하나하나 자세히 아직 못 봤지만.. 여러 예제들을 보면 애니메이션 기능.. 2022. 6. 9. [자바] Hash Set 정의 및 사용법 (추가, 삭제, 포함여부, 하나씩 출력, 리스트 변환 및 정렬) 안녕하세요, Java HashSet의 정의와 주요 기능에 관해 정리를 해보도록 하겠습니다. HashSet 자바의 HashSet은 Set 인터페이스의 구현체로, 중복이 허용되지 않는 자료구조입니다. 입력한 순서(인덱스)가 보장되지 않고, null도 데이터로 입력이 가능한 특징을 가지고 있습니다. 데이터를 입력 시, 기존 저장된 객체 중 같은 hashCode()를 찾고, 같으면 equals() 메서드를 통해 동일 객체인지 판단 후 동일 객체가 아닐 때만 데이터가 저장이 되는 구조입니다. 자바 Set 선언 및 데이터 추가 아래와 같이 HashSet을 선언하고 add() 메서드를 통해 값 입력이 가능하며, 입력 시에 중복을 검사하여 중복된 데이터가 있을 시 저장이 되지 않습니다. Set set = new Has.. 2022. 5. 31. [JAVA] BFS 기본 코드 (큐 사용) BFS BFS는 Breadth First Search의 줄임말로 너비 우선 탐색입니다. DFS와 같이 기본적인 그래프 알고리즘 중 하나로, 시작 정점에서 연결된 모든 정점을 방문하고, 다시 방문한 하나의 정점을 시작점으로 해서 또 연결된 모든 정점을 방문하는 식으로 구현됩니다. 아래의 예시를 보면, 0부터 시작하여, 0에 연결된 1과 2를 방문하고, 다시 1을 시작점으로 1에 연결된 3과 4를 방문하고, 2로 와서 방문할 점을 찾았는데 더 이상 방문할 점이 없고, 3과 4에서 연결 점을 찾았는데 둘 다 없으므로 종료하는 식으로 동작합니다. JAVA BFS 구현 위의 이미지를 구현해보면 아래와 같습니다. DFS와 동일하게 간선(Node)나 정점(Edge)의 정보는 ArrayList의 배열로 저장을 하였습니.. 2022. 5. 27. [JAVA] DFS 리스트 + 재귀 기본 코드 DFS DFS는 Depth Frist Search의 줄임말로, 깊이 우선 탐색입니다. 그래프 알고리즘에서 BFS와 함께 기본 알고리즘으로 하나의 정점에서 시작해 연결된 모든 정점을 방문할 때, 깊은 정점을 우선 방문하고 더 이상 방문할 정점이 없을 때, 다시 왔던 정점으로 돌아와서 방문하지 않은 정점을 방문하는 식으로 구현이 됩니다. 아래의 간단한 예시에서 보면, 0 > 1 > 3 을 깊이 우선으로 방문하고 더 이상 방문할 정점이 없으므로, 1로 돌아와 4를 방문하고, 다시 0으로 돌아와 2를 방문하는 식으로 모든 연결된 정점을 방문하고 있습니다. JAVA DFS 구현 위의 이미지를 간단하게 DFS 기본 코드를 구현해보면 아래와 같습니다. ArrayList의 배열과 재귀 함수를 이용하여 구현을 했는데, .. 2022. 5. 20. [JAVA][프로그래머스] Lv1 신고 결과 받기 (자바 풀이 및 코드) https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr Input id_list : 전체 유저의 ID 배열 ["muzi", "frodo", "apeach", "neo"] report : "신고한유저 신고당한유저"의 배열 ["muzi frodo","apeach frodo","frodo neo","muzi neo","apeach muzi"] k : 특정 유저의 신고 횟수가 k보다 같거나 클경우, 그 유저를 신고한.. 2022. 5. 13. [JPA] Spring Data JPA - Query Methods (쿼리 메서드) 안녕하세요, Spring Data JPA의 쿼리를 생성하는 기능 중 한 개인 메서드명을 규칙에 맞게 작성을 하면, 자동으로 쿼리가 생성되는 Query Methods (쿼리 메서드) 기능에 대해서 알아보겠습니다. 아주 복잡한 Entity나 Join 상황에서는 활용이 힘들겠지만, 간단하게 데이터를 불러오거나 저장하는 상황에서는 아주 유용하게 활용이 가능할 것 같습니다. 쿼리 메서드 샘플 예제 User Entity 아래와 같이 간략히 User Entity를 작성합니다. 쿼리 메서드를 사용시 변수명을 기준으로 작성이 되는데, 첫 글자가 대문자는 불가능하고 중간에 "_" 언더바 같은 기호도 인식이 불가능합니다. DB 테이블에 칼럼명을 이런 규칙을 어기면서 생성해야 하는 경우에는 아래와 같이 @Column(name.. 2022. 5. 10. [git] commit --amend 커밋 메시지 수정 및 파일 추가 안녕하세요, git을 사용하다 보면 Commit을 하고 Push를 하기 전에 Commit의 메시지 변경 혹은 변경된 파일을 추가하는 등 Commit을 변경해야 하는 경우가 종종 발생합니다. commit undo나 reset을 이용해서 취소를 하고 다시 커밋을 해도 되겠지만, 변경된 내용이 많은데 메시지를 수정을 하거나 파일을 한두 개 추가를 하는데 취소 후 다시 하기에는 너무 복잡한 경우가 많습니다. 그럴 때 commit amend라는 기능을 이용해서 commit을 수정할 수 있습니다. - IDE UI를 이용하여 commit amend eclipse Git Staging 탭으로 가면 우측 상단에 Aemnd라는 버튼이 있습니다. 바로 직전 Commit에 대해 Message를 다시 작성하고, 파일을 Stag.. 2022. 5. 3. [Spring] 스프링 의존성 주입 (Dependency Injection) 개념 및 종류 오늘은 Spring 프레임워크의 DI (의존성 주입, Dependency Injection)에 관해 공부를 하면서 정리를 해보도록 하겠습니다. 1. DI(의존성 주입)이란? Spring Dependency Injection이란, 각 객체 간 의존관계를 스프링 컨테이너가 개발자가 정의한 Bean 등록 정보를 바탕으로 자동으로 주입해주는 기능입니다. 일반적인 다양한 기존 스프링 프로젝트를 보면, Controller에서 Service나 Repository 객체를 사용 시, new 키워드를 통해 컨트롤러에서 객체를 직접 생성하여 사용하지 않고 의존성 주입을 통해 스프링 컨테이너에 생성된 객체를 받아 사용하고 있는 것을 볼 수 있습니다. @Component, @Service, @Repository, @Contro.. 2022. 4. 22. [VS Code] UI로 간단하게 Git 사용 (VSCode Git 초기 설치 및 세팅) 안녕하세요, 오늘은 대표 형상관리 툴인 Git을 VS Code에서 사용하기 위한 초기 설치 및 세팅을 해보도록 하겠습니다. 그리고 터미널에서 Git 커맨드를 입력하지 않고, VS Code의 UI를 이용하여 간단하게 신규 Git Repository를 생성하고 Commit / Push / Pull을 진행해보도록 하겠습니다. 1. Git 설치 가장 먼저 Git이 설치되어 있어야 합니다. Windows OS 기준으로 아래 공식 사이트에서 자신의 bit에 맞는 설치 버전을 다운로드하여 설치를 진행하면 됩니다. 설치하면서 물어보는 게 많기는 한데, 하나하나 확인하기는 번거로워서 우선은 Default로 Next를 광클하여 설치를 하였습니다. https://git-scm.com/download/win 2. VSCode.. 2022. 4. 20. [Docker] Spring Boot + Redis Docker Compose로 다중 컨테이너 실행 예제 안녕하세요, Spring Boot로 Redis에 데이터를 입력하고, 데이터를 불러오는 아주 간단한 Spring Boot API 애플리케이션 서버를 만들고, Docker Compose를 이용하여 Redis 컨테이너와 우리가 만든 Spring Boot 애플리케이션 이미지 컨테이너를 동시에 띄우는 예제를 만들어 보면서 Docker Compose를 공부해보도록 하겠습니다. 먼저, Docker Compose란 여러개의 컨테이너를 동시에 실행하기 위한 툴이라고 합니다. 우리가 작성한 2개의 서로 다른 이미지나 작성한 이미지 + DB나 Redis 같은 공식 이미지를 함께 실행하기 위한 툴입니다. 리눅스의 경우 따로 Docker Compose를 설치해야 하지만, Windows나 Mac에서는 Docker Desktop을.. 2022. 4. 14. 이전 1 2 3 4 5 6 7 8 다음 반응형