[TIL] MSA 환경의 분산 트랜잭션 처리 패턴 - 2PC, SAGA
·
▪️CS 스터디
MSA(Microservice Architecture), 마이크로서비스 아키텍처란 하나의 서비스가 아닌 작고 독립적인 여러 개의 서비스로 나누어 개발하는 구조이며, 각 서비스는 독립된 데이터베이스를 가진다. 이와 반대되는 전통적인 개발 방식은 Monolithic Architecture로, 하나의 프로젝트에 모든 기능을 포함시킨 구조이다. 개발 초기에는 이 방식이 더 간단하고 빠르게 개발할 수 있지만, 코드가 길어지고 구조가 복잡해질수록 수정이나 확장이 어렵다는 단점이 있다. 그리고 수정할 때마다 전체 부분을 다시 배포해야 한다는 단점도 있다. 반면 MSA는 독립성을 보장하기에 유지보수와 관리에 용이하여 훨씬 많이 사용되고 있다. 그런데 이렇게 여러 개의 서비스로 나눠서 관리하면 데이터 일관성의 문제를..
[프로그래머스] 인기 있는 아이스크림 - SQL 고득점 Kit
·
▪️알고리즘
문제 설명FIRST_HALF 테이블은 아이스크림 가게의 상반기 주문 정보를 담은 테이블입니다.FIRST_HALF 테이블 구조는 다음과 같으며, SHIPMENT_ID, FLAVOR, TOTAL_ORDER는 각각 아이스크림 공장에서 아이스크림 가게까지의 출하 번호, 아이스크림 맛, 상반기 아이스크림 총주문량을 나타냅니다. 문제 상반기에 판매된 아이스크림의 맛을 총주문량을 기준으로 내림차순 정렬하고 총주문량이 같다면 출하 번호를 기준으로 오름차순 정렬하여 조회하는 SQL 문을 작성해주세요. 이 문제는 내림차순, 오름차순을 이용해야 하므로 다시 한번 되짚어보자면.. 오름차순(Ascending) = ASC - 작은 값에서 큰 값으로 점점 올라가기 (1, 2, 3, 4... ) 내림차순(Descending) =..
[프로그래머스] 폰켓몬 (Java)
·
▪️알고리즘
문제 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이import java.util.*;class Solution { public int solution(int[] nums) { HashMap mon = new HashMap(); for(int i = 0; i- HashMap 사용했고 put할 때 value는 이용되지 않을 거니까 그냥 1 해줬다 - 어쨌든 폰켓몬 종류 수와 nums/2 둘 중에 작은 거 리턴하는 거니까 굳이 if 저렇게 안 쓰고 삼항연산자 쓰는 것도 좋을 것 같은데 왜 코드 쓸 때는 죽어도 생각이 안 날까... - HashSet 사용한 풀이도 있길래 HashMa..
[2026 IBK기업은행 동계 청년인턴] IT 부문 최종 합격 후기
·
▪️etc
안녕하세요! 이번 에서 최종 합격이라는 결과를 받게 되어서 후기를 남기고자 글을 씁니다. 저는 IT 전공자이고 향후에도 IT 분야를 희망해서 IT 부문에 지원을 하였습니다! 프로젝트 몇 개를 진행하긴 했지만 금융 관련 시스템은 만져본 적도 없고 개발한 지 얼마 되지 않아서, 과연 수많은 지원자들 속에서 내가 눈에 띌 수 있을까? 하는 생각이 들었었는데요 그래도 억지로 기술적인 걸 보여주고 자랑하기보다는 그냥 솔직하게 진정성 있게 써보자! 했습니다 제 스펙은 나열할 수 없을 정도로... 뭐가 없고요 (하하) 수상 경력에 딱 하나 첨부했고 나머지 경력 사항은... 홀서빙 편의점 학원 아르바이트들만 가득하기 때문에 그냥 비워뒀습니다. ▪️ 자기소개서 이번 자소서 문항은 다음과 같았습니다. 다양한 ..
[TIL] 운영체제와 메모리
·
▪️CS 스터디
운영체제(OS, Operating System)란 사용자가 컴퓨터를 사용하기 위해 필요한 핵심 소프트웨어로, 컴퓨터 하드웨어와 응용 프로그램을 관리하고 상호작용 할 수 있도록 돕는 역할을 한다. 운영체제의 역할은 크게 네 가지가 있다. 1. CPU 스케줄링과 프로세스 관리CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리2. 메모리 관리한정된 메모리를 어떤 프로세스에, 얼마나 할당해야 하는지 관리3. 디스크 파일 관리디스크 파일의 보관 방법 관리4. I/O 디바이스 관리I/O 디바이스들인 마우스, 키보드와 컴퓨터 간에 데이터 주고받는 것을 관리 이 중 메모리에 대해 더 알아보겠다. 메모리는 데이터나 상태, 명렁어 등을 기록하는 장치이며 기억을 담당한다..
[트러블슈팅] 'SQL Exception ... incompatible' DB 타입 불일치 오류
·
▪️트러블슈팅
애플리케이션을 시작하는 main 스레드에서 UnsatisfiedDependencyException이 발생하며, 로그에 다음과 같은 오류가 찍혔다. org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL ...Caused by: java.sql.SQLException: Referencing column 'user_id1' and referenced column 'id' in foreign key constraint '...' are incompatible.spring.jpa.hibernate.ddl-auto=update 옵션에 따라서.. Hibernate가 엔티티에 맞게 DB 스키마를 변경하려다SQL로부터 타입이 호환되지 ..
[TIL] HTTPS와 SSL/TLS의 개념
·
▪️CS 스터디
우리는 평소에 인터넷을 사용할 때 https:// 라는 프로토콜을 통해 접속한다. 여기서 HTTPS 란 무엇일까? 우선 HTTP(HyperText Transfer Protocol) 는 웹 브라우저와 서버 간에 데이터(HTML, 이미지, XML 등)를 전송하기 위해 사용되는 프로토콜이다. 클라이언트가 요청을 보내면 서버는 응답을 해주는, 요청 - 응답 형태의 방식이다. 이때 데이터가 암호화되지 않은 상태로 전송되어 이 데이터를 누구나 볼 수 있기 때문에, 보안이 취약하고 사용자 정보 노출 위험이 크다. HTTPS (HyperText Transfer Protocol Secure)HTTPS 에 SSL/TLS를 사용해 암호화를 추가한 프로토콜이다. 클라이언트와 서버 사이에서 전송되는 ‘모든 데이터를 암..
[TIL] IP 주소 체계 이해하기
·
▪️CS 스터디
IP 주소는 IPv4와 IPv6로 나뉜다.둘의 가장 큰 차이점은 주소의 길이이다. IPv4: 32비트를 8비트 단위로 표현다시 말해 이진수로 표현된 32비트 ( 10101100 00010000 00000001 00000001 ) 를8비트씩 끊어서10101100 -> 172, 0010000 ->16, 00000001 -> 1, 00000001-> 1=> 172.16.1.1 로 표현하는 것이다. IPv6: 128비트를 16비트 단위로 표현ex) 2001:0db8:0000:0000:0000:ff00:0042:8329 / 이런 식으로 콜론으로 끊어서 16비트씩 16진수로 표현한다. IPv4는 주소 표현에 한계가 있지만,IPv6는 사실상 무한대에 가까운 주소를 지원하여 갈수록 많이 사용하는 추세라고 한다. ..
[트러블슈팅] Communications link failure, Spring Boot 배포 시 DB 연결 URL이 바뀌지 않는 문제 해결
·
▪️트러블슈팅
7월에 EC2로 배포했었던 나의 소중한 프로젝트...청구서를 보고 눈물을 머금으며 관련 인스턴스를 싹 지웠었다근데 이제 다시 실사용자를 받아볼 때가 되어서 이제서야 또 배포를 하게 되었다. 그래서 차근차근 하고 있었다. rds로 mysql 다시 배포하고, 그 이후에 ec2로 스프링부트 배포하고별 문제 없이 마지막 단계까지 왔는데 스프링부트 jar 파일 실행할 때마다 이런 오류가 발생했다. 2025-10-27T17:55:43.036Z ERROR 2319 --- [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization.com.mysql.cj.jdbc.exceptio..
[TIL] 네트워크 토폴로지, 성능 분석
·
▪️CS 스터디
네트워크란?노드(장치)와 링크(유선, 무선)로 연결되어 데이터를 주고받는 시스템 네트워크 토폴로지란?네트워크의 노드와 링크가 어떻게 배치되어 있는지에 대한 배치 방식을 뜻하는 용어이다. Tree, Bus, Star, Ring, Mesh 가 있는데 이 중 Star와 Ring이 많이 쓰인다. Tree형 토폴로지 계층형 토폴로지라고도 한다.노드 추가, 삭제가 쉽지만 하위에 노드가 존재할 경우 하위 노드까지 영향을 받을 수 있다. Bus형 토폴로지 중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 네트워크 구성을 말하며, 근거리 통신망(LAN)에서 자주 사용된다.이런 버스형은 설치와 노드 추가가 쉽고, 저렴하다는 장점이 있지만 회로에 문제가 생기기 쉽다는 단점이 있다. Star형 토폴로지 노드..