본문 바로가기

분류 전체보기160

[k8s] 운영상 관점에서의 VM과 container. VM: 기존의 많이 쓰이던 운영 방식하나의 패키지에 Module이 여러개 담겨있고 이는 하나의 언어로 개발되어짐.그래서 VM 하나에 Module A, B, C가 있을 때, Module A와 B의 사용량은 그대로이나 Module C의 필요성이 급증하여 서버를 늘려야한다면 VM을 하나 더 생성해서 하나의 패키지를 다 올리게 되어 불필요한 Module A, B까지 올라가게 되므로 불필요한 자원의 사용이 예상됨.Container: MSA에 최적화서비스를 만들 때 각각의 모듈 별로 나누어 개별의 Container에 담는걸 권장.하나의 패키지가 아니므로 모듈 별로 최적화된 언어나 라이브러리 적용 가능.컨테이너 오케스트레이션은 한 Pod에 여러개의 모듈을 담을 수도 있고, 하나의 모듈만 담을 수도 있음. Pod이란 .. 2023. 4. 5.
namespace, cgroups namespace는 커널의 관련된 영역을 분리해주고, cgroups는 자원에 대한 영역을 분리해주는 역할을 한다. 커널(Kernel)은 하드웨어와 소프트웨어 간의 상호 작용을 관리한다. 시스템의 자원 관리 및 할당, 파일 시스템, 네트워크 관리 등 다양한 운영 체제 서비스를 관리하거나 악성코드나 해커로부터 시스템을 보호하는 역할도 한다. namespace가 커널과 관련된 영역을 분리해준다는 것은 하나의 운영 체제에서 여러 개의 격리된 가상 환경을 만들 수 있도록 각 가상 환경이 커널과 상호 작용하는 영역을 격리하고, 이를 통해 보안성을 유지하고 격리된 가상 환경을 구축할 수 있게 해준다는 의미이다. cgroups를 사용하여 컨테이너의 자원 사용을 제한하여 다른 컨테이너나 호스트 시스템에 영향을 미치 않으.. 2023. 4. 5.
[Java] Enum valueOfOrDefault() String을 Enum으로 변경해줄 때 Enum의 valueOf를 쓰고 try-catch문을 덮는게 일반적이다(없을 시 IllegalArgumentException 던짐). 근데 코드에 try-catch가 들어가면 지저분해지므로 이걸 유틸로 빼보았다. 그리고 Enum을 넣어도 null check를 하게 해서 String이나 Enum(null일 경우 대비)을 모두 첫 번째 인자로 넣고, 두 번째 인자로 return 받고 싶은 default 값을 null safe하게 넣게끔 했다. public static T valueOfOrDefault(String value, T defaultValue) { try { return Enum.valueOf(defaultValue.getDeclaringClass(), val.. 2023. 2. 28.
MFA란? 회사에서 AWS를 사용하는 직원들에게 단순히 패스워드로만 계정을 관리하게 하면, 해커에게 패스워드가 유출되었을 시 해커는 곧바로 로그인에 성공해버릴 것이다. 이를 방지하기 위해 높은 수준의 보안을 제공하는 방법이 MFA다. MFA(Multi-Fator Authentication)를 번역하면 '다중 인증'으로, 단순 패스워드 외에 추가적인 정보 인증을 요구하는 것이다. 위 그림에서는 Google Authenticator라는 어플리케이션이 설치된 모바일 기기를 추가적으로 로그인에 요구하고 있음을 알 수 있다. MFA는 USB(정확히는 USB같은 것이고 USB는 아님)같은 것으로 하기도 하지만 주로 휴대폰의 어플을 통해서 하고, 해커가 모바일 기기까지 어떻게 하긴 힘들기 때문에 매우 강력한 보안수단이다. 2023. 1. 29.
중복행 지우는 쿼리 무언가 무언가의 일로 특정 컬럼이 같은 데이터를 지우고 싶을 때 (예를 들면 생성일 이라던가) 물론 그럴 일이 없게 하는 것이 가장 좋겠지만 😊 DELETE FROM 테이블명 WHERE 컬럼 IN (SELECT create_dt FROM 테이블명 // 컬럼은 중복값이 들어있는 컬럼명 GROUP BY 컬럼 HAVING COUNT(컬럼) > 1) AND PK컬럼 NOT IN (SELECT MIN(PK컬럼) FROM 테이블명 GROUP BY 컬럼 HAVING COUNT(컬럼) > 1); 2023. 1. 25.