소개
다양한 프로젝트에서 웹/모바일/솔루션 제품 개발과 관련된 업무를 진행해 오고 있으며 분석/설계/개발 Role 을 맡아 오고 있습니다.
공공기간, 교육프로그램, 기업 프로젝트, 쇼핑몰 등의 웹 개발 및 솔루션 프로그램, 프레임워크, 오픈소스 연동 등의 아키텍처 설계 및 구조적 고도화 개선 등을 해 오고 있으며 개발, PL 등의 역할을 맡았습니다.
다양한 Open Source 와 여러 기술적인 경험들을 통해 웹의 전반적인 기술 흐름들을 익혔으며 개발 경험이 거듭될 수록 요구사항의 기능 구현에만 거치지 않고 좀 더 OOP 적인 구조의 소프트웨어로서 안전성과 성능을 고려한 아키텍처링과 튜닝의 기술들을 접목시켜 지속적으로 더 훌륭한 소프트웨어를 완성하기 위한 연구와 개발 실무를 책임감 있게 맡아 오고 있습니다.
강의
전체4로드맵
전체1수강평
- 꼼꼼하고 자세한 강의라 도움이 많이되고 있습니다.
아무거나123
2024.05.21
0
- 강의 내용이 좀 많지만 정말 유익한 강좌였습니다. 완강이 좀 힘들어요.
hyungdoo.yoon
2024.05.17
0
게시글
질문&답변
2024.05.26
예제 transfer 메서드
네 코드를 보시면 public boolean transfer(BankAccount to, double amount) { synchronized (this.lock) { if (this.withdraw(amount)) { synchronized (to.lock) { to.deposit(amount); return true; } } return false; } } 위에서 this.withdraw(amount) 과 to.deposit(amount) 은 서로 다른 모니터 객체입니다. 즉 this 와 to 는 서로 다릅니다 이렇게 모니터가 다른 객체를 여러 스레드가 동시에 접근하게 되면 this.withdraw(amount) 를 실행하는 동안 다른 스레드가 to.deposit(amount) 를 실행할 수 있습니다. 그렇기 때문에 전체 코드를 동기화해주어야 오직 하나의 스레드만 접근해서 코드실행을 완료할 수 있습니다. 만약 this.withdraw(amount) 가 실행이 완료되면 즉시 모니터를 반환하게 되고 이 때 다른 스레드가 to.deposit(amount) 에 접근하게 되면 balance 의 공유 값이 변경이 되어 버립니다. 결론적으로 synchronized (this.lock) 블록은 withdraw 와 deposit 간의 상태를 보호하기 위해 필요합니다
- 0
- 2
- 31
질문&답변
2024.05.26
DB 스키마 없음
네 저의 강의에서 DB 스키마 생성 및 이해 (1) 을 보시면 스키마 포함한 전체 설정내용들이 자세하게 나와 있습니다. 강의를 참고해 주시기 바랍니다. 그리고 동일한 jobid 와 동일한 파라미터로 Job 의 중복 실행은 안되도록 되어 있습니다. Job 이 실패할 경우에는 가능합니다. xml 로 된 소스를 제가 확인할 수는 없으나 일단 강의 내용 소스를 기준으로 테스트 해 보시기 바랍니다.
- 0
- 2
- 62
질문&답변
2024.05.26
섹션 13의 5번째 강의(CustomUserDetails 구현하기) 질문입니다. !!
UserDetailsService 를 일반 객체가 아니라 빈으로 정의하게 되면 스프링 시큐리티가 자동적으로 UserDetailsService 를 httpSecurity 속성에 설정하게 됩니다. 즉 http.userDetailsService(new UserDetailsService()) 는 수동으로 UserDetailsService 를 설정해야 하는 것이고 @Bean 으로 등록한 UserDetailsService 는 수동으로 할 필요가 없고 스프링 시큐리티에서 자동으로 설정해 주고 있습니다. 이 부분은 AuthenticationProvider 를 설명하는 강의챕터에서 확인할 수 있습니다.
- 0
- 1
- 18
질문&답변
2024.05.26
FormLogin, HttpBasic를 모두 비활성화해도 로그인 이후에 Redirect가 발생하나요?
리다이렉트 된다는 의미는 명시적으로 리다이렉트 코드가 존재하거나 그렇지 않으면 인증이나 인가 문제로 인한 강제 이동일 수 있습니다. 로컬에서는 되는데 클라우드에서 문제가 생기는 것이라면 어떤 환경설정이나 실행환경을 확인해 봐야 할 수 있습니다. 기본적으로 폼로그인이나 기본인증은 인증을 완료하고 나면 / 경로로 이동합니다. 인증 이후 별도의 리다이렉트 코드를 작성하지 않았다면 다른 원인을 찾아봐야 합니다.
- 0
- 2
- 54
질문&답변
2024.05.26
섹션 5의 세션 고정 보호 강의 질문
세션 생성 정책이 ifRequired 로 되어 있다면 필요할 경우 스프링 시큐리티가 세션을 생성합니다. 그리고 세션 객체를 생성하는 것과 세션쿠키가 생성되는 것은 다른 개념입니다. 세션 쿠기는 클라이언트와 서버간의 http 통신시 자동적으로 생성되는 개념입니다. 질문하신 내용이 세션쿠키를 의미하는 것이라면 그건 당연한 것입니다 그게 아니고 HttpSession 객체가 생성된 것이라면 스프링 시큐리티가 필요할 경우 세션을 생성할 수 있습니다. 세션이 생성되는 시점과 이유는 다양하기 때문에 실행시 확인해 봐야 합니다.
- 0
- 2
- 56