본문 바로가기

책 📖

(7)
책 / 애자일 프랙티스 애자일 프랙티스 / 벤캣 수브라마니암, 앤디 헌트 애자일 프랙티스 현장에서 바로 실천할 수 있는 실용적인 애자일 프랙티스만을 엄선해 담았다. 총 45개의 애자일 프랙티스로 구성되어 있으며 사례중심의 각 프랙티스는 완결된 해결책을 제공한다. www.aladin.co.kr 애자일한 팀을 구축하고, 애자일한 소프트웨어를 만들기 위한 내용들을 담고 있다. '팀 문화적으로'와 '코드 레벨'에서의 애자일을 실현하기 위한 지침서 같은 느낌이다. 핵심 내용을 정리하면서 지금 우리 팀은 그리고 나는 얼마나 잘 애자일을 행하고 있는지 점검해 보았다. 비난은 버그를 수정하지 못한다. 요약: 버그 등의 문제가 발생했을 때, 범인을 색출하고 비난하는 것이 아니라 문제 규정하고 원인을 분석해서 문제해결에 초점을 맞추는 것 잘했거..
'단위 테스트 - 생산성과 품질을 위한 단위 테스트 원칙과 패턴'을 읽고 책 링크 단위 테스트 단위 테스트에 대한 오해를 바로잡고, 올바른 단위 테스트에 대한 원칙, 테스트를 작성하는 스타일과 효과적인 테스트를 위한 소프트웨어 아키텍처를 이해할 수 있다. 또한 단위 테스트를 통합 www.aladin.co.kr 들어가며... 나의 경험 자바에서 테스트 코드라는 개념을 처음 알게 되었을 때 충격을 받았다. 내가 짠 코드에 대해 불안함을 해소시켜줄 수 있는 혁신적인 도구에 감탄했다. 하지만 서서히 형식적으로 테스트 코드를 작성하게 되었다. 이내 테스트는 통과하지만 버그가 존재하는 경우가 발생했다. 이 또한 충격적이었다. 테스트에 투자한 나의 시간과 노력이 물거품이 돼버린 경험은 나를 되돌아보게 했다. 그 후에는 정말로 꼼꼼하게 테스트를 작성했다. 심하게 꼼꼼했다. 프로덕션 코드보다..
존 도어의 OKR 핵심 내용 정리 존 도어의 OKR을 읽어보았습니다. OKR에 대한 설명도 있지만 OKR을 토대로한 여러 기업들의 경험들을 엮은 책에 가까운 느낌이었습니다. (OKR을 잘 활용하기 위해서는 역시 경험이 쌓여야 하는 듯합니다) 그 중 OKR에 대한 이론적인 내용들을 정리해보았습니다. OKR이란? O OKR의 O는 목표(object)를 뜻한다. 성취해야 하는 대상으로써 구체적이고 행동 지향적으로 정하는 것이 좋다. 목표를 구체적으로 종이에 적어놓고 끊임없이 상기하는 것을 추천한다. KR OKR의 KR은 핵심 결과(Key Result)를 뜻한다. 목표 달성을 위한 방안을 모색하고 목표 달성 여부를 확인하는 수단으로 사용된다. 때문에 KR은 측정과 검증이 가능한 것으로 해야 한다. O 그리고 KR 목표는 우리가 나아가고자 하는 ..
클린 코드, 클린 코드 40 가지 원칙! 클린 코드 - 로버트 C. 마틴 '클린 코드'를 참고하여 '클린 코드 원칙 40'을 정리해보았습니다. 책에서 소개하는 원칙들을 세보면 100개도 넘을테지만 후반부에는 반복되는 것도 많고 한 마디로 정리하기 힘들 것들도 많아서 초반부 위주로 정리해보았습니다. 페이지도 함께 기재하였으니 해당하는 항목에 대해서 자세히 알고 싶으신 분들은 책을 참고하시길 바랍니다. 해당 포스팅은 클린코드 1st Edition 을 기준으로 작성되었습니다. 2013년 개정판을 참고하실때는 아래 기재된 페이지에서 34를 빼면 되실거예요. ex) 1판 35p → 2판 1p 클린 코드란? 단순하고 직접적이다 간단해서 버그가 숨어들지 못한다 하나의 기능만을 제공한다 중복이 없다 잘 쓴 문장처럼 읽힌다 짐작했던 기능을 그래도 수행한다 작성..
함께 자라기, 애자일로 가는길 함께 자라기, 애자일로 가는 길 자라기 핵심 키워드 야생 학습 학습하는 방법을 학습해야 한다. 당신이 제자리걸음인 이유 우리는 양치질이나 세수를 십수 년 해오고 있지만 그렇다고 작년에 비해 오늘 나의 세수하는 방식이 크게 나아진 건 없습니다. 이 책에서는 단순히 반복으로는 전문가나 달인이 될 수 없고, 실력을 높이기 위해서는 의도적인 수련을 해야 한다고 말합니다. 의도적인 수련을 하기 위한 필수 요건으로는 적절한 난이도가 있습니다. 수련을 하는 과제가 너무 쉬워도 안되고 너무 어려워도 안됩니다. 만약 과제의 난이도가 너무 쉽다면 내가 취할 수 있는 방법에 제한을 걸어 난이도를 높이는 등의 방법을 취할 수 있습니다. 만약 나의 실력에 비해 어려운 문제에 직면했을 때 해결 방안으로 아기 버전(다시 말해 v0..
소프트웨어 장인을 읽고 소프트웨어 장인을 읽고 우아한테크코스의 필독서 중 하나인 소프트웨어 장인을 읽게 되었습니다. 이 포스팅은 책의 내용을 머릿속에 재구성하여 정리한 것들입니다. 아래 내용들은 책의 내용을 요약한 것일 수도 있고, 단지 저의 생각을 적은 내용일 수도 있습니다. '소프트웨어 장인' 책이 전하고자하는 정확한 메시지가 궁금하다면 책을 직접 보시는 것을 권해드립니다. Agile과 소프트웨어 장인 애자일의 두 가지 포인트는 빠른 피드백과 민첩함이라고 생각합니다. 같은 말을 두 번 반복한 것 같지만 내포하고 있는 의미는 사뭇 다릅니다. 먼저 빠른 피드백은 말 그대로 빠르게 피드백을 받을 수 있다는 것입니다. 그리고 민첩함은 피드백 받은 내용을 민첩하게 적용한다는 것이죠. 전자는 애자일만으로도 가능해 보입니다. 하지만 민..
모던자바인액션 / 6장 스트림으로 데이터 수집(처리) 정리 6장 스트림으로 데이터 수집(처리) 정리 스트림은 중간 연산과 최종 연산으로 구성되어있다. List vegetarianMenu = menu.stream().filter(Dish::isVegetarian).collect(toList()); 위 코드는 중간연산 filter 와 최종 연산 collect 으로 이루어져 있다. collect()에 toList() 를 적용하여 리스트 컬렉션으로 만드는데 방법에는 익숙하다. 이번 장에서는 추가적으로 다른 사용 가능한 방식에 대해 공부해본다. 목차 그룹화 분할 리듀싱 1. 그룹화 groupingBy 메서드를 이용하면 데이터를 하나 이상의 특성으로 분류할 수 있다. 이번 포스팅에서는 예시를 위해 다음과 같은 데이터를 이용한다는 점을 참고하자. 예시 데이터 public c..