테스트 가능성을 높이자 (TDD, 테스트 코드)
Growth Hacking 2023. 12. 23. 13:27

안녕하세요 😉 유유자적한 개발자 유로띠 입니다 😀 회사에서 프로젝트를 통해 배우고 성장하며 이것을 토대로 그로스 해커(Growth Hacker)가 되기 위한 포스팅입니다. 오늘의 이야기는 테스트 코드 는 왜 중요한지 에 대한 내용입니다 😏 테스트 코드의 경험 1년간의 프로젝트 저는 현재 온라인 강의 콘텐츠를 제공하는 회사에 다니고 있습니다. 올해 초 오픈한 신규 B2B 온라인 강의 사이트를 위해서 작년부터 열심히 달려왔습니다. 전체 아키텍처를 새롭게 구상하고 기존에 사용하던 프레임 워크와 언어를 과감하게 변경하고 새로운 기능을 추가하면서 새롭게 시작하였습니다. 때문에 1년의 시간은 정말 너무너무 부족한 시간이었죠... 😇 하지만 그 부족한 시간 속에서 저희 팀이 지켜야 하는 단 한 가지 규칙이 바로 테스..

[모니터링 시스템] Datadog 사용 가이드(Google Cloud Platform)
Growth Hacking 2023. 10. 26. 00:55

안녕하세요 😉 유유자적한 개발자 유로띠 입니다 😀 👏👏👏👏 이번 포스팅에서는 ✅ Datadog 이란? ✅ 백엔드에서 연동하는법 에 대해서 알아보겠습니다 Datadog(데이터독) 이란? SaaS 기반 데이터 분석 플랫폼을 통해 서버, 데이터베이스, 도구 및 서비스에 대한 모니터링을 제공하는 클라우드 규모 애플리케이션용 모니터링 서비스입니다 ✅ Datadog의 로고 로고에 있는 개 이름은 Bits입니다. ✅ Datadog 기능 📍Integrations (통합) 공식 지원 대상이 600개 정도 존재하며, Integrations(통합)을 이용하여 인프라스트럭처에서 모든 메트릭과 로그를 수집하여 통합형 시스템을 전체적으로 파악할 수 있습니다 3개의 통합 유형이 존재합니다. Agent 기반 : Datadog Age..

제2의 두뇌! 옵시디언(obsidian) 사용하기
t-time 2023. 10. 3. 14:16

안녕하세요 😀 유익한 일상 정보를 전달하는 유로띠 입니다 😉 제2의 두뇌라고 불리는 옵시디언은 무엇인지 알아보도록 할게요! ✅ 옵시디언이란? ✅ 옵시디언 설치 ✅ 옵시디언 사용법 옵시디언 이란? Sharpen your thinking. Obsidian is the private and flexible writing app that adapts to the way you think. 생각을 예리하게 만드세요 옵시디언은 여러분이 생각하는 방식 그대로 사용 가능한 유연하고 안전한 노트 앱입니다. 옵시디언 공식 홈페이지 메인에 소개문구입니다. 왜 이렇게 설명하는지 살펴보겠습니다. private: 100% 로컬에서 사용가능하도록 하기 때문에 데이터는 옵시디언이 접근할 수 없고, 그렇기 때문에 오프라인에서도 사용가..

MongoDB를 이용하여 검색 시스템을 만들어보자(: full text search)
Growth Hacking 2023. 7. 25. 00:18

안녕하세요 😉 유유자적한 개발자 유로띠 입니다 😀 회사에서 프로젝트를 통해 배우고 성장하며 이것을 토대로 그로스 해커(Growth Hacker)가 되기 위한 포스팅입니다. 오늘의 이야기는 다양한 검색어에 대해서 어떻게 전문 검색(full text search)을 지원해야 할지 고민했던 내용입니다 😏 🤔 전문 검색(full text search)이 필요하다 온라인 강의를 제공하는 서비스 회사에서 이번 맡은 업무는 강의 검색 고도화입니다. 요구사항을 간단히 살펴보겠습니다. 강의 검색 시 제목뿐만 아니라 다음과 같은 범위도 검색의 대상이 되어야 한다. ✅ 강의의 목차 ✅ 강사의 이름 ✅ 강의 소개 ✅ 관련 키워드 요구사항을 확인해 보면 결국 단 한 가지! 전문 검색이 가능해야 한다는 점입니다. 그럼 현재 검색..

