[React] Cursor로 WaitLess 프론트엔드 도전기 ① UI/UX 디자인 + Figma MCP 설치
·
개발일기
리액트 공부를 하려고 한 7개 듣고 말았던 노마드코더 강의를 들으려고 했는데...내가 아는 사람 중 제일로 바쁘게 열심히 사는 풀스택 개발자 언니의 추천을 받아서 Cursor로 만들어보면서 리액트 공부해보기로 했다.요새는 리액트로 기능도 붙힐 수 있어서 점유율이 70% 랬나?? 리액트 대다나다... 자바스크립트가 확실히 범용성이 좋은 것 같음ㅇㅅㅇ 여하튼 그래서 내배캠에서 API만 만들었던 WaitLess 프로젝트의 프론트엔드를 만들어보려고 한다.1. UI/UX 디자인프로젝트 생성은 Vite로 시작해서 처음이니까 React, Javascript 선택했다. 아래 페이지 참고함. [React] Vite로 react 프로젝트 시작하기Vite란?Vite 공식 사이트에 의하면 Vite는 차세대 프론트엔드 툴로 빠..
[Today's Algorithm] 1. 프로그래머스 Lv1 : 완주하지 못한 선수
·
코딩테스트
프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr마라톤 뛴 사람 중에 완주하지 못한 사람 이름만 리턴import java.util.Map;import java.util.HashMap;class Solution { public String solution(String[] participant, String[] completion) { Map completeOrNot = new HashMap(); for (String p : participant) { completeOrNot.put(p, completeOrNot.getOrDefault(p, 0) + 1); ..
TIL29. 내배캠 3차 프로젝트 WaitLess 회고
·
TIL
내일배움캠프를 하면서 TIL이 의무인 김에 매일매일 써보겠다고 다짐했는데...일정이 몰아치면서 결국 2차때부터 아슬아슬하더니 실패해버렸다. 사실 2차부터 내배캠 측에서 수강생들을 수준별 학습반을 나눴고 대충 상중하라 치면 나는 중반이 되었다.그리고 그 수준별 학습반끼리 팀이 랜덤 배정되었는데, 우리 팀은 아무도 팀장을 원하지 않았다.물론 프로젝트에 대한 열정이 없었던 것은 아니지만 솔직히 주도하는 사람이 있는 프로젝트를 하고싶다고 생각했다.3차 프로젝트도 팀 배정 방식이 같다고 해서 실망했다. 그런데 월반제도가 있다네?못해도 기술면접 함 보는 거고, 되면 뭐 손해볼 거 없지! 하고서 냅다 월반 신청을 해봤는데 월반에 성공해버렸다.그런데 마냥 기쁘지 않았다. 나는 그 때 수목금 아침 6시부터 10시까지 알..
TIL28. FeignClient로 AI API 가져오기 + 인증 @PreAuthorize
·
TIL
2차 프로젝트는 화요일에 제출했다.왜 이제서야 TIL을 쓰냐면 🐶같이 바빴기 때문이다... (이건 인간학대임...) 🤖 FeignClient로 AI API 가져오기1차 때와 같은 Gemini API를 가져옴. 그런데 이번엔 FeignClient로 ㅇㅇ1. 구현1) GeminiClient.java@FeignClient(name = "geminiClient" , url = "https://generativelanguage.googleapis.com/v1beta/models")public interface GeminiClient { @PostMapping("/{model}:generateContent") GeminiResponseDto getCompletion( @PathVariable("model") ..
TIL27. 주문 만들기 + Client 연결 실패 문제 해결!
·
TIL
1️⃣ 주문 생성주문 만드려고 하는데 넘 헷갈려서 그려봄.// 주문 생성@Override@Transactionalpublic OrderResponseDto addOrder(OrderRequestDto orderRequestDto) { UUID supplyCompanyId = orderRequestDto.getOrderSupplyCompanyId(); // 공급업체 ID CompanyInfoDto supplyCompanyInfo = companyServiceClient.getCompany(supplyCompanyId); // 공급업체의 허브ID 검색 후 허브 재고 조회 UUID supplyCompanyHubId = supplyCompanyInfo.getCompanyHubId(); // 공급업체 담당 허브 ..
TIL26. 상품 만들기 (2) - 수정, 삭제 + Git Conflict, 401 Error
·
TIL
3️⃣ 상품 수정PatchMapping 처음 해봄.상품의 모든 정보를 받는 게 아니라 Map로 일부분만 받고 수정하는 식임.근데 @RequestBody 안 붙여놓고 왜 안되지??? 이러고 있었음.public void modifyProductInfo(String key, Object value, String userRole) { switch (key) { case "productName" -> this.productName = (String) value; case "productQuantity" -> this.productQuantity = (Integer) value; case "productCompanyId" -> { if (!"HUB_MA..
TIL25. 상품 만들기 (1) 생성, 조회
·
TIL
1️⃣ 상품 생성MASTER : 어디서나 상품 생성 가능HUB_MANAGER : 본인 허브에 소속된 상품만 생성 가능→ 업체에 저장된 허브ID와 허브관리자ID로 가져온 허브ID가 일치하면 상품 생성 가능업체담당자: 업체담당자ID와 유저ID와 일치하면 상품 생성 가능// 상품 생성@Overridepublic ProductResponseDto addProduct(ProductRequestDto productRequestDto, String userRole, UUID userId) { // 업체 조회 CompanyInfoDto companyInfo= companyServiceClient.getCompany(productRequestDto.getProductCompanyId()); switch(userRole)..
TIL24. 업체 만들기
·
TIL
userId나 userRole을 user-service에서 받아와야 하는 건가?만약에 jwt 토큰으로 받아서 쓴다면 각 서비스에서 파싱을 해야하나?? 너무 비효율적 아닌가?? 라고 고민하니까 초비님이 던져주심. @RequestHeader에 받아쓰거라... JWT 토큰에 userId 포함시키기기존 access 토큰에 userId를 그냥 포함시켜서 보내주면 굳이gateway에서 email을 보내줄 필요없이 userId를 보내주면 다른 서비스 모듈에서 FeignClient를 사용할 필요가 없다라는 생각이 들었다.기존 JWTUtivelog.io1. 업체 생성유저가 로그인을 함. 그럼 유저 정보를 어디서 받아오냐?→ user-service에서 보내주냐, 게이트웨이에서 파싱해서 보내주냐?권한 - 유저 ROLE이 허..
TIL23. 공통 모듈 만들기 - Exception, BaseEntity
·
TIL
슬슬 ZEP 캐릭터 코디하기가 빡세짐. 이미 한번씩 다 해본 것만 눈에 들어옴. 전화영어하는데 드라마 The Inbestigators 시즌3 캔슬 이야기를 하려고 했는데 드라마라고 하니까,선생님이 몹시 흥분하며 김수현 이야기를 했다..... 신도 안 믿는데 오마이갓 소리만 나왔음.이게 바로 나라 망신...?  [MSA] 개인 프로젝트 Monolithic to MSA 전환기 - (2) 멀티 모듈 구성하기이제 본격적으로 모놀리식 아키텍쳐 프로젝트를 MSA 아키텍쳐로 전환해보고자 합니다! 이번 포스팅에서는 단일 모듈로 구성되어 있는 프로젝트를 멀티 모듈로 구성하는 과정을 담아보겠습니다.ksh-coding.tistory.com1. root 디렉토리에 settings.gradle, build.gradle 넣어 줌..
TIL22. SAGA Pattern + JMeter
·
TIL
내용 다 날라감. 티스토리 일 안해?1. SAGA Pattern분산 트랜잭션의 주요 개념으로 트랜잭션을 여러 단계로 분할하여 각 단계를 독립적으로 실행하고,실패 시 보상 트랜잭션을 수행하여 롤백함.✉️ 메세지의 흐름주문이 정상 작동한다면 : Order -ProductQueue-> Product -PaymentQueue-> Payment주문에 에러가 난다면 : Payment -ProductErrQueue-> Product -OrderErrQueue-> Order1) Order ApplicationOrderApplicationQueueConfig더보기package com.market.order;import org.springframework.amqp.core.Binding;import org.springfr..