본문 바로가기
728x90
반응형

전체 글407

[SpringBoot] SpringBatch 사용하기 (1) - Scheduler를 이용하여 Tasklet, Chunk 배치 만들기 안녕하세요. J4J입니다. 이번 포스팅은 SpringBatch 사용하기 첫 번째인 Scheduler를 이용하여 Tasklet, Chunk 배치 만드는 방법에 대해 적어보는 시간을 가져보려고 합니다. SpringBatch란? SpringBatch는 Spring에서 작업해야 되는 대용량 처리들을 반복적으로 수행할 수 있도록 도와주는 배치 프레임워크입니다. 서비스 운영을 하다 보면 사용자의 요청과 관련 없이 일정 시간마다 작업이 이루어져야 하는 것들이 발생하기 마련입니다. 예를 들면, 일정 기간이 지난 사용자들의 계정을 잠김 처리를 수행하던가 또는 매일 발생된 로그들을 이용하여 분석된 결괏값을 새롭게 적재하는 것들이 있습니다. 이런 기능들을 구현할 때 일정 시간마다 개발자가 로직이 동작되도록 작업을 항상 할 .. 2023. 8. 22.
[AWS] Organizations로 계정 관리하기 안녕하세요. J4J입니다. 이번 포스팅은 Organizations로 계정 관리하는 방법에 대해 적어보는 시간을 가져보려고 합니다. 이전 글 [AWS] IAM으로 사용자 관리하기 [AWS] IAM으로 사용자 그룹 관리하기 [AWS] IAM 역할을 이용하여 임시 권한 부여하기 Organizations란? AWS Organizations는 여러 AWS 계정들을 조직 단위로 통합하여 중앙 관리할 수 있도록 도와주는 AWS 서비스입니다. 개인적으로 Organizations를 처음 접하게 되면서 가장 궁금했던 부분은 "IAM과 어떤 차이가 있을까?" 였습니다. IAM과의 차이점은 다음과 같이 간단히 정리해 볼 수 있습니다. 첫 번째는 관리되는 계정입니다. IAM은 AWS 계정을 통해 생성할 수 있는 IAM 사용자들.. 2023. 8. 13.
[AWS] IAM 역할을 이용하여 임시 권한 부여하기 안녕하세요. J4J입니다. 이번 포스팅은 IAM 역할을 이용하여 임시 권한 부여하는 방법에 대해 적어보는 시간을 가져보려고 합니다. 이전 글 [AWS] IAM으로 사용자 관리하기 [AWS] IAM으로 사용자 그룹 관리하기 역할이란? IAM에서 사용해 볼 수 있는 역할은 특정 IAM 사용자에게 사용자가 가지고 있지 않은 권한을 임시로 부여할 때 활용될 수 있습니다. 또한 이번 글에서 다루진 않겠지만 역할은 임시 권한 부여뿐만 아니라 EC2, Lambda와 같은 AWS 서비스에서 다른 AWS 서비스 자원에 접근하려고 할 때 사용될 수도 있습니다. 사용자에게 역할을 부여할 때 주의할 점이 있습니다. 특정 IAM 사용자에게 부여된 권한을 이용하여 AWS 서비스를 사용하고 있을 때 해당 사용자에게 역할을 부여해 .. 2023. 8. 10.
[AWS] IAM으로 사용자 그룹 관리하기 안녕하세요. J4J입니다. 이번 포스팅은 IAM으로 사용자 그룹 관리하는 방법에 대해 적어보는 시간을 가져보려고 합니다. 이전 글 [AWS] IAM으로 사용자 관리하기 사용자 그룹이란? IAM에서 사용해 볼 수 있는 사용자 그룹은 동일한 권한을 부여해야 하는 다수의 사용자들을 보다 관리하기 쉽게 만들어줍니다. 예를 들면, 클라우드 관리하는 담당자가 필요하여 직원을 채용하고 해당 직원에게 클라우드 관리할 수 있는 권한을 부여한 AWS 사용자를 생성하여 제공해 줄 수 있습니다. 만약 해당 상황에서 동일한 역할을 하는 담당자가 더 많이 채용된다고 가정해보겠습니다. 그러면 이전 직원처럼 해당 직원들에게도 동일한 권한을 부여한 AWS 사용자를 생성해줘야 합니다. 하나씩 AWS 사용자를 생성하며 동일한 권한을 적용.. 2023. 8. 6.
[AWS] IAM으로 사용자 관리하기 안녕하세요. J4J입니다. 이번 포스팅은 IAM으로 사용자 관리하는 방법에 대해 적어보는 시간을 가져보려고 합니다. IAM이란? IAM은 Identity and Access Management의 약자로 AWS에서 제공해 주는 여러 리소스들에 안전하게 액세스 할 수 있는 기능을 제공해 줍니다. IAM에서 액세스 관리를 하기 위해 사용되는 것들은 다음과 같이 있습니다. 사용자 (USER) 사용자 그룹 (GROUP) 정책 (POLICY) 역할 (ROLE) 먼저 사용자는 AWS 내부에서 특정 리소스에 접근하여 기능 처리를 할 수 있는 사용자를 의미합니다. 상황에 따라 AWS 콘솔에 직접 로그인하여 AWS에서 제공해 주는 리소스 설정들을 해볼 수 있고, Git과 같은 곳에서 AWS에 액세스 하기 위해 사용될 수도.. 2023. 8. 3.
[AWS] Transit Gateway 피어링 연결하기 안녕하세요. J4J입니다. 이번 포스팅은 Transit Gateway 피어링 연결하는 방법에 대해 적어보는 시간을 가져보려고 합니다. 이전 글 [AWS] VPC 피어링 연결하기 [AWS] Transit Gateway 사용하기 [AWS] Transit Gateway Blackhole 사용하기 Transit Gateway 피어링이란? Transit Gateway 피어링은 VPC 피어링과 유사하게 서로 다른 두 개의 Transit Gateway들 간에 라우팅을 할 수 있도록 연결해 주는 것을 의미합니다. Transit Gateway 피어링도 VPC 피어링처럼 다음과 같은 특징들을 가지고 있습니다. 서로 다른 지역에 있는 Transit Gateway 연결 가능 서로 다른 계정에 있는 Transit Gateway.. 2023. 7. 31.
[AWS] Transit Gateway Blackhole 사용하기 안녕하세요. J4J입니다. 이번 포스팅은 Transit Gateway Blackhole 사용하는 방법에 대해 적어보는 시간을 가져보려고 합니다. 이전 글 [AWS] VPC 피어링 연결하기 [AWS] Transit Gateway 사용하기 Blackhole이란? Transit Gateway에서 Blackhole은 특정 대역을 통신할 수 없게 만들려고 사용됩니다. 예를 들면 Routes 설정에 10.0.1.0/24 대역이 연결 및 전파되도록 설정했는데 10.0.1.184/32 대역에 대해서만 통신을 불가하게 만들고 싶다면 Blackhole을 활용해 볼 수 있습니다. 이처럼 Blackhole을 활용한다면 통신이 가능한 대역들을 하나씩 등록해주지 않고 더 큰 범위의 대역을 등록해줬다가 통신이 불가능해야 하는 대역.. 2023. 7. 25.
[AWS] Transit Gateway 사용하기 안녕하세요. J4J입니다. 이번 포스팅은 Transit Gateway 사용하는 방법에 대해 적어보는 시간을 가져보려고 합니다. 이전 글 [AWS] VPC 피어링 연결하기 Transit Gateway란? Transit Gateway는 네트워크 중앙 Hub 관리형 서비스로 VPC와 온프레스미 네트워크를 서로 연결하는데 도움을 줍니다. VPC 피어링에 대해 알고 계신 분들은 Transit Gateway의 역할이 유사하다는 것을 느끼실 겁니다. 결론부터 말하면 Transit Gateway는 VPC 피어링의 단점을 보완하는데 도움을 줍니다. VPC 피어링의 단점은 1:1 연결만 가능하기 때문에 n개의 VPC들의 피어링이 서로 필요한 경우 n(n-1)/2개 만큼의 피어링 연결을 해줘야 합니다. Transit Gat.. 2023. 7. 22.
[AWS] VPC 피어링 연결하기 안녕하세요. J4J입니다. 이번 포스팅은 VPC 피어링 연결하는 방법에 대해 적어보는 시간을 가져보려고 합니다. VPC 피어링이란? VPC 피어링은 서로 다른 두 개의 VPC들 간에 라우팅을 할 수 있도록 연결해 주는 것을 의미합니다. 일반적으로 VPC 피어링은 Private Subnet 내부에 있는 AWS 자원들을 서로 연결할 때 활용됩니다. 하지만 그렇다고 해서 Public Subnet 내부에 있는 AWS 자원들을 서로 연결할 때 활용할 수 없다고 말할 수는 없습니다. 왜냐하면 VPC 피어링은 외부 인터넷 망을 거치지 않고 다른 VPC 내부에 있는 AWS 자원에 접근하기 때문에 외부 인터넷 망을 사용하는 것보다 더 빠르게 접근할 수 있게 도와주기 때문입니다. VPC 피어링의 특징들은 다음과 같이 있습.. 2023. 7. 20.
[AWS] Session Manager를 이용하여 EC2 인스턴스에 접근하기 안녕하세요. J4J입니다. 이번 포스팅은 Session Manager를 이용하여 EC2 인스턴스에 접근하는 방법에 대해 적어보는 시간을 가져보려고 합니다. Session Manager란 ? Session Manager는 종합 관리형 AWS System Manager 기능으로 SSH를 사용하는 것 없어 EC2 인스턴스에 접근할 수 있도록 도와줍니다. AWS에서 Session Manager의 장점들로 얘기하는 것들은 다음의 것들이 있습니다. 인스턴스에 접속하기 위한 인바운드 설정이 필요 없음 Bastion 호스트를 유지할 필요 없음 SSH 키 관리를 할 필요 없음 Session 활동에 대한 로깅 처리 즉, 그동안 인스턴스에 접근할 때 해왔던 불필요한 작업들을 단순하게 AWS에 접속하여 AWS CLI 클릭 한.. 2023. 7. 17.
[React] Vite 사용하기 안녕하세요. J4J입니다. 이번 포스팅은 vite 사용하는 방법에 대해 적어보는 시간을 가져보려고 합니다. Vite란? vite는 webpack, rollup 등과 같이 모듈 번들링을 수행할 때 사용되는 번들러 중 하나입니다. vite가 처음 등장하면서 개발자들에게 알려지기 시작할 때 봤었던 "리액트가 10배가 빨라집니다" 라는 글이 아직도 생각이 납니다. 이런 글의 내용처럼 vite의 가장 큰 특징 중 하나는 속도가 빠르다는 겁니다. ESM, HMR, ESBuild 등을 활용하여 서버 구동되는 시간, 번들링 속도, 코드 갱신 속도 등 다양한 방면에서 빠른 속도를 자랑하기 때문에 프로젝트의 규모가 커질수록 느낄 수 있었던 답답했던 번들링 속도 문제들을 개선하는데 도움을 줍니다. 번들링 속도 문제들을 개선.. 2023. 7. 11.
[React] Zustand 사용하기 안녕하세요. J4J입니다. 이번 포스팅은 Zustand 사용하는 방법에 대해 적어보는 시간을 가져보려고 합니다. Zustand란? zustand는 react에서 사용할 수 있는 상태 관리 라이브러리 중 하나로 redux와 같이 flux 패턴을 활용하는 기술 중 하나입니다. react에서 활용되는 상태 관리 라이브러리들은 여러 개가 있는데 대표적으로 redux, zustand, jotai, recoil 등이 존재하며 최근 npm 트렌드를 확인해 보면 redux 다음으로 가장 많이 활용되는 라이브러리라고 볼 수 있습니다. react를 처음 배울 때 최초로 사용해봤던 상태 관리 라이브러리는 redux인데 전역으로 데이터를 관리하기 위해 이렇게 까지 코드가 장황해야 하는 생각이 들었던 기억이 있습니다. 그래서 .. 2023. 6. 29.
[Next] Next13의 새로운 기능 알아보기 (5) - Metadata 안녕하세요. J4J입니다. 이번 포스팅은 Next13의 새로운 기능 알아보기 마지막인 Metadata에 대해 적어보는 시간을 가져보려고 합니다. 들어가기에 앞서 Opengraph 이미지 적용을 위해 아래 이미지를 활용할 예정입니다. 테스트가 필요하신 분은 해당 경로를 이용하여 동일하게 사용해 보셔도 무방합니다. https://blog.kakaocdn.net/dn/kT8fV/btskKl5skJt/XcqUQY5A7DDGcqU4iIY9P0/img.png 기본 설정 next13 이전에 metadata 설정을 위해 일반적으로 _document 파일을 활용하거나 layout을 이용하여 적용해 볼 수 있었습니다. 간단한 예시로 다음과 같이 코드를 작성해볼 수 있습니다. // src/layouts/metadata/la.. 2023. 6. 21.
[Next] Next13의 새로운 기능 알아보기 (4) - Link 안녕하세요. J4J입니다. 이번 포스팅은 Next13의 새로운 기능 알아보기 네 번째인 Link에 대해 적어보는 시간을 가져보려고 합니다. a태그 사용 제거 next13 이전에 Link를 이용하여 페이지 이동을 위한 화면을 구성할 때 Link 아래에 a태그를 사용하신 경험이 있을 겁니다. 일반적인 상황에서는 next13 이전에도 a태그를 사용하지 않아도 문제 될 것은 없습니다. 하지만 Link 아래에 추가적인 다른 태그를 사용하거나 styledComponents, emotion 등을 이용한 커스텀 컴포넌트를 넣는 경우 페이지 이동은 가능하지만 a태그가 사라지는 문제를 발생시킵니다 Link의 사용 목적은 페이지 이동을 하기 위해 활용하기 때문에 전혀 문제 없는 것 아닌가? 라고 생각할 수 있지만 a태그가 .. 2023. 6. 11.
[Next] Next13의 새로운 기능 알아보기 (3) - Font 안녕하세요. J4J입니다. 이번 포스팅은 Next13의 새로운 기능 알아보기 세 번째인 Font에 대해 적어보는 시간을 가져보려고 합니다. Google Font next를 이용하여 웹 페이지를 개발할 때 원하는 형태의 font를 적용시키기 위해 가장 많이 사용하는 방법으로 google font를 생각할 수 있습니다. next13 이전에 google font를 적용시키기 위해서는 Google Fonts에 접속하여 원하는 스타일의 폰트를 선택한 뒤 다음과 같이 google에서 하라는 대로 적용시켜 주면 됩니다. import Head from 'next/head'; const FontGoogle = () => { return ( Font Google Page ); }; export default FontGoo.. 2023. 6. 7.
[Next] Next13의 새로운 기능 알아보기 (2) - Data Fetching 안녕하세요. J4J입니다. 이번 포스팅은 Next13의 새로운 기능 알아보기 두 번째인 Data Fetching에 대해 적어보는 시간을 가져보려고 합니다. 들어가기에 앞서 next의 data fetching이 무엇인지에 대해 궁금하신 분들은 다음 글들을 참고하시면 됩니다. [Next] Data Fetching에 대해 알아보기 (1) - CSR / SSR [Next] Data Fetching에 대해 알아보기 (2) - SSG / Dynamic Routing [Next] Data Fetching에 대해 알아보기 (3) - ISR SSR (Server Side Rendering) next13으로 넘어오면서 SSR을 포함한 여러 fetching 방법이 간소해지며 비슷한 유형으로 처리될 수 있도록 변경되었습니다... 2023. 6. 4.
[Next] Next13의 새로운 기능 알아보기 (1) - Routing과 RSC 안녕하세요. J4J입니다. 이번 포스팅은 Next13의 새로운 기능 알아보기 첫 번째인 Routing과 RSC에 대해 적어보는 시간을 가져보려고 합니다. Routing 기본 방법 next13 이전에는 routing 처리를 위해 pages폴더의 하위 경로에 원하는 경로를 구성하는 방법을 사용했습니다. next13에서도 해당 방식을 지속적으로 지원을 하고 있기에 동일하게 사용해도 문제없지만 pages대신 app을 이용한 새로운 routing 처리 방식이 등장했습니다. pages를 이용하여 routing 경로를 구성했던 것과 유사하게 app 하위 경로에 입력한 폴더 명을 기준으로 routing 경로가 구성되기 때문에 pages를 이용하여 환경을 구성했던 것과 비슷한 개발 경험을 제공해주고 있습니다. Page와.. 2023. 5. 29.
[React] Tailwind 사용하기 (3) - 커스텀(Custom) 하기 안녕하세요. J4J입니다. 이번 포스팅은 tailwind 사용하기 마지막인 커스텀하는 방법에 대해 적어보는 시간을 가져보려고 합니다. 이전 글 [React] Tailwind 사용하기 (1) - 개념 및 설정 [React] Tailwind 사용하기 (2) - StyledComponents와 CSS 적용 비교하기 Theme 커스텀 theme 커스텀은 기본적으로 tailwind에서 제공해 주는 theme을 사용자의 스타일에 맞게 재 정의하는 것으로 tailwind.config.js에서 적용할 수 있습니다. 색상, 글자 크기, 너비 등 tailwind를 이용하여 적용하고 싶은 css 들을 원하는 데로 추가해 줄 수 있으며 다음과 같이 설정하여 적용해 볼 수 있습니다. // tailwind.config.js /*.. 2023. 5. 24.
728x90
반응형