MongoDB에서 nGram 사용하기(fts, search index)
Programming/mongoDB 2023. 7. 8. 17:40

안녕하세요 😉 유유자적한 개발자 유로띠 입니다 😀 👏👏👏👏 이번 포스팅에서는 ✅ n-gram 이란? ✅ search Index 설정하기 에 대해서 알아보겠습니다 n-gram 이란? ✅ 전문 검색의 종류 n-gram을 설명하기 앞서 먼저 전문 검색하는 종류에 대해서 간단히 살펴볼게요 전문 검색의 아키텍처는 종류가 많이 있는데, 그중에 가장 많이 사용하는 3가지를 소개할게요 📍 grep 형 grep형은 검색 대상 문서를 처음부터 전부 읽어가는 가장 단순한 아키텍처입니다. 단순하게 구현한다면, big-O로 계산하면 O(텍스트의 길이 x 검색 대상의 검색어의 길이) 만큼 상당한 시간이 걸립니다. 장점은 즉시성이 좋고, 검색누락이없으며, 병렬화하기가 매우 간단하다는 특징이 있습니다. 📍 Suffix 형 Suffi..

gcp cloud run jobs을 이용해 배치 작업을 해보자(feat. cloud scheduler)
Growth Hacking 2023. 5. 5. 21:47

안녕하세요 😉 유유자적한 개발자 유로띠 입니다 😀 회사에서 프로젝트를 통해 배우고 성장하며 이것을 토대로 그로스 해커(Growth Hacker)가 되기 위한 포스팅입니다. 👏👏👏👏 두 번째 그로스 해커 오늘의 이야기는 특정 시간대에 실행되어 반복적으로 처리하는 작업(배치)을 GCP환경에서 구성하는 방법에 대해 고민했던 내용입니다. 😏 특정 시간에 작업이 실행되어야 한다. 이번에 작업한 기능은 수강생에게 특정 메일을 보내는 기능입니다. 특정 메일은 강의가 오픈했거나, 강의 종료 며칠 전, 혹은 특정 수강률을 달성 시에 메일을 보내는 기능입니다. 기능은 수월하게 만들었으나 문제는 매일매일 해당 정보를 확인해서 메일을 보내는 일이였습니다. ✅ 매일매일 작업을 해야 한다? 매일 특정 시간에 작업이 진행된 후 메..

mac에서 mongodb 설치하기(feat. xcode error)
Programming/mongoDB 2023. 5. 5. 19:17

안녕하세요 😉 유유자적한 개발자 유로띠 입니다 😀 👏👏👏👏 이번 포스팅에서는 ✅ MacOS에서 MongoDB 설치하기 ✅ 설치 중 발생되는 에러 ✅ MongoDB 실행 및 접속 에 대해서 알아보겠습니다 MacOS에서 MongoDB 설치하기 설치하는 방법은 공식 문서를 참고하였습니다. Install MongoDB Community Edition on macOS — MongoDB Manual Docs Home → MongoDB Manual MongoDB AtlasMongoDB Atlas is a hosted MongoDB service option in the cloud which requires no installation overhead and offers a free tier to get started..

Mac OS에서 CocoaPods 설치 시 에러 해결 방법
Programming/flutter 2023. 2. 11. 01:19

안녕하세요 😉 유유자적한 개발자 유로띠 입니다 😀 👏👏👏👏 이번 포스팅에서는 ✅ Error installing CocoaPods ✅ cocoapods 설치 error 해결 방법 ❎ flutter run 실패 ✳️ gem을 이용하여 설치 및 flutter run 성공 에 대해서 알아보겠습니다 CocoaPods 설치 에러 ✅ Error installing CocoaPods 오랜만에 flutter 공부를 다시 시작하기 위해 flutter run을 실행하니 다음과 같은 에러가 발생되었습니다. $ flutter run Launching lib/main.dart on iPhone SE (3rd generation) in debug mode... Warning: CocoaPods is installed but bro..

프로그래머의 글쓰기 고민 끝! 개발자의 글쓰기
Books 2022. 10. 10. 17:14

