Tech 12

클라우드 인프라를 위한 x86서버

최근 클라우드 산업이 발달하면서 CSP(Cloud Service Platform)을 사용하는 개발자, 학생들이 많아졌습니다. 그런데 이러한 클라우드 기술이 발전할 수 있었던 인프라에 대해서는 관심이 없습니다. 저 역시 x86 서버의 존재를 모르고, 클라우드 서비스를 사용하고 있었습니다. 오늘은 그 클라우드 서비스가 발전할 수 있었던 서버 아키텍처인 x86과 더불어 유닉스 서버와의 비교를 해보려 합니다. x86 서버 x86은 인텔(Intel)과 AMD(Advanced Micro Devices)에 의해 개발된 마이크로프로세서 아키텍처입니다. 이 아키텍처는 주로 개인용 컴퓨터와 서버 시스템에서 사용되며, 대부분의 현대 컴퓨터에 사용되는 프로세서 기술을 의미합니다. x86 아키텍처는 초기에 16비트 아키텍처이었..

Tech/Cloud 2023.08.23

PUB/SUB 구조

Pub - Sub 구조Pub/Sub 이란Pub/Sub은 publisher/subscribe의 줄임말로, 비동기식 메시징 패턴입니다. Publisher가 Message를 발행하면 해당 Message를 구독하고 있는 Subscriber가 해당 Message를 읽을 수 있고, 작업을 하게 됩니다. 이러한 구조에 의해 Publisher와 Subscriber는 서로 알 필요가 없습니다. Publisher는 중간 컴포넌트(버스, 브로커)에게 메시지를 전달하면 중간 컴포넌트는 해당 Topic을 구독 중인 Subscriber에게 전달해줍니다. 즉, 발신자의 메시지는 특별한 수신자가 정해져 있지 않습니다. 비동기 메세징 패턴동기 - 어떤 일의 수행과 동시에 결과가 나오는 것.비동기 - 어떤 일의 수행 즉시 결과가 나오는..

Tech/Web 2023.08.21

[Reminder] Amazon CloudFront를 이용한 HTTPS 적용

안녕하세요 SSAFYcial 9기 박철순입니다. 최근 프로젝트를 진행하며 배포 과정에서 사용했던 AWS의 CloudFront를 통해 HTTPS를 적용하여 SSL인증을 보다 쉽게 구성한 사례 및 방법을 공유하려고 합니다. HTTPS란 우리가 보통 사용하는 웹 사이트를 보면 https://cheoltecho.tistory.com 처럼 HTTPS 프로토콜을 사용하며, 다음과 같이 자물쇠 모양으로 보안 연결이 되어 있는 것을 확인할 수 있습니다. 반면에 우리가 로컬 개발 시 실행하는 API 서버나, 클라이언트 서버는 http://localhost:8080 처럼 HTTP 프로토콜을 사용하는 것을 쉽게 볼 수 있습니다. 이렇듯 보안 연결이 사용되지 않았다고 경고하며, 웹 사이트에 대한 신뢰성이 떨어지게 됩니다. H..

Tech/Cloud 2023.05.31

[Reminder] SSAFY 1학기 결실, 관통 프로젝트 회고(최우수상)

들어가며 "마음속 하나씩 있는 여행하고 싶은 마음을 계획하면서 키워보아요" - Trip Seed - SSAFY 입과한지 벌써 5개월이 지난 지금 1학기를 마치며 4주 동안 몰입하여 프로젝트를 진행했습니다. "여행 계획 및 정보 공유 커뮤니티 플랫폼 Trip Seed"를 개발하며 1학기 간 배웠던 스프링, Vue, DB, 알고리즘 모든 기술을 적용하며 서비스를 개발했습니다. 페어와 둘이서 기획부터 아키텍처 설계, 구현까지 모든 일을 해야해서 시간이 부족한 감도 없지 않아 있었지만 집중력 있게 프로젝트를 진행할 수 있었습니다. SSAFY에 입과할 당시 부족한 백엔드 지식과 역량을 채우고자 하여 지원했었습니다. 실제로 지난 1학기간 서블릿, JSP 기반의 MVC 구조의 게시판 구현과 Spring 기반 Rest..

Tech/Web 2023.05.30

[Reminder] 데이터베이스 MySQL만 쓸거야?

안녕하세요. SSAFYcial 박철순입니다. 이번에는 싸피인들의 데이터베이스에 대한 견해를 넓히고자, 프로젝트 진행 시 시도해볼만한 데이터베이스를 소개하려고 합니다. 지금까지 프로젝트를 하거나 실습을 할 때 MySQL을 대부분 사용했습니다. 하지만 현재 그 외에도 Oracle, Redis, Elasticsearch, Amazon DynamoDB 등 수많은 데이터베이스 시스템이 있습니다. 저는 그 중에 사용량이 급격히 증가하고 있는 PostgreSQL과 MongoDB를 소개하겠습니다. PostgreSQL과 MongoDB 출처: https://db-engines.com/en/ranking DB 트렌드 랭킹을 보면 PostgreSQL과 MongoDB 의 사용량이 급격히 늘어난 것을 볼 수 있습니다. Postg..

