저는 IT 엔지니어입니다. 언젠가 직업란에 "회사원?", "개발자?", "강사?" 어떤 단어를 선택해야 할 지 고민이 되었던 때가 있었습니다. 그러다가, IT 엔지니어라는 표현이 제가 잘 어울리는 직업명이라는 생각이 들어 지금까지도 직업란에는 "IT 엔지니어"라고 적고 있습니다.
직업이라는 것은 자신의 일을 나타내는 것이고, 일이라는 것은 재미있고, 도움이 되는 일이면 좋겠다는 생각을 가지고 있습니다. 누구나 다 원하는대로 일을 하며 살수는 없지만, 저는 제가 하는 있는 이 일을 좋아하는 있고, 잘하고 싶어하는 사람입니다. 개발자로써, 강사로써, 컨설턴트로써의 역할을 해 오면서, 매번 새롭게 출시되고 변화하는 IT 신기술을 따라가기에 급급하지만, 그래도, 남들보다 조금이라도 먼저 접하고, 전파하고, 사용하고 싶은 사람 중 한명입니다.
최근 관심을 가지고 있는 분야는 온라인 교육 컨설팅입니다. 그리고 관심있는 기술은 Cloud Native Architecture, Blockchain, Machine Learning, Kafka, Kuberbetes 등입니다. 이러한 기술은 실제로 강의도 하고 있고 업무에 적용해서 사용도 하고 있습니다. 하지만, 워낙 방대한 주제이다 보니, 아직까지도 계속 공부하고 있습니다.
머리속에 가지고 있는 것은 진정한 지식이 아니라고 합니다. 저는 제가 가진 지식과 경험을 다양한 방벙을 통해 공유하려 합니다. 그리고, 새로운 분야, 새로운 기술에 계속 도전하고 있는 IT 엔지니어가 될 것입니다.
現) 엔제이원컴퍼니 대표
現) 동국대학교 국제정보대학원 정보보호학과 대우교수
前) JP Morgan Chase AMJ Tech consultant (일본)
前) 삼성 SDS CMS 사업본부 책임 엔지니어
講義
受講レビュー
- マルチOSを使用するための仮想化環境構築ガイド(Docker + Kubernetes)
- [改訂版2023-11-27] Spring Boot 3.xを利用したRESTful Web Servicesの開発
- マルチOSを使用するための仮想化環境構築ガイド(Docker + Kubernetes)
- マイクロサービス設計パターン完全ガイド
- マルチOSを使用するための仮想化環境構築ガイド(Docker + Kubernetes)
投稿
Q&A
gPRC 와 서비스 디스커버리에 대해 질문드립니다.
안녕하세요, 이도원입니다. 서비스 디스커버리의 역할은 레지스트리 역할도 포함하면서, 애플리케이션을 구성하는 서비스의 위치 검색을 하도록 도와주는 것입니다. 서비스들 간의 통신에 포트 바인딩 정보가 필요하다는 것은 호스트명 또는 IP 주소를 직접 사용하게 되는 경우일텐데, 서비스 디스커버리에 등록 된 서비스들은 서비스명(Eureka의 경우 instance-id)과 자신들의 실제 위치를 등록합니다. 따라서, 다른 서비스들이 사용할때는 실제 위치(IP:PORT) 보다는 서비스명으로 사용하게 되며, 서비스명으로 호출이 되면, 로드 밸런서에 등록된 서비스들 중, 사용이 가능한 서비스가 요청 처리를 하게 됩니다. 말씀하신대로 Eureka와 같은 애플리케이션의 서비스 디스커버리에 등록 된 서비스들을 호출할 때, http 프로토콜을 이용하여 호출하게 되면, 서비스들의 실제 IP:PORT 정보가 필요하지만, lb 프로토콜을 이용하게 되면, 서비스명으로 호출되어, 등록 된 여러 서비스 인스턴스 중 하나가 라운드로빈 방식에 의해 실행되게 됩니다. 따라서, 애플리케이션 명으로 서비스간 호출이 이뤄진다면, 포트 바인딩 처리를 호출하는 측에서 별도로 할 필요가 없습니다. 추가로, 서비스 디스커버리 역시 단일 에러 포인트를 만들수 있기 때문에, 1개의 서버로 구성하기 보다는 HA 구성을 할 수 있도록, 2개 3개 확장해서 구현하시는 것이 좋습니다. 추가 질문 사항이 있으시면 언제든지 글 남겨 주세요. 감사합니다.
- 0
- 2
- 18
Q&A
최신 webflux 라이브러리에서 yml 작성법
안녕하세요, 이도원입니다. 정보 공유 감사드립니다. 최근 기존 강의에 대한 콘텐츠를 업데이트 중입니다. 해당 내용도 참고 하도록 하겠습니다. 감사합니다.
- 0
- 2
- 57
Q&A
docker mariadb 실행
안녕하세요, 이도원입니다. Docke로 mariadb를 실행할 때, 초기 데이터를 지정하는 부분에 대해서 작업 중이신 것 같습니다. 작업 하신 것처럼, sql 로 덤프 데이터를 준비하신 다음에 진행하시거나, 볼륨 마운트를 통해 Host PC에 있는 데이터를 지정하는 방법도 있을 것 같습니다. DB 파일을 아래와 같은 명령어로 지정하실 수도 있습니다. docker run -d -v /path/on/host:/var/lib/mysql mariadb:latest정보 공유 감사합니다.
- 0
- 2
- 37
Q&A
일부 강의가 재생이 되지 않습니다
안녕하세요, 이도원입니다. 말씀하신 오류가 있는 위 강의들은 다시 업로드 해서 재생되는것 확인했습니다. 확인해 보시기 바랍니다. 감사합니다.
- 0
- 2
- 63
Q&A
일부 강의가 재생이 되지 않습니다
안녕하세요, 이도원입니다. 말씀하신 강의에 대해서 원본 영상을 확인해 보면 이상은 없는데, 인프런 담당자에게 문의해 보도록 하겠습니다. 감사합니다.
- 0
- 2
- 63
Q&A
강의 pdf교재는 별도로 없나요?
안녕하세요, 이도원입니다. 해당 강의에 대한 교안은 지금 PDF로 변환 중입니다. 오늘 중으로 공유드리도록 하겠습니다. 감사합니다.
- 0
- 1
- 85
Q&A
https://github.com/joneconsulting/eshop 소스
안녕하세요, 이도원입니다. 해당 Github repo를 Public으로 전환하는게 늦었네요. 죄송합니다. Private -> Public으로 전환하였으니 확인해 보시기 바랍니다. 감사합니다.
- 0
- 2
- 66
Q&A
수업 방식 질문
안녕하세요, 이도원입니다. 우선 섹션 19에 대한 강의는 기존에 만들어진 강의 중에서 실습에 관련된 부분만 Spring Boot 2.x -> Spring Boot 3.x 로 버전업 해서 다시 실습하는 부분을 영상으로 제작한 거라서, 이론에 대한 부분은 기존 강의를 참고하시면 되고, 실습에 관련된 부분은 섹션 19에서 해당 파트별로 참고해 보시면 될 것 같습니다. 참고로, "Spring Cloud로 개발하는 마이크로서비스 애플리케이션"에 대한 강의 업데이트는 6월 중부터 순차적으로 (이론+실습) 진행 될 예정입니다. 다음은 이번에 새롭게 시작되는 강의는 해당 강의를 소개하는 초반 영사에서도 설명드리고 있는데, https://inf.run/Ytgfy문의하셨던 기존강의는 MSA 기초와 이론에 대한 부분이었다고 하면, 이번에 추가된 강의는 MSA 애플리케이션을 개발하는 있어 사용되는 다양한 패턴들에 대한 각 주제별(데이터베이스, 동기화, 분산 트랜잭션, 캐싱 전략 등)로 설명하고 실습하는 강의로 MSA 디자인 패턴 강의라고 보시면 좋을 것 같습니다. 추가 질문사항 있으시면 다시 글 남겨 주세요. 감사합니다.
- 0
- 1
- 80
Q&A
암호화 관련 질문
안녕하세요, 이도원입니다. 말씀하신 Jasypt와 Spring Cloud Config Encrypt를 동시에 사용할 필요는 없을 것 같습니다. 이 둘의 역하리 중복되며, 중첩 암호화는 실질적 이점이 없이 복잡도만 증가할 것 같습니다. Spring Cloud Config Server를 사용하지 않는 경우라면 Jasypt만 사용하셔도 되고, 보다 높은 보안 수준(비대칭키)을 사용하시고자 할 때는 Spring Cloud Config Encrypt를 사용하시는게 좋을 것 같습니다.
- 0
- 2
- 49
Q&A
카프카 도커 오류
안녕하세요, 이도원입니다. 답변이 늦어 죄송합니다. 우선, ecommerce-network 생성을 어떻게 하셨는지, 또는 생성 된 네트워크에 대한 inspect 정보를 공유해 주시면 정확한 답변을 드릴 수 있을 것 같은데, 올려주신 오류 내용만으로 답변드리면, 네트워크 사용에 필요한 IP를 직접 지정하셨지만, Docker 네트워크 설정에서 사용자의 정의 서브넷을 명시하지 않았기 때문에 발생하는 오류인 것 같습니다. (사진)위와 같은 방식으로 subnet도 추가 지정 후 실행해 보시기 바랍니다. 감사합니다.
- 0
- 2
- 85