분류 전체보기

우아한테크코스 6기/1단계

[블랙잭 미션] 감정 회고

약 한달가량 늦은 업로드...그때 그때 업로드해야겠다 싶어도 미루게 되버리는 것 같다... Keep추가된 요구사항을 지키기 위해 노력한 것객사오 책에서 배운 책임이라는 개념을 적용하기 위해 노력한 것Problem도메인에 대한 이해가 부족하여 전체적인 미션 진행이 어려웠다.페어 프로그래밍을 할 때 짝의 속도를 따라가기 버거웠다.최대한 이해를 해보려고 질문도 하려고 했지만 나때문에 속도가 느려지는 것 같아 그냥 넘어갔다.중간부터는 이해가 안돼서 프로그래머가 아닌 따라치기만 하는 코더였다.입출력 요구사항을 다르게 이해하고 구현했다.시간이 많이 소요됐다.처음에 책임을 추출(?)하려고 했는데 잘 감이 오지는 않아서 어려웠다.처음 강의를 조금 놓치다가 보니 점점 강의 시간에 잘 집중하지 못했던 것 같다.try이번에..

우아한테크코스 6기/1단계

[블랙잭 미션] 페어프로그래밍 단계 학습 내용 정리

🫡 구현 시  집중한 부분1. 함수형 프로그래밍함수형 프로그래밍이란, 작업을 어떻게 수행할 것인지(즉 로직에 집중하는 것이) 아니라 무엇을 할 것인지에 집중하는 방법구체적인 작업 방식은 라이브러리가 알아서 처리하고, 사용자는 라이브러리가 제공하는 인터페이스를 구현하는 것만으로도 원하는 작업을 수행할 수 있다. 자바에서는 익명 클래스, 함수형 인터페이스, 람다, 스트림API 등의 문법을 사용할 수 있다. 선언형 프로그래밍과 명령어 프로그래밍의 차이점을 이론으로만 들었을 때는 잘 와닺지 않았었는데,For문을 사용하여 명령형으로 사용한 코드와 Stream을 사용하여 선언형으로 작성한 코드를 비교해보니 차이점을 확 느낄 수 있었다. 함수형 인터페이스와 스트림 API를 최대한 활용하고자 하였다.👍 이번 미션에..

우아한테크코스 6기/1단계

[사다리 타기 미션] 학습 내용 정리

사다리 타기 미션 🫡 구현 시 집중한 부분 1. TDD 테스트를 먼저 작성하고 기능 구현 후 리팩토링하는 과정 TDD는 사이클을 반복하여 구현하는 것을 말한다. [개인적으로 느낀 장점] 그동안 나는 설계 단계에서 도출한 객체와 구조를 최대한 바꾸지 않도록 하려고 고민했었지만 스스로 스킬이 부족하다는 생각에 빠져있었는데, TDD는 초기 설계에 집착할 필요가 없어 심리적으로 편했던 것 같다. 정말 요구사항에만 있는 행위들만 테스트하고, 구현하기 때문에 불필요한 행위들이 추가적으로 구현되지 않았다. 2. 제어할 수 없는 부분 테스트 |-----|-----|-----| 처음 사다리를 구현할 때, 하나의 세로 줄을 Line이라는 객체를 통해 구현하고 객체 안에서 경로가 있는지 없는지를 나타내는 List를 Rand..

우아한테크코스 6기/1단계

[자동차 경주 미션] 학습 내용 정리

자동차 경주 미션 🫡 구현 시 집중한 부분 1. 단위 테스트 테스트 가능한 가장 작은 소프트웨어를 실행하여 예상대로 동작하는지 확인하는 테스트 각 객체가 가지는 책임에 대해 테스트 하도록 함 2. MVC 패턴 domain 패키지 핵심 비지니스 로직을 가지는 객체 view 패키지 UI 관련한 객체 controller 패키지 view와 domain의 연결 객체 주의 view 패키지의 객체가 domain 패키지 객체에 의존할 수 있지만, domain 패키지의 객체는 view 패키지 객체에 의존하지 않도록 구현해야 함 👥 짝(페어)과의 공유한 내용 1. 재귀를 통한 재입력 처음 구현 시, 사용자의 입력값에 따라 에러가 발생했을 경우 재입력을 받도록 하였다. 나는 보통 재귀를 통해 재입력을 받는 것도록 구현을 했..

우아한테크코스 6기/1단계

일급 컬렉션

