GDSC Sookmyung 활동/10 min Seminar 57

Microservice Architecture

index MSA가 무엇인가? 왜 핫해졌을까? MSA사례 넷플릭스 배달의 민족 그 외 MSA 개념 MSA 무조건 좋은가? 1. MSA가 무엇인가? Monolithic Architecture 소프트웨어의 모든 구성요소가 한 프로젝트에 통합되어있는 형태 Monolithic Architecture의 단점 하나의 수정사항이 있어도 모든 코드를 다시 빌드하고 배포를 해야한다. 구글 같은 회사는 하루 커밋 수가 45,000건에 달하는데 이 모든걸 빌드하고 배포할 수 있는가? 애플리케이션이 너무 크고 복잡해져서 개발자들도 코드를 이해할 수 없어졌다 계속해서 기능을 붙이고 수정해나가다 보면 애플리케이션은 큰 진흙 공(BIG BALL OF MUD, BBOM)이 되어 간다 부분 장애가 전체 서비스의 장애로 확대될 수 있다..

CS를 공부하는 이유

현재 4차 산업혁명이라고 하고, 코딩 열풍이 불어오면서 다양한 사람들이 코딩을 배우려고 하고 있습니다. 그렇다면 왜 다들 코딩을 배워야 하는 것이라고 말하는 걸까요? 1. 코딩을 배워야 하는 이유 1) 내가 생각한 서비스를 구현하기 위해 2) 문제해결을 위한 사고의 흐름을 명확히 정리가 가능하기 때문 3) 연봉이 높아서 4) 배우기에 상대적으로 쉬워졌고, 활용성이 높기 때문 5) 기타(취업이 잘되서...등등) 전반적인 코딩을 배워야 하는, 또는 배우고 싶다는 이유들에 대해서 전반적으로 현재 사회에서 가장 범용성이 뛰어난 과목 중 하나라는 점에서 착안되었다는 점을 알 수 있습니다. 코딩, 컴퓨터 프로그래밍은 하나 이상의 관련된 추상 알고리즘을 특정한 프로그래밍 언어를 이용해 구체적인 컴퓨터 프로그램으로 구..

DATABASE

데이터베이스를 사용하는 이유 데이터베이스가 존재하기 이전에는 파일 시스템을 이용하여 데이터를 관리하였다. (현재도 부분적으로 사용되고 있다.) 데이터를 각각의 파일 단위로 저장하며 이러한 일들을 처리하기 위한 독립적인 애플리케이션과 상호 연동이 되어야 한다. 데이터를 파일 단위로 저장할때 데이터 종속성 문제와 중복성, 데이터 무결성문제가 존재한다. 데이터베이스의 특징 1. 데이터의 독립성 - 물리적 독립성 : 데이터베이스 사이즈를 늘리거나 성능 향상을 위해 데이터 파일을 늘리거나 새롭게 추가하더라도 관련된 응용 프로그램을 수정할 필요가 없다. - 논리적 독립성 : 데이터베이스는 논리적인 구조로 다양한 응용 프로그램의 논리적 요구를 만족시켜줄 수 있다. 2. 데이터의 무결성 : 여러 경로를 통해 잘못된 데..

IT Automation Tool : Ansible(개념, 역할, 특징, 구성요소)

Ansible이란? “Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs.” Ansible은 서버에 반복적인 작업을 코드 기반으로 자동화할 수 있는 툴입니다. 이렇게만 정의한다면 무슨 말인지 잘 이해가 가지 않으니 예를 들어 어떠한 상황에서 필요한 것인지 알아봅시다. 시스템을 이루기 위해 여러 서비스가 모여 하나의 시스템으로 운영이 되는데, 이때 어떠한 시스템을 구성하는데 필요한 다양한 서비스들은 각각의 서버에서 운영이 되..

Recoil - 새로운 리액트 상태관리 라이브러리

Recoil? A state management library for React / 리액트를 위한 상태관리 라이브러리 리액트의 상태관리란? 또 다른 상태관리 라이브러리 Redux의 작동 방식 상태가 변경되면 액션을 통해서 리듀서에 전달 리듀서에서 상태를 변경해 스토어에 저장 스토어에서 상태가 변경되면 해당 상태를 사용하고 있는 컴포넌트에 변경된 상태 전달 ▶ 초기 세팅이 복잡하고, 상태 하나만 변경하려 해도 너무 많은 코드가 필요하다!! 그래서 등장한 Recoil! 확 줄어든 보일러 플레이트 코드들 낮은 러닝 커브 hook 형태로 상태변화가 이뤄짐 Recoil 시작하기 npm install recoil 혹은 yarn add recoil Recoil 초기 세팅 import React from 'react'..

떠오르는 분야, 인공지능 ( AI )

인공지능이란? 인간의 학습능력, 추론 능력, 지각 능력 등 다양한 능력을 인공지능으로 구현한 컴퓨터 시스템을 의미합니다. 📶 딥러닝과 머신러닝 ▶ 머신러닝이란 컴퓨터가 학습할 수 있도록 알고리즘과 기술을 개발하는 것을 의미합니다 ▶ 딥러닝은 다량의 복잡한 자료들에서 핵심적인 내용만 추려내는 작업을 하는 기계 학습 알고리즘을 의미합니다. 머신러닝 🆚 딥러닝 의 차이 ?? 딥러닝은 분류에 사용할 데이터를 스스로 학습할 수 있다는 반면 머신러닝은 학습 데이터를 수동으로 제공해야 한다는 점입니다. 📶 여러가지 인공지능 기법 ✔️ ANN ( Artificial Neural Network ) ANN 딥러닝은 사람의 신경망 원리와 구조를 모방하여 만든 기계학습 알고리즘인 인공신경망( ANN )을 기초로 하고 있습니다..

아직 낯선 도커 이해해보기 (Docker)

도커를 검색하면 나오는 방대한 자료를 이해하기 어려웠던 사람들과 본격적으로 도커를 알아보고자하는 분들에게 도커를 입문하는 데에 도움이 되었으면 좋겠습니다. 참고 : namespace. cgroups 등 도커의 작동 원리에 대한 자세한 내용은 생략했습니다. 새 창에서 열기 참고한 사이트 및 동영상 https://medium.com/@darkrasid/docker%EC%99%80-vm-d95d60e56fdd https://www.youtube.com/watch?v=hWPv9LMlme8&feature=emb_title https://www.yalco.kr/36_docker/ https://ebbnflow.tistory.com/200 https://hoon93.tistory.com/48 https://khj93..