일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
31 |
- ORM
- 자바
- 스프링
- Spring
- spring boot
- 도커
- Hackathon
- mysql
- 백엔드
- computer science
- spring cloud
- Container
- 스프링 부트
- CS
- 웹 서버
- virtualization
- 스프링 배치
- Spring Security
- 컨테이너
- 영속성 컨텍스트
- 가상화
- CI/CD
- vm
- Redis
- Java
- JPA
- 데이터베이스
- 해커톤
- 스프링 시큐리티
- 배포
- Today
- Total
목록Back-End (80)
개발 일기

처음 https://www.acmicpc.net/problem/10986 해당 문제에서 누적합을 활용해서 이중 for문을 통해 계산을 했었다.// 처음 내 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken(..

https://www.acmicpc.net/problem/20291백준 20291 파일정리 실버3 문제에서 TreeMap을 적용해볼 기회가 있어서 TreeMap을 적용해봤다.import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter((new OutputStreamWriter(System.out))); int T = I..

Java Garbage Collector(GC)는 자바에서 메모리 관리를 자동화하는 핵심 기능입니다. 수동으로 메모리를 해제해야 하는 C/C++과 달리, Java에서는 동적으로 할당했던 메모리 영역(Heap 영역) 중 GC가 더 이상 사용되지 않는 객체를 자동으로 감지하고 메모리에서 제거할 수 있다 . why? 사용이 끝난 객체가 메모리에 계속 남아있으면 메모리 누수(Leak)가 발생 → OutOfMemoryError이를 방지하고 효율적인 메모리 회수를 위해 GC가 필요함[GC 알고리즘 - Reference Counting]개념Root Space : Stack 변수와 전역 변수 등 heap 영역 참조를 담은 변수Heap영역에 선언된 객첵들이 각각 reference count라는 별도의 변수를 들고있음해당..
✅ SOLID 원칙이란?어떤 분야든, 잘하기 위해선 '원칙'이 있다.스포츠에는 기본 자세가 있고, 요리에는 레시피가 있으며, 수학에는 공리(axiom)가 존재한다. 이러한 원칙은 그 분야를 체계적이고 효율적으로 다룰 수 있게 돕는 일종의 '교범'이다. 객체지향 프로그래밍(OOP)도 마찬가지다. 유지보수하기 쉬운, 확장 가능한(유지보수성, 확장성, 재사용성) 소프트웨어를 만들기 위해서는 단순히 클래스를 나누는 것만으로는 부족하다. 객체지향 설계의 5대 원칙, SOLID가 바로 그 교범이다. 이번 글에서는 이 SOLID 원칙이 무엇이고, 왜 중요한지, 그리고 Java 코드 예시와 함께 실제로 어떻게 적용할 수 있는지를 정리해보았다.1️⃣ S - 단일 책임 원칙 (SRP, Single Responsibil..
삼성 SW 역량테스트 2022 하반기 오전 1번 문제 싸움땅을 풀면서 아래와 같은 코드를 작성했다.더보기삼성 SW 역량테스트 2022 하반기 오전 1번 문제 싸움땅import java.util.*;import java.io.*;/** * - n*n 격자에서 진행 * - 각 격자에 무기 * - 초기에 무기들이 없는 빈 격자에 플레이어들이 위치하며 각각은 초기 능력치 가짐(모두 다름) * * 숫자 * - 빨간색 배경의 숫자 = 총의 공격력 / 플레이어의 초기 능력치 * - 노란색 배경의 숫자 = 플레이어의 번호 * * Round 설명 * 아래 과정을 1번 부터 n번 플레이어까지 "순차적으로" 진행해야 한 라운드가 끝난다. * 1-1. 첫 번째 번호 플레이어 부터 본인이 향하고 있는 방향대로 한칸 이동.(..

소프트웨어 개발에서 100% 완벽한 시스템을 구축하는 것이 이상적이지만, 현실적으로는 매우 어렵다. 특히 Microservices Architecture와 같이 분산 환경에서 운영되는 서비스에서는 하나의 서버 장애가 전체 시스템으로 전파되는 문제가 발생할 수 있다.이는 단순한 장애를 넘어, MSA를 도입한 근본적인 목적 자체를 무의미하게 만들 수 있다.따라서 완벽함을 추구하기보다는, 장애 상황에서도 전체 시스템이 무너지지 않도록 유연하게 대응할 수 있는 구조, 즉 Fault Tolerance (내결함성)를 갖추는 것이 중요하다. 이는 개별 마이크로서비스에서 발생한 오류나 장애가 전체 서비스로 확산되지 않도록 방지하는 데 핵심적인 역할을 한다.이러한 내결함성을 실현하는 방법 중 하나로, Circuit Br..
탄지 → 움집 → 비록 MSA로 전환하긴 했지만 드링클리를 거치며 거의 4~5개월을 어떻게 하면 모듈화를 더 잘할 수 있을까?에 대해서 정말 많은 고민이 있었다.그리고 그 고민의 끝에 대한 게시글이다. 최종적으로 아래와 같이 모듈화를 했다.module-api ㄴ api-inquiry ㄴ api-product ㄴ api-vendormodule-clientㄴ client-geocodingㄴ client-niceㄴ client-tossㄴ aws-s3module-domainㄴ domain-rds (domain-mysql)ㄴ domain-redis (domain-elasticache)module-common 상위 모듈부터 하위 모듈까지 간략하게 정리해보겠다.module-common내 기준으로는 어떤 모듈도 의존하..

→https://ai-back-end.tistory.com/119 [Java] JVM 메모리 구조(Method-Static, Heap, Stack)그전에 JVM에 대해 다시 떠올려보자. JVM 이란 Java Virtual Machine의 약자이며, 자바 가상 머신이라고 한다.자바 애플리케이션을 실행하기 위한 가상 환경자바 바이트코드(.class 파일)를 특정 운ai-back-end.tistory.com이전에 작성했던 블로그에서 단순히 JVM안에만 갇혀서 생각했다가 타 프로그램이 실행됐을때와 뭔가 다르다는걸 알게됐다.프로그램이 실행될 때 소스 코드나 실행 파일이 가상 메모리를 거쳐 RAM에 로드되고, 그 과정에서 변수들이 메모리 영역(Code, Heap, Data, Stack)에 로드된다고 했는데 Java..