우아한테크코스
-
[칵테일픽] 특명: 사용자를 생각하라Project 2020. 9. 29. 08:20
우아한테크코스에서 진행 중인 팀 프로젝트인 칵테일픽 서비스를 운영하며 생긴 에피소드를 다룬 글입니다. 사용자 피드백을 반영하자 칵테일픽을 정식으로 오픈한 뒤 한 달여의 시간이 흘렸다. 이 기간 동안 기능 추가보다는 버그를 고치고 사용자의 피드백을 반영하여 사용성 향상에 목표를 뒀다. 예를 들자면 칵테일 검색 기능을 활용할 때, 검색 조건에 맞는 결과가 없을 경우 결과가 없다는 메시지를 띄워주면 좋겠다는 피드백을 반영해서 아래와 같이 메시지를 노출하도록 수정했다. 또한, 칵테일 추천 받는 과정 중 마시고 싶은 칵테일의 도수 범위를 결정하는 부분이 있다. 기존에는 아래 영상의 썸네일과 같은 정적인 화면으로 구성했었다. 그래서 사용자가 어떻게 도수 범위를 결정해야 하는지 직관적으로 알지 못하겠다는 피드백을 들..
-
[프로그래머의 길, 멘토에게 묻다] - 09Notes/Book 2020. 9. 25. 20:48
앞으로의 포스팅은 책에서 소개하는 패턴 언어 중 마음에 드는 구절을 소개하는 방식이 될 것이다. 바닥을 쓸어라 상황 당신은 프로젝트에 새로 합류한 견습생이다. 문제 당신은 팀 내에서 자리잡지 못했고, 팀은 당신에게 확신이 없다. 당신은 팀의 업무에 기여하면서 신뢰를 얻고 장인의 눈에 드는 방법을 찾고 싶다. 해결책 단순하면서도 매력이 없지만 반드시 해야 하는 일에 자원하라. 꼭 훌륭하게 해낼 필요 없는 일이라도 당신이 훌륭하게 해낸다는 것을 보임으로써 팀의 성공에 한걸음 더 빠르게 기여할 수 있다. 물론 어떤 프로젝트에서라도, 재미없어 보이는 일을 대충 넘어간다면 나중에 그 부분이 실제로는 아주 중요한 것으로 드러나면서 문제를 일으킬 수 있다. 그렇기에 간단한 일이라도 훌륭하게 해내는 점은 중요하다. 내..
-
Java의 Error와 Exception 그리고 예외처리 전략Language/Java 2020. 9. 17. 07:27
우아한테크코스(이하 우테코) 레벨 1 복습을 위한 글입니다. 자바는 오류가 발생하거나 발생할 여지가 있는 여러 상황에 대한 예외를 만들어두었습니다. 우리에게 익숙한 IllegalArgumentException을 비롯해 원인을 찾기 힘든 NullPointerException도 있습니다. 또한 파일 처리를 하다 보면 발생하기도 하는 IOException도 있구요. 이번 글에서는 이런 예외에 대해 알아보도록 하겠습니다. 오류와 예외란 예외를 알아보기 위해서는 우선 오류와 예외를 구분할 필요가 있습니다. 오류(Error)는 시스템이 종료되어야 할 수준의 상황과 같이 수습할 수 없는 심각한 문제를 의미합니다. 개발자가 미리 예측하여 방지할 수 없습니다. 반면 예외(Exception)는 개발자가 구현한 로직에서 발..
-
[SUPP] 페어와의 협업 맛을 돋우는 애피타이저 - 2Project 2020. 9. 8. 23:21
우아한 테크코스 2기 과정 중 크루들과 제작한 서비스인 SUPP에 대한 글입니다. 나를 비롯하여 또링, 스티치, 알트 그리고 코즈까지 5명이 모여 SUPP 개발 팀이 꾸려지고 대략적인 서비스 컨셉이 나왔다. 이번 글에서는 기획과 개발 과정에 대해 알아보자. 기획의 순간 지금까지의 코어 아이디어는 "크롬 익스텐션을 이용해서 우테코 교육 사이트의 돔을 조작해서 페어인 크루의 정보를 보여주자"이다. 그렇다면 우리는 어떤 정보를 보여줄 것이며 어떻게 정보를 얻을 것인가. 이에 대해서는 팀원 모두 고민과 아이디어가 많았다. 3월 7일, 팀원들과의 회의에서 이 내용은 구체화되었다. 우리는 우테코를 시작하고 근 한 달간 수행해왔던 페어 프로그래밍의 속성을 분석하고, 어떤 질문들이 필요한지 추려냈다. 페어를 하며 불편..
-
[SUPP] 페어와의 협업 맛을 돋우는 애피타이저 - 1Project 2020. 9. 2. 14:09
우아한 테크코스 2기 과정 중 크루들과 제작한 서비스인 SUPP에 대한 글입니다. 시작하며 우아한 테크코스(이하 우테코)는 협업의 정수를 맛볼 수 있는 공간이다. 레벨 1과 2 기간 동안 매일 진행되는 페어 프로그래밍을 통해 서로의 개발실력을 키워간다. 페어 프로그래밍을 모르는 분들을 위해 잠시 설명을 덧붙이겠다. 페어 프로그래밍을 진행할 때, 두 명이 하나의 컴퓨터를 이용한다. 한 명은 키보드와 마우스를 잡고 코딩을 하는 "드라이버", 다른 한 명은 옆에 앉아서 지시를 하는 "네이게이터"로 구성된다. 두 사람의 관계는 정해진 규칙에 따라 바뀐다. 나는 주로 15분을 기준으로 역할을 바꿔가며 페어 프로그래밍을 진행했다. 자세한 설명은 링크를 참고. 페어프로그래밍은 단순히 프로그램을 구현하는 개념을 넘어 ..
-
[우아한 테크코스] 레벨 1 회고Notes/Retrospect 2020. 8. 19. 13:05
글쓰기 과제 [레벨1-기록] 좋은 시작이네요 비슷한 시기에 비슷한 곳을 바라보는 사람들 - 시작하며 우테코 2기의 시작을 축하하며 김범준님께서 하신 말씀 중 가장 기억에 남는 구절입니다. 그 이유로는 제가 생각하는 즐겁게 활동할 수 있는 조직의 핵심에 대한 내용이기 때문이죠. 처한 상황과 목적이 비슷한 사람들이 모일 때 발생하는 시너지는 강력합니다. 우리는 하루의 많은 시간을 함께 합니다. 우리의 공간에서는 수천 줄의 코드가 짜이고 수천 마디의 말들이 오가죠. 서로의 부족함을 채워주고 더 잘 아는 부분이 있다면 공유하기도 합니다. 그렇기에 어렵고 힘든 미션들이 주어지지만 즐겁게 도전할 수 있습니다. 우리는 만나고 깨진다, 그렇지만 결국엔 다시 만난다 - 페어 프로그래밍 우테코를 시작하면서부터 그저 평범한..
-
String과 StringBuilderLanguage/Java 2020. 8. 2. 19:26
우아한테크코스(이하 우테코) 레벨1 복습을 위한 글입니다. String은 자바 프로그램이 실행되는 동안 가장 많이 생성되는 객체라고 합니다. 관련 내용을 간단하게 복습해보겠습니다. 문자와 문자열 문자열은 객체지만 문자의 나열로 구성됩니다. char capitalA = ‘A’; // 문자 String a = “abc”; // 문자열 == 문자의 배열 지금은 abc라는 문자열 객체를 쌍 따옴표 안에 넣어서 생성하고 a라는 변수에 할당했습니다. 하지만 자바에서 일반적으로 객체를 생성하는 방법인 new를 이용하여 생성하는 방법도 있습니다. String b = new String(“abc”); 하지만 이와 같은 방법은 지양됩니다. 그 이유를 알아보겠습니다. // String a = "abc";이 컴파일 된 cla..
-
학습 테스트와 단위 테스트Language/Java 2020. 7. 20. 22:02
우아한테크코스(이하 우테코) 레벨 1 복습을 위한 글입니다. 우테코에서는 TDD를 강조합니다. 첫 주 수업에서 배웠던 내용도 테스트에 대한 내용입니다. 관련 내용을 간단하게 복습해보겠습니다. 학습 테스트란. 기능 구현을 위한 테스트라기보다 API, 라이브러리, 프레임워크가 어떻게 동작하는지를 검증하기 위한 테스트입니다. 학습 테스트의 장점. 다양한 조건에 따른 기능을 손쉽게 확인해 볼 수 있습니다. 학습 테스트 코드를 개발 중에 참고할 수 있습니다. 프레임워크나 제품을 업그레이드할 때 호환성 검증을 보여줍니다. (유지 보수에 도움을 줍니다.) 테스트 작성에 대한 좋은 훈련이 됩니다. 출처 학습 테스트로 배우는 스프링 - SpringWiki 프레임워크나 다른 라이브러리 등에 대한 테스트를 학습테스트(lea..