전체 글 21

[CS] CORS(Cross-Origin-Resource-Sharing)란?

0. CORS(Cross-Origin-Resource-Sharing)의 목적SOP의 제한을 선택적으로 완화하는 메커니즘브라우저에 적용되는 보안 정책SOP(Same-Origin-Policy)란?동일 출처(origin) 간에만 리소스 공유가 가능하도록 하는 자바스크립트 엔진 표준 스펙의 보안 규칙이를 준수하지 않을 시, 아래의 공격 시나리오가 발생할 수 있다. ex. 나의 사이트 출처 : https://example.com(프론트), https://example.com/api (백엔드)사용자가 example.com 로그인세션 쿠키가 브라우저에 저장사용자가 evil.com 접속evil.com이 다음 요청 실행fetch("https://example.com/api/user-info") .then(res => ..

[CS] OIDC(OpenID Connect)란?

안녕하세요,이번에 소셜로그인을 구현하며 마주한 OIDC에 대해 공부한 내용을 정리해보았습니다.OIDC는 Access token과 ID Token을 한 번에 제공하여서비스가 더욱 간편하게 사용자 프로필 정보를 얻도록 하는 OAuth2의 확장 기술입니다. 이렇게 보면 '그게 그래서 어디에 이득이 되는데?'라는 의문이 들 수 있기에,해당 기술이 생겨나게 된 배경에 대해서 먼저 서술하겠습니다. 1. 배경소셜로그인의 목적사용자 측면보안을 믿을만한 사이트에 위임하여 편리하고 안전하게 여러 서비스를 이용한다.서비스 측면보안 위협에서의 책임을 낮추고, 간편하게 로그인 기능을 구현한다.이를 구현하기 위해 OIDC라는 기술이 주로 사용된다. 하지만 기존 소셜 로그인은 다음과 같은 특징을 가지고 있었습니다.OAuth, SA..

[OpenStack] openstack server list 칼럼 추가하기

📚 openstack server list란?openstack server list는 인스턴스 목록을 조회하기 위하기 위한 명령어입니다. 해당 명령어를 통해 표시될 칼럼을 수정하기 위해서는“python-openstackclient/openstackclient/compute/v2/server.py” 파일의ListServer(command.Lister) 클래스를 수정해야 합니다. 해당 클래스의 take_action(self, parsed_args) 함수는어떠한 데이터를 가져오고, 출력할지를 정의합니다. 구현 방법1. 출력 대상 추가openstack server list를 입력했을 때, 표시될 칼럼 목록에 user_name과 project name을 추가합니다.columns : API를 통해 가져올 속성의 ..

Infra 2025.07.27

[AWS/AI] Amazon Q Developer로 초간단 게임 만들기

[AWS/AI] Amazon Q로 초간단 게임 만들기안녕하세요.이번에 Amazon 측에서25년 06월 20일까지Amazon Q를 통해 게임 생성을 체험하면, 티셔츠를 증정하는이벤트를 진행하고 있어서 후다닥 참여해 봤습니다.이런 게 진짜 바이브 코딩이구나 싶을 만큼게임 만들기가 간단해서상당히 인상적인 경험이었습니다. 이벤트 정보 Build Games with Amazon Q CLI and score a T shirt 🏆👕Use Amazon Q CLI to build games, share how you built it as a blog or a video and redeem your T-shirt. Read the full article to get started.community.aws 기본적인 이벤..

AWS 2025.06.10

[Monitoring] Grafana Alloy로 log, metric 데이터 모니터링하기

