post-thumbnail

트랜잭션과 잠금

트랜잭션을 지원하는 엔진 → InnoDB트랜잭션을 지원하지 않는 엔진 → MyISAM부분 업데이트를 Partial Update라고 부릅니다.부분 업데이트 현상은 테이블 데이터의 정합성을 맞추는데 상당히 어려운 문제를 만들어 냅니다.FLUSH TABLES WITH REA

2023년 1월 29일
·
0개의 댓글
·
post-thumbnail

서버 측의 LAN에는 무엇이 있는가?

(a)와 같이 환경을 구성하는 경우 IP 주소가 부족해지고 서버는 노출 상태로 방치되기 때문에 선호되지 않는 형태입니다.(b)와 특정 서버에서 동작하는 애플리케이션에 액세스하는 패킷만 통과시키도록 방화벽을 두는 형태가 일반적입니다.패킷을 받으면 정확하게 도착했는지를 송

2023년 1월 25일
·
0개의 댓글
·
post-thumbnail

라우터의 패킷 중계

라우터라우터는 중계 부분과 포트 부분으로 구성되는데 중계 부분은 패킷의 중계 대상을 판단하는 동작을 담당하고, 포트 부분이 패킷을 송/수신하는 동작을 담당합니다.다른 허브들과는 달리 라우터의 포트는 수신/송신처가 될 수 있습니다.라우터의 각 포트에는 MAC 주소와 IP

2023년 1월 25일
·
0개의 댓글
·
post-thumbnail

프로토콜 스택과 LAN 어댑터를 통해 디지털 데이터가 전기 신호로 만들어지기까지

ICMPARPLAN 드라이버소켓은 통신 동작을 제어하기 위한 여러 가지 제어 정보가 기록되어 있습니다. 그 예로는, 통신 상대의 IP 주소, 포트 번호, 통신 동작의 진행 상태, 데이터 송신 후 경과 시간 등MAC OS의 경우 터미널에 명령어 lsof를 통해 소켓의 내

2023년 1월 21일
·
0개의 댓글
·
post-thumbnail

브라우저에서 HTTP 메시지를 만들기까지

웹 브라우저가 URL의 의미를 조사 후 그 의미에 따라 리퀘스트 메시지를 만듭니다. 그리고 이를 웹 서버로 전송합니다.프로토콜 스택의 역할메시지를 보내는 것 → 디지털 데이터를 운반하는 구조의 역할메시지를 패킷에 저장하고, 수신처 주소 등의 제어 정보를 덧붙입니다.통신

2023년 1월 19일
·
0개의 댓글
·
post-thumbnail

Github Action

자동화된 전체 프로세스. 하나 이상의 Job으로 구성되고, Event에 의해 예약되거나 트리거될 수 있는 자동화된 절차Workflow 파일은 YAML으로 작성되고, Github Repository의 .github/workflows 폴더 아래에 저장. Github에게 Y

2023년 1월 10일
·
0개의 댓글
·
post-thumbnail

코드가 푸시되면 자동으로 배포해 보자 - CI 배포 자동화

코드 버전 관리를 하는 VCS 시스템(Git, SVN 등)에 PUSH가 되면 자동으로 테스트와 빌드가 수행되어 안정적인 배포 파일을 만드는 과정을 CI(Continuous Integration - 지속적 통합)라고 하며, 이 빌드 결과를 자동으로 운영 서버에 무중단 배

2023년 1월 10일
·
0개의 댓글
·
post-thumbnail

훌륭한 자바 개발자가 되기 위한 소양 기르기 (3) - 1 멀티 스레드 프로그래밍을 이해하기 전 스레드에 관한 정리

스프링에서 Servlet은 한 개의 요청에 한 스레드를 맵핑하여 요청을 처리합니다. 여러 개의 스레드들이 만들어져 병렬적으로 여러 요청을 처리할 수 있는데, 이러한 모델을 멀티 스레드 모델이라고 합니다. 멀티 스레드 모델은 여러 작업을 병렬적으로 멀티 프로세스 모델보다

2022년 10월 8일
·
0개의 댓글
·
post-thumbnail

@Autowired의 원리와 스프링 팀에서 @Autowired의 사용을 지양하라고 하는 이유? (추가 수정 필요..)

스프링의 철학은 POJO(Plain Old Java Object)로 스프링 프레임워크를 나중에 걷어내더라도 코드가 정상적으로 동작할 수 있도록 프렘웍에 의존적인 코드를 작성하지 않는 것인데 그런 의미에서 @Autowired 보다는 다른 방법을 이용하는 것이 좋다고 공부

2022년 9월 28일
·
0개의 댓글
·
post-thumbnail

훌륭한 자바 개발자가 되기 위한 소양 기르기 (2) Java Garbage Collection

GC를 실행하기 위해 JVM이 애플리케이션 실행을 멈추는 것Stop the world가 발생하면 GC를 실행하는 쓰레드를 제외한 나머지 쓰레드는 모두 작업을 멈춘고, GC 작업을 완료한 이후에 중단했던 작업을 재개한다. 그래서 대개의 경우 GC 튜닝의 관건은 Stop