Tech/Database 2023.02.28

[Reminder] Spring Cloud Netflix로 알아보는 MSA

안녕하세요! SSAFY 9기 기자단으로 활동 중인 박철순 기자입니다. 오늘은 현대화 애플리케이션의 대표 구조인 MSA 와 함께 백엔드에서 MSA를 실제 구현할 수 있는 Spring Cloud Netflix를 소개해드리겠습니다. [MSA vs Monolithic] Monolithic Architecture 모놀리틱 아키텍처는 소프트웨어 모든 구성 요소가 한 프로젝트에 통합된 형태로 기존까지 많이 쓰이던 아키텍처입니다. Micro Service Architecture(MSA) MSA는 작고, 독립적으로 배포 가능한 각각의 기능을 수행해야 하는 서비스로 구성된 프레임워크입니다. 각 서비스는 완전히 독립적 배포가 가능하고, 다른 기술 스택이 사용 가능합니다. Monolithic의 한계 부분의 장애가 전체 서비스..

Tech/Cloud 2023.02.19

[Next.js] react query 적용 및 사용하기

Next.js란 리액트 프레임워크로 서버사이드 렌더링을 가능하게 하는 프레임워크입니다. 기존 리액트는 라우팅 등 개발에 필요한 수많은 라이브러리를 각각 추가해줘야 하는 번거로움이 있었는데 Next.js는 이러한 프론트엔드 개발에 필요한 다양한 기능을 내장 라이브러리로 제공합니다. 또한 추가적으로 서버 사이드 렌더링이 가능하여 SEO에 유리한 웹을 개발할 수 있습니다. 1. _app.js // _app.js import React from 'react'; import '../styles/globals.css' import { wrapper } from "../store/store"; import { Hydrate, QueryClient, QueryClientProvider } from 'react-quer..

Tech/Web 2022.03.15

[리덕스] React - Redux의 전반적인 이해, 2022

기존에 프로젝트를 진행할 때 상태관리에 있어서 리덕스 구조를 사용해 왔습니다. 그런데 최근 리덕스 Tool-kit이 나오고 공식 홈페이지에서도 이를 적극 활용할 것을 추천하고 있습니다. 이번 글에서는 React-Redux 프로젝트의 생성 과 생성하면 기본적으로 세팅되는 Redux 구조와 State 관리에 대해서 알아보려고 합니다. 설치 리액트 + 리덕스 프로젝트 생성 프로젝트를 만들 폴더에서 VSCode에서 터미널을 열고, 다음과 같은 명령어를 입력합니다. npx create-react-app [프로젝트 명] --template redux 기존 프로젝트 + 리덕스 만약 기존 프로젝트에 리덕스를 추가하고 싶다면 다음과 같은 명령어를 통해 리덕스를 추가할 수 있습니다. redux, react-redux np..

Tech/Web 2022.01.25

node.js와 npm 최신 버전으로 업데이트하기 (window 윈도우)

팀원들과 함께 이번 프로젝트를 시작하기에 앞서 팀원들과 협업을 위해서 npm이랑 node.js의 버전을 같이 맞추는 것이 좋을 것 같아 정리하여 공유하려고 한다. 우선 현재 버전을 확인해 보자. node -v npm -v node.js 사이트에서 최신 버전을 확인할 수 있다. https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 최신 버전이 되게 금방금방 바뀌는 것을 볼 수 있다. 학기 중에는 업데이트를 지속적으로 확인하고 업데이트 하기는 어려우니까 새 프로젝트를 시작할 때 만큼은 해주어야 할 것 같다. 우리 팀은 나를 포함하여 거의 Window를 사용하..

Tech/Web 2022.01.25

[리액트] 리액트 프로젝트 생성하기

1. 폴더 생성 프로젝트를 생성할 폴더를 하나 만든다. 2. VSCode Terminal에서 명령어 입력 VSCode에서 Terminal을 열고 npm install -g create-react-app npm 모듈인 'create-react-app'을 설치한다. 그 다음 아까 만들어진 폴더에서 다음과 같이 프로젝트를 생성한다. npx create-react-app my-app 명령어를 입력한다. "my-app"부분에 만들 프로젝트 명을 사용하면 된다. 다음과 같이 리액트를 실행할 준비가 되었다. 3. 실행하기 npm start 다음과 같은 명령어를 터미널에서 해당 폴더에서 실행하면 우리가 만든 리액트 앱을 실행할 수 있다. http://localhost:3000/ 인터넷 주소에 위의 주소를 입력하면 실행..

Tech/Web 2022.01.25