목록전체 글 (60)
꾸준히 기록하자
스택의 특징LIFO(Last In, First Out): 마지막에 들어온 데이터가 가장 먼저 나가는 구조입니다.깊이 우선 탐색(DFS), 백 트래킹에서 중요한 역할을 합니다.연산push(): 스택의 맨 위에 데이터를 추가합니다.pop(): 스택의 맨 위에 있는 데이터를 제거하고 반환합니다.peek(): 스택의 맨 위에 있는 데이터를 제거하지 않고 반환합니다.package StackAndQueue;import java.util.Stack;public class stack { public static void main(String[] args) { Stack stack = new Stack(); stack.push(1); stack.push(3); st..
배열의 특징1. 고정된 크기: 배열은 선언할 때 크기를 지정하며, 한번 크기를 지정하면 이후에 크기를 변경할 수 없다.2. 빠른 접근 속도: 배열은 인덱스를 통해 직접 값에 접근할 수 있어 접근 속도가 빠르다.3. 삽입과 삭제가 어렵다: 배열의 특정 위치에 값을 삽입하거나 삭제하려면 그 위치 이후의 모든 요소를 이동시켜야 한다.4. 메모리 사용 효율적: 배열은 연속된 메모리 공간을 사용하여 포인터와 같은 추가적인 메모리 사용이 없어 효율적이다. 배열 예제: 배열에서 값을 삽입하고, 삭제하는 과정에서 배열의 크기가 고정되어 있기 때문에 인덱스를 사용하여 값을 직접 수정하고 이동시켜야 합니다. public class ArrayExample { public static void main(String[]..
Soft Delete와 Hard Delete는 데이터베이스에서 데이터를 삭제하는 두 가지 방식입니다.각 방법은 데이터 삭제의 목적과 필요에 따라 선택됩니다. Hard Delete데이터베이스에서 데이터를 완전히 삭제하는 방법입니다.해당 데이터의 복구가 필요하지 않은 경우 사용됩니다.다음과 같은 특징을 가집니다.데이터 완전 삭제디스크 공간 회수영구적 삭제Soft Delete데이터를 실제로 삭제하지 않고, 삭제된 것처럼 표시만 하는 방법입니다.나중에 복구할 가능성이 있는 경우 사용됩니다.다음과 같은 특징을 가집니다.데이터 보존복구 가능히스토리 유지끝.
HTTP 프로토콜에서 GET과 POST 메서드는 웹 애플리케이션에서 데이터를 전송하고, 정보를 요청하는 데 핵심적인 역할을 합니다. HTTP GET데이터 요청: 서버에서 데이터를 요청하는 데 사용됩니다. 주로 리소스를 조회하거나 정보를 가져오는데 활용되며, 서버에 데이터를 변경하거나 업데이트하지 않습니다.안정성: 안전한 요청으로 간주되며, 서버의 상태를 변경하지 않습니다. 단지 서버로부터 데이터를 조회할 뿐이기 때문에, 서버의 데이터나 리소스에 영향을 미치지 않습니다.멱등성: 보장합니다. 동일한 GET 요청을 여러 번 수행해도 서버의 상태는 변하지 않으며, 동일한 결과를 반환됩니다.데이터 전달 방식: GET 요청에서 클라이언트는 데이터를 URL의 쿼리 문자열로 전달합니다. 예를 들어, http://exa..
함수에서 이상적인 인수 개수는 0개(무항)다. 다음은 1개(단항)이고, 다음은 2개(이항)이다. 3개(삼항)는 가능한 피하는 편이 좋다. 4개 이상(다항)은 특별한 이유가 필요하다. 특별한 이유가 있어도 사용하면 안 된다.로버트 C. 마틴, 《클린코드》, 박재호·이해영 옮김, 인사이트, 2013, 50쪽 함수의 인수가 많아질수록 코드의 복잡성이 증가하고 유지보수성이 떨어지기 때문에, 인수가 많은 함수는 일반적으로 바람직하지 않습니다. 이는 특히 이항 함수와 삼항 함수에서 더욱 중요할 수 있습니다. 주요 이유는 다음과 같습니다. 1. 가독성 저하인수가 많은 함수는 읽고 이해하기 어렵습니다. 함수의 목적과 동작을 이해하는데 더 많은 시간이 필요합니다.public void process(String nam..
함수를 만드는 첫째 규칙은 '작게!'다. 함수를 만드는 둘째 규칙은 '더 작게!'다. 로버트 C. 마틴, 《클린코드》, 박재호·이해영 옮김, 인사이트, 2013, 42쪽 함수를 작게 만드는 것은 소프트웨어 개발에서 중요한 원칙 중 하나입니다. 함수가 작고 명확하게 설계되면 여러 가지 이점을 제공합니다. 그 이유를 다음과 같이 정리했습니다. 1. 단일 책임 원칙 (SRP)명확한 책임: 작은 함수는 단일 책임 원칙을 따릅니다. 즉, 함수가 하나의 명확한 작업만 수행하므로 함수의 목적이 명확해집니다.가독성 향상: 코드의 목적이 분명하여 읽기 쉽고 이해하기 쉬워집니다.2. 가독성코드 이해 용이: 작은 함수는 코드의 논리를 더 쉽게 이해할 수 있게 해 줍니다. 함수가 작으면, 각 함수의 동작을 한눈에 파악할 ..
문자 하나를 사용하는 이름과 상수는 텍스트 코드에서 쉽게 눈에 띄지 않는다는 문제점이 있다. 로버트 C. 마틴, 《클린코드》, 박재호·이해영 옮김, 인사이트, 2013, 28쪽 1. 문자 하나로 된 변수와 상수 사용 예제c와 x와 같은 짧은 변수명은 그 의미를 충분히 전달하지 못하고, 코드의 목적을 이해하기 어렵게 만듭니다. public class StudentRegistration { public static void main(String[] args) { int c = 7; // 최대 수업 수 int x = 8; // 학생이 신청한 수업 수 if (x > c) { System.out.println("학생이 신청할 수 있는 최대 수업 수를..
데이터베이스 덤프란?데이터베이스의 구조와 데이터를 파일로 내보내는 과정입니다. 이 파일은 백업, 이동, 복구 등 다양한 관리 작업에 활용됩니다.1. 백업과 복구백업: 덤프 파일은 데이터베이스의 현재 상태를 저장하여 데이터 손실을 방지함.복구: 시스템 장애나 데이터 손실 시, 덤프 파일을 통해 데이터를 복구할 수 있음.2. 데이터베이스 이동 및 마이그레이션서버 간 이동: 덤프 파일을 사용해 데이터를 다른 서버로 효율적으로 이동함.버전 업그레이드: 데이터베이스 시스템 업그레이드 시, 데이터를 최신 버전으로 옮김.이종 DBMS 간 마이그레이션: 서로 다른 DBMS 간에 데이터를 이전할 때 덤프 파일을 사용함.3. 데이터베이스 복제 및 개발복제: 테스트 및 개발 환경에서 동일한 데이터를 사용할 때 덤프 파일을 ..