다양한 시각에서 바라본 Redis (번외) 오픈소스 라이센스
·
Backend/Redis
오픈소스란? 배포된 소스 코드를 자유롭게 복사, 수정, 사용, 재배포 할 수 있는 소프트웨어를 뜻합니다.대표적으로 Linux 커널, apache webServer, MySQL 등이 있습니다. 오픈소스 라이센스란오픈소스 라이센스는 오픈소스 개발자와 이용자 간의 사용 방법 및 조건의 범위를 명시한 계약입니다.오픈소스를 이용하기 위해서는 오픈소스 개발자가 만들어놓은 사용 방법 및 조건의 범위에 따라 해당 SW를 사용해야 합니다.대표적으로 GPL, LGPL, BSD, MPL등이 라이선스가 있습니다.     2024.03.20 Redis에는 무슨 일이?https://github.com/redis/redis/pull/13157 Change license from BSD-3 to dual RSALv2+SSPLv1 b..
다양한 시각에서 바라본 Redis (2) 비교
·
Backend/Redis
두 번째 글에서는 다양한 친구들과 비교해 본 Redis라는 주제를 다룹니다.mysql, memcached등 redis와 자주 비교되는 친구들이죠..첫 번째 글에서 소개된 개념들이 두 번째 글에서도 중요하게 다뤄지므로, 첫 번째 글을 읽고 오시면 좋습니다. MySQL vs Redis디스크 vs 인메모리첫 번째 글에서 다룬 내용이기 때문에 링크로 대체하겠습니다.디스크 & 메모리란? 다양한 시각에서 바라본 Redis (1) 특징A : Redis 왜 사용해요?B : 인메모리여서 빠르고, 다양한 자료구조 제공....A : 틀린 말은 아니지만...🥱 사실 여기서 B는 필자다.누가 나에게 Redis를 왜 사용했냐고 물어보면 B와 똑같이 대답을 할 것solution-is-here.tistory.com SQL DB -..
다양한 시각에서 바라본 Redis (1) 특징
·
Backend/Redis
A : Redis 왜 사용해요?B : 인메모리여서 빠르고, 다양한 자료구조 제공....A : 틀린 말은 아니지만...🥱 사실 여기서 B는 필자다.누가 나에게 Redis를 왜 사용했냐고 물어보면 B와 똑같이 대답을 할 것 같다...그래서! 이번 기회에 Redis에 대해 완벽히 공부를 하고자 Redis에 대한 사실과 오해를 작성하게 됐다.+ 우아한 스터디😁redis_version : 7.2.4 1. 인메모리 데이터베이스Redis는 인메모리 데이터베이스입니다.인메모리 데이터베이스의 특징을 알아보기 전에 디스크와 메모리에 대해 알아보겠습니다.디스크 & 메모리  위 사진은 하나의 데이터 패킷이 출발지에서 도착지까지 가는 데 걸리는 시간을 보여주고 있습니다. 메모리는 컴퓨터의 RAM을 의미합니다. 사진에서는 1..
다양한 시각에서 바라본 PK 생성 전략
·
Backend/다양한 시각에서 바라본 백엔드
현재 상황@Entity@Getter@Builder@AllArgsConstructor@NoArgsConstructor(access = AccessLevel.PUBLIC)@Table(indexes = @Index(name = "oauth_id", columnList = "oauthId", unique = true))public class Member extends BaseTimeEntity implements UserDetails { @Id private String id; @Column(nullable = false) private String oauthId; @Enumerated(EnumType.STRING) private OAuthProvider oauthPlatform; @Column(nullable..
[Spring-boot] 당신의 비밀번호 안전한가요?
·
Backend/Spring
문제 상황현재 Fixadate의 Signin 과정은 다음과 같습니다.Client(ios)에서 소셜 로그인을 수행한 뒤, 얻은 정보를 Server에게 보냅니다.Server는 받은 정보를 바탕으로 DB에서 해당 회원이 있는지 조회합니다.해당 회원이 DB에 있으면 JWT 토큰을 발급해서 header로 보내고, 없으면 401 exception을 발생시킵니다.이와 같이 진행을 하면 회원이 있는 것과 없는 것을 잘 판단할 수 있지만, 보안 관점에서 보았을 때 매우 위험한 방법입니다. 만약 무차별 대입 공격과 같이 무작위 문자열을 대입하다가 DB에 있는 회원의 oauthId와 일치하게 되어 jwt를 발급하게 되면 한 사람의 일정을 다른 사람이 전부 볼 수 있게 되기 때문에 매우 큰 문제가 될 수 있는 방법입니다. ..
[왜?] DTO <--> Entity 어느 방향으로 하는 것이 효율적일까? (feat. mapper)
·
왜?
익명의 능력자분께 코드리뷰를 받았을 때 이러한 리뷰를 받았다. 1. DTO란? DTOs or Data Transfer Objects are objects that carry data between processes in order to reduce the number of methods calls. Fowler explained that the pattern’s main purpose is to reduce roundtrips to the server by batching up multiple parameters in a single call. This reduces the network overhead in such remote operations. DTO(Data Transfer Objects)는 프..