본문 바로가기
728x90
반응형

lean132

23.11.12~23.11.19 업무 공유 1. Step 제어 모듈 작성 현재 온보딩 빌더는 tree 구조 형태로, 각 node가 자신의 다음 node에 대한 정보를 알고 있다. 이때 각 간선을 action이라는 속성으로 저장하는데, 해당 데이터를 어떻게 바라볼 것인가! 의 정의가 변경되어, 이를 반영했다. 처음에는 UI 로직을 따라 각 action이 '다음', '이전', '특정 node로 이동', 'url이동' 등으로 구성되어 있게 설계했는데, 의미를 따지고 보니 '다음'과 '이전'이 결국 '특정 node로 이동'함과 동일하다고 판단되었다. 물론 이 경우... 각 node들의 순서가 변경될 때 action 역시 변경해야 한다는 불편함이 있었지만, 이렇게 하지 않을 경우 각 node들이 자신의 순서(order개념)를 갖고 있어야 하고 .. 2023. 11. 19.
23.11.05~23.11.12 업무 1. 변경된 DB 구조 반영 지난주. 다른 기업과 협업을 진행하면서, 기존의 DB 구조로는 앞으로의 요구 사항을 반영하지 못하겠다는 판단을 내렸다. 이로 인해 협업 이전 진행하던 개발 사항들을 모조리 수정해야 했는데... 해당 작업에 4일 정도를 투자했다. 물론 단순히 DB 측 interface만 변경하는 것이라면 (이것보다는) 간단했을 테다. 하지만 협업을 진행하며 package 쪽 아키텍처도 개선이 가능하겠다는 생각이 들었어서, 이를 반영해 새로운 모듈들을 추가적으로 작성했다. 그 과정에서 특히 FE 개발에서는 1) 무엇을 추상화할 것인가 와 2) 관심사를 어떻게 분리할 것인가 를 계속해서 고민해야 함을 느꼈다. 물론 소프트웨어 개발에서 적절한 추상화와 관심사 분리의 중요성은 말해 입 아프겠지만.. 2023. 11. 12.
23.10.22~23.11.05 업무 1. first customer용 프로덕트 개발 0번째 고객을 모으는 건 언제나 어렵다. 하지만 반대로 말하자면, 모든 프로덕트는 0번째 고객부터 시작한다. no-code onboarding builder라는 콘셉트만 존재하는 현 상황에서 정말 감사하게도, 한 스타트업과 협업을 진행하게 되었다. 월요일에 최종 디자인을 전달받았고... 무엇보다 속도가 중요하다는 판단이 들어, 단 삼일 만에 모든 개발을 완료했다! (정말 홀린 듯 일했다...) 2. DB 구조 전체 변경 협업이 진행되기 약 한 달 여 전부터, 전체적인 설계 및 api 개발, 패키지와 extension 개발이 진행되고 있었다. 하지만 협업을 진행하는 삼 일 간... 해당 기업의 요구 사항을 현재 DB 구조로는 구현하기 힘들겠단 생각이 들.. 2023. 11. 5.
23.10.22~23.10.29 업무 1. 신규 서비스 기능 개발 폭풍 같이 몰두한 한 주... a. 전체 아키텍처 구성 기본적인 애플리케이션 구조를 설계했다. 가장 신경 쓴 부분은 → 각 컴포넌트들 간의 관심사 분리. 지금껏 운영해 온 여러 서비스들을 생각해 보면 유지보수와 확장이 용이한 프로젝트도, 그렇지 않은 것도 있었다. 그 차이를 곰곰이 생각해 보면... 물론 여러 이유가 있겠지만, 애플리케이션의 최초 설계 역시 제법 큰 부분을 차지함을 느꼈다. 최초 설계 시 명확하지 않은 개념(올바르게 분리되지 않은 관심사)들은 필연적으로 개발자 각각의 정의로 이어졌고, 이로 인해 각 컴포넌트나 함수의 관심사가 모호해지는 경우가 허다했다. 따라서 지금까지 나온 요구사항에 기반해 핵심 상태 및 제어 로직과 전체 컴포넌트 구조를 정의하는데 노력.. 2023. 10. 29.
23.10.15~23.10.22 업무 1. 온보딩 요소 생성 관련 추가 개발 Builder class들을 통해 온보딩 시 띄워줄 HTMLElement들을 생성하고 있는데, 이 부분의 추가 개발을 진행했다. (배경, action 제어 등) 2. 공통 모듈 패키지 제공 메인으로 진행했던 업무! 사용자가 온보딩을 등록한 후, 해당 데이터를 배포하면 서버 측에서 해당 온보딩을 보여줄 수 있는 script 파일을 번들링 하고 있다. → 온보딩을 화면에 띄우는 데 필요한 로직은 모두 server에 작성되어 있었다. 그런데 client 측에서도 등록 중인 온보딩을 미리 봐야 하는 요구 사항이 있었고... 해당 기능을 구현하는데 필요한 로직의 90% 정도가, 이미 서버에 작성된 내용과 동일했다! 모든 파일을 복사 붙여 넣기 하기엔 유지보수 리소스가 .. 2023. 10. 22.
23.10.08~23.10.15 업무 1. 온보딩 요소 제어 로직 작성 사용자가 입력한 온보딩 관련 데이터를 생성 및 제어하는 기능을 개발했다. 1) 특정 요소 생성 모듈 작성 처음에는 각 컴포넌트 요소(툴팁 등)들을 builder 패턴을 사용해 작성했었다. 왜? → 해당 요소를 생성하기 위한 단계가 나뉘어 있었기 때문에(루트 element 생성, 스타일 적용, 이벤트 적용 등), 각 단계를 사용처에서 호출해 객체를 생성할 수 있도록 의도했기 때문! → 코드의 직관성을 높이고, 전체 데이터 인터페이스에 의존하는 게 아니라 각 단계에서 필요한 값을 주입받길 원했다. 그런데 점차 개발을 하다보니, 각 요소를 생성하는 시점은 크게 단계가 나뉠 이유가 없어 보였다. + 어차피 모든 단계에서 해당 데이터 인터페이스 전체가 필요해, 오히려 특정 .. 2023. 10. 16.
2023 3회 정보처리기사 실기 가답안 + 비전공 개발자 추천 이유 시험 후기 10월 7일에 시행된 정보처리기사 실기 시험을 치고 왔습니다. 블로그에 업로드 한 글을 보니, 정확히 1달 전부터 시험공부를 시작했는데... 직장을 다니면서 시험 준비를 병행하느라 실제로 하루 공부에 쏟은 시간은 출퇴근 지하철 + 퇴근 후 30분~ 1시간 정도뿐이었습니다. 가답안 정답 여부 BDCDD O ㉤ OAuth O KOREA OREA K E O O -> O ① chmod ② 751 ① O ② X 패키지 X ㉠ Equivalence Partitioning O A 4 3 2 1 X 34 O NAT O ATM X 7 X ① MAC ② RBAC ③ DAC O 2 O 5040 O split O ① IaaS ② PaaS ③ SaaS O RIP X ① join : ㉢ ⋈ ② project : ㉡ π.. 2023. 10. 9.
23.10.01~23.10.08 업무 1. 신규 서비스 개발사항 리팩토링 추석 연휴가 시작되기 직전, 신규 서비스 MVP를 개발했었다. 기획-디자인이 명확하게 나오지는 않은 상태라, 전체적인 동작만 확인했었는데... 의도대로 구현은 됐지만, 작성한 구조와 코드가 도무지 맘에 들지 않았다. 개선이 필요했던 이유는 1. 각 Class 들이 명확하게 추상화되지 않아 이해가 어려웠고 2. 불필요한 결합도로 인해 유지보수 및 확장이 어려웠기 때문! 추석 내내 어떻하면 이를 개선할 수 있을지 고민했고, 출근 후 하루 정도 시간을 내 리팩토링을 진행할 수 있었다! 1. 시나리오 관리자 추상화 각 시나리오에 맞는 HTMLElement를 DOM에 그려줘야 했는데, 이전에는 시나리오 관리자라는 객체에서 1) 해당 시나리오에 맞는 HTMLElement를 .. 2023. 10. 8.
23.09.17~23.09.24 업무 1. 신규 서비스 관련 기능 개발 회사에서 새로 개발하는 mvp 관련 기능 개발을 진행했다. 사용자의 웹 페이지에 접근해 DOM을 조작하고, script를 삽입해 데이터를 불러오는 등 기존 서비스 개발과는 다른, 새로운 형태의 요구 사항을 구현해야 했다. 각 요구 사항을 직접적으로 개발해본 팀원이 한 명도 없었기 때문에, 우선 한 사이클을 돌리는 데 집중한 한 주! 1) chrome extension을 통한 HTML 조작 https://www.youtube.com/watch?v=GF_3kGzJpCA 이전에 감명 깊게 본 컨퍼런스. 크롬 익스텐션을 활용해 빠르게 프로토타입을 만들고, 실제 유저 환경에서 테스트하는 모습이 인상적이었다. 마침 이번 서비스도 익스텐션을 통해 사용자의 웹 사이트를 조작해야 .. 2023. 9. 24.
728x90
반응형