태태의 개발 일지
  • 홈
  • 태그
  • 방명록
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기 (153)
      • Front (27)
        • HTML (9)
        • CSS (3)
        • JSP (6)
        • javascript (7)
        • jquery (2)
      • Backend (54)
        • JAVA (38)
        • Spring (7)
        • DB (8)
        • REDIS (1)
      • 클라우드 (1)
        • AWS (1)
      • 알고리즘 (33)
        • 백준 (24)
        • 프로그래머스 (9)
      • 형상관리 (2)
        • GIT (2)
      • 기타 (13)
      • 개인생각 (5)
      • 개발지식 (8)
      • TOOL (8)
      • OS (1)
  • 홈
  • 태그
  • 방명록
Backend/JAVA

[Java] try-with-resources: 예외 처리와 자원 관리를 깔끔하게 해결하는 방법

Java try-with-resources, 자원 해제, AutoCloseable, 예외 처리, Java 예외 안전성, try-catch-finally 대안Java에서 파일, 네트워크, 데이터베이스와 같이 외부 자원을 사용할 때 정확한 자원 해제는 필수입니다. 과거에는 try-catch-finally 블록을 사용해 자원을 명시적으로 닫았지만, Java 7부터 도입된 **try-with-resources**는 이를 훨씬 더 우아하고 안전하게 처리할 수 있도록 해줍니다.try-with-resources란?try-with-resources는 자원을 자동으로 해제해주는 Java의 문법입니다. try 문에 자원을 선언하면, 해당 자원은 try 블록이 끝나면서 자동으로 닫힙니다. 이 문법을 사용하기 위해서는 자원이..

2025. 4. 4. 15:40
Backend/JAVA

Java의 강한 참조, 약한 참조, 부드러운 참조 완벽 정리

