소개
저는 IT 엔지니어입니다. 언젠가 직업란에 "회사원?", "개발자?", "강사?" 어떤 단어를 선택해야 할 지 고민이 되었던 때가 있었습니다. 그러다가, IT 엔지니어라는 표현이 제가 잘 어울리는 직업명이라는 생각이 들어 지금까지도 직업란에는 "IT 엔지니어"라고 적고 있습니다.
직업이라는 것은 자신의 일을 나타내는 것이고, 일이라는 것은 재미있고, 도움이 되는 일이면 좋겠다는 생각을 가지고 있습니다. 누구나 다 원하는대로 일을 하며 살수는 없지만, 저는 제가 하는 있는 이 일을 좋아하는 있고, 잘하고 싶어하는 사람입니다. 개발자로써, 강사로써, 컨설턴트로써의 역할을 해 오면서, 매번 새롭게 출시되고 변화하는 IT 신기술을 따라가기에 급급하지만, 그래도, 남들보다 조금이라도 먼저 접하고, 전파하고, 사용하고 싶은 사람 중 한명입니다.
최근 관심을 가지고 있는 분야는 온라인 교육 컨설팅입니다. 그리고 관심있는 기술은 Cloud Native Architecture, Blockchain, Machine Learning, Kafka, Kuberbetes 등입니다. 이러한 기술은 실제로 강의도 하고 있고 업무에 적용해서 사용도 하고 있습니다. 하지만, 워낙 방대한 주제이다 보니, 아직까지도 계속 공부하고 있습니다.
머리속에 가지고 있는 것은 진정한 지식이 아니라고 합니다. 저는 제가 가진 지식과 경험을 다양한 방벙을 통해 공유하려 합니다. 그리고, 새로운 분야, 새로운 기술에 계속 도전하고 있는 IT 엔지니어가 될 것입니다.
- 現) 엔제이원컴퍼니 대표
- 現) 동국대학교 국제정보대학원 정보보호학과 대우교수
- 前) JP Mogan Chase AMJ Tech consultant (일본)
- 前) 삼성 SDS CMS 사업본부 책임 엔지니어
강의
전체6로드맵
전체1수강평
- 덕분에 쉽게 배웠습니다. 감사합니다!
yooshin cha
2024.04.24
1
- 유익합니다
김원집
2024.04.24
1
게시글
질문&답변
2024.04.25
앤서블 컨테이너 생성에서 어려움을 겪고 있습니다.
안녕하세요, 이도원입니다. 답변이 늦어 죄송합니다. AI 인턴 답변이 달려 있어, 미쳐 꼼꼼하게 확인하지 못했습니다. 문의사항 내용은 Ubuntu 환경에서 제공해 드린 ansible 이미지를 사용하려고 했을 때 오류가 발생하는 문제점인 것 같습니다. 저희가 제공해 드리는 ansible 이미지가 Centos에서 작성된 이미지이기 때문에, Linux에 설치 된 Docker Engine에 따라 다르게 실행될 수 있을 것 같습니다. 확인해 보니, Centos 에서 실행할 때에는 해당 ansible 이미지가 문제가 없는 것 같습니다만, Ubuntu 에서는 올려주신 문제와 같은 오류가 있음을 확인했습니다. Ubuntu에서 실행 가능한 이미지 (ubuntn + docker + ansible)를 생성하는 데로 다시 공유해 드리도록 하겠습니다. 추가로, 저희가 강의에서 docker를 사용하는 목적은 CI/CD 테스트를 하는데 있어, 여러 VM이 필요로 하는 경우가 있는데, VirutalBox와 같은 툴이 Windows나 MacOS Intel chip 경우에는 잘 작동되지만, M1 chip을 사용하는 MacOS의 경우에는 VirutalBox를 사용할 수 없어서, docker in docker 방식으로 VM을 설치하고 해당 VM에 docker가 설치 되어 있는 것처럼 꾸며서 실습환경을 구성해 보았습니다. 그런데, 다양한 환경에서 DinD 방식으로 실행하는데에 문제점이라던가 SSH 서버가 기동되지 않는 등의 이슈로 인해 별도의 VM 관련 강의를 제작하여 공유해 드렸습니다. 이 때는 MacOS M1 에서도 사용 가능한 VM 서비스에 대한 부분도 추가하긴 했습니다. 결론 부터 말씀드리면, 일반적인 VM 환경에 OS와 Docker + SSH를 설치하는데에 큰 문제가 없다면, 굳이 강의에서 사용한것과 같은 DinD 방식의 Docker는 사용하지 않는 게 좋다고 생각됩니다. VM을 구성하신 후에는 OS를 설치한 상태에서 추가로 Ansible과 Docker를 각 OS에 맞춰 설치해서 환경을 구축하신다면, 강의에서 사용하는 예제는 모두 실행가능합니다. 내용이 길어졌는데, 요약하면, Ubuntu에서 사용할 수 있는 Dind 이미지 (ubuntu + docker + ansible + ssh)는 작업 되는 대로 공유 예정 VM 환경 구축이 가능하시다면 Dind 이미지 사용하는 것 대신, Linux VM에 직접 Docker + Ansible _ SSH 설치 이렇게 될 것 같네요. 추가 질문 사항 있으시면 다시 글 남겨 주세요. 가능한 빠른 답변 드리도록 하겠습니다. 감사합니다.
- 0
- 2
- 105
질문&답변
2024.04.25
copy 모듈 문제
안녕하세요, 이도원입니다. 질문하신 내용보고 IP가 이상하네? 라고 했었는데, 답을 구하셨네요. 추가 질문사항 있으시면 다시 글 남겨 주세요. 감사합니다.
- 0
- 2
- 21
질문&답변
2024.04.23
JPA를 이용한 개별 사용자 상세 조회 5분 21초
안녕하세요, 이도원입니다. 답변이 늦어 죄송합니다. Response Body에 전달 되는 데이터는 ResponseEntity로 반환 시 Bean(User.class 등)에 대한 모든 정보가 반환 되게 하지 않고 Filter를 통해 반환 하고자 하는 값들을 제어 할 수 있습니다. 아래 코드처럼 SImpleBeanPropertyFilter를 사용하시거나, User 클래스의 Proeprty에 @JsonIgnore를 명시적으로 표시해서 전달하지 않을 수 있습니다. 테스트하신 코드를 보지 못해 작업하신 결과의 정확한 과정은 파악하기 어려우나, 강의에서도 AdminUserController등을 생성해서 Response Body에 전달하는 값들을 제어하고 있습니다. SimpleBeanPropertyFilter filter = SimpleBeanPropertyFilter .filterOutAllExcept("id", "name", "joinDate", "ssn"); FilterProvider filters = new SimpleFilterProvider().addFilter("UserInfo", filter); // @JsonIgnore @Schema(title = "비밀번호", description = "사용자의 비밀번호를 입력해 주세요.") private String password; // @JsonIgnore @Schema(title = "주민번호", description = "사용자의 주민번호를 입력해 주세요.") private String ssn; 추가로 _links 값은 SPring HATEOAS 기능을 통해 하이퍼미디어 URI가 자동으로 생성되게 매핑된 데이터입니다. 추가 질문사항 있으시면 다시 글 남겨 주세요. 감사합니다.
- 0
- 2
- 75
질문&답변
2024.04.23
EntityModel과 ResponseEntity의 차이
안녕하세요, 이도원입니다. 말씀하신 내용처럼 Spring Boot에서는 ResponseEntity를 통해 클라이언트 요청에 대한 결과 데이터와 상태 등을 전달해 줄 수 있으며, EntityModel은 RepresentationModel의 하위 클래스로써, 반환하려는 데이터를 EntityModel로 Wrapping하면 Spring HATEOAS가 자동으로 표준 링크(ex, _self)를 포함시킬 수 있습니다. 추가로, 아래와 같이 POST 방식에서도 EntityModel을 사용하실 수 있습니다. 아래 예제에서는 회원 가입 후, 상세 보기를 하기 위해 URI를 제공하도록 작성되었습니다. (사진) 감사합니다.
- 0
- 2
- 76
질문&답변
2024.04.23
직접 생성하지 않은 주소가 생성되어 있습니다.
안녕하세요, 이도원입니다. Spring Boot와 Spring HATEOAS를 사용하여 개발된 RESTful API에서 응답 본문의 links 부분은 Spring HATEOAS 프레임워크에 의해 자동으로 생성됩니다. HATEOAS에서는 하이퍼미디어 기반 출력 데이터를 쉽게 생성할 수 있습니다. 또한, Spring HATEOAS에서는 self, next, previous와 같은 링크를 응답 데이터에 자동으로 추가할 수 있기 때문에, 개발자가 직접 URI를 하드코딩하지 않고도 API를 동적으로 탐색하는 방법을 제공할 수 있게 됩니다. 말씀드린, Spring HATEOAS는 응답에 자동으로 링크를 추가할 수 있는 여러 클래스와 메소드를 제공(RepresentationModel, EntityModel, WebMvcLinkBuilder 등)하고 있으며, 해당 API를 통해 개발자가 직접 하이퍼미디어 데이터를 추가하는 것도 가능합니다. 말씀하신 API들은 HATEOAS에 의해 자동생성 된 부분으로 보시면 될 것 같습니다. 추가 질문 사항 있으시면 다시 글 남겨 주세요. 감사합니다.
- 0
- 2
- 45