
아무도 알려주지 않는 WebRTC를 사용한 P2P통신
₩46,200
입문 / Go, webrtc, p2p, JavaScript, Socket.io
5.0
(6)
WebRTC를 활용하여 구현하는 웹캠과 피어간 통신에 대해서 학습할 수 있습니다.
입문
Go, webrtc, p2p
자기 소개
비전공자 출신으로 판교에서 플랫폼 서버 개발을 담당하여 진행하고 있습니다.
서버 최적화와 다양한 쿼리 튜닝을 좋아합니다.
경력
[前] 샌드박스 블록체인 개발자
[前] 넥슨 자회사 백엔드 개발자
[前] 판교 대기업 플랫폼 서버 개발자
[現] 판교 모회사 서버 개발자
아무도 알려주지 않는 WebRTC를 사용한 P2P통신
₩46,200
입문 / Go, webrtc, p2p, JavaScript, Socket.io
5.0
(6)
WebRTC를 활용하여 구현하는 웹캠과 피어간 통신에 대해서 학습할 수 있습니다.
입문
Go, webrtc, p2p
MSA 아키텍처에 사용되는 Gateway 패턴 구현하기
₩38,500
초급 / Go, Kafka, MSA
5.0
(4)
해당 강의에서는 yaml을 활용하여 커스텀한 Gateway API를 구성하는 과정을 다루고 있습니다.
초급
Go, Kafka, MSA
MySQL을 활용한 Scalable한 Discord bot 만들기
₩33,000
입문 / Go, MySQL, 챗봇
5.0
(1)
이 강의에서는 Discord Bot을 만드는 방법에 대해서 학습 하실 수 있습니다. 단순한 Message 부터, 복잡한 Complex를 함께 학습 하실 수 있습니다.
입문
Go, MySQL, 챗봇
10만 트래픽 서비스 운영에 적용한 MySQL운영 및 마이그레이션
₩27,500
초급 / MySQL, ec2, AWS, google-geocoding-api, sshd
4.2
(5)
MySQL을 활용한 마이그레이션 및 직접 DB Server를 운영하는데에 있는 Security를 모두 알려드립니다.
초급
MySQL, ec2, AWS
비전공자도 쉽게 구성하는 MSA 서비스 모니터링 대시보드
₩38,500
초급 / opentracing, Docker, MSA, jaeger, open-telemetry
4.7
(7)
해당 강의에서는 OpenTracing을 활용하여 다양한 애플리케이션 간 분산 추적을 하는 방법에 대해서 학습 하시게 됩니다.
초급
opentracing, Docker, MSA
MySQL Geospatial Query를 통한 위치 탐색과 AWS를 활용한 이미지 캐싱
₩44,000
초급 / MySQL, s3, cloudfront, Go
5.0
(3)
AWS (S3, CloudFront), MySQL(Geospatial Query)를 활용한 플랫폼 메스어답션 방법에 대해서 알려드립니다.
초급
MySQL, s3, cloudfront
질문&답변
프론트쪽이 리액트로 되어있는데요..
변경하는거 자체는 어렵지 않을꺼 같은데.. 오히려 제가 HTML이랑 JS를 따로따로 구현하여 하는 작업을 안한지 오래되어서... 실무를 경험하면서 그러한 작업을 할 일이 없어지는거 같습니다...그러다보니 큰 도움을 드리기가 어려운 주제로 보입니다. 굳이 HTML, JS를 따로 구현하여 사용하시는 이유가 있을까요?? 보통 어느 회사도 저런식으로 구현을 하는 경우는 들어보지는 못해서요..
질문&답변
오늘 강의 듣기 시작했는데요!
docker를 사용하신다면, 그냥 이미지를 생성하실 떄, 빌드 바이너리 파일을 넘겨주면 되지 않을까 싶습니다.golang에서 빌드 파일을 생성하는 명령어는 go build -o 을 통해서 생성한 바이너리 실행파일을 넘겨주고,해당 이미지 내부에서 go run 을 통해 실행시키면 되지 않을까 습니다.
질문&답변
RunInit() 관련 질문
안녕하세요 질문 남겨주셔서 감사합니다. 일단 우선적으로 제가 현재 소스코드를 날려먹은 상태여서... ㅠㅠ 정확한 부분은 코드를 봐야 알수가 있는 부분인거 같습니다. 혹시라도 제가 답변해 드리는 내용에 대해서 이해가 잘 안되신다면 관련하여 코드도 첨부해 주시면 감사하겠습니다. 해당 질문에 대해서는 먼저 스펙에 대한 기준이 필요할꺼같습니다.플랫폼을 구성하는데에 있어서 큰 서비스를 운영하는지, 아니면 간단한 서비스인지에 대해서 관점이 달라지는거 같습니다. 큰 서비스를 운영한다면, 기본적으로 메시지 처리를 채널로 하지 않습니다. 데이터 유실에 대해서도 어느정도의 책임을 가지고 있어야하기 떄문에, 보통 저런 구조에서의 채널을 Kafka를 적용하여 관리를 하게 됩니다.물론 내부적으로 코드에서는 채널을 통해 무언가를 처리해도 무방합니다. 이러한 관점이 중요한 부분은 서비스에 대해서 오버 스펙을 굳이 구현 할 필요는 없기 떄문입니다. 회사에서의 비용절감도 어느정도 중요한 부분이기 떄문이에요.그래서 실제로 Kafka를 안써보신 분들도 꽤나 있는걸로 알고 있습니다. 하지만 작은 서비스라면, 사실 어떻게 관리를 하든 무방합니다. 그래서 저는 개인적으로 장단점이 있는거 같아요.여러개의 고루틴을 관리하는것은 쉽지가 않지면, 병렬적으로 좀 더 가볍게 처리 가능한 장점이 있습니다. 하지만 그에 따라서 개발자가 고생을 많이 하는 형태라고 생각을 합니다. 하나의 루틴을 통해서 관리하는것은 간단하지만 아무래도 데이터의 사이즈가 커지기 떄문에 병목이나 문제가 생길 수 있는 부분이 꽤나 발생할꺼같습니다. 개인적으로는 최적화를 위해서는 병렬적인 처리가 더 좋다고 생각을 해요. 하지만 실무에서는 최적화도 중요하지만, 유지 관리의 가능성도 잘 잡고 있어야 하기 떄문에, 상황에 따라서 달라지는거 같습니다.내가 정말 자신있다고 생각을 한다면 병렬적으로 하시는게 맞다고 생각을 합니다. 하지만 어느정도 팀내의 레거시를 따라야한다거나, 팀 내에서의 코드 작성이 자신이 없다면 하나에서 관리를 해도 무방합니다. 하지만 결론적으로는 최선의 방법은 kafka를 통해서 관리하는것입니다. 이 강의에서 사용한 방법은 Kafka까지 가게 된다면 수강하시는 분들이 너무 어려워하실꺼 같아 다루지는 않았습니다. 혹시 제가 잘못된 답변을 드렸거나 엉뚱한 소리를 했다면 한번 더 질문 남겨주시면 감사하겠습니다.좋은 주말 보내세요 :)
질문&답변
소켓 연결과 http
상황에 따라 꽤나 다른거 같습니다. 이거는 사실 인프라적인 부분이라서 제가 정답을 알려드리기에는 조금 부족한 부분이 있겠다라는 생각도 들어요. 일단 기본적으로 Azure에 대해서는 동적인 wss 통신을 지원해주지 않는걸로 알고있습니다..일반적으로 실무에서는 FrontDoor라는 기능을 제공을 하는데, Azure에서는 wss에 대해서 딱히 지원을 해주지 않는걸로 알고 있어요.좀 예전에 알게 된 사실이라서 지금은 어떨지 모르겠네요.. AWS에 대해서는 관련하여 제가 좀 더 검색하고, 실무자님에게 물어보며 질문에 대한 답을 한번 찾아오도록 하겠습니다. 제가알고 있는 지식을 제공해 드리는것도 좋지만 좀 더 인프라를 집중적으로 하시는 분의 의견도 들어보는게 좋지 않을까라는 생각이 드네요. 관련하여 추후에 추가로 공지해 드리도록 할게요 감사합니다!그리고 기본적으로 어떤 플랫폼과 요청인지에 따라 다르겠지만, 요청이 빈번하게 발생하고 지속적인 폴링 작업이 요구된다면, wss 통신이 압도적으로 HTTP보다 좋습니다. 단지 HTTP에 비해서 구현하기 어렵다는 단점을 제외한다면요!!
질문&답변
안녕하세요 혹시 강의하실때 진행하시는 몽고디비 버전은 몇인가요?
안녕하세요. 솔직하게 예전에 촬영했던 강의라서.. 까마득하기 떄문에 딱히 version에 대해서는 기억이 나지 않네요 ㅠㅠ Cluster에서 기본적으로 설정되는 버전이 있는걸로 알고 있는데, 최근에 생성했던 mongo cluster의 경우에는 다음과 같은 버전을 가지고 있습니다.8.0.4 혹시 추가적인 도움이나 질문이 있다면 남겨주세요! 관련해서 알려드리도록 하겠습니다.
질문&답변
실무에서 주로 사용하는 compass의 다양한 기능 어디에 들어가야하나요 ?
처음에 어디에 들어가야 한다는 부분이 잘 이해가 되지 않는데.. 혹시 DB툴인 Compass를 말씀하시는 걸까요??단순하게 Compass를 설치하고 접속하셔서 진행하시면 됩니다. 사실상 툴만 열면 되기 떄문에 어려운 부분은 없으실꺼 같아요.
질문&답변
진짜 너무 감사드립니다
좋은 글 남겨주셔서 감사드립니다. 제 강의의 대부분은 간단하게 구현을 하고, 여러분들에게 어떤식으로 추가로 공부를 하라는 방향을 알려드리고 있습니다. 해당 방식으로 준비한 이유는 결국 개발은 혼자하는것이기 떄문이에요. 제가 하나부터 다 알려주는것은 의미가 없고 스스로 학습하고 알아가보는 과정이 있으면 좋겠습니다. 이 강의가 수강생님에게 좋은 결과를 주었다니 참 기쁜거같아요. 제가 지식공유자 활동을 하면서 해당 글이 가장 인상깊게 남은거 같습니다. 앞으로도 더 좋은 강의를 위해서 노력해보도록 하겠습니다. 그리고 평으로도 남겨주시면 저에게 더 큰 힘이 될 꺼 같습니다.감사합니다 :)
질문&답변
강의하실때 사용하시는 프레임워크와 개발 환경 설정을 모르겠어서 따라가지를 못하네요ㅜㅜ
안녕하세요우선 기본적으로 Go가 설치되어 있으셔야 합니다Cli에서 go version을 통해서 확인 해 주세요. 설치가 되어 있다면.Go mod init Go get 을 활용해 사용하고자 하는 패키지를 가져옵니다. 을 통해서 초기화 해주면 기본적인 설정이 끝나게 됩니다.Go를 통해서 프로젝트를 시작하는것은 매우 쉽습니다.그러니 혹시라도 안된다면 추가적인 질문 부탁드립니다!!
질문&답변
Kafka 구동관련
안녕하세요. 해당 강의는 기본적으로 Docker를 사용하고 있습니다. 그래서 기본적으로 docker conpose명령어를 통해서 실행시켜주시면 됩니다. 예를들면 이런 명령어가 될꺼같아요, docker compose up -d 추가로 궁금한 부분이 있다면 질문 남겨주세요!!
질문&답변
채팅 메세지에 관한 카프카와 DB 구성도
채팅 데이터는 무분별하게 요청이 많이 올 수 있는 데이터 형태 입니다.해당 데이터 형태를 DB에 그대로 넣어주게 된다면, 요청 하나당 하나의 Tx가 발생하게 됩니다. 이러면 사실 좋은 형태가 아니에요. DB에 대한 부하가 굉장히 많이 발생 할 수 있습니다.가장 좋은 방법은 사실상 채팅 데이터는 히스토리성 데이터이며 시간에 따른 데이터에 가깝기 떄문에 사실 다른 DB를 사용하는것이 좋습니다.ElasticSearch같은 부분이 있겠네요 또한 DB에 넣어주는 작업을 Bulk형태로 전송을 하는것이 좋습니다.하나의 Tx에 여러개의 데이터를 합해서 보내는것이죠. Kafka를 사용하지는 않아도 된다고 생각을 합니다. 해당 채팅 데이터를 다른 외부 모듈에서도 사용을 해야 한다면 Kafka를 사용하는것도 좋지만, 하나의 서버에서도 단순하게 관리 할 수 있다고 생각을 해요.그래서 저라면 이렇게 관리가 될 꺼 같습니다.물론 상황이나 좀 더 고려해야 하는 부분에 따라서 달라질 수는 있습니다. FE -> BE -> Redis -> Loop을 통해서 Redis 데이터를 DB로 적재 질문 주셔서 감사합니다. :)