2022년 9월 23일
·
1개의 댓글
·
post-thumbnail

훌륭한 자바 개발자가 되기 위한 소양 기르기 (1) JVM

자바 바이트 코드를 실행하는 모든 하드웨어는 JVM을 통해 모든 하드웨어에서 자바 실행 코드를 변경하지 않고 실행할 수 있도록 합니다. 이는 플랫폼 의존적이지 않음을 의미합니다.JVM의 특징스택 기반의 동작 : JVM은 피연산자를 저장하고 가져올 때 스택을 활용한다.

2022년 9월 22일
·
0개의 댓글
·

필터와 인터셉터

공통 관심사를 해결할 수 있는 방법에는 서블릿 필터 또는 스프링 인터셉터 그리고 스프링 AOP가 존재한다. Servlet이 제공하는 기능리소스에 대한 요청(서블릿 또는 정적 콘텐츠)이나 리소스의 응답 혹은 둘 다에 대해 필터링 작업을 수행하는 객체필터 사용의 예1) A

2022년 9월 18일
·
0개의 댓글
·
post-thumbnail

자바 예외 회고

네이버 웹툰 프리인터뷰 면접을 통해자바에서 Error와 Exception이 있는데 이 둘의 차이는 무엇일까요?NullPointException은 checkedException일까요? uncheckedException일까요?checkedException, unchecke

2022년 6월 15일
·
0개의 댓글
·
post-thumbnail

트랜잭션

데이터베이스의 상태를 변화시키는 작업의 단위를 트랜잭션이라고 한다.원자성(Atomicity)한 트랜잭션 내에서 실행되는 작업들은 하나의 단위로 처리된다.한 트랜잭션 내에서 실행한 작업들은 모두 성공하거나, 반대로 전부 실패되는 성질일관성(Consistency)데이터베이

2022년 6월 2일
·
0개의 댓글
·
post-thumbnail

테스트를 학습하며

무엇을 테스트할 것인가?가 제일 중요한 포인트스프링 부트에서는 애플리케이션 테스트를 도와주는 다양한 유틸리티와 어노테이션을 제공한다.테스트는 두 가지 모듈에 의해서 제공된다.spring-boot-test : 핵심 기능을 포함spring-boot-test-autoconf

2022년 5월 26일
·
0개의 댓글
·
post-thumbnail

미션 중 발견한 커스텀 Exception 클래스에 존재하는 serialVersionUID는 무엇일까?

ATDD 미션을 수행하는 중 커스텀 Exception을 만들 일이 필요했고, 기존에 구현된 UnAuthenticationException 그리고 UnAuthorizedException과 같은 커스텀 Exception에 serialVersionUID가 있는 것을 발견했다

2022년 5월 16일
·
0개의 댓글
·

[모던 자바 인 액션] - 병렬 데이터 처리와 성능

자바 7이 등장하기 전에는 데이터 컬렉션을 병렬로 처리하기가 어려웠다.데이터를 서브파트로 분할하고, 분할된 서브파트를 각각의 스레드로 할당하고, 레이스 컨디션이 발생하지 않도록 동기화 문제에도 신경써야 했고, 마지막으로 부분 결과를 합치는 일련의 과정들을 거쳐야 했다.

2022년 5월 9일
·
0개의 댓글
·
post-thumbnail

[웹 개발자를 위한 웹을 지탱하는 기술] - HTML

마크업 언어란 태그로 문서의 구조를 표현하는 컴퓨터 언어마크업 언어를 이용한 마크업 구조를 가진 문서를 ‘구조화 문서(Structured Document)’HTML은 4.01 버전은 SGML 기반으로 개발되었지만 SGML 문법이 복잡하여 처리 프로그램을 생성하기 힘들었

2022년 5월 3일
·
0개의 댓글
·

[웹 개발자를 위한 웹을 지탱하는 기술] - HTTP 헤더

헤더는 메시지의 바디에 대한 부가적인 정보, 즉 메타 데이터를 표현HTTP의 최초 버전 0.9에는 헤더가 없었지만 전자메일의 스펙의 헤더 형식을 빌려오는 식으로 추가되었다.HTTP 헤더에도 역시 문자 인코딩 제한이 있어, 라틴 알파벳을 위한 문자 인코딩인 ISO 885

2022년 4월 25일
·
0개의 댓글
·

[웹 개발자를 위한 웹을 지탱하는 기술] - 스테이터스 코드

스테이터스 코드는 클라이언트의 움직임을 좌우하는 중요한 역할을 담당응답에 어떤 스테이터스 코드를 포함하느냐는 중요하다스테이터스 라인프로토콜 버전스테이터스 코드텍스트 프레이즈스테이터스 코드에 대응하는 설명구스펙에 예시된 이외의 문구도 포함 가능, 단 사람이 읽을 수 있도

2022년 4월 25일
·
0개의 댓글
·