1. 시작하며모니터링 환경 구축을 고민하면서 log 지표를 수집하는 방법을 고민했다.metric에는 prometheus라는 간편하면서도 강력한 선택지가 있었기에 큰 고민이 없었지만log 데이터에 대해서는 여러 선택지가 있었다.그중 ELK vs PLG 사이에서 고민을 했다. ELKPLG리소스 사용높음 (Elasticsearch 중심)낮음 (Loki 경량 설계)검색 능력강력 (전체 인덱싱 처리)제한적 (메타데이터 기반)설정 난이도복잡함간단함시각화Kibana (강력하지만 단일 도구)Grafana (다양한 통합 가능)실시간 처리보통우수비용높음낮음사용 사례복잡한 분석, 대규모 검색 필요 시경량 로그 모니터링, 비용 절감 시 대략적으로 이러한 차이점들이 있지만나의 프로젝트에서는 리소스 부담이 주요한 고려 요소였다..

Infra 2025.04.04

[Network] IP 사용자 정보 확인하기 (구글, 네이버)

1. IP 주소본 내용에 앞서 IP에 관해 간단하게 설명하겠습니다.IP 주소는 통신 시에 사용되는 논리적 주소를 의미합니다.물리적 주소인 MAC 주소를 네트워크 상에서 사용하기 위해 IP 주소를 사용하게 됩니다.MAC 주소는 하드웨어가 변경되면 함께 변화할 수 있기에 IP 주소를 사용하여 어느 정도 추상화한다고 할 수 있습니다. 2. IP 주소의 사용자 정보ip에 대한 정보를 접하다보면ip 주소가 유출되면 사용자의 위치를 추정할 수 있다는 말을쉽게 찾아볼 수 있습니다.어떠한 원리로 추론이 가능한 것일까요? 정답은 공인 IP와 DNS 서버에 있습니다. ip 주소 자체에는 사용자의 주소지와 같은 정보를 포함하고 있지 않습니다.다만 ip 패킷에 포함되어 있는 사용자의 정보를 바탕으로ip 주소 조회 기관에서 사..

[주저리] 한국이 자바 공화국이 된 이유(w/ 닷넷, 노드)

한국은 왜 자바공화국이 되었을까?오랜만에 재밌는 생각 파도타기(?)를 하여서 그 과정을 공유하고자 합니다ㅎㅎ 제 학부시절 가장 큰 난제는"왜 우리나라 기업들은 죄다 자바-스프링을 요구하는가?"였습니다. 고급 언어로(ex. python) 개발에 입문하게 된 저로서는객체 중심의 자바가 저급 언어로 보였기에꽤나 거부감이 있었습니다. '아니 이렇게 쉽게 구현되는 언어들이 있는데, 왜 자바인거지?'라는 생각에 항상 의문을 가지고 있었습니다. 시간이 흐르고 매우 짧은 생각이었다는 것을 알게 되었지만,어찌 됐던 자바공화국이 된 이유에 대해서는오랜 기간 동안 시원한 답을 얻을 수 없었습니다. 그러던 중, 최근에 흥미로운 이야기들을 몇 접하게 되어서 소개하고자 합니다.  1. 생각의 발단 우선, 발단은 네트워크 공부였습..

Re: 2024.10.01

[주저리] IT 개발 취준생으로서 자격증에 대한 생각

개발 직무를 위한 자격증에 대한 나의 생각1. 자격증 취득 이유요즘 취업 준비를 하며 자격증을 여러 가지 취득하였는데보통 아래의 이유들로 자격증을 취득하였다. 1. 입사 지원을 위한 필수 및 우대사항 이어서2. 자신이 공부한 것을 입증하기에 가장 쉬운 수단이어서3. 자기 계발을 위해  1번의 이유는 보통 어학 자격증이 해당되었다.어학 자격증은 필수이거나, 없어도 그만인극과 극의 취급을 받는 자격증이었다.일정 수준 이상의 등급을 취득하지 못하면기업에 입사 지원조차 하지 못하는 경우가 있는 반면,우대조건에도 포함되지 않고순전히 나의 자아실현만을 위한 것이 되기도 했다. 대표적으로 삼성에서는 다양한 분야에서언어 자격증을 필수로 요구한다.삼성 같은 경우에는 어학 자격증을직무에 따른 필요성을 고려하여다양한 수준으..

Re: 2024.09.13