개발/개발지식

개발/개발지식

[Cache] 메모리 캐시와 디스크 캐시

메모리 캐시와 디스크 캐시는 컴퓨터 시스템에서 데이터를 더 빠르게 접근할 수 있도록 하는 두 가지 주요 캐시 기술입니다. 각 캐시의 장점, 단점, 그리고 사용되는 상황을 이해하면 효율적인 시스템 설계와 성능 최적화에 도움이 됩니다.메모리 캐시 (Memory Cache)정의: 메모리 캐시는 주로 RAM(Random Access Memory)에 저장되는 데이터로, CPU와 메모리 간의 데이터 전송 속도를 빠르게 하기 위해 사용됩니다.장점:속도: 메모리 캐시는 매우 빠릅니다. RAM의 접근 속도는 디스크보다 훨씬 빠르기 때문에 데이터에 빠르게 접근할 수 있습니다.낮은 지연 시간: 메모리에 저장된 데이터는 거의 즉각적으로 접근할 수 있어 지연 시간이 매우 낮습니다.단점:비용: RAM은 비싸기 때문에 대용량 데이..

개발/개발지식

[Cache] 페이지 캐시

페이지 캐시 기능은 웹 브라우저가 웹 페이지를 더 빠르게 로드하기 위해 사용하는 기술입니다. 이 기능은 사용자가 이미 방문한 페이지의 일부 또는 전체를 저장하여, 페이지를 다시 방문할 때 저장된 데이터를 사용해 빠르게 로드합니다. 페이지 캐시에는 여러 종류가 있으며, 가장 중요한 두 가지는 일반 HTTP 캐시와 BFCache(Back-Forward Cache)입니다.HTTP 캐시HTTP 캐시는 브라우저가 서버에서 가져온 리소스(예: HTML, CSS, JavaScript, 이미지 등)를 저장하여 동일한 리소스에 대한 반복적인 네트워크 요청을 줄이는 데 사용됩니다. HTTP 캐시는 서버와 클라이언트 간의 데이터 전송을 줄여 페이지 로딩 시간을 개선합니다. HTTP 캐시는 웹 페이지의 리소스를 저장하여 이후..

개발/개발지식

[Spring] Port 8080 is already in use 에러 해결 방법

발생 원인동일한 포트를 사용하는 어플리케이션을 번갈아가며 실행 시키는 경우 (이미 다른 하나가 실행중)IDE 상에서는 프로세스가 종료되었으나 실제 프로세스가 종료되지 않은 경우 해결 방법프로세스 종료하기lsof -n -i -P | grep 8080kill -9 3932 연관된 글 : 참고:https://deeplify.dev/back-end/spring/port-is-already-in-use

개발/개발지식

도메인 네임(Domain Name)

도메인 네임(Domain Name)은 인터넷 상에서 특정 컴퓨터나 네트워크를 식별하기 위해 사용되는 텍스트 주소입니다. 도메인 네임은 숫자로 구성된 IP 주소(예: 192.168.1.1) 대신 사람이 읽고 기억하기 쉬운 형태로 표현됩니다. 예를 들어, www.example.com은 특정 웹사이트의 도메인 네임입니다.도메인 네임의 구조도메인 네임은 여러 부분으로 구성되며, 각각의 부분은 점(.)으로 구분됩니다. 도메인의 각 부분은 계층 구조를 형성합니다. 가장 일반적인 구조는 다음과 같습니다:서브도메인: 예를 들어, www는 www.example.com에서 서브도메인입니다.도메인: example은 두 번째 수준 도메인입니다.최상위 도메인(TLD): com은 최상위 도메인입니다.www.example.com에..

개발/개발지식

트랜잭션

