
[live-study 대시 보드 참고사항] 깃헙 이슈 1번부터 18번까지 댓글을 순회하며 댓글을 남긴 사용자를 체크할 것 참여율을 계산할 것 (총 18회 중 몇 %를 참여했는지 소숫점 두자리까지 보여줄 것) Github 자바 라이브러리를 사용 깃헙 API를 익명으로 호출하는데 제한이 있기 때문에 본인의 Github 프로젝트에 이슈를 만들면 더 자주 테스트 가능 Github 자바 라이브러리를 사용하여 Gihub와 연결하기 위해서는 인증 과정을 거쳐야 합니다. 여러가지 인증 방식이 존재하지만 라이브러리 상에서 Personal access token을 활용하는 방법으로 진행하였습니다. 라이브러리를 Maven 프로젝트에서 사용하기 위해 Download 탭으로 가게 되면 라이브러리를 버전별로 확인하고 다운로드할 ..

JUnit 5 JUnit은 자바에서 사용하는 단위 테스트 프레임워크이며 JUnit 5는 이전 JUnit 버전들과 다르게 다양한 모듈로 구성되어 있습니다. JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage Packt, Introduction to JUnit 5, subscription.packtpub.com/book/application_development/9781787284661/4/ch04lvl1sec35/introduction-to-junit-5 Introduction to JUnit 5 - Building Web Apps with Spring 5 and Angular 4 In this section, you will learn about JUni..
목표 자바가 제공하는 제어문 학습하기 학습할 것 선택문 반복문 제어문 종류는 선택문과 반복문이 있는데 선택문에는 if문, switch문이 있고 반복문에는 for문, while문, do-while문이 있다. 1. 선택문(조건문) 제어문 블록 실행이 완료되었을 경우 제어문 블록을 빠져나와 정상 흐름으르 돌아가게 된다. if문 조건식의 결과에 따라 블록 실행 여부가 결정되며 조건식이 true인 경우 블록을 실행하고 false인 경우 블록을 실행하지 않는다. if ( 조건식 ) { 실행문; 실행문; } public class Example { public static void main(String[] args) { int score = 90; if ( score >= 90 ) { System.out.printl..
자바에서는 리스트를 정렬할 때 기본형 데이터 타입에 대한 정렬 기준이 정의되어 있기 때문에 Collections.sort로 리스트를 정렬할 수 있습니다. 하지만, 기본형 데이터 타입이 아닌 커스텀 타입의 리스트를 정렬하려고 하면 컴파일 에러가 발생합니다. 순위에 따라 선수들을 정렬하는 축구팀을 예시로 설명해보겠습니다. 먼저 선수들에 대한 정보를 저장하기 위해 Player라는 클래스를 만들 수 있습니다. public class Player { private int ranking; private String name; private int age; // constructor, getters, setters } Player 클래스를 생성한 후 선수들의 정보를 리스트에 넣고 Collections.sort를 이용..
데이터베이스와 데이터베이스 관리 시스템 데이터베이스와 데이터베이스 관리 시스템인 DBMS를 쉽게 설명하기 위해 데이터베이스를 도서관에 있는 책들이라고 하면 데이터베이스 관리 시스템은 도서관에 있는 책을 찾아주는 컴퓨터라고 할 수 있다. 데이터베이스의 기본 개념 데이터의 집합 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터의 집합 데이터들은 효율적으로 저장, 검색, 갱신할 수 있도록 데이터 집합들끼리 연관시키고 조직화되어야 한다. 데이터베이스의 특성 1. 실시간 접근성(Real-time Accessability) 사용자의 요구를 즉시 처리할 수 있다. 2. 계속적인 변화(Continuous Evolution) 정확한 값을 유지하려고 삽입·삭제·수정 작업 등을 이용해 데이터를 지속..
그리디(Greedy) 알고리즘 최적의 해를 구하기 위해 현재의 선택이 나중에 미칠 상황은 고려하지 않고 현재 상황에서 가장 좋아보이는 것을 고르는 방법 그리디(Greedy) 알고리즘은 다른 알고리즘 이론들과는 다르게 사전에 사용 방법에 대해 익숙해지지 않아도 자연스럽게 풀 수 있는 알고리즘 문제 유형 중 하나이다. 항상 현재 상황에서 최적이라고 생각되는 것을 선택하지만 결과 또한 최적이라는 것은 보장할 수 없다. 이 알고리즘을 사용하는 대표적인 문제 중 하나는 '거스름돈' 문제가 있으며 이 포스팅에서는 거스름돈 문제를 예시로 그리디 알고리즘을 설명하려고 한다. 백준 - 5585번 : 거스름돈 문제(www.acmicpc.net/problem/5585) (문제) 타로는 자주 JOI잡화점에서 물건을 산다. J..
목표 자바가 제공하는 다양한 연산자 학습하기 학습할 것 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 Java 13. switch 연산자 1. 산술 연산자 일반적으로 말하는 사칙연산인 더하기(+), 빼기(-), 곱하기(*), 나누기(/)와 나머지를 구하는 연산자(%)를 포함한다.산술 연산자는 boolean 타입을 제외한 모든 기본 타입에 사용할 수 있다. 산술 연사자의 특징은 피연산자들의 타입이 동일하지 않을 경우 피연산자들의 타입을 일치시킨 후 연산을 수행한다. ① 피연산자들이 모두 정수 타입이고, int 타입(4byte)보다 크기가 작은 타입일 경우 모두 int 타입으로 변환 후, 연산..

레이어드 아키텍처(Layered Architecture) 레이어드 아키텍처를 이해하는데 예시로 들만한 것 중 많은 사람들이 이용하는 Gmail에 대한 예시가 있어 참조하여 작성합니다. 구글에서 만든 Gmail 서비스가 어떻게 전세계에서 각각의 언어로 동작되도록 만들어졌는지 생각해본 적이 있으신가요? 사용자들은 영어, 스페인어, 프랑스어, 러시아어 등 다양한 언어로 Gmail 서비스를 이용합니다. 다양한 언어로 Gmail 서비스가 동작된다고 해서 구글은 각 나라마다 다른 Gmail Application을 개발하지는 않습니다. 구글은 모든 메세지를 처리하는 내부 버전을 개발하고, 여러 언어로 동작하는 다양한 외부 유저 인터페이스를 개발합니다. 구글이 개발한 Gmail Application은 여러 계층으로 나..