-
글또 10기를 시작합니다
글또 10기를 시작합니다. 첫 글 주제를 다짐으로 쓰려고 했는데 막막하고 쉽지 않았어요. 내가 이전에 글이 잘 써졌을 때는 어떤 상황이었는지 생각해 봤어요. 검색했는데 정리된 글이 없을 때, "왜 이런 글이나 정보가 없지? 아쉽다"라고 생각이 들면 글이 잘 써졌어요. 삽질한 과거의 나에게 쓰는 기분도 들고, "내가 궁금하면 다른 사람도 궁금하지 않을까"라는 생각도 있어요. 이게 저에게 무슨 의미였을까 생각해 보니 나는 왜 글을 쓰는가에 대한 고민과 비슷했어요.최근에 SNS에서 이런 글을 봤어요.생각이 많아지는 이유는 글로 적지 않아서다.불안해하는 이유는 행동하지 않아서다.일을 자꾸 미루는 이유는 계획을 세우지 않아서다.스트레스를 계속 받는 건 훈련하지 않아서다.명확성이 부족한 건 일기를 쓰지 않아서다.이..
-
VDI란 뭘까
그래서 VDI가 뭔데?virtual desktop infra왜써?가상화된 데탑을 중앙 관리하려고그러면 뭐가 좋은데?여러 가상 데탑을 동시에 패치, 업데이트 할 수 있어, 저장, 백업도 쉽고.그러면 원격 사용자들은 인터넷만 있으면 인증 절차에 따라 액세스할 수 있어.전체 인프라를 중앙에서 통제하니까 높은 보안수준 유지도 가능해.실제 예시를 들어줘원격 근무, 보안 심사, 서드 파티 액세스 등단점은 없어?가장 큰 단점은 중앙집중화의 주요 단점인 단일 장애 지점(Single Point of Failure)입니다.중앙 관리이다보니 VDI 환경에서 모든 가상 데스크탑은 중앙 서버에 의존합니다. 중앙 서버에 문제가 발생할 경우 전체 시스템이 영향받는 단일 장애 지점이 됩니다. 서버 다운, 하드웨어 오류, 소프트웨어 ..
-
VPN이란 뭘까
VPN, Virtual Private Network왜 생겼어?원래 인터넷 네트워크는 군사적인 목적으로 생겼지. 처음에는 내부망으로만 사용하다가 내부망끼리 연결이 필요해졌어.그래서 전용선을 깔게 되었어.문제는 전용선의 여러 한계와 단점들이 있다는거야.1. 비용- 전용선은 물리적인 회선이기 때문에 가격이 비싸. 특히, 거리가 멀 수록 비용이 기하급수적으로 증가하지2. 유연성 부족- 물리적 회선에 의존하기 때문에, 새로운 지점을 추가하거나 기존 지점을 이동할 때마다 새로운 회선을 설치해야 함.3. 확장성 제한- 전용선을 통한 네트워크 확장은 쉽지않음.4. 설치 및 유지보수- 2,3,4는 사실 비슷한 결인듯5. 보안문제- 취약한건 아닌데 다양한 보안 정책을 도입하기 힘듦 다시, 전용선의 어떤 한계 때문에 VPN..
-
AWS IAM Identity Center 그룹에 권한 세트 할당, 변경하는 법
AWS IAM Identity Center에서 Groups의 권한 세트 할당, 변경하는 방법을 알아봅시다.AWS IAM Identity Center(구 AWS SSO)에서 그룹에 들어가서, 해당 그룹을 누르면 권한 세트를 변경할 수 있을 것 같지만뭐가 안나옵니다...위에 파랑색 알림에서 계정이나 애플리케이션으로 가라고 하네요. IAM Identity Center 내 AWS 계정으로 들어갑니다.원하는 그룹이 할당된 계정을 찾아서 들어갑니다.사용자 및 그룹에서 해당 그룹을 선택해서 권한 세트 변경이 가능합니다.이렇게 새로 만든 권한 세트를 적용할 수 있습니다. 의아한 점은 왜 그룹에서는 변경을 못하고, 계정에 들어가야만 그룹의 권한 세트를 바꿀 수 있는가...그룹이 할당된 계정이 없다면?계정에 추가하고 바꿔..
-
자바에서 어노테이션을 사용하는 이유는 무엇일까?
자바 어노테이션의 역사와 장점어노테이션은 자바 5.0에서 도입된 중요한 기능으로, 코드에 메타데이터를 추가하여 다양한 용도로 활용할 수 있습니다. 이 글에서는 어노테이션의 역사와 함께 어노테이션을 사용함으로써 얻을 수 있는 장점에 대해 설명하겠습니다.어노테이션의 정의어노테이션은 클래스, 메소드, 변수 등에 추가되는 메타데이터로 생각할 수 있습니다. 이는 코드의 다양한 요소에 추가적인 정보를 제공하여, 컴파일러나 런타임 시스템이 이를 인식하고 특정 동작을 수행하도록 합니다.어노테이션의 역사어노테이션은 자바 5.0 (J2SE 5.0)에서 처음 도입되었습니다. 자바 언어의 주요 설계 목표 중 하나는 개발자의 생산성을 높이는 것이었습니다. 이를 위해 자바 언어에 메타데이터를 추가할 수 있는 어노테이션이 포함되었..
-
docker 이미지 빌드 시간 줄이는 방법
캐시 활용:자주 변경되지 않는 레이어를 Dockerfile의 앞부분에 배치합니다.docker build --cache-from 옵션을 사용하여 이전 빌드의 캐시를 재사용합니다..dockerignore 파일 사용:불필요한 파일을 제외하여 컨텍스트 크기를 줄입니다.멀티 스테이지 빌드:빌드 단계와 실행 단계를 분리하여 최종 이미지 크기를 줄입니다.병렬 빌드:BuildKit을 사용하여 독립적인 단계를 병렬로 실행합니다.DOCKER_BUILDKIT=1 docker build .경량 베이스 이미지:Alpine 기반 이미지 등 작은 베이스 이미지를 사용합니다.레이어 최소화:RUN 명령어를 체이닝하여 레이어 수를 줄입니다.의존성 캐싱:패키지 매니저 파일(예: package.json)만 먼저 복사하고 의존성을 설치합니다..
-
docker 이미지 사이즈 줄이는 방법
멀티 스테이지 빌드 사용:FROM node:14 AS builderWORKDIR /appCOPY package*.json ./RUN npm installCOPY . .RUN npm run buildFROM node:14-alpineWORKDIR /appCOPY --from=builder /app/dist ./distCMD ["node", "dist/main.js"]이 방법으로 빌드 도구와 중간 파일들을 최종 이미지에서 제외할 수 있습니다.작은 베이스 이미지 선택:가능한 경우 Alpine 기반 이미지를 사용합니다.FROM node:14-alpine레이어 수 최소화:RUN 명령어를 체이닝하여 레이어 수를 줄입니다.RUN apt-get update && apt-get install -y \ package..
-
composable CDP란?
A composable CDP is a modular solution that collects, models and activates customer data from your existing data infrastructure. This customer platform leverages the comprehensive data repository of a data warehouse, which already contains a detailed map of the customer journey. 컴포저블 CDP는 기존 데이터 인프라에서 고객 데이터를 수집, 모델링 및 활성화하는 모듈식 솔루션입니다. 이 고객 플랫폼은 고객 여정에 대한 상세한 맵이 이미 포함된 데이터 웨어하우스의 포괄적인 데이터 저장소를 ..