일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 시스템설계면접
- 리액트구글애널리틱스
- gitsquash
- s3이미지다운로드됨
- 시스템설계면접팁
- formik submitting not working
- awss3
- cypress React
- file not found Error
- react
- 가상면접2장
- git squash
- 리팩토링2판4장
- 전략패턴
- 시스템설계방법
- cypressBDD
- git commit merge
- 디자인패턴
- formik react-query submitting not working
- git commit 협업
- 리팩터링2판테스트
- 테스트코드책
- 헤드퍼스트전략패턴
- FirebaseAnalytics
- Git commit 합치기
- 시스템설계
- 가상면접으로대규모시스템
- react-ga
- 가상면접3장
- 시스템설계면접예시
- Today
- Total
목록BackEnd (51)
mingg IT
배경진행하고 있던 프로젝트의 DB 인스턴스가 삭제 되었다. 🤣복구가 불가능하다고 판단되었고, Supabase를 이용하기 위해 mongoDB에서 postgreSql로 이관 프로젝트를 진행 하였음STEP1. 유지해야하는 API, 불필요한 API 분리기본적인 CRUD 작업은 프론트에서 Supabase로 바로 접근하여 데이터를 읽어올 것이기 때문에 복잡한(인증, 푸시알림 등)API 를 제외하곤 삭제하려함2. build.gradle.ktimplementation("org.springframework.boot:spring-boot-starter-data-mongodb") 제거implementation("org.postgresql:postgresql:42.2.20") 추가3. 서버 로직 업데이트controller ..
학습 이유 - 최근 코드리뷰를 통해 bullMQ 라는 라이브러리에 대해 알게 되었는데, 내부 동작이 궁금하여 뜯어봄 개념Redis 기반의 큐 라이브러리Node.js에서 사용참조: https://docs.bullmq.io/BullMQ vs RabbitMQ 특징특징BullMQRabbitMQ언어 및 프레임워크Node.js 및 JavaScript/TypeScript에서 주로 사용됨여러 언어 지원 (Java, Python, Ruby, JavaScript 등)기반 기술RedisAMQP (Advanced Message Queuing Protocol)설치 및 설정Redis 설치 필요RabbitMQ 서버 설치 필요메시지 처리 방식FIFO, LIFO, 우선 순위 큐 지원기본적으로 FIFO, 우선 순위 큐, 다양한 교환 ..
문제 및 요구 사항 통계성 데이터를 보여주는 대시보드 기능이 추가되고, 데이터가 많아지면서 여러 문제가 생겼음 여러 테이블을 Join 해오기 때문에 속도가 매우 느림 (api 6초 정도 소요) 통계쪽 데이터를 확인하기위해 계속 요청하면 서버에 전체적으로 영향이 감 실시간 데이터와 배치성 데이터(1개월 전 데이터)를 함께 볼 수 있어야함 시도 방안 Aws Redshift 를 이용해보자. Redshift 란 ? MPP(Massive Parallel Processing) Database 임 OLTP 용으로 사용함 PK의 Uniqueness를 보장 하지 않음 즉 결국 DB 인데, 우리가 일반적으로 사용하는 MySql, PostgresSql 과 같은 OLTP 성 DB가 아니라는 뜻 Redshift 적용 구조 ..
현상 http://localhost:8080/swagger-ui/index.html# 에 접속하면 NumberFormatException 에러를 뱉었다. (평소엔 괜찮았음) 원인 평소엔 이상이 없었는데 최근부터 발생해서 최근 커밋 내용을 뒤져보았다. 추가한 부분은 Swagger-ui에 @ApiOperation, @ApiImplicitParam을 추가했었다. 원인은 @ApiImplicitParam 에서 숫자타입을 사용시 'example'를 작성해주지 않아서 이다. @GetMapping("/detail") @ApiOperation(value = "상품 상세 정보", notes = "상품 상세 정보를 반환 합니다") @ApiImplicitParam(name = "id", value = "조회할 상품 ID", ..
보호되어 있는 글입니다.
상황 검색 조건등으로 인해 동적 쿼리를 생성할 일이 생겨서 queryDSL을 적용해 보려고 한다. build.gradle.kt import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("org.springframework.boot") version "2.7.6" id("io.spring.dependency-management") version "1.1.3" kotlin("jvm") version "1.8.22" kotlin("plugin.spring") version "1.8.22" kotlin("plugin.jpa") version "1.8.22" // 추가 kotlin("kapt") version "1.9.10" idea } java {..
상황 임시비밀번호를 메일로 전송해주는 서비스를 만들고 있었다. (JavaMailSender를 이용) 네이버 이메일을 이용했고, 네이버 > 환경설정> SMTP 권한을 설정해주었는데도 해당 에러가 발생했다. 해결 방안 mailSender에 setFrom을 추가하여 보내는 이메일을 추가해주었다. private val mailSender: JavaMailSender @Value("\${spring.mail.username}") private lateinit var fromEmail: String private fun _sendEmail(email: String, temporaryPassword: String) { val message = mailSender.createMimeMessage() val helper..
상황 Spring Initializer로 java 17버전을 선택하고 spring boot 프로젝트를 Run 했는데 해당 에러를 발생하면서 실패했다. 분명히 이전에 초기 세팅할때도 겪었던 문제라서 기록해 두려고 한다. 해결방안 1. File > Project Structure SDK 버전을 17로 바꾸어 준다. 2. Setting > Build, Execution, Deployment > Build Tools > Gradle InteliJ IDEA로 설정해주고, JVM을 17버전을 선택한다. 빌드 성공 두번째 겪은 문제라서 설정하는 메뉴이름이 기억이안나서 작성해두었다. 초기 세팅이 귀찮지만.. 시작이 반이니 화이팅!