본문 바로가기 메뉴 바로가기

개발자 쿠키

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

개발자 쿠키

검색하기 폼
  • BE cookie (113)
    • Docker (0)
    • javascript (3)
      • react (1)
    • Java (15)
    • 스프링 (25)
      • 스프링 입문 (6)
      • 스프링 핵심원리 기본편 (9)
      • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (2)
    • CS (10)
      • HTTP 웹 기본 지식 (7)
      • 네트워크 (1)
      • 운영체제 (0)
      • 데이터베이스 (1)
    • SQL (1)
    • 알고리즘 (Python) (49)
      • 백준 단계별 (15)
      • 프로그래머스 (2)
      • DFS BFS (2)
      • DP (1)
      • 백트래킹 (1)
      • 백준 (Python) (6)
    • 생각정리 (0)
    • 부트캠프 (3)
    • 자격증 (1)
  • 방명록

BE cookie (113)
PostgreSQL의 VARCHAR에서 실제 바이트 수

PostgreSQL에서 흔히 사용하는 데이터 타입인 VARCHAR(n)은 일반적으로 "최대 문자 수"로 인식된다. 즉, VARCHAR(10)이라면 최대 10개의 문자를 저장할 수 있다. 여기서 주의할 점은, 이는 바이트(byte) 수가 아니라 문자(character) 수를 기준으로 한다는 것이다.PostgreSQL의 기본 인코딩은 UTF-8이며, 이는 한 문자가 여러 바이트로 구성될 수 있는 멀티바이트(multi-byte) 인코딩이다. 예를 들어, 한글은 일반적으로 한 글자당 3바이트로 구성된다. 따라서 VARCHAR(10)으로 선언된 컬럼에 한글 10자를 저장하면 실제로는 최대 30바이트를 차지하게 된다.Oracle과는 조금 다르다. Oracle의 경우 VARCHAR2(10 BYTE)와 같이 바이트 단..

CS/데이터베이스 2025. 3. 28. 19:19
소켓 프로그래밍 완전 정복하기

소켓의 사전적 정의전기 공급 인프라 환경에 연결할 수 있게 만들어진 연결부  네트워크 프로그래밍에서의 소켓이란프로그램이 네트워크에서 데이터를 송수신할 수 있도록 네트워크 환경에 연결할 수 있게 만들어진 연결부 소켓 (Socket) 네트워크를 경유하는 프로세스 간 통신의 종착점. OSI 7계층 중 응용 계층에 속하는 프로세스들은 데이터 송수신을 위해 반드시 소켓을 거쳐 전송 계층으로 데이터를 전달해야한다.즉, 소켓은 전송 계층과 응용 프로그램 사이의 인터페이스 역할을 하며 떨어져 있는 두 호스트를 연결해준다. Socket API 흐름client socket : 생성(socket) → 연결(connect) → 송수신(send/recv) → 닫기(close)server socket : 생성(socket) → ..

CS/네트워크 2025. 3. 7. 18:08
부동소수점 연산

돈 관련 프로젝트를 진행하다 보면 1원의 오차도 발생해서는 안됩니다. 그러나 오차가 발생할 수 있습니다. 그 이유는 컴퓨터가 모든 데이터를 바이너리 형식(이진수)로 인식하고 저장하기 때문입니다. 이로 인해 부동소수점 연산에서 정밀도 손실이 발생하게 되며, 이는 일부 숫자가 정확하게 표현되지 않고 근사값으로 저장되기 때문입니다.특히, 0.1, 0.3, 0.7과 같은 숫자들은 이진수로 변환할 수 없으며, 무한 반복되는 이진수로 변환됩니다. 컴퓨터는 이러한 값을 무한히 반복할 수 없기 때문에, 근사값을 사용하게 되고, 이로 인해 정밀도 손실이 발생하게 됩니다.이러한 현상을 부동소수점 연산에서의 정밀도 손실이라고 하며, 이는 소수점 이하에서 오차가 발생하는 원인입니다.0.3 (10진수) ≈ 0.010011001..

CS 2025. 2. 19. 19:45
[프로그래머스 level3] - 베스트앨범 (Java), 해시(hash)에 대한 모든 것(코딩테스트를 위한 해시, CS를 위한 해시)

