본문 바로가기

분류 전체보기90

[Java] Github API를 이용해 스터디 출석률 계산기 만들기 백기선 님이 진행하는 자바 스터디 첫 프로그래밍 과제인 스터디 출석률 계산기 만들기 문제입니다. 스터디원들은 매주 깃헙 이슈에 올라오는 스터디 이슈에 댓글을 답니다. 댓글에는 각 주차마다 공부한 내용을 정리한 사이트의 링크를 첨부합니다. 이를 바탕으로 출석률 계산기를 만듭니다. 최종 결과물은 이런 형태가 될 겁니다. 구현 전략 구현 전략은 다음과 같습니다. 1. 스터디 시즌 1의 출석률을 계산할 것이므로 모든 이슈들 중에서 "시즌 1"이라는 라벨이 붙은 이슈만 순회합니다. 2. 이슈를 순회하면서 각 이슈에 달린 댓글들을 확인합니다. 3. 댓글을 단 아이디를 참여자 정보에 추가합니다. 이때 한 참여자가 하나의 이슈에 여러 댓글을 작성할 수 있으므로, 예외 로직을 구현해야 합니다. 4. 참여자의 댓글에 공부.. 2021. 1. 6.
[Java Study 4주차] 제어문 본 포스팅은 백기선님이 진행하시는 자바 스터디를 진행하며 혼자 공부하고 이해한 내용을 바탕으로 정리한 글입니다. 오류나 지적 사항이 있다면 댓글로 알려주시면 감사하겠습니다. 목표: 자바가 제공하는 제어문을 학습하세요. 제어문 프로그램의 실행 제어에는 세 가지 구조가 있다. 순차 구조에서 벗어나 프로그래머가 원하는 실행 흐름대로 프로그램을 제어하기 위한 문장(statement)을 제어문이라고 한다. 그 중 선택 구조와 반복 구조를 위해 사용되는 문장을 각각 선택문, 제어문이라고 한다. 선택문 자바의 선택문에는 if-else 예약어를 사용하는 if문과 switch-case 예약어를 사용하는 switch문이 있다. if 문 가장 간단한 형태의 선택문이다. 조건이 참이면 블록 안의 코드를 수행하고 거짓이면 수행.. 2021. 1. 2.
[Java Study 3주차] 연산자 본 포스팅은 백기선님이 진행하시는 자바 스터디를 진행하며 혼자 공부하고 이해한 내용을 바탕으로 정리한 글입니다. 오류나 지적 사항이 있다면 댓글로 알려주시면 감사하겠습니다. 목표: 자바가 제공하는 다양한 연산자를 학습하세요. 연산자 연산자 종류 자바에는 아래와 같은 연산자들이 존재한다. 연산의 우선순위가 높은 순서대로 나열되어 있다. Associativity는 연산의 방향을 나타낸다. L은 왼쪽에서 오른쪽으로 연산이 진행되고 R은 오른쪽에서 왼쪽으로 연산이 진행된다는 뜻이다. Associativity Operator Operand Types Operation Performed L . object, member 객체의 멤버에 접근 [ ] array, int 배열의 요소에 접근 (args) method, a.. 2020. 12. 31.
[우아한테크코스 3기] 실패 회고 실패 회고 우아한 테크코스 3기 최종 심사에 탈락했다. 예상은 하고 있었지만 막상 탈락 메일을 받으니 기분이 좋지 않은 것은 사실이다. 탈락한 이유는 세 가지 정도로 꼽을 수 있을 것 같다. 과도한 긴장 자바 API 사용의 미숙함 프로그램 구현에 대한 전반적인 연습 부족 먼저 콘솔 화면을 구현하는 것에 시간을 너무 많이 허비했다. 연습을 충분히 했더라면 그러지 않았을 텐데, 나의 노력 부족이다. 문제 자체를 이해하는데도 시간을 많이 허비했다. 과도한 긴장 때문이었다고 생각한다. 마음은 급한데 문제는 이해가 안되고, 그러다 보니 더 조급해지고... 처음부터 마음에 여유를 가지고 찬찬히 문제를 분석했더라면 시간을 훨씬 아낄 수 있었을 것이다. JGrapht 라이브러리를 이용해서 프로그램을 구현해야 했는데, .. 2020. 12. 31.
[Java] 클래스 멤버는 왜 인스턴스 멤버를 참조할 수 없을까? 클래스 멤버와 인스턴스 멤버 간 참조 관계 클래스 멤버(스태틱 변수, 스태틱 메서드)는 인스턴스 멤버를 사용할 수 없습니다. 아래 예시를 보시죠 static 예약어가 사용된 클래스 멤버에서 인스턴스 메서드를 호출하거나 인스턴스 변수를 사용하려고하면 빨간줄이 그어지면서 컴파일 에러가 발생합니다. 반면 인스턴스 메서드에서 클래스 변수를 사용하거나 클래스 메서드를 호출하는데는 아무런 문제가 없죠. 왜 이런 일이 발생할까요? 이는 클래스 멤버와 인스턴스 멤버가 생성되는 시기와 관련이 있습니다. JVM 메모리 구조 우선 JVM의 메모리 구조를 살펴봅시다. JVM의 Runtime Data Area는 서로 다른 용도를 가진 영역으로 구분되어 있습니다. 그 중 메서드 영역, 호출 스택, 힙에 대해 살펴보겠습니다. 메서.. 2020. 12. 30.
[Java Study 2주차] 자바 데이터 타입, 변수 그리고 배열 본 포스팅은 백기선님이 진행하시는 자바 스터디를 진행하며 혼자 공부하고 이해한 내용을 바탕으로 정리한 글입니다. 오류나 지적 사항이 있다면 댓글로 알려주시면 감사하겠습니다. 목표: 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 데이터 타입이란? 이전 포스팅에서 데이터 타입이 무엇이고 어떤 기능을 하는지에 대해 알아본 적이 있다. 간단하게 말하자면 데이터 타입이란 메모리의 크기와 형태를 지정하기 위한 도구이다. 이번에는 자바의 프리미티브 타입과 변수에 대해 알아보자. 원시 자료형(Primitive Data Type) 원시 자료형은 컴파일러 차원에서 미리 메모리의 크기와 형태를 지정해둔 것이다. 자바에는 8가지의 원시 자료형이 있다. 원시 자료형의 이름과 크기는 외워두는 것이 좋다... 2020. 12. 29.