본문 바로가기

전체 글

(177)
[OSSCA] OSSCA 체험형 마무리 프로젝트 진행 목표 및 과정멘토님께서 Redis라는 큰 오픈소스의 이슈를 해결하기에는 4주라는 기간은 너무 짧다고 판단하여서, 해당 기간 동안 Redis에 대한 학습에 집중하기로 결정하셨습니다. 우선, 프로젝트 시작 전에 2주 동안은 오픈소스 커뮤니티에서 제공하는 유튜브 강의를 시청하여 git에 대한 기본적인 이해를 정리하는 시간을 가졌습니다. Git은 협업 및 버전 관리를 위해 필수적인 도구이며, 오픈소스 프로젝트에 기여할 때 필수적인 요소입니다. 따라서, 기본적인 Git의 개념과 사용법을 숙지하고자 이러한 학습을 진행했습니다. 다음으로, 나머지 4주 동안은 Redis에 대한 깊은 학습에 집중하였습니다. 이 기간 동안에는 Redis의 주요 기능과 용도를 학습하고, 실제로 어떻게 사용되는지에 대한 심도 ..
[Design Pattern] Factory Pattern 해당 포스팅은 한빛 미디어 헤드퍼스트 디자인 패턴(에릭 프리먼, 엘리자베스 롭슨 저)를 통해 공부한 내용을 정리한 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁좋은 프로그래머는 자기 두뇌를 사용한다. 그러나 좋은 가이드라인은 모든 케이스를 고려해야만 하는 노력을 줄여준다. (Francis Glassborow, 개발자)디자인 패턴의 설계느슨한 결합으로 객체지향 디자인객체의 인스턴스는 항상 공개 되어야 하는 것이 아니며 모든 것을 공개 했다가는 문제가 생길 수도 있음new 연산자가 구상을 생각!!new를 사용하면 구상 클래스의 인스턴스가 만들어짐이는 구상 클래스를 바탕으로 코드를 수정해야 할 가능성이 커지고 유연성이 떨어짐. Duc..
[Design Pattern] Decorator Pattern 해당 포스팅은 한빛 미디어 헤드퍼스트 디자인 패턴(에릭 프리먼, 엘리자베스 롭슨 저)를 통해 공부한 내용을 정리한 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁좋은 프로그래머는 자기 두뇌를 사용한다. 그러나 좋은 가이드라인은 모든 케이스를 고려해야만 하는 노력을 줄여준다. (Francis Glassborow, 개발자)카페 프로그램 개발음료수가 많으니 추상 클래스에서 Beverage 클래스 정의더 자세한 음료는 서브 클래스에서 구현문제점인기가 증가하면서 메뉴가 너무 많이 증가하고, 모든 메뉴가 Beverage를 상속함첨가물도 있으니 첨가물이나 가격변동에 따른 대비가 어려움해결책인스턴스 변수와 슈퍼 클래스 상속으로 관리문제점첨가물의..
[Design Pattern] Observer Pattern 해당 포스팅은 한빛 미디어 헤드퍼스트 디자인 패턴(에릭 프리먼, 엘리자베스 롭슨 저)를 통해 공부한 내용을 정리한 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁좋은 프로그래머는 자기 두뇌를 사용한다. 그러나 좋은 가이드라인은 모든 케이스를 고려해야만 하는 노력을 줄여준다. (Francis Glassborow, 개발자)Observer 패턴 이해하기신문사 + 구독자 = Observer 패턴(publish-subscribe 패턴과 다름)구성요소신문사 => 주제(Subject)구독자 => 옵저버(Observer)주제에서는 중요한 데이터를 관리주제의 데이터가 바뀌면 옵저버에게 이벤트(데이터가 바뀌었다는 소식)를 전달.주제를 구독하고 있는..
[Design Pattern] Strategy Pattern 해당 포스팅은 한빛 미디어 헤드퍼스트 디자인 패턴(에릭 프리먼, 엘리자베스 롭슨 저)를 통해 공부한 내용을 정리한 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁좋은 프로그래머는 자기 두뇌를 사용한다. 그러나 좋은 가이드라인은 모든 케이스를 고려해야만 하는 노력을 줄여준다. (Francis Glassborow, 개발자)SimUduck모든 오리가 할 수 있는 동작 Duck 클래스에서 정의quack()swim()display()모든 오리의 동작이 다르므로 추상 메소드에서 정의MallardDuck 클래스와 RedHeadDuck 클래스가 Duck 클래스를 상속받아서 display override이후에 모든 오리에게 날 수 있는 동작을 정..
[OpenSource] 초보자 오픈소스 컨트리뷰션 기여 방법! 오픈소스 기여! 나도 할수 있다⭐️여러분은 우리가 매일 사용하는 다양한 소프트웨어가 어떻게 만들어지고 발전하는지 궁금해 본 적 있으신가요? 그 답 중 하나는 바로 '오픈소스'에 있습니다. 오픈소스는 전 세계의 개발자들이 힘을 합쳐 더 나은 소프트웨어를 만들어가는 협업의 장입니다. 이 공간에서는 누구나 자신의 아이디어를 더하고, 문제를 해결하며, 기술을 발전시킬 수 있습니다.오픈소스에 기여하는 것은 마치 전 세계 사람들과 함께 퍼즐을 맞추는 것과 같습니다. 각자가 가진 작은 조각들이 모여 큰 그림을 완성해 나가는 과정이죠. 처음에는 어디서부터 시작해야 할지 막막할 수 있지만, 조금씩 참여하다 보면 어느새 여러분도 중요한 일원으로 활약하고 있을 거예요. 하지만 오픈소스 기여를 처음 시작하는 사람들에게는 어디..
[spring-batch] Transition 중복 해결 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁ISSUEfinal FlowJobBuilder flowJobBuilder = this.parentJobConfig.customJobBuilders() .get(jobName) .start(step1) .on(ExitStatus.FAILED.getExitCode()) .fail() .on(ExitStatus.STOPPED.getExitCode()) .stop() .next(step2) .on(ExitStatus.COMPLETED.getExitCode()) .end() .on(ExitStatus.FAILED.getExitCode()) .f..
[spring-security] CasAuthenticationProvider 구조 개선 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁ISSUECasAuthenticationProvider에 userDetailsChecker 멤버가 final로 선언되어 있으며, setter가 없어, 변경이 불가능함.CasAuthenticationProvider의 역할CasAuthenticationProvider(CAS)는 Spring Security에서 CAS (Central Authentication Service) 인증을 처리하는 데 사용되는 클래스로, CAS는 싱글 사인온(SSO)을 구현하기 위한 프로토콜 및 시스템.CAS 서버로부터 인증 티켓을 검증하고, 사용자 세부 정보를 로드하며, 인증 토큰..