백엔드 (178) 썸네일형 리스트형 DynamoDB 개요 DynamoDB란? 규모에 상관없이 빠르고 유연한 완전관리형 NoSQL 데이터베이스 서비스 - AWS에서의 "완전관리형"이란 AWS가 해당 리소스를 사용자 대신 관리해준다는 의미입니다. - DynamoDB는 서버리스 서비스이기 때문에 관리할 서버가 필요 없고, 용량에 맞게 테이블을 자동으로 확장/축소하는 Auto Scaling 기능을 이용하여 높은 성능을 유지하게 됩니다. - Auto Scaling 기능을 통해 규모에 상관없이 사실상 무제한의 처리량, 저장 용량을 제공할 수 있습니다. 물론, 백업 및 복원의 기능도 제공을 합니다. DynamoDB 주요 개념 DynamoDB에서는 데이터를 저장할 때 테이블이라는 개념을 사용합니다. 항목 (Item) 테이블에 Insert, Update, Delete 하게 될.. MySql 개요 MySQL 소개 MySQL이란? - MySQL은 가장 널리 사용되고 있는 관계형 데이터베이스 관리 시스템(RDBMS: Relational DBMS)입니다. - MySQL은 오픈 소스이며, 다중 사용자와 다중 스레드를 지원합니다. - 또한, C언어, C++, JAVA, PHP 등 여러 프로그래밍 언어를 위한 다양한 API를 제공하고 있습니다. - MySQL은 유닉스, 리눅스, 윈도우 등 다양한 운영체제에서 사용할 수 있으며, 특히 PHP와 함께 웹 개발에 자주 사용됩니다. MySQL의 장점 1. 오픈 소스 라이센스를 따르기 때문에 무료로 사용할 수 있습니다. 2. 다양한 운영체제에서 사용할 수 있으며, 여러 가지의 프로그래밍 언어를 지원합니다. 3. 크기가 큰 데이터 집합도 아주 빠르고 효과적으로 처리할 .. 자바 - Stream, 표준 스트림과 File 클래스 개요 - 다양한 장소에 존재하는 데이터들을 핸들하기 위해서는 입출력 데이터를 처리하는 공통된 방법이 있어야 합니다. - 만약 입출력 데이터를 처리하는 공통된 방법이 없다면 여러분은 각각의 하드웨어 장치에 직접 접근해서 데이터를 읽고 기록해야 할 것입니다. - 키보드로부터 데이터를 읽기 위해서는 키보드가 동작하는 원리를 알아야 하며, 하드디스크에 있는 파일을 읽거나 기록하기 위해서 하위 레벨의 하드 디스크를 알아야 합니다. - 이러한 불편을 없애기 위해서 자바에서는 스트림(Stream)이라는 기법을 제공합니다. 자바에서 제공하는 스트림 메카니즘을 이용하면 입출력 장치가 무엇이든 상관하지 않고 데이터를 읽거나 기록할 수 있습니다. 사용자는 단지 스트림을 상대로 작업하면 되는 것입니다. - 하드웨어적인 요소들.. 자바 - Thread and Synchronization (배경, Thread의 기본) 1. 배경 1-1. 프로세스 - 하나의 프로그램 혹은 하나의 프로세스에 해당 - 프로세스의 경우에는 자동으로 운영체제가 관리하기 때문에 완벽하게 멀티 태스킹의 지원을 받을 수 있습니다. 프로그램을 만들고 실행만 시킨다면 운영체제 차원에서 CPU의 시분할(Time Sharing)을 지원받을 수 있습니다. 1-2. 멀티태스킹 - 프로세스(Process)의 경우 운영체제에서 자동으로 관리해 준다. - 운영체제 차원의 프로세스(Process) 관리를 멀티 태스킹(Mutitasking)이라고 한다. 1-3. 프로세스와 스레드 - 하나의 프로세스(Process) 내에는 여러 개의 스레드(Thread)가 존재할 수 있다. - 우리가 목표로 하는 것은 프로그램 단위의 멀티 태스킹이 아니라 하나의 프로그램 내에서 실행되.. 네트워크 개요 네트워크의 정의 - 네트워크는 Net과 Work의 합성어로 컴퓨터와 같은 노드들이 통신 기술을 통해 그물망처럼 연결되어 통신을 하는 형태를 뜻하며, 데이터 및 리소스를 송신, 교환 또는 공유하기 위한 목적으로 케이블(유선) 또는 WiFi(무선)로 연결된 2개 이상의 컴퓨터로 구성됩니다. - 국제 전기 전자 공학회 IEEE(Institute of Electrical and Electronics Engineers)에서는 네트워크를 다음과 같이 정의합니다. "몇 개의 독립적인 장치가 적절한 영역 내에서 적당히 빠른 속도로 물리적 통신 채널을 통하여 서로가 직접 통신할 수 있도록 지원해주는 데이터 통신 체계" - 유닉스 서버 전문업체인 SUN에서는 “Network is computer. Computer is n.. 리눅스 개요 리눅스의 특징 - 오픈 소스 운영체제이다. : 소스코드 및 모든 관련 자료가 공개되어 있는 운영체제이다. - 멀티유저(다중사용자), 멀티태스킹(다중작업) 운영체제이다. ・ 멀티유저 기능은 여러 사용자가 동시에 동일한 시스템에 접근이 가능한 것을 의미한다. ・ 멀티태스킹은 여러 개의 태스크를 동시에 실행하고, 교대로 컴퓨터의 자원을 사용할 수 있는 기능이다. ・ 가상 터미널 환경으로 하나의 모니터에 여러 개의 가상 화면(가상 콘솔)을 두어 화면마다 다른 작업을 실행할 수 있다. - 다중 스레드를 지원하는 네트워크 운영체제이다. ・ 하나의 프로세스 내에서 여러 개의 네트워크 작업을 동시에 처리할 수 있기 때문에 강력한 네트워크 지원이 가능하다. ・ 네트워크 서버로 이용이 가능하며 인터넷과 이더넷에 안정적으로.. 프레임워크 개요 정의 | 프레임워크 (Framework) - 프레임워크는 어떤 프로그램을 쉽게 만들기 위한 요소와 룰을 제공해 줌으로서 소프트웨어의 생산성과 품질을 높이는 역할을 하는 것 - Gof의 디자인 패턴으로 유명한 랄프 존슨(Ralph Johnson)은 "프레임워크란, 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것"이라고 정의 - 원하는 기능 구현에만 집중하여 빠르게 개발 할 수 있도록 기본적으로 필요한 기능을 갖추고 있는 것으로 위에서 설명한 라이브러리가 포함 프레임워크 예시 Java 서버 개발에 사용되는 Spring Python 서버 개발에 사용되는 Django, Flask 안드로이드 앱 개발에 사용되는 Android 아이폰 앱 개발에 .. CI/CD 개요 요약 - CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법입니다. - CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포입니다. - CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제(일명 "인테그레이션 헬 (Integration Hell) ")을 해결하기 위한 솔루션입니다. - 특히, CI/CD는 애플리케이션의 통합 및 테스트 단계에서부터 제공 및 배포에 이르는 애플리케이션의 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제공합니다. 이러한 구축 사례를 일반적으로 "CI/CD 파이프라인"이라 부릅니다. CI와 CD의 차이점은 무엇일까요? - "CI"는 개발자를 위한 자동화 프로세스인 지속.. 이전 1 ··· 5 6 7 8 9 10 11 ··· 23 다음