1단계 팀원들과 함께 각자가 받은 리뷰에 대해 얘기를 하다가, 일급 컬렉션에 대한 얘기가 나왔다. 나와 페어는 경주에 참여하는 자동차들의 모음인 List를 멤버변수로 담는 CarGroup 클래스를 만들고 그룹에 차를 추가하거나, 우승자를 구하는 메서드를 작성했는데, 사실 일급 컬렉션인지도 모르고 일급 컬렉션을 사용한 샘이다. 따라서, 일급 컬렉션이 무엇이고 어떻게 나는 활용했는지를 알아보고자 작성한다. 정의 일급 컬렉션이란, 컬렉션을 Wrapping한 클래스로, 반드시 컬렉션외의 다른 멤버 변수가 없어야 한다. public class CarGroup { private final List cars = new ArrayList(); public void add(Car car) { cars.add(car); ..

우아한테크코스 6기/1단계

[자동차 경주 미션] 개인 회고

개인 페어 회고Keep페드로와 페어를 진행하면서 최대한 이야기를 많이하려고 시도한 것이 좋았다.강의에서 배운 내용인 일단 처음 잡은 목표(돌아가는 쓰레기)를 완성하기 위해 최선을 다했다.내가 기존에 구현했던 방식만 고집하는 것이 아닌, 새로운 방식인 페어의 방식을 이해해보려고 노력했다.Problem페어를 진행할 때 생각보다 속도가 많이 더뎠다.객체지향에 대한 이해가 부족함을 많이 느꼈다.기본 문법도 헷갈려 버렸다.Try내 생각을 조금 더 매끄럽게 정리하는 연습을 하자.정리가 잘되지 않으면 글을 작성해보려고 하자너무 긴장하지 말고 차분하게 생각하자.객체지향과 자바 기본 문법을 추가로 학습하자.

JAVA 🎻

Collection과 Collections의 차이

작년 8월 스터디에서 제가 작성했던 이슈 내용을 가지고 왔습니다. https://github.com/JNU-econovation/Javs/issues/67 개발이나 알고리즘을 풀 때 collection을 상속한 List와 Set, Map는 많이 사용하지만 정작 collection에 대한 기본 지식은 부족한 것 같아 선정하게 되었습니다. 추가로 collections와의 차이점은 무엇일지에 대해 알고자 작성하게 되었습니다. Collection Collection Framework에서 최상위 인터페이스 Collection Framework란 뭘까 자료 구조를 바탕으로 객체, 데이터들을 효율적으로 관리할 수 있는 자료 구조들이 있는 라이브러리 컬렉션이라는 단어의 의미 -> 다수의 데이터(데이터 그룹) 그래서 제..

우아한테크코스 6기/1단계

List의 copyof()와 of()

블랙잭 미션을 하다가 List.copyof()를 사용했었는데, List.of()와의 차이점이 무엇인지에 대해 알고자 작성하게 되었다. copyOf() Returns an unmodifiable List containing the elements of the given Collection, in its iteration order. The given Collection must not be null, and it must not contain any null elements. If the given Collection is subsequently modified, the returned List will not reflect such modifications. 인자로 주어진 컬렉션의 요소를 순서대로 포함하..

우아한테크코스 6기/1단계

static final 변수는 항상 상수일까?

발단 시작은 바로 페드로가 보낸 슬랙의 메시지였다... 상수화된 인스턴스를 선언할 때 uppercase로 작성하는 것이 맞는 것인가?에 대한 문제였는데, 그동안 나도 인스턴스에 대해서는 uppercase로 적을 생각을 못해봤었는데 생각해보니, 인스턴스라도 상수라면 uppercase가 맞네? 라는 생각이 들었다. 추가로 하나의 질문을 더 던져주었는데, static final 변수는 항상 상수일까?에 대한 문제였다. 그렇다! 사실 내가 생각하기에 처음 문제는, 상수화된 인스턴스를 선언할 때 uppercase로 작성하는 것이 맞는 것인가가 아닌, 상수화된 인스턴스가 정말 상수로 볼 수 있는 것인가의 관점으로 봐야한다. 자 여기서 한번 생각해보자. 우리가 생각해볼 수 있는 것은 2가지이다. static fina..

우아한테크코스 6기/1단계

Junit5, AssertJ 새롭게 알게 된 내용들

Junit5 @Disabled @Disabled 애노테이션은 해당 테스트를 비활성화 테스트를 비활성화한다는 것은 해당 테스트를 실행하지 않겠다는 것 @Disabled @Test @DisplayName("항상 실패하는 테스트") void 항상_실패하는_테스트() { throw new RuntimeException("항상 실패한다."); } assertAll의 장점 // assertAll 미사용 assertEquals(1 + 2, 3); assertEquals(2 + 3, 5); assertEquals(7 * 3, 21); assertEquals(7 * 3 ^ 5, 32); assertEquals(7 * 3 / 5 + 33 / 21, 4); assertEquals(33 * 3 / 5 + 7 / 2, 22);..

minl741
'분류 전체보기' 카테고리의 글 목록 (5 Page)