본문 바로가기

전체 글78

Docker - Volume ▶ 도커 볼륨이란? 도커 컨테이너와 호스트 시스템 간에 데이터를 저장하고 공유하기 위한 특별한 디렉토리이다. 볼륨을 사용하면 컨테이너가 삭제되거나 재시작되어도 데이터가 유지되며, 이는 중요한 데이터를 영구적으로 보관해야 할 때 매우 유용하다. 그런데 데이터를 컨테이너 안에 저장하는 것이 아닌 호스트 시스템에 저장하는 이유는 다음과 같다.  1. 데이터 영속성컨테이너 자체는 일시적인 존재이다. 컨테이너를 삭제하거나 재시작하면 컨테이너 내부의 데이터는 사라질 수 있다. 그러나 볼륨을 사용하면 데이터가 호스트 시스템에 저장되어, 컨테이너가 삭제되거나 재시작되더라도 데이터는 유지된다. 예를 들어, 데이터베이스의 데이터나 사용자 파일 등을 영구적으로 저장할 수 있다. 2. 데이터 공유여러 컨테이너 간에 데이터를 .. 2024. 5. 26.
Docker - 이미지 생성 ▶ 도커 이미지 도커 컨테이너를 생성하는데 사용되는 파일 시스템의 스냅샷다. 여러 개의 레이어로 구성되어 있으며, 각 레이어는 컨테이너 파일 시스템의 특정 상태를 나타낸다. 이 레이어들은 읽기 전용이며 변하지 않는다는 특징이 있다. 쉽게 말해, 도커 이미지는 마치 애플리케이션을 만들기 위한 설계도와 같다. 이 설계도에는 애플리케이션을 구성하는 레이어와 설정이 모두 기록되어 있다고 이해하면 좋다. 이렇게 이미지를 한 번 만들어 놓으면, 필요할 때마다 빠르고 쉽게 컨테이너로 만들어서 실행할 수 있으며, 이미지를 공유하거나 백업하여 여러 곳에서 사용할 수 있다.  ▶ 순서 이미지를 만드는 과정은 다음과 같은 단계로 이루어진다.  1. 도커 파일 작성: 도커 파일은 이미지를 만들기 위한 명령어들이 기록된 텍스트.. 2024. 5. 25.
Java의 기본 - 5 ▶ 쇼트 서킷(short-circuit)  -불리언 논리 연산자(&&, || 등)에서 발생할 수 있는 특별한 동작을 가리킨다. 쇼트 서킷 평가는 논리 연산자가 피연산자르르 왼쪽에서 오른쪽으로 평가하는 도중에 이미 전체 결과가 확정된 경우, 뒤이어 있는 피연산자들으르 평가하지 않고 중단하는 동작이다. 예를 들어, A && B의 경우, A가 거짓(false)이라면 B를 평가하지 않고 전체 결과를 거짓으로 반환한다. 이는 논리 연산에서 효율적인 평가를 가능하게 한다. 반면에 A || B의 경우, A가 참(true)이라면 B를 평가하지 않고 전체 결과를 참으로 반환한다. 이와 같이 쇼트 서킷 평가는 조건문이나 논리 연산에서 프로그램의 실행 속도를 향상시킬 수 있다. 그러나 이를 잘못 사용할 경우 여러 문제가 발.. 2024. 5. 25.
훅(Hook)에 대한 맛보기 정리 ▶ 훅이란 무엇일까리액트 훅은 함수형 컴포넌트에서 상태(state)를 다루고, 생명주기(lifecycle)를 관리하며, 다양한 리액트 기능을 사용할 수 있게 해주는 도구들이다. 예를 들어, useState 훅은 상태를 관리할 때 사용되고, useEffect 훅은 컴포넌트가 렌더링될 때나 업데이트될 때 특정 작업을 수행한다.  ▶ 함수형 컴포넌트앞서 언급된 함수형 컴포넌트에 대한 이해가 우선적으로 필요하다. 함수형 컴포넌트는 코드 구성이 어렵고, 재사용성이 떨어지며, 컴파일 단계에서 코드 최적화가 어렵다는 등 여러 불편함이 있던 클래스형 컴포넌트의 대체 방안으로 사용되기 시작하였다. 다음은 두 컴포넌트의 이해를 돕기 위한 간단한 코드이다. - 함수형 컴포넌트import React, { useState } .. 2024. 5. 25.
[iOS] Swift 공부 - 22 ▶ 퍼센트 인코딩URL에서 예약된 문자들을 16진수 값으로 변환하는 방식이다. 예약된 문자란 URL에서 특별한 의미를 갖는 문자들을 말하는데, 예를 들어 ?, /, #, % 등이 있다. 이런 문자들은 URL에서 다른 목적으로 사용되기 때문에 단순 데이터로 전송하려면 인코딩이 필요하다.인코딩 방식은 %와 그 문자의 ASCII 코드값을 16진수로 표현한 두 자리 숫자를 조합하는 방식인데, 예를 들어 공백 문자는 ASCII 32번이므로 %20으로 인코딩되는 것이다.하지만 알파벳과 숫자, 그리고 일부 안전한 문자들은 인코딩할 필요가 없는데, 안전한 문자의 예로는 -, _, ., ! 등이 있다.이런 식으로 퍼센트 인코딩을 적용하면 URL에 모든 데이터를 안전하게 전송할 수 있게 된다. 디코딩 과정에서 서버가 %.. 2024. 5. 23.
[iOS] Swift 공부 - 21 ▶ 오토레이아웃을 구현하는 4가지 방법의 장단점Storyboard- 직관적이고 사용하기 쉽다.- 뷰의 배치를 시각적으로 확인하며 제약조건을 설정할 수 있다.- 복잡한 레이아웃을 구성하는 데 한계가 있다.- 여러 사람이 함께 작업할 때 충돌이 발생하기 쉽다.코드- 제약조건을 세밀하게 조절할 수 있다.- 동적인 레이아웃을 구성할 수 있다.- 버전 관리가 쉽다.- 코드가 복잡해질 수 있다.- 레이아웃의 변경 사항을 확인하려면 빌드가 필요하다.라이브러리(SnapKit 등)- 코드가 간결하고 이해하기 쉽다.- 복잡한 레이아웃을 쉽게 구성할 수 있다.- 외부 라이브러리에 의존하게 된다.- 라이브러리의 업데이트나 호환성 문제가 발생할 수 있다.SwiftUI- 선언적 구문을 사용하여 코드가 간결하고 이해하기 쉽다.- .. 2024. 5. 16.