Tiny Star

IT 4

[데이터] Kaggle (캐글)

프로젝트에 활용할 데이터셋을 찾다가 Kaggle(캐글) 이라는 사이트를 알게되었다. Kaggle데이터 과학자와 머신러닝 엔지니어들이 모여 서로 문제를 풀고, 데이터를 분석하고, 학습하는 플랫폼Kaggle은 수십만 개의 데이터를 자유롭게 검색하고 활용할 수 있는 데이터 저장소 제공CSV부터 이미지, JSON까지 다양한 형식의 데이터셋이 있고, 무료로 이용 가능 데이터셋 예시 주제 예시 데이터셋 건강/의료코로나 확진자 현황, 의학 이미지스포츠월드컵 경기 결과, NBA 선수 스탯경제/금융주식 시장, 암호화폐 가격게임포켓몬 정보, 롤 챔피언 통계일상/기타넷플릭스 영화 목록, 음식 영양 정보 ⭐ 실제 업무용 데이터뿐만 아니라, 흥미로운 주제의 캐주얼한 데이터도 많아서 초보자도 쉽게 접근 가능 사용하는 법 ..

IT 2025.05.05

[Spring] @Transactional 트랜잭션 어노테이션

쿠폰 프로젝트를 진행하면서 사용하게 된 어노테이션이다. [클라이언트 요청] ↓POST /api/admin/coupons ↓[CouponService] ↓1. couponsRepository.save(coupon) 실행 ↓2. RedisTemplate 재고 등록Redis에 재고 등록을 하게되는데, 만약 이 때 오류로 Redis 등록에 실패했다면 DB에 저장된 데이터도 삭제하는게 좋다고 판단했다. 왜냐면 실패했을 시 똑같은 쿠폰을 다시 발행할텐데, DB 에는 동일한 이름의 쿠폰이 두 개가 등록되기 때문이다. 1. @Transactional@Transactional은 메서드 실행을 하나의 트랜잭션 단위로 묶어서,전체가 성공하면 커밋(commit),중간에 실패하면 롤백(rollback) 하게..

IT 2025.04.28

Redis란?

공고보면 기술 스택에 Redis가 있는 경우를 왕왕 봤다.전 실무에서는 대용량데이터를 넣고 통계돌리는 일이 과반수였기 때문에 Redis를 사용할 일이 없었다.그래서 개인 프로젝트하면서 사용할건데, 막상 Redis 에 대해 자세히 알지 못해서 찾아서 정리해보려고 한다. 1. Redis 란?Remote Dictionary Server의 약자로 메모리 기반의 Key-Value 저장소이다.대표적인 In-Memory DataStructure Store로 데이터가 RAM에 저장되어 매우 빠른 읽기/쓰기 속도를 제공한다.RAM 사용으로 인한 단점은 없을까?- 비용 문제: 디스크에 비해 비싸기 때문에 대용량 데이터를 저장하려면 비용이 많이 든다.- 용량 한계: 디스크보다 훨씬 작기 때문에, 너무 많은 데이터를 넣..

IT 2025.04.28

[JAVA] MyBatis VS JPA

MyBatis와 JPA는 둘 다 데이터베이스와 연동하는 매퍼 프레임워크이다. MyBatisSQL Mapper 프레임워크개발자가 직접 SQL을 작성하고, 그 결과를 Java 객체와 매핑한다.특징복잡한 쿼리 작성이 쉬움DB 성능 최적화에 유리쿼리의 실행 순서와 내용을 명확히 알 수 있음사용 예) SELECT * FROM users WHERE id = #{id} INSERT INTO users(name, email) VALUES(#{name}, #{email}) UPDATE users SET name = #{name}, email = #{email} WHERE id = #{id} DELETE FROM user..

IT 2025.04.23
top