Java 참조 타입: 강한 참조, 약한 참조, 부드러운 참조 차이점 완벽 이해1. 강한 참조(Strong Reference)란?강한 참조(Strong Reference)는 Java에서 가장 일반적인 참조 방식입니다. 우리가 일반적으로 객체를 생성할 때 사용하는 방식이며, 이 참조가 존재하는 한 가비지 컬렉터(Garbage Collector, GC)는 해당 객체를 절대 제거하지 않습니다.public class StrongReferenceExample { public static void main(String[] args) { String strongReference = new String("Hello, Strong Reference"); System.out.println(st..

2025. 3. 27. 00:55
Backend/Spring

의존성 주입(Dependency Injection): 왜 필요한가?

서론백엔드 개발을 하다 보면 "의존성 주입(Dependency Injection, DI)"이라는 개념을 자주 접하게 됩니다. 많은 개발자가 DI를 단순히 "객체를 주입하는 기법"으로만 이해하는 경우가 많지만, 실제로는 유지보수성과 확장성을 높이는 중요한 설계 원칙입니다.의존성 주입이란?1. 객체 간 결합도를 낮추는 기법의존성 주입은 객체가 직접 다른 객체를 생성하지 않고 외부에서 제공받도록 하는 설계 패턴입니다. 이렇게 하면 객체 간 결합도가 낮아지고, 코드의 유연성과 테스트 용이성이 증가합니다.2. DI가 중요한 이유DI의 핵심 가치는 "객체 간 결합도를 낮추어 유지보수성을 높인다"는 점입니다. 아래와 같은 이점이 있습니다.유지보수 용이성: 코드 수정이 필요할 때 영향을 받는 범위가 줄어듭니다.테스트 ..

2025. 3. 25. 19:21
Backend/REDIS

Redis란 무엇인가? 성능과 활용법 완벽 정리

Redis란? (빠른 성능의 인메모리 데이터베이스)Redis(REmote DIctionary Server)는 초고속 성능을 자랑하는 오픈 소스 기반 인메모리 데이터베이스입니다. NoSQL 키-값 저장소로, 데이터를 메모리에 저장하여 기존 관계형 데이터베이스(RDBMS)보다 월등한 속도를 제공합니다. 이 때문에 웹 캐싱, 실시간 분석, 세션 관리 등 다양한 용도로 사용됩니다.Redis의 주요 특징1. 인메모리 데이터 저장 (고속 성능 보장)Redis는 디스크 대신 메모리에 데이터를 저장하여 빠른 속도를 제공합니다. 초당 수십만 건의 요청 처리가 가능하며, 높은 트래픽을 효과적으로 처리할 수 있습니다.2. 다양한 데이터 구조 지원Redis는 단순한 키-값 저장을 넘어 다음과 같은 다양한 데이터 타입을 지원합..

2025. 3. 20. 23:02
Backend/DB

[DB] 데드락(Dead Lock)이란?

1. 데드락이란?데이터베이스 관리 시스템(DBMS)에서 두 개 이상의 트랜잭션이 서로 자원을 기다리며 무한정 대기하는 상태 따라서 시스템의 일부나 전체가 교착 상태에 빠져 진행되지 않게 된다.분산 시스템이나 데이터베이스에서 자주 발생하는 문제 2. 데드락 발생 조건데드락이 발생하려면 하기 네 가지 조건이 동시에 충족되어야 한다.상호 배제(Mutual Exclusion): 자원은 한 번에 한 트랜잭션만 사용할 수 있다점유와 대기(Hold and Wait): 트랜잭션이 이미 점유한 자원을 유지한 채 다른 자원을 요청하며 대기한다.비선점(No Preemption): 점유한 자원을 다른 트랜잭션이 강제로 빼앗을 수 없다.순환 대기(Circular Wait): 두 개 이상의 트랜잭션이 서로 자원을 기다리며 순환 ..

2024. 6. 7. 14:30
Backend/JAVA

[JAVA] List 출력 "System.out::println"

매번 breakpoint로 확인하는 것도 번거로운 것 같아 간단한 확인은 Console로 확인을 하고 싶었다. 아래와 같이 .forEach()와 System.out::println을 이용하여 Console에 List에 담긴 항목들을 출력할 수 있다. List resultList = mapper.getUserList(site_code); resultList.forEach(System.out::println);

2022. 5. 20. 13:27
  • «
  • 1
  • 2
  • 3
  • 4
  • ···
  • 9
  • »
반응형

공지사항

전체 카테고리

  • 분류 전체보기 (153)
    • Front (27)
      • HTML (9)
      • CSS (3)
      • JSP (6)
      • javascript (7)
      • jquery (2)
    • Backend (54)
      • JAVA (38)
      • Spring (7)
      • DB (8)
      • REDIS (1)
    • 클라우드 (1)
      • AWS (1)
    • 알고리즘 (33)
      • 백준 (24)
      • 프로그래머스 (9)
    • 형상관리 (2)
      • GIT (2)
    • 기타 (13)
    • 개인생각 (5)
    • 개발지식 (8)
    • TOOL (8)
    • OS (1)
애드센스 광고 영역
  • 최근 글
  • 최근 댓글

최근 글

최근댓글

태그

  • ##redis #redisdb #nosql #데이터베이스 #인메모리db #웹개발 #백엔드개발 #서버개발 #캐싱 #세션관리 #실시간데이터 #redis설치 #redis활용 #클러스터링 #오픈소스
  • #자바
  • #인텔리제이 svn
  • ##java #trywithresources #java예외처리 #autocloseable #자원관리 #java개발 #java기초 #예외처리 #개발자팁 #프로그래밍 #javabestpractices #코딩공부 #자바 #자바공부 #javatips
  • ##시간복잡도 #bigo #알고리즘 #자료구조 #코딩테스트 #컴퓨터과학 #프로그래밍 #개발자 #코딩 #소프트웨어개발 #시간복잡도분석 #성능최적화 #java #python #cs
  • ##java #spring #springboot #vscode #java개발 #spring개발 #개발환경 #intellij #eclipse #백엔드개발 #프로그래밍 #개발자 #코딩 #ide #소프트웨어개발 #웹개발 #풀스택개발
  • ##vscode #intellij #ide비교 #개발툴 #개발자팁 #단축키정리 #생산성향상 #프로그래밍툴 #개발자블로그 #개발자성장 #코딩효율화 #리팩토링 #디버깅팁 #springboot개발 #프론트엔드개발 #백엔드개발 #개발환경 #코딩툴추천
  • ##dns #도메인네임시스템 #dns란 #웹기초지식 #웹개발자팁 #개발자블로그 #백엔드개발 #프론트엔드개발 #웹성능최적화 #seo최적화 #dns작동원리 #dns서버 #dns보안 #dnsoverhttps #dns최적화 #ttl #dig #nslookup #cdn #도메인과ip #기술블로그 #개발자공부 #코딩블로그
  • #백준
  • #git
  • ##wsl #windowssubsystemforlinux #linuxonwindows #개발환경 #docker #vscode #백엔드개발 #wsl설정 #개발자팁 #프로그래밍
  • #오라클
  • #낙관적락
  • ##dns #도메인네임시스템 #네트워크 #인터넷기반기술 #dns설정 #dns보안
  • #e170004
  • #비관적락
  • #Java
  • #svn commit error
  • ##docker #컨테이너 #devops #백엔드개발 #ci_cd #소프트웨어개발 #클라우드 #개발자팁 #웹개발 #서버운영
  • #인텔리제이 자주 쓰는 단축키
  • #프로그래머스
  • #Thymeleaf
  • #spring
  • ##dependencyinjection #di #의존성주입 #spring #springboot #java #백엔드개발 #backend #디자인패턴 #개발자팁 #소프트웨어아키텍처 #테스트코드 #유지보수성 #결합도감소 #코딩 #프로그래밍
  • #인텔리제이 svn error
  • ##csrf #웹보안 #보안취약점 #jwt #samesite #cors #해커 #웹개발 #개발자팁 #보안강화
  • ##무중단배포 #zerodowntimedeployment #배포전략 #bluegreendeployment #canarydeployment #rollingdeployment #featuretoggle #ci_cd #소프트웨어개발 #서비스운영 #웹개발 #devops #kubernetes #클라우드 #배포자동화
  • ##java #java개발 #java프로그래밍 #강한참조 #약한참조 #부드러운참조 #메모리관리 #gc #가비지컬렉션 #프로그래밍 #백엔드개발 #개발자팁 #코딩 #springboot #javareference
  • ##seo #검색엔진최적화 #웹사이트속도 #도메인최적화 #웹성능
  • #db데드락
MORE

전체 방문자

오늘
어제
전체

블로그 인기글

Powered by Privatenote Copyright © 태태의 개발 일지 All rights reserved. TistoryWhaleSkin3.4

티스토리툴바