트랜잭션논리적인 작업 단위트랜잭션은 수행중에 한 작업이라도 실패하면 전부 실패하고, 모든 작업이 성공해야 성공합니다.트랜잭션(Transaction)은 데이터베이스나 메시지 큐와 같은 시스템에서 여러 단계의 작업을 논리적으로 묶은 단위를 의미합니다. 트랜잭션은 데이터의 일관성과 무결성을 보장하기 위해 사용됩니다. 주로 ACID(원자성, 일관성, 고립성, 지속성) 속성을 준수합니다.원자성(Atomicity):트랜잭션의 모든 작업은 전부 수행되거나 아무것도 수행되지 않아야 합니다. 즉, 모든 작업이 성공하면 트랜잭션을 완료하고, 한 가지 작업이라도 실패하면 트랜잭션을 롤백해야 합니다.일관성(Consistency):트랜잭션이 수행되기 전과 후에 데이터베이스는 일관된 상태여야 합니다. 즉, 트랜잭션이 수행되는 동..

개발/개발지식

디버깅/logger

이번에 일하는 회사에서 신입분이 들어오셔서 디버깅과 로거의 개념을 알려드리기위해 나도 정리를 해보았다. 디버깅을 하는 이유 "디버그(debug)는컴퓨터 프로그램 상의 오류(버그)를 찾아내어 바로잡는 과정을 뜻한다.디버깅(debugging)이라고도 한다. " 디버깅을 하는 이유 디버깅 방법 디버깅 (개념 / 과정 / Intellij 디버깅 방법 / Eclipse 디버깅 방법) [JS] 자바스크립트 디버깅 여러 가지 방법 sysout logger 차이 휘발된다 System.out.println() 은 로그가 표준 출력으로 출력된다. 즉, 파일로 저장되지 않고 휘발된다는 의미이다. 로그는 에러가 발생한 상황을 기록하고, 추후 확인하여 문제를 진단하고, 재현하고, 고치기 위해 사용된다. 하지만 표준 출력으로 한..

개발/개발지식

[네트워크] 로드 밸런싱(Load balancing)

로드 밸런싱이란? 로드 밸런싱이란 부하 분산을 위해서 가상(virtual) IP를 통해 여러 서버에 접속하도록 분배하는 기능을 말한다. 로드 밸런싱에서 사용하는 주요 기술은 다음과 같다. NAT(Network Address Translation): 사설 IP 주소를 공인 IP 주소로 바꾸는 데 사용하는 통신망의 주소 변조기이다. DSR(Dynamic Source Routing protocol): 로드 밸런서 사용 시 서버에서 클라이언트로 되돌아가는 경우 목적지 주소를 스위치의 IP 주소가 아닌 클라이언트의 IP 주소로 전달해서 네트워크 스위치를 거치지 않고 바로 클라이언트를 찾아가는 개념이다. Tunneling: 인터넷상에서 눈에 보이지 않는 통로를 만들어 통신할 수 있게 하는 개념으로, 데이터를 캡슐화..

개발/개발지식

암호화 알고리즘

1. 양방향 알고리즘 암호화된 암호문을 복호화 할 수 있는 알고리즘 1) 대칭키 (비공개키) 방식 특징: 암복호화에 서로 동일한 키가 사용됨. 따라서 비공개키를 사용 장점: 빠른 속도 단점: 키 배송의 위험성이 존재하여 송신 측에서 수신 측에 암호 키를 전달하는 과정에서 노출우려가 있음 대칭키의 대표적 알고리즘 DES (Data Encryption Standard) 1975년 IBM에서 개발. 1979년에 미국 국가 표준 암호 알고리즘으로 지정 블록 암호 기법을 사용. 블록의 단위는 64비트로 평문을 64비트 단위로 암호화를 수행하여 64비트의 암호화 문서를 생성하며, 키 길이는 64비트이지만 패리티 비트가 8비트 추가되어 실제 키 길이(=암호화 강도)는 56비트임 *** 패리티 비트: 정보 전달 과정에..

ideahamster
'개발/개발지식' 카테고리의 글 목록