분류 전체보기
-
[후기] 소프트웨어 마에스트로 15기 최종 합격 후기후기/활동 후기 2024. 3. 25. 11:50
1. 서류 작성[지원 이유]우테코에서 편의점 음식 리뷰라는 어찌보면 흔한 소재의 프로젝트를 진행했었다.이때 크루들과 같이 인스타그램 광고도 해보고, 카드 뉴스도 만들고, 당장 홍보할 수 있는 모든 곳에 홍보를 진행하니까 사람들이 많이 들어왔었다. 사용자들이 점점 늘어나더니 DAU 300 이상이 찍힌 날도 있었다.이를 통해 어느 주제의 프로젝트든 광고/홍보를 잘 진행하면 성공적으로 서비스를 운영할 수 있지 않을까?라는 생각이 많이 들었다. 그래서 이와 관련된 지원을 받을 수 있는 소마에 지원하게 되었다. [자소서 문항]작년에 자소서를 미리 써뒀는데, 이번에 항목이 많이 줄어들었다.내용 반절이 쓸모 없어져 버렸고... 똑같은 문항은 최신 버전에 맞게 수정해서 작성했다.하고 싶은 프로젝트는 내가 해온 활동과 ..
-
[JPA, MySQL] 같은 유저가 동시 접속을 해서 좋아요를 누르면 동시성 문제가..??백엔드/Spring 2023. 8. 15. 20:35
[리뷰 좋아요 트러블 슈팅] - 1편 : 여러명이 동시에 좋아요를 누르면 데드락과 동시성 문제가..?? - 2편 : 같은 유저가 동시 접속해서 좋아요를 누르면 동시성 문제가..?? 여러명이 동시에 좋아요를 누르면 데드락과 동시성 문제가 해결되어 문제를 해결한줄 알았습니다. 하지만 같은 유저가 500대의 전자기기에 동시 접속을 하여 동시에 좋아요를 누르면 이번엔 NonUniqueResultException이 발생하고 있었습니다. 😭 1개의 데이터만 들어가야 하는데, 10개의 데이터가 들어가서 에러가 발생합니다. MySQL에서도 확인해보니 똑같은 데이터가 10개나 들어있습니다. 1. 테스트 코드 작성하기 이번에는 ExecutorService를 사용해서 테스트를 만들었습니다. 이전에 여러명의 유저로 테스트하는..
-
[JPA, MySQL] 여러명이 동시에 좋아요를 누르면 데드락과 동시성 문제가..??백엔드/Spring 2023. 8. 15. 14:39
[리뷰 좋아요 트러블 슈팅] - 1편 : 여러명이 동시에 좋아요를 누르면 데드락과 동시성 문제가..?? - 2편 : 같은 유저가 동시 접속해서 좋아요를 누르면 동시성 문제가..?? 팀프로젝트에서 리뷰 좋아요 기능에 데드락과 동시성 문제가 발생했습니다. 어디서 데드락이 발생한지는 빠르게 파악했으나.. 근본적인 원인을 찾는데 오랜 시간이 걸렸습니다. 동시성 문제의 경우에는 500명이 리뷰 좋아요를 동시에 눌렀을 때, 좋아요 수가 500개가 아닌 50여개만 나오는 상황입니다. [발생 환경] MySQL 8.0.32 InnoDB [격리 수준] REPEATABLE_READ [데드락 발생 상황] 여러명의 유저가 좋아요 버튼을 전혀 눌러보지 않은 리뷰에서 동시에 좋아요를 누를 경우 발생 좋아요를 이미 눌렀던 리뷰라면 ..
-
[Spring, Test] 가독성 좋은 테스트 코드로 리팩터링하기백엔드/Spring 2023. 8. 13. 16:26
어제 프로젝트가 0.1.0 릴리즈가 되었는데, 그동안 전체적인 테스트 코드 리팩터링을 담당했습니다. 제가 중요하게 생각했던 내용은 메인 테스트 메서드 코드가 읽기 쉽게 되어 있는지에 대한 것이었습니다. 최종적인 목표는 메인 테스트 메서드에는 핵심 내용만 볼 수 있도록 만드는 것입니다. 1. 1차 테스트 코드 리팩터링 지난 달에 프로젝트가 많이 시작되지 않은 상태에서 리팩터링을 1차적으로 진행되었습니다. [1] var 사용하기 https://hello70825.tistory.com/537 [Java] var는 사용해도 되는 것일까? 자동차 경주 미션 2단계의 코드 예시에서는 var를 사용하고 있다. 자바에서 var를 보는 것은 처음이었고, 자바스크립트에서 var는 사용을 지양하라고 나와있어서 선입견 때문에..
-
[트랜잭션] @Transactional 전파 옵션, 프록시 패턴 트러블 슈팅백엔드/Spring 2023. 8. 7. 01:29
카카오 로그인 기능을 프론트엔드 크루인 황펭과 함께 연결하는데, 다른 팀원이 발생시킨 에러 로그인줄 알고 있었다가 나중에 에러 로그를 자세히 읽으면서 발견하게 되었습니다. 하나의 에러에 156줄이나 되는 로그가 나왔는데, 이렇게 긴 에러 로그는 처음 보았고, 당시에 카카오 로그인 기능을 만드는데 CORS 에러가 계속 나와가지고, 이 에러의 존재를 나중에 알게 되어 고쳐나가기 시작했습니다 흑흑.. 중요한 로그는 아래 로그만 보면 됩니다. 읽기 전용 트랜잭션으로 열렸기 때문에 데이터 수정이 불가능하다는 것...!! java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed 이때부터 rea..
-
[테스트 격리] 일관된 테스트 격리를 적용하는 트러블 슈팅백엔드/Spring 2023. 8. 6. 01:56
제 팀은 각 테스트 종류마다 테스트 격리를 아래와 같이 진행했습니다. 1. 인수 테스트 : BeforeEachCallback을 사용한 DatabaseCleaner 2. 서비스 테스트 : @Transactional 3. 리포지토리 테스트 : DatabaseCleaner 4. 도메인 테스트 : 없음 여기까지만 보면 바로 문제를 파악하신 분들도 있겠네요 😅 1. 테스트 코드가 실패하다 아무런 문제 없이 프로젝트를 진행하고 있던 어느 날, 느슨해진 테스트 코드 작성에 긴장감을 불어넣는 상황이 발생했습니다. 로그인 기능을 구현하는 브랜치에서 테스트를 돌리는데, 서비스 테스트 1개가 실패하는 것...!! 처음에는 서비스 메서드 자체에 문제가 있는 줄 알았습니다. 하지만 생각해보니 만약 메서드 로직이 잘못 됐으면 테..
-
제3회 한국항공대 프로그래밍 경진대회 (KAUPC) 후기후기/활동 후기 2023. 8. 5. 02:35
[개최자 후기] https://youngseo-computerblog.tistory.com/103 [후기] 2023 KAUPC 문제 출제 후기 제 3회 한국항공대학교 프로그래밍 경진대회 제3회 한국항공대학교 프로그래밍 경진대회프로그래밍에 관심이 있다면, 지금 바로 도전해보세요.kaupc2023.netlify.app대회 개최우리 학교는 경인지역 6 youngseo-computerblog.tistory.com [문제 확인하기] https://www.acmicpc.net/category/detail/3632 제3회 한국항공대학교 프로그래밍 경진대회(KAUPC) www.acmicpc.net [참조글] 제1회 한국항공대 프로그래밍 경진대회 1위 후기 제2회 한국항공대 프로그래밍 경진대회 개최 후기 [기간] 3월 ..
-
[후기] 클린 코더후기/책 후기 2023. 7. 2. 23:46
동아리 선배님이 이 책을 추천했다 로버트 마틴이 자신의 경험을 이야기를 하며, 소프트웨어 장인 정신을 가지려면 어떤 방향으로 발전해야하는지 소프트웨어 스킬이나, 커뮤니케이션 스킬, 애자일 방법론을 알려주는 내용이다. 책을 읽으며 느낀 점은 IT 기술은 빠르게 변화하지만, 개발의 근본 지식은 CS인 것처럼 이것도 옛날에 중요했던 내용은 지금도 중요하다는 것이다. 코드에 녹아있는 CS 지식이 중요한 것은 당연한 것이고, 책에 나와 있는 내용들을 읽어보니 우테코에서 요구하는 내용들이 많아서 더 공감하며 읽었던 것 같다. 몇몇 내용은 이미 겪었던 것이라 더 잘 와닿는 내용도 있었다. 우테코를 하면서 나는 소프트웨어 장인과는 거리가 먼 사람이구나..라고 생각했는데, 이 책을 읽어보고 나서는 노력하는 자세만 가져도..