본문 바로가기

Archived(IT)

(55)
DevOps DevOps란 Development(개발) + Operations(관리)의 합성어로, 개발과 관리를 한 번에 묶어서 접근하는 사고이다. 위와 같은 구조를 통해서 작업을 하나의 틀 안으로 통합하여 접근한다. 즉, 개발자와 운영자 간의 소통을 통해 협업을 이끌어간다. DevOps의 장점 ■ 속도 작업 속도가 빨라지면서 시장 변화에 더 잘 적응하고 효율적으로 비즈니스 성과를 창출할 수 있음 ​ ■ 신속한 제공 새로운 기능의 릴리스와 버그 수정 속도가 빨라질수록 경쟁 우위를 차지할 수 있음 ​ ■ 안정성 애플리케이션 업데이트와 인프라 변경의 품질 보장, 지속적 통합 및 지속적 전달과 같은 방식을 통해 변경 사항이 제대로 안전하게 작동하는지 테스트 가능 ​ ■ 확장 가능 규모에 따라 인프라와 개발 프로세스 운영,..
MVC 개발 방식 기본적으로 Model, View, Controller로 구분되는 개발방식이다. Model은 Database 객체 개발 View는 사용자 화면 개발 Controller는 기능(로직) 개발 실제 동작되는 구조는 다음과 같다. MVC 방식의 장점 - 프론트 엔드(디자니어)와 백 엔드(서버 및 기능 엔지니어) 간의 협업이 쉽다. - 나누어 개발하기에 변화에 유연하고 확장성도 좋다. MVC 방식의 단점 - MVC 간의 완벽한 구분이 쉽지 않다. - 클래스들을 통해 확장해나가기에 구현의 과정이 복잡할 수 있다.
Monolithic vs Microservice(MSA) 1. Monolithic Architecture Monolithic이란 하나의 구조로 단단히 이루어진 이라는 뜻을 지니고 있다. 즉, 프로젝트가 하나의 아키텍쳐로 묶여져 이루어진 구조를 뜻한다. 위의 사진에서처럼, Business Logic과 Data Access Layer와 UI가 한 번에 묶여 제공된다. 장점 작은 규모의 프로젝트 개발 효율 배포가 간편, 테스트도 수월(하나의 패키지로 묶여 있으므로) 단점 대형 시스템 개발 시 확장성 문제 하나의 서비스가 다른 서비스에 문제 야기 2. Microservice Architecture(MSA) MSA란 Monolithic과 반대되는 개념으로 작은 단위의 서비스로 나누어 이루어진 구조를 뜻한다. 하나의 어플리케이션을 기능별(그 외의 다양한 기준)로 패키징하..
자료 구조 정리 1. Heap https://namu.wiki/w/%ED%9E%99%20%ED%8A%B8%EB%A6%AC 힙 트리 - 나무위키 최댓값 혹은 최솟값이 저장된 루트 노드만 제거할 수 있다. 루트 노드를 제거한다.루트 자리에 가장 마지막 노드를 삽입한다.[3]올라간 노드와 그의 자식 노드(들)와 비교한다.조건에 만족하면 그대로 두고, 그렇지 않으면 자식과 교환한다. 최대 힙부모보다 더 큰 자식이 없으면 교환하지 않고 끝낸다.부모보다 더 큰 자식이 하나만 있으면 그 자식하고 교환하면 된다.부모보다 더 큰 자식이 둘 있으면 자식들 중 큰 값과 교환한다. 최소 힙부모보다 더 작은 자식이 없 namu.wiki 2. Stack https://namu.wiki/w/%EC%8A%A4%ED%83%9D(%EC%9E%90%EB..
C++ 관련 참고 URL 1. c++ 스마트 포인터 http://tcpschool.com/cpp/cpp_template_smartPointer 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com 2. c++ STL 라이브러리(vector, list, deque) https://modoocode.com/223 씹어먹는 C++ - 이번 강좌에서는 C++ 표준 템플릿 라이브러리 개요 시퀀스 컨테이너(sequence container) 반복자 (iterator) 범위 기반 for 문 (Range-based for loop)에 대해 배웁니다.안녕하세요 여러분! 지난번 템플릿 메타프로그래밍 강좌는 어떠셨나요? TMP 를 활용해서 프로그래밍을 하는 것은 엄청..
DataBase 종류별 특징 1. MongoDB(NoSQL) 문서 지향 DB (행 개념 대신 문서 개념) Collection -> 스키마가 없다(필드 추가, 제거가 매우 쉬움) 고성능, 확장성 dev.youngkyu.kr/22 MongoDB(몽고 디비) 특징 공부하기 / 몽고 DB란 무엇인가? Edit MongoDB(몽고 디비) 특징 공부하기. 유명하다 못해 모르는 사람이 없을 만큼 많이 입에 오르내리는 디비 중 하나인 몽고디비는 예전부터, 아니 지금도 필자가 자주 사용해 오던 NoSQL이다. 해커톤같이 짧은.. dev.youngkyu.kr 2. Cassandra DB(NoSQL) 데이터 간의 관계정의가 필요없다. 고성능, 확장성, 안정성 https://bcho.tistory.com/440 아파치 분산 데이타 베이스 Cassandr..
블록체인 / 클라우드 1. 블록체인 블록체인은 말 그대로 블록(소규모) 단위의 데이터를 연결한 형태를 뜻한다. 구체적으로, 블록 데이터들을 체인 형태로 연결하여 분산적으로 저장한다(데이터 분산처리 기술). 암호화폐의 핵심 체계로 활용되고 있으며 다양한 방면으로 기술이 활용될 여지가 있는 중요한 기술이다. 가장 큰 특징으로 탈중앙을 들 수 있는데, 데이터들을 분산 저장하면서 중앙 DB가 필요없어진다. 즉, 은행과 같이 상호 간의 거래를 인증하고 증명해줄 수 있는 수단이 필요없게 된다. 대신 이러한 인증기관을 대신할 수단이 필요하게 되는데, 그 역할을 각 노드들에 분산 저장된 데이터들로 증명하는 것이다. 이러한 노드들의 전체 수에서 과반수 이상(51%)이 동의를 하면 해당 거래는 영구적으로 증명된다. 이 과정을 작업증명이라고 하..