Today I Learned
-
기능을 작성하는데 새로운 기능이 나타나고 그 기능과 연결된 또다른 기능이 나타나고 기능의 꼬리를 무는 기능이 나타나고 또...Today I Learned 2022. 10. 23. 20:14
제목이 조금 정신없겠지만 오늘의 상황을 요약한 것이다. 내가 작성한 경기 모집글의 상세 정보 보기 기능과 UI를 작성하는 과정에서 신청자를 받거나 신청을 거절하기 위해서는 추가적인 기능이 필요할 것이라는 생각이 들었다. 관련된 기능을 추가했다. 기능의 복잡도를 위해 '클럽' 개념을 추가할 계획이었다. 클럽을 생성하고 클럽 메인 화면을 정의하던 중, 생성된 클럽은 결국 누군가에 의해 데이터가 관리되어야 할 것이라는 생각이 들었다. 관련된 기능을 정의하고 UI와 기능의 세부 내용을 작성하고 있다. 내 애플리케이션에서는 명백하게 정의된 '관리자'라는 주체가 없어도 될 것이라 생각했기에 이번 주차 초반 시점에서 기획은 대부분 사용자 관점에서 이루어졌다. 그러나 개별 사용자가 자신이 올린 글의 '관리자'가 될 수..
-
UI 프로토타이핑을 위한 새로운 도구를 사용해보다Today I Learned 2022. 10. 22. 21:50
오늘의 목표는 UI 프로토타이핑을 2차로 다시 작성하면서 문서의 기능 리스트업을 구체적으로 보완하고, 리스트업을 기반으로 프로세스 구조도를 작성하는 것이었다. 프로젝트 기획을 시작하고 3일 동안 종이에 볼펜으로 그림을 그리면서 첫 프로토타이핑을 진행했었는데, 그림을 그릴 때 생각나지 않았던 부분들이 중간에 계속 생각나서 내용을 덧대기 위해 수정테이프를 자주 사용했었던 기억이 있었다. 주간 동안에 3기 후배님께 프로토타이핑을 할 때 사용할 수 있는 유용한 웹 애플리케이션에 대해 이야기를 들었었는데, 며칠 동안 기술 스택을 찾느라 프로토타이핑을 잠시 미뤄 두다 오늘 다시 작업을 시작할 참에 그 웹 애플리케이션을 사용해볼지 고민이 되었다. 다른 동료분께서 배우지 않은 작업 툴을 직접 찾아 사용하면서 생산성을 ..
-
혼자서 방안이 떠오르지 않는다면 동료들에게 상황을 공유하자Today I Learned 2022. 10. 21. 23:56
오전에 출근하면서 주제 도메인 자체에 대한 고민을 했다. 기능 상의 충돌에 대한 부분을 어떻게 해결할지 하루 밤 동안 고민을 했는데도 쉽게 풀리지 않았다. '이 도메인은 아닌 걸까?' 생각으로까지 흘렀고, 원래 생각하고 있었던 다른 도메인 서비스인 공유 자전거/킥보드 대여 서비스 클론으로 이제나마 기획을 바꿔야 하는 걸까 잠시 마음이 옮겨갔다. 노아 트레이너님과 이야기를 나누기 전에 동료들과 관련해서 이야기를 나눴다. 이번에도 생각하지 못한 부분이 있었다. 웹 서비스와 앱 서비스의 차이에서 기인하는 부분이였다. 킥보드 대여 서비스와 서울시 공공자전거 따릉이 웹 페이지에 들어가 제공되는 기능을 확인해보았다. 킥보드 대여 서비스는 웹에서 제공하고 있지 않았다. 따릉이는 자전거 대여소 위치와 자전거 대수 정보..
-
포트폴리오 주간 프로젝트 1주차 기획 중간점검Today I Learned 2022. 10. 20. 21:30
다음주 월요일 일과 시작 전까지 마감해야 하는 포트폴리오 프로젝트 기획 주간의 절반이 지나갔다. 지금까지 어떤 것들을 했고, 그 과정에서 어떤 것을 느꼈고, 남은 시간 동안 해야 할 것들에는 무엇이 있는지 돌아본다. 지금까지 한 것들 첫 UI 프로토타이핑 1기 모든 동료들과 도장에 모여서 각자 구현하고 싶은 애플리케이션의 주제를 정하고 어떤 기능을 갖는지 고민했다. 동시에 종이에 애플리케이션이 화면에 나타날 때의 내용들을 가볍게 적어보는 UI 프로토타이핑을 했다. 애플리케이션의 최소 조건은 네이버 카페와 같이 복잡한 도메인 구조를 갖거나, 구현하기 위해 도전적인 기술을 다뤄야 하는 기능이 있는 애플리케이션이었다. 처음에는 지도 도메인을 중심으로 가져가는 애플리케이션을 만들어보고 싶다고 생각했었고, 내가 ..
-
React는 다른 프론트엔드 프레임워크에 비해 어떤 이점이 있을까?Today I Learned 2022. 10. 19. 22:18
프론트엔드 라이브러리/프레임워크로 React를 사용할 경우 다른 프론트엔드 프레임워크에 비해 어떤 이점이 있을지 조사하고 있다. 먼저 React의 주된 특징에 대해 살펴보면서, 각 특징에 대해 현재 React 외에 가장 널리 쓰인다고 알려진 Angular, Vue.js와 비교를 진행했다. 컴포넌트 기반의 개발 React는 UI를 각각의 컴포넌트로 나타내며, 컴포넌트의 형식으로는 XML 포맷의 Template에 JavaScript를 직접 내장시킨 JSX 형식을 사용한다. Template이 JavaScript 문법을 적극적으로 차용하는 형태로, 로직을 표현하는 방식이 자유롭고 손쉬운 코드 재사용이 가능하다는 특징이 있다. Vue.js 역시 컴포넌트를 이용하나 컴포넌트의 Template을 HTML 마크업을 기..
-
Spring을 쓰긴 쓸 건데, 도대체 왜 써야 할까?Today I Learned 2022. 10. 18. 23:57
포트폴리오 프로젝트 애플리케이션에 사용될 기술 스택을 정의하기 위해 계속해서 자료들을 찾아보고 있다. 오늘은 웹 서버 프레임워크로 Spring을 사용하는 것이 다른 프레임워크들을 사용하는 것에 비해 어떤 점이 좋은지 찾기 위해 Spring의 주요 특성들을 찾아보고, 다른 웹 서버 프레임워크들을 조금씩 찾아보면서 Spring과 어떤 차이가 있는지 알아보았다. 일단 작업의 진척도는 Spring에 대해서는 조사를 일정량 진행했지만, 비교 대상이 될 다른 웹 프레임워크들에 대해서는 조사가 조금 더 필요한 상태이다. 오늘 가장 크게 발목을 잡았던 부분은 도대체 Spring을 사용해야 하는 이유를 어느 범위에서부터 잡아나가야 할지 어려웠다는 점이었다. 단계별로 차근차근 밟아나가는 편이 좋을까 싶어 일단 웹 서버 개..
-
웹 지도 클러스터링 기법을 활용할 때 NoSQL 계열의 데이터베이스가 유리한 이유는 무엇인가?Today I Learned 2022. 10. 17. 22:48
현재 구상하고 있는 그룹 스포츠 경기 참여 및 장소 대여 웹 애플리케이션에서는 모집글을 보면서 팀을 찾거나 장소를 대여하기 위해 장소를 찾는 과정에서 웹 지도를 사용하려 하고 있다. 웹 지도에서는 마커를 이용해 모집글이 올라온 위치를 지도에 표시하는 방식을 사용하려 하고 있다. 지난 주말, 트레이너님께서 애플리케이션에 웹 지도 개념이 들어갈 경우 클러스터링이라는 개념이 사용될 수 있다는 점과, 웹 지도에 사용되는 데이터를 관리하는 데이터베이스는 관계형 데이터베이스보다는 NoSQL 형태의 데이터베이스가 더 적합하다는 언질을 주셨었다. 이번 주 동안 진행하는 과정에는 애플리케이션의 기능을 정의한 뒤, 기능에 사용될 기술 스택을 선정해야 한다. 이때 선택한 기술 스택이 다른 기술 스택 대비 우위에 있는 점을 ..
-
테스트도 결국 좋은 애플리케이션을 만들기 위한 과정인 것 (레벨 테스트 10일차 작업 회고)Today I Learned 2022. 10. 14. 23:35
3주 동안 풀스택 개발과 레벨 테스트로 이어졌던 규모와 순서를 갖춘 하나의 작은 '프로젝트' 과정을 경험하는 예행 연습이 끝났다. 인수 테스트 작성이 동료들보다 늦어 일과가 끝난 뒤 1시간여 정도까지의 시간을 더 투자해 부족하나마 인수 테스트까지 모두 작성을 마쳤다. 기능은 모두가 똑같이 잘 구현할 수 있었지만, 제한 시간 내에 모든 것을 완전히 끝내지 못했다는 사실은 가슴 한 켠에 또 한번의 작은 아쉬움으로 남을 듯 하다. 사실 인수 테스트는 프로젝트를 시작하면서 의욕 충만하게 작성하기 시작했었던 부분이였다. 인수 테스트를 통해 프로그램이 처하는 대부분의 상황을 먼저 파악한 뒤, 그 상황들을 하나씩 케어해나가야 할 것이라고 생각했다. 그러다보니 프로젝트 초기에 요구사항을 보면서 인수 테스트 목록과 인수..