CS

CS/클라우드컴퓨팅

The Antifragile Organization 리뷰

Embracing Failure to Improve Resilience and Maximize Availability 서론 사람이 만든 하드웨어나 소프트웨어는 failure가 필연적으로 발생할 수 밖에 없고, 이로 인해 cloud를 운영하는 입장에서 예측 불가능한 문제 상황들이 발생함에도 불구하고 어떻게 신뢰할만한 높은 가용성의 서비스를 제공할 수 있을까 -시뮬레이션이나 이론적인 분석을 통해서는 한계점이 명확 -단위 테스트나 통합 테스트를 잘 짜서 테스트 하는 방식이 있음 이 방식의 경우 large-scale distributed 시스템에서의 자체 회복 능력을 구현하기엔 불충분함. 이러한 시스템을 커버하기 위한 테스트 케이스 작성에 드는 노력보다 오히려 그냥 시스템을 구축하는 노력이 적게 들 수 있음. ..

CS/클라우드컴퓨팅

Eventually Consistent 리뷰

서론 -클라우드 컴퓨팅을 통해 수백만 명의 고객들의 요구사항을 맞춰야 하는 입장에서 인프라적인 측면에서의 지속적인 성능과 높은 가용성이 요구됨 -단순 replication(복제)를 통해서는 완벽히 이를 수행할 수 없음, 어떠한 접근으로 세계적 서비스를 문제없이 수행할만큼의 신뢰성 높은 분산 시스템을 구축할 수 있을지에 대해 알아볼 것 HISTORICAL PERSPECTIVE -1970년대 과거 database system의 등장과 함께 많은 기술들이 distribution transparency를 달성하려고 함 -distribution transparency란 사용자에게는 하나의 시스템으로 보여지지만 그 이면에는 여러 개의 시스템의 서로 협력하는 구조로 이루어진 것 -90년대 Internet이 등장 -a..

CS/클라우드컴퓨팅

A View of Cloud Computing 리뷰

2010년 자료 서론 -인터넷 서비스를 새로 시작할 때 더 이상 hardware를 직접 사서 구비하거나 운영하는 데 인력을 고용할 필요가 없어짐. -서비스가 생각했던 것보다 안되거나 더 잘되었을 때, 비용 낭비나 소비자 요구를 감당하지 못하는 문제에 대한 걱정도 하지 않아도 됨. -이 기사는 Cloud Computing에 대한 정확한 정의와 간단한 자료들을 통해 기술적이거나 비기술적인 cloud computing의 장애물이나 기회들에 대해 알아볼 것 Defining Cloud Computing -데이터센터의 하드웨어와 소프트웨어가 우리가 말하는 cloud이며, 이를 쓰고 싶은 만큼 쓰고 비용을 지불할 수 있으면 이를 public cloud라 하며 이것의 팔리는 형태를 utility computing이라고..

CS/오픈소스SW개발방법및도구

MVC 패턴에 대해 알아보기

디자인 패턴이란 소프트웨어 설계에 공통적으로 발생할 수 있는 문제들에 대해 많은 사람들이 경험적으로 터득한 노하우, 방식을 패턴으로써 구체화시킨 것을 말한다. 그중에서도 백엔드 기반의 웹 애플리케이션 개발의 기본 모델으로 쓰이는 MVC(Model-View-Controller) 패턴에 대해서 알아보자. 큰 틀에서 MVC 디자인 패턴의 의의는 화면과 데이터 처리를 분리해 코드 간의 종속성을 줄이고, 구성요소 간의 역할을 명확하게 함으로코드 분리가 쉽고 협업을 용이하게 한다는 점이다. Model -애플리케이션의 데이터와 비즈니스 로직을 담당하는 부분-데이터의 상태를 저장, 접근, 조작 -뷰, 컨트롤러에 독립적인 구조 -실제 구현에서는 데이터베이스와의 연동을 위한 DAO(Data Access Object) 클래..

CS/리눅스로 한 학기 살기

[12주차] 리눅스로 한 학기 살기 프로젝트를 마치며..

주차별로 했던 활동들을 간단하게 회고하고 전체적인 느낀점을 써보고자 한다. [1주차] 노트북, Mac, NUC, 라즈베리파이, wsl2, virtualbox 등의 다양한 선택지를 두고 어떤 것을 기반으로 이 프로젝트를 시작할 지 많은 고민을 거듭했던 시기였다. 기존에 남아도는 노트북은 당연히 없었고 라즈베리파이, NUC 또한 만져본적은 있었지만 현재에 없었던 상황이었다. WSL2를 이용하여 linux를 윈도우위에 올리는 것이 상당히 괜찮은 성능을 낸다는 소리를 듣고, WSL2을 이용해 다양한 프로그램을 찍먹해보기로 결정했다. [2주차] Linux로 개발하기 위한 기본적인 개발 환경을 갖추는 쪽으로 시작하면 제일 좋은 시작이 될 듯 하여, oh my zsh를 통해 테마, 폰트, 자동 완성, 색상등을 입맛에..

CS/리눅스로 한 학기 살기

[11주차] Ubuntu 22.04에 Jira 설치하기

Jira는 짧은 주기의 sprint를 통해 프로젝트를 완성시켜 나가는 Agile방식의 프로젝트 관리 협업 툴이다. 수업시간에 배운 Scrum 기법이 어떻게 이루어지는지 그 형태를 직접 확인해볼 수 있을 것이다. [Postgresql 설치 및 DB 생성] 먼저 설치하는 것은 Jira가 아니라 postgresql이다. Jira를 운용하기 위해선 DB구성이 사전에 먼저 필요하다. 내가 따라했던 메뉴얼에선 postgresql을 활용하였다. sudo apt install postgresql sudo systemctl status postgresql 위 명령어로 postgresql을 설치해준다. sudo systemctl status postgresql을 통해 설치 및 실행 상태를 확인할 수 있다. sudo -i ..

CS/리눅스로 한 학기 살기

[10주차] Ubuntu 22.04에 MongoDB, MongoDB Shell & Compass 설치하고 사용해보기

[NoSQL이란?] MongoDB는 대표적인 NoSQL중 하나이다. 뭔지 한번 알아보자. NoSQL은 "Non Relational Operation Database SQL"의 줄임말로 관계형 데이터베이스가 아닌 것을 뜻한다. 요즘에는 No SQL이라는 의미보다는 Not Only SQL이라는 의미로도 통용되는 것으로 알고 있다. 이러한 NoSQL은 인터넷의 활성화, 소셜네트워크 서비스의 등장에 따라 생겨난 각종 비정형데이터들을 기존의 기술인 SQL보다 효율적으로 처리할 수 있는 구조를 가지고 있는 새로운 기술이다. MongoDB는 JSON타입의 Document를 다루는 방식의 NoSQL이다 [장점 및 단점] 장점 -Read/Write 성능이 뛰어나다 -Schema-less라서 어떤 형태의 데이터라도 저장 ..

CS/리눅스로 한 학기 살기

[9주차] Fcitx를 이용한 우분투 한글 설치

그렇다 날먹이다... 그것도 그런게 너무 바쁘다... 여튼 시작~ [Fcitx란?] https://wiki.archlinux.org/title/Fcitx Fcitx - ArchWiki Fcitx is a lightweight input method framework aimed at providing environment independent language support for Linux. It supports a lot of different languages and also provides many useful non-CJK features. Warning: Fcitx is now in maintenance mode. It is r wiki.archlinux.org ArchWiki에서는 Fcitx를 ..

로띠마이
'CS' 카테고리의 글 목록