안녕하세요 😀 유로띠 입니다 😉 개발자의 글쓰기 MIL (Month I Learned) 책을 읽고 개인적으로 중요하다고 생각되는 부분이나 소개하고 싶은 내용만 작성하였습니다. 소개하고자 하는 범위 ✏️ 1장 개발자가 알아야 할 글쓰기 기본 ✏️ 2장 개발 시간을 줄여주는 이름 짓기와 주석 쓰기 😉 책에서 기억하고 싶은 내용을 써보세요. 개발자의 글쓰기는 정확성 간결성 가독성이 중요하다. 👍 1장. 개발자가 알아야 할 글쓰기 기본 영어 단어 선택과 외래어 표기법 개발을 하다 보면 영어와 친해져야 한다. 개발을 하다 보면 반대가 되는 단어를 선택해야 할 때가 많이 있다. 🟢 반대 말 show(보여주다)의 반대로 어떤 것을 사용하면 좋을까? 바로 hide(감추기)가 좋다. hide 대신 invisible을 쓰..

flutter 패키지 매니저 pub.dev 사용하기 (fluttertoast 사용해보기)
Programming/flutter 2022. 9. 16. 02:48

안녕하세요 😉 유유자적한 개발자 유로띠 입니다 😀 👏👏👏👏 이번 포스팅에서는 ✅ pub.dev 소개 ✅ toast 사용해보기 에 대해서 알아보겠습니다 flutter package manager ✅ pub.dev pub.dev Dart packages Pub is the package manager for the Dart programming language, containing reusable libraries & packages for Flutter, AngularDart, and general Dart programs. pub.dev pub.dev는 Flutter는 다른 개발자들이 Flutter와 Dart 생태계에 기여한 공유 패키지들을 사용할 수 있도록 지원합니다. 이 패키지를 이용하면 처음부터 모..

Ghost 블로그를 쿠버네티스에 배포해보기(gke)
Programming/Gcp 2022. 8. 1. 14:17

안녕하세요 😉 유유자적한 개발자 유로띠 입니다 😀 👏👏👏👏 이번에 사내에서 gke 스터디를 시작하게 되었습니다. 스터디를 시작하기 전에 gke에 대해서 전혀 모르기 때문에 찾아보다가 유튜브에서 초보를 위한 쿠버네티스 안내서란 Subicura님의 강의를 찾아서 보게 되었습니다. 초보자도 알기 쉽게 설명해 주셔서 너무 좋았습니다. 쿠버네티스를 이용한 배포 데모 편에서 ghost 블로그를 쿠버네티스에 올리는 시연을 보여주셔서 저도 궁금하여 직접 해보게 되었습니다! 이번 포스팅에서는 ✅ 컨테이너 오케스트레이션 ✅ 쿠퍼네티스 소개 ✅ gke에 Ghost 블로그 배포 에 대해서 알아보겠습니다 컨테이너 오케스트레이션 ✅ 서버를 관리한다는 것 💡 (하나하나 캡처를 해서) 문서화를 잘하자! -> 업데이트가 안될 수 있고..

10장. 헤드퍼스트 디자인 패턴 - 상태 패턴
Books/헤드퍼스트 디자인 패턴 2022. 7. 11. 09:48

안녕하세요 😀 유로띠 입니다 😉 헤드퍼스트 디자인패턴 TIL (Today I Learned) 3줄 요약 ✏️ 상태와 행동을 분리!! ✏️ 다음 현재 상태를 나타내는 객체에게 행동을 위임하므로 내부 상태가 바뀔 때 행동이 달라지게 된다는 사실을 쉽게 알 수 있다. ✏️ 전략 패턴과 쌍둥이 이지만 상태 패턴은 초기 상태 이후 Context 객체가 알아서 자기 상태를 변경한다. (전략 패턴은 1장이고 상태 패턴은 10장이다?! (전략 패턴 왈)) DAY 4 오늘 읽은 범위: 10장. 객체의 상태 바꾸기 - 상태 패턴 😉 책에서 기억하고 싶은 내용을 써보세요. 개요. 전략 패턴과 상태 패턴은 쌍둥이 입니다. 전략 패턴은 바꿔 쓸 수 있는 알고리즘을 내세워 큰 성공을 거둔 반면에, 상태 패턴은 내부 상태를 바꿈으..