전체 글199 Spring Boot Web Chatting : 스프링 부트로 실시간 채팅 만들기 (10) 오디오만을 사용한 화상채팅 개발 & kubernetes 배포 1. 개발일지 : 오디오만을 사용한 화상채팅 정말 정말 오랜만에 화상채팅 프로젝트에 관해서 글을 쓰는 것 같습니다. 굉장히 오랜만에 프로젝트와 관련된 개발을 할 수 있어서 즐거웠던 것 같네요. 역시 내꺼 만드는게 진짜 제일 재미있어요ㅋㅋㅋ 오늘은 이전에 개발 목표로 잡았던 오디오만을 사용한 화상채팅 기능! 을 드디어 개발 완료했고, 동시에 외부 접속까지 가능하도록 kubernetes 를 사용하여 배포까지 완료했습니다. 이번 개발하면서 어려웠던 것은 역시나 화상채팅 js 와 관련된 부분이었습니다. 이번 개발에서는 특히 chatgpt 선생님의 도움을 많이 받았던 것 같습니다. 동시에 chatgpt 를 결코 맹신해서는 안되겠구나...하고 느꼈습니다. 특히 개발에 있어서는 양날의 검이라는 수식어가 딱 들어 맞는.. 토이 프로젝트/Spring&Java 갖고놀기 2023. 9. 17. 화상채팅 프로젝트 ChatForYou - re:start 1. 시작하면서 이번에도 정말 오랜만에 블로그에 글을 올리는것 같습니다ㅠㅠ 이제 회사에 들어온지 대략 8개월 정되었구, 그래서 그런지 아니면 여름이여서 그런지 정말 바쁜 매일을 보내고 있습니다ㅠㅠ 그덕분에 회사에서도 코드보고 집에서도 코드 보기가 뭔가 싫어져서 오픈스택이나 쿠버네티스 같은 부가적인? 요소들을 더 공부했던 것 같아요ㅎ 하지만 이제는 슬슬 중단해두었던 화상채팅 프로젝트를 다시 시작할 때가 되었음을 느꼈습니다. 그러면서 git 에 들어가서 이슈에 적어두었던 버그들도 확인하고 기능 개선이 관련된 notion 도 보고 하니...와 진짜 빡시게 해야되겠다 생각이 들었습니다ㅠㅠ 동시에 kurento 를 싹 갈아엎고 openvidu 로 넘어갈까...? 하는 생각도 들더라구요. 이쪽이 코드도 더 간단할 .. 프로젝트 일지 2023. 8. 27. Kubernetes on OpenStack : 오픈스택과 쿠버네티스 설치 결과와 환경 구성 1. 시작하면서 거의 2달 반 정도 투자한 openstack 과 kubernetes 구성을 완료했습니다. 드디어 끝났어요ㅠㅠ 이번 서버 토이 프로젝트의 가장 큰 목적은 역시나 Openstack 이라는 클라우드 기술을 사용해 프라이빗 클라우드를 구성하고, Openstack 으로 생성한 인스턴스 위에서 Kubernetes 를 올려서 실제 AWS 나 Auzre 와 같은 퍼블릭 클라우드에서 사용하는 것처럼 환경을 구성하는 것이었습니다. 특히 이번 프로젝트를 통해서 네트워크 환경에 대해서 많은 공부를 할 수 있었던 것 같습니다. 진짜...정말 네트워크 기본 중에 기본만 알고 있었는데 이번 기회를 통해 오픈스택에서 네트워크를 구성하고, 서브넷도 구성하고, 인터페이스를 연결했다가 뺐다가 하면서 진짜 어렵고 재미있었습.. 토이 프로젝트/서버갖고 놀기 for DevOps 2023. 7. 2. OpenStack - 오픈스택 갖고 놀기 - 설치부터 인스턴스 생성까지 1. 시작하면서 진짜 정말 오랜만에 새 글을 쓰는거 같습니다ㅠ.ㅠ 사실 바빴던 것 보다는 오픈스택을 얼른 구축하고 인스턴스 얼른 만들고, 글을 쓰고 싶었는데 우와...이거 생각보다 어렵더라구요 단순히 구축하는 것도 어렵긴했는데 뭣보다 네트워크 설정하고 이것저것하는데 생각보다 오래걸렸습니다. 사실 이번 갖고 놀기 프로젝트에서는 아쉬운게 좀 많습니다. 제가 원했던 것은 인스턴스 생성 - 내부 네트워크와 외부 네트워크를 라우터를 통한 연결 - 인스턴스에 쿠버네티스 설치까지...였는데 결국 제가 한 것은ㅠㅠ 이번 포스팅에서는 오픈스택 전체 설치 과정에 대한 부분은 생략하고, 어떻게 구성했는지와 네트워크 구성 정도만 짧막하게 적도록 하겠습니다. 2. 프로젝트 구성, 목표와 결과 0) 서비스 구성 물리 서버는 총 .. Server/OpenStack 2023. 5. 21. 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. ChatForYou 기능 추가 - datachannel(3) 이번주 내내 도전한 결과 결국 실패ㅠㅠ 그렇다고 완전히 포기..는 하고 싶지 않아서 계속 붙잡고는 있는데 이상하게 안된다 물론 나름의 발전?이 있었다. 현황 정리 1. 일단 kurentoUserSession 클래스에서 아래와 같이 사용해서 createDataChannel 과 sendData, showData 를 모두 구현할 수 있었다. - 기존에는 이 부분에서 에러가 났는데 쿠렌토 9.0 버전을 사용후 에러가 없어졌다. public KurentoUserSession(String name, String roomName, WebSocketSession session, MediaPipeline pipeline, KmsSendData kmsSendData, KmsShowData kmsShowData) { thi.. 프로젝트 일지 2023. 4. 3. ChatForYou 기능 추가 - datachannel(2) 기능 추가에 관한 정리 2탄! 1. DataChannel 추가 - 여전히 해결 방법을 못 찾았다ㅠㅠ - 다만 kurento-utils.js 에서 관련돤 내용을 찾을 수 있었는데 아래 링크 https://doc-kurento.readthedocs.io/en/latest/features/kurento_utils_js.html#overview 프로젝트 일지 2023. 3. 25. ChatForYou 기능 추가 - datachannel(1) 한동안 글이 뜸했습니다ㅠㅠ 물론 바빠서 그랫던것도 있지만...그래도 무작정 놀았던 것은 아닙니다! 여러가지 기능을 추가하려고 이것저것 시도도 해보았고, 실제로 적용해보았는데 아무래도 제가 원하는 만큼 퍼포먼스가 나오지 못해서 차마 정리하지 못 했습니다. 대표적으로 카메라의 모션인식을 통한 게임 구현과 datachannl 이 있었는데 결국 모션인식쪽은 한달동안(2월 내내) 미친듯이 해매다가 이제는 때려쳤습니다ㅋㅋ 이게 도저히 안되겠더라구요. 그리고 datachannl 부분은 이제 열심히 하고 있습니다. 사실 한달에 5개 정도의 글을 쓰고 싶었는데 2월내내 아무런 글이 없다보니까 블로그가 텅 비어있는게 아쉽기도 하고 허전하기도 하고 무엇보다 프로젝트에 넣을 기능에 대해서 정리하는 겸해서 간략하게 일지를 써보.. 프로젝트 일지 2023. 3. 18. 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. Spring Boot Web Chatting : 스프링 부트로 실시간 채팅 만들기 (8) Kurento 를 이용한 그룹 화상 채팅&실시간 화면 공유 1. 시작하면서 드디어 기다리고 기다리던 Kurento 를 이용한 N:M 그룹 화상 채팅이 완료되었습니다! 사실 매번 이번 코딩은 너무 어려웠습니다 하고 시작했지만...이번에는 정말 최고 난이도 였던 것 같습니다. 이게 다른 것보다는 한글로 적혀있는 정보를 찾기가 너무 힘들어서 오류가 나거나 했을 때 해결하기가 정말 힘들었던 것 같습니다. 시간이 가장 많이 들어갔던 부분은 서버설정과 쿠렌토 미디어 서버와 연결하기 위한 코딩 부분이었습니다. 서버 설정에서는 Kurento Media Server - 쿠렌토 - 와 turn server - coturn - 을 설치한 후 spring 프로젝트와 연결시킬 때 정말 많이 오류가 발생했었습니다. 단순히 서버 설정이 잘못된 건지 java 쪽에서 쿠렌토 서버와 연결하는 .. 토이 프로젝트/Spring&Java 갖고놀기 2023. 1. 24. 1일 1커밋 git push 자동화 만들기 - IT 뉴스 사이트 웹 크롤링 && crontab 이용 본 내용은 오직 공부를 위한 내용이며 제 코드를 복제, 수정하여 사용할때 일어날 수 있는 웹 크롤링과 관련된 불법적인 내용에서는 책임질 수 없습니다 1. "개발자는 귀찮아해야 해" 전 회사에서 엑셀 파일로 업무를 하면서 엑셀 함수를 짜는 저를 보신 매니저님께 들었던 이야기였습니다. 사실 당시까지만 해도 "왜...? 귀찮아해야한다는거지?" 라고 궁금해 했었습니다. 그런데 최근에는 조금씩 이해가 가기 시작했습니다. 실제로 귀찮아 해야지만 그걸 어떻게 발전시킬 수 있을지 고민하게되고, 말 그대로 여러가지를 "개발" 할 수 있게 되니까 그런게 아닐까라고 이제서야 조금씩 이해가 가더라구요ㅋㅋ 왜 이 이야기를 먼저 꺼냈냐하면 사실 올해 목표로 잡은 것 중 하나가 1일 1커밋 입니다. 아무래도 git 잔디를 관리해야.. 토이 프로젝트/Python 갖고놀기 2023. 1. 1. 이전 1 2 3 4 5 ··· 17 다음