토이 프로젝트41 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. 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. Spring Boot Web Chatting : 스프링 부트로 실시간 채팅 만들기 (7) WebRTC 를 이용한 실시간 화면 공유 이전 글에 이어서 WebRTC 를 사용해서 실시간 화면 공유를 구현해보았습니다. 저번 글에 '화면 공유 기능 목표!!' 라고 이야기했던게 사실 오래 걸릴 줄 알았는데 의외로 금방? 끝났습니다ㅋㅋ 라고 이전에 글을 썼었는데...생각해보니 공유 되는 나의 화면을 나만 볼 수 있었고, 내 화면을 다른 사람이 보는 내가 생각했던 진짜 '화면 공유' 기능이 아니었다는 걸 깨달았습니다. 결국 빠르게 글을 잠금표시로 전환해두고 코드를 뜯어고치기 시작했습니다. 솔직히 금방 끝나서 다행이다! 했는데 결국 이렇게 또 한주가 가버렸네요ㅠ.ㅠ JS 부분만 고치면 되는거여서 Java 부분의 코드 수정은 전혀 없었습니다 코드는 언제나 처럼 git 참고!! https://github.com/SeJonJ/Spring-WebSocke.. 토이 프로젝트/Spring&Java 갖고놀기 2022. 10. 31. 이전 1 2 3 4 다음