토이 프로젝트44 ChatForYou.io 실시간 화상채팅 프로젝트(2) Redis 데이터 검색하기(feat. redisSearch) 1. 시작하면서이번에도 정말 오랜만에 포스팅을 남기네요. 정말 많은 일이 있었습니다. 변명이라도 하기에는...사실 이번에는 정말 변명거리가 없네요ㅠㅠㅠ그냥 적당히 많이 바쁘기도 했고 정말로 저번주에는 포스팅을 꼭 쓰려고했는데 기존에 사용하던 이미지인 redislabs/redismod 에서 최신 이미지인 redis/redis-stack 로 변경하면서 설정하고 세팅하는데 이상하게 시간이 오래 걸렸습니다ㅠㅠ사실 redis 뿐만 아니라 토큰발급하고 이걸 적용했던 것에 대한 이야기도 좀 해야하구 이야기할게 참 많은데 일단 일단은!! 오늘은 redisSearch 를 위주로 이야기해보도록 하겠습니다. 2-1. 왜 RedisSearch 야?chatRoom 에 대한 데이터를 redis 를 저장하는 건 굉장히 좋은 선택이.. 토이 프로젝트/ChatForYou.io 프로젝트 2024. 12. 7. ChatForYou.io 실시간 화상채팅 프로젝트(1) Redis 활용해서 채팅방 다루기(feat. kubernetes 와 redis mater - slave) 1. 시작하면서벌써 지난 포스팅으로부터 2달이나 지났습니다. 시간이 정말 정말 빠르구나 라는걸 요즘 또 다시 느끼고 있습니다. 동시에 제게도 많은 변화가 있었습니다.먼저 지난번에 잠깐 언급했던 ChatForYou 를 팀으로 만들어보는 새로운 프로젝트를 본격적으로 진행하게 되었습니다. 너무나 멋진 디자인을 만들어주시는 분과 그걸 또 기가막히게 만들어주시는 프론트 개발자분을 모셔서 6월부터는 정말 시간가는줄 모르고 다시 프로젝트를 만들었던 것 같네요.새로운 프로젝트를 진행하면서 새롭게 서버 환경도 구성해보고, 서버 구성도도 그리고, 네트워크 구성도도 그리고 DB 설계도 해보고 뭔가 새로 시작하다는게 신기하면서도 굉장히 재미있게 진행중입니다. 그리고 드디어 1차로 목표로 했던 기능들이 드디어! 어느정도 정리되.. 토이 프로젝트/ChatForYou.io 프로젝트 2024. 10. 12. Spring Boot Web Chatting : 스프링 부트로 실시간 화상 채팅 만들기(14) 실시간 CatchMind 게임 만들기 1. 시작하면서이번에는 비교적 빠르게? 글을 쓰게 되었습니다ㅎ 그거 아세요? catchmind 게임 만들겠다고 첫 포스팅을 작성한지 벌써 2달이 넘었습니다! 멋지게 2024 년 목표로 노션에 캐치마인드를 개발해보자 라고 적어두었던 것은 12월 31일 이니...아마 기획을 포함한 실제 개발은 5개월 정도가 흘렀지 않을까 생각됩니다. 조금의 잡설을 포함해서 이야기를 더 적어보자면 솔직히 3월 정도에는 '이런거 한다고 돈을 받는것도 아니고, 어디 좋은곳으로 스카웃 되는 것도 아니고 내가 대체 뭐하는거지?' 싶어서 현타가 조금 심하게 오기도 했던 것 같습니다. 말로는 이거는 나의 즐거움을 위해서, 나의 재미를 위해서 취미생활로 개발하는거야 라고 하더라도 일도 힘들고, 이직은 더 힘들고 하다보니 이게 과연 의미가.. 토이 프로젝트/Spring&Java 갖고놀기 2024. 5. 5. 1일 1커밋 프로젝트 :: IT 뉴스 크롤링 & Slack 메시징하기 feat. Ollama LLM 사용하기 1. 시작하면서 2023.01.01 - [토이 프로젝트/Python 갖고놀기] - 1일 1커밋 git push 자동화 만들기 - IT 뉴스 사이트 웹 크롤링 && crontab 이용 1일 1커밋 git push 자동화 만들기 - IT 뉴스 사이트 웹 크롤링 && crontab 이용 본 내용은 오직 공부를 위한 내용이며 제 코드를 복제, 수정하여 사용할때 일어날 수 있는 웹 크롤링과 관련된 불법적인 내용에서는 책임질 수 없습니다 1. "개발자는 귀찮아해야 해" 전 회사에 terianp.tistory.com 오랜만에 java 가 아니라 새로운 프로젝트로 돌아왔습니다! 사실 처음부터 이걸 만들려고 했던거는 아니었는데 하다보니까...ㅋㅋㅋ 이번에 가져온 프로젝트는 저번 git push 자동화 1일 1커밋 프로젝.. 토이 프로젝트/Python 갖고놀기 2024. 3. 24. Spring Boot Web Chatting : 스프링 부트로 실시간 화상 채팅 만들기(13) minIO 배포 & 파일업로드/다운로드 구현하기(feat.minIO ssl 적용, mixed-content 에러 해결) 1. 시작하면서 1) 서버 정리 이번에는 좀 오래만에 프로젝트 일지를 쓰게되었습니다. 2023 회고록에서 언급했듯이 사실 최근에 제 프로젝트에 나름? 많은 일이 있었습니다. 특히 기존에 있던 openstack 와 kubernetes 시스템을 완전히 다 뒤집고 다시 처음부터 작업했습니다. 물론 할일이 없어서나 심심해서 혹은 공부하기 위해...한거는 절대 아니고ㅋㅋㅋ 기존에 라즈베리파이 2대에 openstack + kubernetes 를 배포하고 사용했었는데 해당 라즈베리파이 2대를 모두 처분해버리고, 기존의 시스템 전부를 미니pc 로 옮기게 되었습니다. 사실 라즈베리파이라는 한계 때문인지 제가 설치를 잘못해서 그런건지 모르지만 오픈스택에 컴포넌트를 추가하는 것도 조금 문제가 많았고, 성능, 반응도 조금 늦.. 토이 프로젝트/Spring&Java 갖고놀기 2024. 1. 7. Spring Boot Web Chatting : 스프링 부트로 실시간 화상 채팅 만들기(12) 접속 통계 모니터링 및 blacklist 차단(spring server) 1. 시작하면서 이번에는 그래도 오랜만이 아니네요...?ㅋㅋㅋㅋㅋ 최근에는 뭔가 개발속도가 빨라지도 버그 수정도 빨라지는 느낌이 나는 듯합니다. 이제 실무에 투입된지 거의 1년 정도되었으니 당연하다면 당연할 수도 있지만 그래도 왠지 모르게 신기하기도 합니다ㅎ 동시에 이전에 작성된 코드들을 보면서...우와 이걸 대체 왜 이렇게 짰지? 라는 생각도 들고, 이걸 대체 언제 고치지...? 라는 생각도 듭니다. 언젠가는 전체적인 리팩토링이 필요한데 이게 참 벌써부터 두려워요ㅠㅠ 그렇지만 제가 늘 하던대로 일단 기능부터 특히 제가 해보고 싶었던 기능들을 이것저것 마구마구 넣어볼 생각입니다. 일단 다 때려박고...지금부터 짜는 코드라도 어떻게 잘 짜면 나중에 할 일이 줄어들지 않을까? 하는 바램입니다. 이번에도 그런.. 토이 프로젝트/Spring&Java 갖고놀기 2023. 12. 1. Spring Boot Web Chatting : 스프링 부트로 실시간 화상 채팅 만들기 (11) Datachannel && 화면 제어 기능 추가 1. 시작하면서 오늘도 엄청나게 오랜만에 글을 쓰는 듯 합니다. 마지막 글을 보니 벌써 1달이 넘어갔네요...와 빠르다ㅠㅠ 물론 그래도 이번에는 그냥 놀기만 하지는 않았습니다!! 10월은 한달 내내 chatForYou 프로젝트의 기능을 추가하고 개선하고 하는 한 달이었습니다. 사실 기능 추가하고 개선하고 할 때마다 글을 쓸까했는데...세상에 너무 많아서 이거 다 쓰다가는 오히려 개선하는 작업에 시간 투자가 안될 듯하여 미루고 미루다가 이제야 글을 쓰게 되었습니다ㅠㅠㅠ 이번 글에서는 가장 중요하게 생각되는 두 가지! 바로 datachannel 을 사용한 채팅 기능과 각종 화면 제어 기능에 대해서만 설명하고 가겠습니다. 더 자세하게 뭐가 바뀌었고 뭐가 추가되었는가? 에 대해서는 아래 git 이슈 부분을 참고.. 토이 프로젝트/Spring&Java 갖고놀기 2023. 11. 11. Spring Boot Web Chatting : 스프링 부트로 실시간 채팅 만들기 (10) 오디오만을 사용한 화상채팅 개발 & kubernetes 배포 1. 개발일지 : 오디오만을 사용한 화상채팅 정말 정말 오랜만에 화상채팅 프로젝트에 관해서 글을 쓰는 것 같습니다. 굉장히 오랜만에 프로젝트와 관련된 개발을 할 수 있어서 즐거웠던 것 같네요. 역시 내꺼 만드는게 진짜 제일 재미있어요ㅋㅋㅋ 오늘은 이전에 개발 목표로 잡았던 오디오만을 사용한 화상채팅 기능! 을 드디어 개발 완료했고, 동시에 외부 접속까지 가능하도록 kubernetes 를 사용하여 배포까지 완료했습니다. 이번 개발하면서 어려웠던 것은 역시나 화상채팅 js 와 관련된 부분이었습니다. 이번 개발에서는 특히 chatgpt 선생님의 도움을 많이 받았던 것 같습니다. 동시에 chatgpt 를 결코 맹신해서는 안되겠구나...하고 느꼈습니다. 특히 개발에 있어서는 양날의 검이라는 수식어가 딱 들어 맞는.. 토이 프로젝트/Spring&Java 갖고놀기 2023. 9. 17. Kubernetes on OpenStack : 오픈스택과 쿠버네티스 설치 결과와 환경 구성 1. 시작하면서 거의 2달 반 정도 투자한 openstack 과 kubernetes 구성을 완료했습니다. 드디어 끝났어요ㅠㅠ 이번 서버 토이 프로젝트의 가장 큰 목적은 역시나 Openstack 이라는 클라우드 기술을 사용해 프라이빗 클라우드를 구성하고, Openstack 으로 생성한 인스턴스 위에서 Kubernetes 를 올려서 실제 AWS 나 Auzre 와 같은 퍼블릭 클라우드에서 사용하는 것처럼 환경을 구성하는 것이었습니다. 특히 이번 프로젝트를 통해서 네트워크 환경에 대해서 많은 공부를 할 수 있었던 것 같습니다. 진짜...정말 네트워크 기본 중에 기본만 알고 있었는데 이번 기회를 통해 오픈스택에서 네트워크를 구성하고, 서브넷도 구성하고, 인터페이스를 연결했다가 뺐다가 하면서 진짜 어렵고 재미있었습.. 토이 프로젝트/서버갖고 놀기 for DevOps 2023. 7. 2. Jenkins 로 프로젝트 빌드 & 배포하기 - 2) Jenkins 로 github 프로젝트 docker image 로 빌드하기 Jenkins 로 프로젝트 빌드하기 2탄 시작합니다! 지난 글에서는 Jenkins 설치 및 여러 설정을 잡았습니다. 단순히 Jenkins 만 사용하는 것이 아니라 메일 서버와 연결해서 빌드 결과를 받을 수 있도록 연결도 했습니다. 그리고 이번에는 본격적으로 github 와 연결해서 docker image 로 빌드하고 배포까지 하는 작업을 해보도록 하겠습니다. 2023.04.08 - [토이 프로젝트/서버갖고 놀기 for DevOps] - Jenkins 로 프로젝트 빌드 & 배포하기 - 1) Jenkins 설치 및 설정잡기 (feat. mail 연결) Jenkins 로 프로젝트 빌드 & 배포하기 - 1) Jenkins 설치 및 설정잡기 (feat. mail 연결) 오랜만에 돌아온 갖고 놀기 시리즈!! 사실 .. 토이 프로젝트/서버갖고 놀기 for DevOps 2023. 4. 14. Jenkins 로 프로젝트 빌드 & 배포하기 - 1) Jenkins 설치 및 설정잡기 (feat. mail 연결) 오랜만에 돌아온 갖고 놀기 시리즈!! 사실 원래는 datachannel 에 대한 내용에 대해 글을 쓰고 싶었는데 결국 Jenkins 연동에 대해서 먼저 글을 작성하게 되었습니다..ㅠㅠ 어쨌든 Jenkins 연결 일대기 시작하겠습니다! 1. Jenkins 란? Jenkins는 지속적인 통합 (Continuous Integration, CI) 및 지속적인 배포 (Continuous Delivery, CD)를 지원하는 자동화 서버이다. 소프트웨어 개발자, 시스템 관리자 및 IT 전문가들은 Jenkins를 사용하여 소프트웨어 개발 및 배포 프로세스를 자동화 할 수 있다. Jenkins는 다양한 플러그인과 호환되며, 이를 통해 다양한 소프트웨어 개발 및 배포 프로세스를 자동화 할 수 있다. 예를 들어, Jenki.. 토이 프로젝트/서버갖고 놀기 for DevOps 2023. 4. 8. Spring Boot Web Chatting : 스프링 부트로 실시간 채팅 만들기 (9) Kurento 를 이용한 그룹 화상 채팅 코드 분석 0. 시작하면서 1) MediaServer 의 구현 - SFU 의 모습을 기억해두자. 특히 이 모습과 코드를 비교하면서 보면 더욱 이해가 쉽다. 2) 동작은 어떻게?? 대략 이런 느낌이구나하고 넘어가고, 아래의 코드를 보면서 더 자세한 내용을 확인한다. 1. roomMap 을 통해 전체 room 을 조회, 추가, 수정, 삭제 한다 2. KurentoRoom 을 통해 화상 채팅 방을 만든다. 3. KurentoRoomManager 를 통해 KurentoRoom 에 대한 자세한 관리 - 조회, 추가, 수정, 삭제 -를 한다. 4. KurentoRegistry 는 이런 room 에 접속한 유저 - kurentoUserSession - 를 관리한다. 5. KurentoUserSession webrtc 를 위해 .. 토이 프로젝트/Spring&Java 갖고놀기 2023. 1. 27. 이전 1 2 3 4 다음 728x90 반응형