https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 방법1. 장르별 재생 횟수 저장2. 각 장르에 속한 노래의 저장3. 장르별 재생 횟수를 저장4. 곡 수대로 내림차순 정렬5. 정렬된 num의 순서대로 상위 2곡의 고유번호를 ArrayList에 저장import java.util.*;class Solution { public int[] solution(String[] genres, int[] plays) { ArrayList answer = new Array..

알고리즘 (Python)/프로그래머스 2025. 1. 27. 16:04
데이터베이스 커넥션 풀 (Connetion Pool, DBCP)

커넥션 풀커넥션 풀(Connection Pool)은 애플리케이션과 데이터베이스 간의 데이터베이스 연결(Connection)을 미리 생성해두고, 이를 재사용하는 기법을 말합니다. 데이터베이스에 접근할 때마다 새로운 연결을 생성하고 종료하는 대신, 미리 준비된 연결을 재사용함으로써 성능을 향상시키고 자원 사용을 최적화할 수 있습니다. 커넥션 풀의 주요 구성 요소초기 풀 크기(Initial Pool Size), 최소 풀 크기(Minimum Pool Size), 최대 풀 크기(Maximum Pool Size), 연결 대기 시간(Connection Timeout) 데이터베이스 커넥션의 생애주기 :데이터베이스 드라이버를 사용하여 데이터베이스에 연결데이터 읽기/쓰기를 위한 TCP 소켓 열기소켓을 통한 데이터 읽기/쓰..

스프링 2024. 12. 17. 10:53
SpringBoot와 Next.js를 사용하여 디자인 커스텀 기능 개발하기

요약- 디자인 생성API를 개발하여 버튼을 클릭하면 카드의 디자인을 커스텀하는 기능을 설명합니다.   디자인 생성 API DesignController@Slf4j@RestController@RequestMapping("/api/v1/design")@RequiredArgsConstructorpublic class DesignController { private final DesignService designService; private static final Long DEFAULT_MEMBER_ID = 3L; @PostMapping public ResponseEntity createDesign(@RequestBody DesignCreateRequest request) { ..

스프링 2024. 11. 29. 22:15
[SpringBoot] JUnit과 Mockito로 효율적인 테스트 코드 작성법

요약테스트 방식: 단위 테스트도구: Mockito를 활용한 모킹(Mock)으로 의존성 분리.목적: DesignServiceImpl의 showDesign 메서드가 예상대로 동작하는지 검증.주요 작업:Mock 객체(designRepository)로 외부 의존성 대체.Stub 설정으로 Mock의 반환값 정의.서비스 메서드 호출 및 결과 검증. (assertThat) 테스트 코드 예제DesignServiceImplTest.java@ExtendWith(MockitoExtension.class)public class DesignServiceImplTest { private static final Logger log = LoggerFactory.getLogger(DesignServiceImplTest.class..

스프링 2024. 11. 24. 21:24
[JPA] 영속성 관리, 엔티티 매핑

영속성 컨텍스트영속화된 모든 엔티티들을 추적, 관리하는 공간으로 JPA의 핵심 기능 중 하나이며, 본질적으로 캐싱역할을 수행하는 공간 → Git 맥락에서는 커밋을 수행하기 전에 작업 내역이 위치한 스테이징 영역앱과 DB사이에서 객체를 보관하는 가상의 데이터베이스 같은 역할을 한다. 영속성 컨텍스트 덕분에 1차 캐시, 동일성 보장, 트랜잭션을 지원하는 쓰기 지연, 변경 감지, 지연 로딩 기능을 사용할 수 있다.영속성 컨텍스트에 저장한 엔티티는 flush 시점에 DB에 반영되는데 일반적으로 transaction을 commit할 때 영속성 컨텍스트가 flush된다. 영속성 컨텍스트가 관리하는 엔티티를 영속 상태의 엔티티라 한다.준영속 상태의 엔티티더는 영속성 컨텍스트의 관리를 받지 못하므로 영속성 컨텍스트가 ..

스프링 2024. 8. 30. 14:20
이전 1 2 3 4 ··· 15 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 백준14720 # 그리디 알고리즘 # greedy
  • 백준2720번 #그리디 알고리즘
  • 이분탐색
  • 정보처리기사 실기 #정처기 실기 #2024년 2회 #정처기 2024년 2회 #공부법 # 꿀팁
  • java #예외처리 #throw #throws
  • 명품 JAVA Programming - 황기태
  • level3
  • 백준 10828번 # 스택
  • 백준 18258번
  • level1 # 입출력과 사칙연산
  • object 클래스 # java
  • 백준17608번
  • 2798블랙잭
  • 백준10871번
  • 반복문
  • 자바 #자바문법 #자바기초 #참조형 #기본형
  • 11034번
  • 단계10
  • heap area #stack area #static area #jvm
  • 브루트 포스법
  • Spring
  • 25304번
  • 스프링웹개발기초
  • 올 겨울은 조금 따뜻할 것 같다.
  • 나는야 4학년 #5학년 까지 가보자구
  • static #자바 메모리 구조 #멤버 변수
  • 25083번
  • level2
  • 12605번
  • java #추상클래스
more
«   2025/05   »
일 월 화 수 목 금 토
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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.