본문 바로가기

전체 글

(40)
'개발자가 클라우드를 알아야하는 이유' 발표 자료 2023.10.05일 AWS Cloud Clubs Sookmyung 오픈세션 '개발자가 클라우드를 알아야하는 이유' 발표 자료 입니다. 아마 대부분 클라우드에 대해서 한번씩은 들어보기도 하고 또는클라우드 서비스를 프로젝트에 활용해보신 분들도 많을 거라고 생각합니다. 저도 되도록 제가 개발하는 프로젝트에 클라우드 서비스를 최대한 활용하려고 노력하고 있는데요.제가 이렇게 클라우드에 관심을 가지게 된 여러 사건이 있었습니다.발표 주제에 대해 이야기 하기 전에 그 중 하나에 대해 잠깐 이야기를 해볼게요.제가 학부연구원으로 일을 잠깐 했었어요.그때 연구가 학과 서버에 위치하는 즉, 온프레미스 환경으로 구축되어 있었습니다.그 당시에 제가 가장 힘들었던 건 연구 자체를 진행하는 것도 있지만,서버 자체를 다루는 일 또..
Node.js에서 CI/CD 구현하기 (with Github Actions, CodeDeploy) 매번 로컬에서 개발 후 깃헙에 push하고, 직접 EC2 접속해서 pull 받고 build, run 해줘야하는 번거로움이 생긴다...배포 자동화 과정을 통해 이 과정을 쉽고 간편하게 할 수 있다.  Git의 Github Actions와 AWS의 CodeDeploy를 통해 코드를 push하면 바로 EC2에서 deploy 되도록 배포 자동화를 진행해보자. CI/CD란?CI/CD는 앱 개발 단계에 자동화를 통합하는 앱 제공 방식으로, 지속적 통합/지속적 제공 또는 배포를 뜻한다. 지속적 통합이란?지속적 통합은 CI/CD의 첫 번째 요소이며, 일반적으로 여러 번의 코드 변경을 공유 버전 관리 리포지토리에 자동으로 자주 통합하는 데 중점을 둔다. 각 통합은 자동화된 빌드 및 테스트 프로세스를 트리거하여 개발 주기..
제 54회 SQLD 시험 후기 한번 따볼까?SQLD 시험을 보기로 한 이유는 나에게 여러 가지가 있었다.일단 가장 큰 이유는 대부분의 프로젝트에서 NoSQL을 사용했기 때문에 SQL에 대한 체계적인 지식이 부족하다는 것이었다. SQLD를 통해 SQL에 대해 체계적인 공부를 진행하고 싶었다. 그 다음으로는 취업 준비를 하는데 조금이나마 도움이되지 않을까? 하는 마음이 들었다. 주변인들 말로는 한 2주 정도 공부하면 쉽게 딸 수 있다고 해서 가벼운 마음으로 시험 접수를 했다. SQLD란?데이터베이스와 데이터 모델링에 대한 지식을 바탕으로 응용 소프트웨어를 개발하면서 데이터를 조작하고 추출하는데 있어서 정확하고 최적의 성능을 발휘하는 SQL을 작성할 수 있는지 확인하는 시험이다. 시험은 크게 데이터모델의 이해 및 분석, SQL 이해 및 활..
[혼공네트] 혼공학습단 회고록 친구의 소개로 혼공학습단을 알게 되었다. 졸업하고 집에만 있으니 게을러 지게 되는 것 같아 '한번 해볼까?' 하는 마음가짐으로 혼공학습단에 대해 더 자세히 찾아보게 되었는데, 잘하면 기프티콘도 준다는 말에 안할 이유가 없어 신청하게 되었다. (먹을 거 주는 사람 조은 사람) 특히 다른 책들 모두 하고 싶었지만 네트워크 수업을 듣고 사실상 기억에 남는게 없어서 네트워크 공부를 하게 되었다. 결론적으로는 좋은 선택이었던 것 같다! 책 어때요?혼공네트는 기본적으로 네트워크 계층 구조를 기반으로 나뉘어져있다. 그래서 물리 계층부터 응용 계층까지 단계별로 공부할 수 있었다. 특히 물리 계층, 네트워크 계층과 같이 하위 계층은 익숙한 내용은 아니라서 이해하는 게 어려울 수도 있었는데, 누구나 이해하기 쉽게 내용이 ..
[혼공네트] Ch7. 네트워크 심화 Ch.06-1 확인문제 1Acknowledgment number(raw)는 Sequence Number raw에 1을 더한 3588415413이다. 7-1 안정성을 위한 기술안정성을 수치로 표현하는 가용성이라는 용어의 개념을 학습하고, 안정성을 높이기 위한 방법으로 물리적인 장비나 프로그램 등을 여러 개 두는 기술인 이중화, 다중화, 그리고 트래픽을 고르게 분산하는 기술인 로드밸런싱에 대해 알아보자.가용성안정성은 특정 기능을 언제든 균일한 성능으로 수행할 수 있는 특성이이다.안정성의 정도를 나타내는 용어로 가용성, 고가용성이라는 용어가 있다. 가용성이란 컴퓨터 시스템이 특정 기능을 실제로 수행할 수 있는 시간의 비율을 의미한다. 다시 말해 가용성은 전체 사용 시간 중에서 정상적인 사용시간을 의미한다. 이..
[혼공네트] Ch5. 응용 계층 5-1 DNS와 자원서버와 클라이언트는 메세지를 주고받고자 하는 대상과 송수신하고자 하는 정보를 식별할 수 있어야 한다.메세지를 주고받고자 하는 대상을 파악하기 위해서는 IP 주소 이외에 도메인 네임을 사용할 수 있다. 그리고 송수신하고자하는 정보를 식별하기 위한 방법으로는 위치 기반의 식별자인 URL과 이름 기반의 식별자인 URN이 있다. 도메인 네임과 네임 서버네트워크 상의 어떤 호스트를 특정하기 위해 IP 주소를 사용하는 것은 번거롭다. 통신하고자 하는 모든 호스트의 IP 주소를 기억하고 있기도 어렵고, 호스트의 IP 주소는 언제든지 바뀔 수 있기 때문이다. 그래서 일반적으로 사용자는 상대 호스트를 특정하기 위해 IP 주소보다는 도메인 네임을  많이 사용한다. 도메인 네임은 호스트의 IP 주소와 대..
응답 스트리밍(2) - SSE 영상 생성 기능이 약 3분 이상 소요되기 때문에 진행 상황을 클라이언트에게 공유하고자 응답 스트리밍을 구현하고자 한다. 일단 사용하던 Lambda에 있는 기능인 응답 스트리밍을 사용하고자 했는데 청크가 뭉쳐서 받아져오는 문제가 있어 일단 보류.... 그 다음 생각해낸 것이 SSE이다.  Server Sent Events요청을 보낸 후 일정 시간동안 연결을 유지한 후, 서버에서 message를 emit하는 방식이다.연결이 끊기기 전까지는 Client가 추가로 요청할 필요가 없기 때문에 메시지가 쌓일 수록 0.5RTT만큼의 시간이 절약된다고 생각할 수 있다. 이후 서버에서 message를 전송하면 클라이언트는 WebSocket 통신과 유사한 방식으로 메시지를 받을 수 있으나, 클라이언트에서 서버로 메시지를 ..
[혼공네트] Ch4. 전송 계층 4-1 전송 계층 개요: IP의 한계와 포트네트워크 게층의 IP는 신뢰할 수 없는 통신과 비연결형 통신을 수행한다는 한계가 있다.네트워크 계층과 응용 계층 사이에 위치한 전송 계층은 신뢰할 수 있는 통신과 연결형 통신을 가능하게 하고, 포트 번호를 통해 응용 계층의 애플리케이션 프로세스들을 식별하는 역할을 한다.  신뢰할 수 없는 통신과 비연결형 통신네트워크 계층의 핵심 프로토콜인 IP는 비신뢰성 프로토콜이자 비연결형 프로토콜이라는 특징을 가지고 있다. 신뢰할 수 없는 통신은 IP 프로토콜이 패킷이 수신지까지 제대로 전송되었다는 보장을 하지 않는 특징을 말한다. 이는 통신 과정에서 패킷의 데이터가 손상되거나 중복된 패킷이 전송되었더라도 이를 확인하지 않고, 재전송하지도 않으며, 순서대로 패킷이 도착할 것..