티스토리 뷰

회고

2022년 연말 회고 3. 개발이슈들

개발자 하나 2022. 12. 11. 23:46

현 회사에 들어오면서 좀 다른 직무를 맡긴 했지만

Spring 기반 웹 개발은 계속 했는데, 그 중 기억나는 버그나 개발 이슈를 회고해봅니다.

 

1. Spring Security에서 authentication provider에서 로그인 fail하는 코드를 넣었는데 로그인 성공.

가장 최근에 나와서 아직 해결 못한 이슈.

디버깅해서 authentication provider는 fail이지만 그의 parent(authentication-manager)가 null이 아니어서 성공한 것으로 나온 것이었습니다...아직 해결은 못했지만 다른 설정이 있겠지 싶어서 찾고 있습니다.

 

이 문제는 해결. (20221216)

security 설정에 authentication-manager가 있었는데

기존 userdetailsservice를 user-service-ref로 넣어놓은 것 때문에

새로 추가한 DaoAuthenticationProivider를 상속하는 클래스 외에 기존 DaoAuthenticationProvider를 또 타서 로그인 성공한 거였습니다...

 

기존 인증에 추가 인증을 설정하려면 

DaoAuthenticationProivider를 상속하는 클래스를 하나 만들고,

additionalAuthenticationChecks를 오버라이드하면

기존 로직은 super.additionalAuthenticationChecks(xxx, xxx) 를 통해 구현되고

그 밑에 추가할 로직을 넣으면 됩니다.

 

DaoAuthenticationProivider는 userDetailsService가 꼭 필요하기 때문에

security-context.xml 설정 기반으로

빈에 <property name="userDetailsService" ref="클래스명"/> 추가,

property로 password encoder도 추가 가능

 

그리고 <security:authentication-manager> 내부에 <security:authentication-provider ref="클래스명" />으로 새로운 클래스를 추가해준다.

 

2. 사내 개발자들 사이에서 '이거 버그같다'라고 생각했지만 어떻게 고쳐야될지 몰라 방치됐던 이슈

프론트엔드에서 스크롤 락이 들어간 표에서 스크롤을 내리면,

왼쪽 / 오른쪽 중 오른쪽 내용이 3칸정도 덜 나왔습니다.

정말 희한한 버그이고 종종 고객들도 이거 왜 이러냐 얘기하는데 검색해도 안 나오고 해서 방치됐었습니다.

디버깅 해보니 설정에 서로 충돌이 있던 건이라 빨리 해결되었습니다.

 

3. 물류 시스템에서 복잡하고 계속 추가/수정되는 로직 구현

물류 쪽으로 TOS 웹사이트 짜는 건 해봤지만, 이미 C#으로 구현된 기존 프로그램이 있어 로직 파악만 하면 됐는데

이번에는 완전히 신규 프로젝트 지원을 하게 되었습니다.

A > B > C > D > E 단계가 있으면

단계 내에서 여러 기능이 있어야하고

A > E도 될 수 있어야 하고 A > E > B를 한 경우에는 다르게 되어야 하고

수량 계산이 있는데 마이너스면 다르게 해야하고

A > B > C가 A > B-1 > D가 되기도 하는 변화가 많은 로직이었습니다.

대부분의 기능에서 사용할 재고 관리 쪽이라 사용하는 다른 파트에 대해서도 알아야 하다보니 복잡하고 어려웠지만,

API를 모듈화하고 공통적인 내부 로직은 묶어서 요구사항 수정에 적절하게 대응하는 방식도 익히고

복잡한 기능에는 예전에 SQLD 자격증 따면서 배웠던 것도 실제로 써보는 등 값진 경험이었습니다.

무엇보다 처음 개발할 때 다른 회사에서 하드코딩한 소스를 고치면서 너무 고생해서

이번 프로젝트는 초반부터 변수나 주석을 꼬박꼬박 넣고 공통적인 걸 묶어서 개발했는데 그게 나중에 요구사항에 적절히 대응할 기반이 된 것 같습니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함