카테고리137 [TensorFlow - NSFW] 부적절한 컨텐츠 감지 이번에는 Urdego 컨텐츠 서비스의 부적절한 컨텐츠 감지에 대한 포스팅을 작성하고자 합니다 도입 계기Urdego 프로젝트는 사용자가 생성하는 컨텐츠(UGC)를 게임에 사용하는 특성익명성이 보장되는 플랫폼에서 '유해 콘텐츠가 업로드될 가능성' 해결방법Amazon Rekognition (AWS에서 제공하는 부적절한 이미지 및 비디오 감지 API)Cloud Vision API - SafeSearch (GCP에서 제공하는 유해성 컨텐츠 감지)Green-eye (Naver에서 제공하는 음란물 차단 AI)등등...찾아보면서 느낀점은 API를 사용하면 손쉽게 구축할 수 있지만 역시 사용에 따른 비용이 발생한다는 점이다..블로그 포스팅하면서 매번 언급했지만 Urdego는 이미 비용문제 -> 홈서버로 구축했기에 부가.. 2025. 2. 18. [깃허브 액션 - CI&CD] Self-hosted Runner 이번에는 urdego 백엔드 서비스들의 CI&CD 를 위한 깃허브 액션 도입에 대해 다뤄 볼려 합니다 도입 계기urdego 프로젝트는 여러개의 마이크로서비스 (User, Content, Game, 등) 으로 구성되어있어 각 서비스의 코드 변경 시마다 수동으로 빌드, 테스트, 배포를 진행하기에는 무리가 있었다.다수의 팀원이 협업하는 환경에서는 코드 병합시 의도치 않은 오류가 발생하거나 환경별 종속성으로 인한 문제가 드러나기도 하기에 코드 변경 사항에 대해 자동으로 빌드와 테스트를 실행하고 배포까지 자동화하는 도구가 필요했는데 Github Actions를 선택했다. Self-hosted ??urdego는 이미 AWS의 EC2 비용이 부담스러워 홈서버로 구축했기에 Github Actions의 퍼블릭 클라우드 .. 2025. 1. 12. Kafka 핵심 개념 [실전 카프카 개발부터 운영까지 by 고승범] 분산 시스템분산 시스템은 쉽게말해 네트워크상에서 연결된 컴퓨터들의 그룹을 말하며 단일 시스템이 갖기 못한 높은 성능을 목표로 한다. 성능이 높다는 장점 이외에도 하나의 서버 또는 노드가 장애가 발생할 때 다른 서버 또는 노드가 대신 처리하므로 장애 대응이 탁월하다. 또한 부하가 높은 경우에는 시스템 확장이 용이하다. 카프카도 분산 시스템으로 최초 구성한 클러스터의 리소스가 한계치에 도달하여 더욱 높은 메시지 처리량이 필요할 경우, 브로커를 추가하는 방식으로 확장이 가능하다.카프카에서 브로커는 온라인 상태에서 매우 간단하게 추가가 가능하다. 최초에 하나의 카프카 클러스터가 총 3대의 브로커로 운영 중이여도 서비스가 폭발적으로 증가할 경우 나중엔 총 30대 또는.. 2025. 1. 2. Kafka 개요 [실전 카프카 개발부터 운영까지 by 고승범] Kafka -> LinkedIn에서 처음 개발 도입사례잘란도의 규모가 커지고 사업이 다각화되면서 내부적으로 데이터에 대한 온갖 요구사항이 불거지기 시작 -> 데이터의 변화가 스트림으로 컨슈머 측에 전달되는 이벤트 드리븐 시스템으로 전환 -> 이를 통해 컨슈머들은 자신의 오규사항에 따라 데이터를 처리하거나 구독이 가능 Event Driven Architecture분산 아키텍처 환경에서 이벤트를 생성하고 발행된 이벤트를 수신자에게 전송하는 구조수신자는 그 이벤트를 처리하는 방식으로, 상호 간 결합도를 낮추기 위해 비동기 방식으로 메시지를 전달하는 패턴이다.각 마이크로서비스는 함께 작동하지만 서로 다른 비즈니스 로직을 적용하고 자체 출력 이벤트를 보낼 수 있으며주.. 2025. 1. 2. 개발자 잔디 기부 캠페인 2024. 12. 23. [홈서버 구축] Public Cloud(AWS) -> On-premise(홈서버) 구축 전환 오랜만에 포스팅입니다 약4개월..? 이번포스팅은 데브코스 최종 프로젝트인 'urdego 어데고?!'를 Public Cloud에서 On-premise 전환 과정에 대해서 다뤄볼려 합니다. 1. 왜 Aws 대신 홈서버로 구축하는가? 마침 노트북을 맥북프로로 갈아타면서 쉬고있는 윈도우 놑북이 존재했다 ㅎㅎaws ec2(t2.medium)를 이용하여 팀프로젝트에서 공용으로 사용하였는데 3주? 안된 기간을 사용하였는데도 성능대비 비용이 너무너무 순식간에 차는것을 볼 수가 있었다..프로젝트 최종 발표날에 데모를 진행하는데 70~80명이 한번에 접속하고 이것저것 눌러보니 cpu 사용률이 100%가 되더니 서버가 죽어버렸다. (t2.medium은 vCPU=2 RAM=4.0 이였다ㅜㅜ)그렇다 하나의 ec2안에 다섯개정.. 2024. 12. 18. Servlet 보호되어 있는 글 입니다. 2024. 8. 9. CS 정리 보호되어 있는 글 입니다. 2024. 8. 6. [JAVA] 코테 정리 보호되어 있는 글 입니다. 2024. 7. 15. [Jenkins] REAEME.md 에 블로그 최신 글 가져오기 GitHub Readme에서 Latest Blog Post 부분에 Tistory에 작성한 글을 불러오고 싶었다. 그래서 Tistory에 글 작성 시 자동으로 GitHub의 README 파일을 업데이트 하도록 Jenkins를 이용해보려 한다. Tistory에서 글 작성 시 자동으로 Jenkins가 실행되도록 하기 위해 Webhook을 설정해야 한다. 하지만 Tistory는 공식적으로 Webhook 기능을 제공하지 않지만, Tistory RSS 피드를 정기적으로 검사하여 Jenkins 트리거하는 방식으로 설계했다. 1. 플러그인 설치Jenkins에서 GitHub와의 효과적인 연동을 위해 필요한 플러그인을 설치한다.GitHub Integration과 HTTP Request 플러그인 설치 플러그인 설치 .. 2024. 6. 10. 이전 1 2 3 4 ··· 14 다음