본문 바로가기

전체 글37

DDD 그거 그렇게 하는 거 아닌데 - 느낀점 정리 영상 링크https://youtu.be/sLG5n_pXWK0?si=J_oy-HVMpJkX5MMH 위 영상을 보고 느낀점 정리(너무 좋은 영상이었다. 보면서 깨닫는 것이 많았다)DDD를 추구하는 사람으로써 실무에 어떻게 더 적용할 수 있을지 고민하면서 봤다도메인 주도 설계 - 소프트웨어의 복잡성을 어떻게 다룰까?MSA의 복잡성이 있기때문에 먼저 아래와 같이 시작하자이점을 누릴 가능성이 크다고 생각하더라도 모놀리식으로 시작야그니(정말 필요할때 까지 그 기능을 만들지 말라)당연한 얘기지만 완벽한 설계는 존재하지 않는다OOP는 DDD의 기반이지만 동일하진않다안티패턴. DDD를 모르는사람한테 전파한다면 거부감부터 들것이다용어 사전살아있는 문서로 만들기 위해 프로젝트 README.md 파일로 유지 관리할 수 있다용.. 2024. 12. 15.
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 - 느낀점 https://youtu.be/4wGTavSyLxE?si=q5i6LF4JL8rdCl0U 느낀점DB말고 분산락에 대한 개념이 있다는것을 배웠다.스프링 AOP와 코틀린으로 설명을 해줬는데, 결국 쓰레드락을 좀 더 사용하기 편하게 만든 것 같다.뮤텍스, 세마포어를 구현하는 것과 비슷한 것으로 보임.그럼 차이점은 뭘까? (이후 찾아보기) 분산락은 여러가지 단점이 있는데, 잘 사용하기 위한 노하후까지 어느정도 설명을 해준다.강연이다보니 자세한 노하우나 디테일한 구현은 역시나 없었다...ㅠ 2024. 11. 7.
[에러 해결] Type error: Type 'OmitWithTag<{ id: string; }, keyof PageProps, "default">' does not satisfy the constraint '{ [x: string]: never; }'. Property 'id' is incompatible with index signature. Type 'string' is not assignable to type 'never'. nextjs 를 사용하다 아래와 같은 에러를 만났다.next/types/app/main/detail/page.ts:28:13Type error: Type 'OmitWithTag' does not satisfy the constraint '{ [x: string]: never; }'.Property 'id' is incompatible with index signature.Type 'string' is not assignable to type 'never'.Check the prop type of the entry functioncheckFields, 'default'>>()이것저것 찾아보니 결국 리액트 Page로 쓰는건 파라미터를 받을 수 없다는게 문제였다...(서버개발만하다 UI쪽 하니까 모르는게 너무.. 2024. 10. 13.
[오류 해결] .nuget\packages\~~~ 파일을 찾을 수 없으므로 복사할 수 없습니다. C# 솔루션을 빌드하는데 갑자기 아래와 같은 에러가 떴다. 오류 MSB3030 .nuget\packages\system.numerics.vectors\4.5.0\lib\net46\Systehttp://m.Numerics.Vectors.dll" 파일을 찾을 수 없으므로 복사할 수 없습니다. C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets 4879 검색으로 이것저것 찾아봤는데 특별히 답나온건 없었다. 그래서 뭔가 알 것 같은 상사분께 질문드린 결과 그냥 VS 업데이트 하면 된다고 하셨다. (그 분도 이걸로 몇시간 날리셨다고...) vi.. 2024. 9. 29.
회사 성능개선 회고 성능개선 회고3주내내 야근하면서 성능개선 회고록그룹장님이 이전에 성능개선을 하면서 쌓은 경험을 들려주시며 그 포인트를 중점으로 성능개선을 진행했다서버(DB 제외) 에서 포인트 3가지가 있다체크해야할 포인트를 3순위까지 정해 비즈니스 로직의 과정을 처음부터 끝까지 분석하며 수정한 내용들을 적어봤다1순위. 루프가 많은경우가장 먼저 해야 할 것은 본인이 성능개선하고자 하는 소스에 루프들을 찾는 것이다.그 후 찾은 루프들 중에 개선할 수 있는 부분을 찾는다특히 중첩루프는 피하는 것이 좋다사례1첫번째 사례는 들어온 데이터 중 기존 데이터가 있는지 판단하는 거였다.문법 무시const list1 = [1,2,3,4,5];const list2 = [1,2,3]; const new_list = [];list1.map(i.. 2024. 9. 22.
라자다 SDK -> REST API 변환하면서 생긴 문제 정리 이번에 회사 프레임워크를 변경하면서 라자다 연동을 바꿨다기존에는 SDK를 쓰다가 신규 프레임워크가 SDK로 불러오는 절차가 불편해져,rest api 로 할 수 있는 방법을 찾아보고 구현 가능해 해당 방식으로 변경하게 됐다 옮겨본 결과 나처럼 정말 불가피안 상황이 아니면 꼭 SDK를 쓰는 걸 택하자..!(rest api로 옮기면서 너무 힘들었다...) 인증 API일단 인증은 문서와 동일하게 작성했지만 계속 오류를 반환해 많이 찾아봤다.그래도 나처럼 비슷하게 한 사람이 있었는데 내가 구현한 방식과 동일했다...참고 : https://jhlee-developer.tistory.com/entry/API-Lazada-%ED%98%B8%EC%B6%9C-%EC%98%88%EC%8B%9C그럼 문제가 뭔지 확인해보기 위.. 2024. 9. 21.