728x90 분류 전체보기35 4주차 과제: live-study 대시 보드 다음을 만족 시키는 코드를 작성하시오. 깃헙 이슈 1번부터 18번까지 댓글을 순회하며 댓글을 남긴 사용자를 체크 할 것. 참여율을 계산하세요. 총 18회에 중에 몇 %를 참여했는지 소숫점 두자리가지 보여줄 것. 제출 코드는 다음을 통해서 자세히 볼 수 있다. doyoung0205/github-api Contribute to doyoung0205/github-api development by creating an account on GitHub. github.com 준비물 먼저, 깃허브 이슈를 코드로 접근하려면 관련 dependency 와 깃허브 접근 수단이 있어야 한다. GitHub API for Java – What is this? This library defines an object or.. 2021. 1. 2. 4주차 과제 LinkedList 목차 LinkedList에 대해 정수를 저장하는 ListNode 클래스를 구현 ListNode add(ListNode head, ListNode nodeToAdd, int position)를 구현 ListNode remove(ListNode head, int positionToRemove)를 구현 boolean contains(ListNode head, ListNode nodeTocheck)를 구현 LinkedList에 대해 LinkedList 는 각 노드가 데이터와 다음노드를 가르키는 포인터를 가지고 한 줄로 연결되어 있는 방식의 자료구조이다. 데이터를 담고 있는 노드들이 연결되어 있고, 노드의 포인터가 이전 노드와 다음 노드와의 연결을 담당한다. Node는 LinkedList에 객체를 추가하거나 .. 2021. 1. 2. 4주차 과제: Stack 스택 (Stack) 에 대하여 사전적 의미로 "쌓다", "더미" 라는 뜻이다. 바구니에 물건을 하나씩 쌓아 둔다 로 생각하면 편하다. 위의 이미지를 보면 처음 들어간 물건이 나중에 나온다. 후입선출로 스택은 LIFO 구조이다. 예를 들어, 인터넷 뒤로가기 앞으로가기가 있다. Stack을 구현하세요. int 배열을 사용해서 정수를 저장하는 Stack을 구현 public class Stack { private int size = 5; // 스택의 용량 private int[] valeus; // 스택에 저장된 값들 private int topIndex; // 스택의 포인터 //stack 생성자 public Stack() { this.topIndex = 0; valeus = new int[size]; .. 2021. 1. 2. 4주차 과제: Queue Queue를 구현 먼저 집어 넣은 데이터가 먼저 나오는 FIFO (First In First Out) 자료구조이다. 구현하는 방법은 배열과 LinkedList 두가지 가 있다. 1. 배열 public class Queue { private int[] values; public Queue() { } public Queue(int[] values) { this.values = values; } //인큐 : 데이터 삽입 public void enQueue(int data) { //맨 처음 들어오는 데이터에 대한 처리 if (values == null) { values = new int[1]; values[0] = data; return; } //정수 배열의 크기를 늘려준 뒤 마지막에 데이터를 넣어준다.(.. 2021. 1. 2. Junit5 에서 Mockito 사용하기 아래의 글을 작성하면서 Mockito 에 대해서 궁금해져서 공부를 해보았다. Junit5 시작 What is JUnit 5? JUnit 5 Société Générale Use, Contribute and Attract: learn about Société Générale's open source strategy. junit.org junit-team/junit5 ✅ The 5th major version of the pr.. doyoung.tistory.com 사용한 코드는 아래의 깃허브 저장소에서 볼 수 있다. doyoung0205/junit5-study junit5-study repository. Contribute to doyoung0205/junit5-study development by c.. 2021. 1. 2. Junit5 시작 What is JUnit 5? JUnit 5 Société Générale Use, Contribute and Attract: learn about Société Générale's open source strategy. junit.org junit-team/junit5 ✅ The 5th major version of the programmer-friendly testing framework for Java and the JVM - junit-team/junit5 github.com JUnit 5 Architecture: JUnit Platform + JUnit Jupiter + JUnit Vintage 기존의 큰 하나의 jar 덩어리였던 junit4 가 Junit5가 되면서 Viantage(4 번.. 2021. 1. 2. 5주차 과제: 클래스 목표 자바의 Class에 대해 학습하세요. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 마감일시 2020년 12월 19일 토요일 오후 1시까지. 메소드 정의하는 방법 가장 유명한 메소드는 다음과 같다. public static void main(String[] args) { } 이름은 main 이고 메소드가 실행되면 중괄호 안에 있는 내용이 순차적으로 실행된다. public static void main(String[] args) { String myName = "doyoung"; System.out.println(myName); } // 실행결과 // doyoung 메소드는 왜 이렇게 생긴 .. 2021. 1. 1. 5주차 과제: BinaryTree 이론 BinaryTree(이진트리) 가 무엇인가? 이진트리는 각각의 노드가 최대 두 개의 자식 노드를 가지는 트리 자료 구조로, 자식 노드를 각각 왼쪽 자식 노드와 오른쪽 노드 자식 노드라고 한다. 그림에서 보면 다음과 같은 규칙을 가지고 있다. 이진트리는 항상 두개의 자식 노드를 가지고 있다. 모든 원소는 중복된 값을 가져서는 안된다. 왼쪽 서브트리에 존재하는 노드들의 값은 그 트리의 루트 값보다 반드시 작다. 오른쪽 서브트리에 존재하는 노드들의 값은 그 트리의 루트 값보다 반드시 크다. 이진트리의 종류 모든 레벨의 노드가 꽉 차있는 이진트리 완전 이진 트리 (무조건 왼쪽부터 차곡차곡 채워진 형태) 이진트리의 삽입 예시 그렇다면 이진트리를 왜 사용할까? 이진트리(Binary search tree.. 2021. 1. 1. 7주차 과제: 패키지 목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 -classpath 옵션 접근지시자 마감일시 2021년 1월 2일 토요일 오후 1시까지. Package 목적 어떤 상품들을 묶어서 용도나 목족에 맞춰서 분리 한 것을 의미한다. e.g 제주도 여행 패키지, 베트남 여행 패키지 제주도와 베트남 여행 패키지 안에는 비행기표 라는 같은 이름을 가진 내용물이 있다. 이 비행기표는 하나는 제주도 하나는 베트남 을 가는 다른 비행기표이다. 비행기표라는 이름 만 들었을 때는 목적지를 쉽게 알수 없기 때문에, 제주도 여행 패키지 안에 있는 비행기표 이렇게 표현할 수 있는 것이다. Package 의미 예를 들어, ArrayList 라는.. 2021. 1. 1. 5주차 과제: BinaryTree 실습 꽤 오래 걸렸다. 구현하는데, 다른 분들의 코드를 보아도 잘 이해가 되지 않아서 많이 애먹었던 것 같다.. 과제 (Optional) int 값을 가지고 있는 이진 트리를 나타내는 Node 라는 클래스를 정의하세요. int value, Node left, right를 가지고 있어야 합니다. BinrayTree라는 클래스를 정의, 주어진 노드를 기준으로 출력하는 bfs(Node node)와 dfs(Node node) 메소드를 구현하세요. * DFS는 왼쪽, 루트, 오른쪽 순으로 순회하세요. 실습한 코드 보러가기 doyoung0205/live-study 온라인 스터디. Contribute to doyoung0205/live-study development by creating an account on GitH.. 2021. 1. 1. 2020년 회고록 2020년 회고 정말 많은 일이 있었던 것 같은데... 잘 생각이 나지 않는다. 지난 기억들을 소환하기 위해서 사진첩을 열어보았다. 지난 1월 부터 무엇을 했는지 건강 이번년도 1분기에는 유난히 아킬레스, 부정맥, 어깨 화상 등으로 많이 다쳤다. 아킬레스가 찢어져서 힘든 점은 걸을 때 마다 아프다는 것이다. 초반에는 걸을 때 마다 상처가 찢어져져 항상 붕대가 빨갛게 번졌고 하던 운동을 하지 못하기 때문에, 운동을 하지 않는 좋은 핑계가 생긴다. 몸이 많이 안좋아졌다.. 또한 부정맥은 고통이 동반하지는 않았지만, 심장이 엄청 빠르게 뛰고 육안으로 가슴이 떨리는 것이 보여 정신적으로 많이 불안했다. 몸이 많이 아프다 보니 주위 사람들에게 서운한 일들이 있으면 더욱 서운했다. 그래서 인가, 회사생활이 너무 어.. 2020. 12. 31. 시간복잡도 (Time Complexity) 소개 지하철을 탈 때, 4~5 정거장을 가야할 때, 급행과 일반이 있다면 어느것을 타도 상관이 없다. 하지만 20~30 정거장을 가야할 때는 무조건 급행을 탈것이다. 시간이 차이가 많이 날테니까, 실제로 대부분의 사람들은 어디서 환승을 하고 어디로 가야 가장 빠른 시간에 도착지에 도착할 수 있는지 심지어 어느 칸에 타야 더 빠른 환승이나 출구로 갈 수 있는지를 지하철 앱을 통해서 미리 검색을 하고 지하철을 탈 것이다. 알고리즘 여기서 지하철을 타고 목적지에 도착하는 과정을 알고리즘이라 한다. 시간 복잡도 시간 복잡도(Time Complexity)는 알고리즘을 수행하는 데 연산들이 몇 번 이루어지는 지를 숫자로 표기한다. 지나온, 지나갈 정거장의 수를 시간복잡도로 나타낼 수 있는데, 최소 정거장으로 도착지.. 2020. 12. 27. Show byte code 인텔리 J 를 통해서 쉽게 바이트 코드를 볼 수 있다. 기존에 바이트 코드를 보려면 터미널에서 javap 명령어를 사용했어야 했는데, 인텔리 j 에서는 shift 두번을 누르고 show bytecode를 치면된다. 2020. 12. 27. 0주차 : kick off 백기선님이 주최하는 자바스터디 주제: 자바 공부 방식: 매 주마다 공부할 거리들을 깃허브 이슈로 올려주신다. 해당 이슈에 공부한 내용을 댓글로 달면 확인해 피드백을 주신다. 출제한 주가 지나도 과제를 올릴 수 도 있고 출석으로도 인정이 된다. 다만 리뷰는 해당 주에 올린 것에 대해서만 한다. 출석률은 해당 저장소 README.md 파일을 통해서 확인할 수 있다. whiteship/live-study 온라인 스터디. Contribute to whiteship/live-study development by creating an account on GitHub. github.com 동기부여로 출석률이 좋으면 수료기념 티셔츠를 보내준다고 한다. 필자는 매주 매주 하다보면 그동안 놓쳤던 자바에 대한 생각이나 지식.. 2020. 12. 26. 6주차 과제: 상속 백기선님 ISSUE - 6주차 과제: 상속 6주차 과제: 상속 · Issue #6 · whiteship/live-study 목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 마 github.com 6 주차 학습할 것 (필수) 자바 상속의 특징 super 키워드 메서드 오버 라이딩 다이내믹 메서드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 *추가: 더블 디스패치 와 visitor(방문자) 패턴 백기선님의 책추천 객체지향의 사실과 오해 오브젝트 사용한 코드 저장소 d.. 2020. 12. 26. 이전 1 2 다음 728x90