본문 바로가기

코딩 공부204

[JS] Vite ViteVue 창시자 Evan You가 만든 새로운 프론트엔드 도구로 프랑스어로 "빠르다(Quick)"를 의미하며 빠르고 간결한 모던 웹 프로젝트 개발 경험에 초점을 맞춰 탄생한 빌드 도구입니다. 현재 Vue, React, Svelte 등의 주요 프론트엔드 라이브러리, 프레임워크 커뮤니티에서 주목하고 있숩나다. Vite는 자바스크립트 네이티브 모듈을 기반으로 한 데브 서버입니다. 이미 현대 프런트엔드 개발 생태계는 웹팩을 중심으로 개발 환경과 배포 시스템이 구축되어 있습니다. 그런데 왜 Vite와 같은 도구들이 나온 이유는 웹팩을 사용할 때보다 훨씬 더 빠르게 개발하고 배포할 수 있기 때문입니다. 왜 빠른지 이해하기 위해서는 먼저 번들링과 자바스크립트 네이티브 모듈을 이해해야 합니다. 🏷️ 번들링웹팩(.. 2024. 10. 29.
[Mockito] ArgumentMatchers 및 any,eq ArgumentMatchers ArgumentMatchers는 메소드 호출 시 특정 인자값과 일치하는지, 혹은 특정 조건을 만족하는지를 확인하는 데 사용되는 도구입니다. Mockito는 여러 가지 Argument Matchers를 제공하며, 사용자는 이를 활용하여 원하는 조건에 맞는 인자를 검증할 수 있습니다.🏷️ ArgumentMatchers.any() Mocking 된 메소드를 설정하기 위한 방법은 여러 가지가 있는데, 첫 번째는 메소드에 "고정된 값"을 사용합니다.doReturn("...").when(userAccountService).getUserInfo("...");위와 같이 doReturn()이나 do()에 사용된 문자열처럼 고정된 값을 사용할 수 있습니다. 하지만 모든 테스트가 고정된 값만.. 2024. 10. 21.
[JPA] @PrePersist와 @PreUpdate @PrePersist@Column(name = "created_at")private LocalDateTime createdAt;@PrePersistvoid createdAt() { this.createdAt = LocalDateTime.now();} 엔티티가 생성될 때마다 실행되어야 하는 로직을 구현하는 데 사용되며, 엔티티가 생성될 때마다 현재 날짜를 값으로 설정하는 로직 등을 구현할 수 있습니다. 또한, 위의 이미지같이 JPA 엔티티(entity)가 비영속 상태에서 영속 상태가 되는 시점 이전에 실행이 되게 됩니다.@PreUpdate@Column(name = "modified_at")private LocalDateTime modifiedAt;@PreUpdatevoid modifiedAt() { .. 2024. 10. 18.
[JPA] @GeneratedValue의 GenerationType에 AUTO, IDENTITY 차이 @GeneratedValue(strategy = GenerationType.AUTO)@Table(name = "question_board")@Entitypublic class QuestionBoard { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; // 생략}Default로 동작되는 설정으로 DB 벤더에 따라 자동으로 3가지 전략 중 하나를 선택합니다. DB 벤더를 변경해도 전략을 수정하지 않아도 되지만, SEQUENCE나 TABLE 전략을 선택한다면 sequence나 키 테이블을 생성해두어야 함을 주의해야 합니다. 그러나 JPA ddl-auto 기능을 사용하면 hibernate가 알아서 시퀀스 테이블을.. 2024. 10. 17.
[DB] NoSQL NoSQLNot Only SQL 혹은 Non-Relational Operational DataBase의 약자로 비관계형 데이터베이스를 지칭합니다.즉, 관계형 데이터 모델을 지양 하며 대량의 분산된 데이터를 저장하고 조회하는 데 특화되었으며 스키마 없이 사용 가능하거나 느슨한 스키마를 제공하는 저장소를 말합니다.   NoSQL은 기존 RDBMS 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술을 의미하며, 관계형 데이터베이스의 한계를 극복하기 위한 데이터 저장소의 새로운 형태이다.🏷️ 특징✅ RDBMS와 달리 데이터 간의 관계를 정의하지 않습니다.RDBMS는 데이터 관계를 외래키 등으로 정의하고 JOIN 연산을 수행할 수 있지만, NoSQL은 JOIN 연산이 불가능합니다.✅ RDBMS에 비.. 2024. 10. 16.
[Spring / Redis] Spring에서 Redis 사용 Spring에서 Redis 사용레디스 관련 설명은 여기를 참고해 주세요!🏷️ Redis 의존성// redisimplementation 'org.springframework.boot:spring-boot-starter-data-redis'🏷️ Redis 설정@RequiredArgsConstructor@EnableRedisRepositories@Configurationpublic class RedisConfig { @Value("${spring.data.redis.host}") private String redisHost; @Value("${spring.data.redis.port}") private int redisPort; @Value("${spring.data.redis... 2024. 10. 10.