⚙️ Backend 21

AWS 특강 - Databases

지난 포스팅에서는 Storage에 대해 포스팅을 하였다.Storage 같은 경우, 단순히 데이터를 저장하는 것을 목표로, 실제로 쿼리를 짜지 못하고 체계적으로 데이터를 저장하지 못한다. 효율적인 검색 및 조작, 고성능 트랜잭션 처리 같은것을 위해프로젝트에서 Database 또한 구축해주는 것이 좋다. https://jerry-k.site/entry/AWS-%ED%8A%B9%EA%B0%95-Storage AWS 특강 - StorageAWS 강의 2부이다.  1부에서는 Network compute에 대해서 배웠다. 전반적으로 어떻게 서버를 만들어야 하는지 느낌정도는 온 것 같다. 그럼 이제 만든 서버에 데이터들을 저장해야하는데, 이때 사용jerry-k.site ✨ AWS의 완전 관리형 Database 서비스..

AWS 특강 - Storage

AWS 강의 2부이다.  1부에서는 Network compute에 대해서 배웠다. 전반적으로 어떻게 서버를 만들어야 하는지 느낌정도는 온 것 같다. 그럼 이제 만든 서버에 데이터들을 저장해야하는데, 이때 사용하는게 스토리지이다.  데이터 종류에 따라 사용되는 스토리지에도  여러가지 종류가 있다. 오늘 포스팅은 그 부분에 대해서 다룬다. 전의 포스팅을 보지 않았다면, 꼭 보는 것을 추천한다!  https://jerry-k.site/entry/AWS-%ED%8A%B9%EA%B0%95-NetworkCompute AWS 특강 - Network_Compute이번 AWS 특강에서 최종 목표는 아래와 같은 아키텍처를 완성하는 것이다.  실제 프로젝트에서도 이렇게 아키텍처를 만들 수 있으면 좋을 것 같다. (이번 AW..

AWS 특강 - Network_Compute

이번 AWS 특강에서 최종 목표는 아래와 같은 아키텍처를 완성하는 것이다.  실제 프로젝트에서도 이렇게 아키텍처를 만들 수 있으면 좋을 것 같다. (이번 AWS 8시간 특강은 위의 내용들을 진행 한 것이라고 보면 된다.)   ✨AWS VPCAmazon Virtual Private Cloud(Amazon VPC)AWS 클라우드 내에서 사용자가 정의한 논리적으로 격리된 가상 네트워크를 제공사용자는 네트워킹 환경을 완벽하게 제어IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등 인터넷에 액세스할 수 있는 퍼블릭 서브넷과 인터넷 액세스가 제한된 프라이빗 서브넷을 생성웹 서버와 데이터베이스 서버를 각각 배치 가능보안 그룹과 네트워크 액세스 제어 목록을 통해 각 서브넷의 AWS 리소..

네트워크 소켓 및 함수 정리 (CS:APP)

✨ getaddrinfo( )int getaddrinfo(const char *hostname, const char *port, const struct addrinfo *hints, struct addrinfo **result); hostname과 port로 소켓 주소를 얻음IPv4 / IPv6 모두를 지원hostname은 얻고자 하는 호스트 이름  (NULL은 로컬 호스트 주소)hints는 결과 리스트 필터링을 위한 옵션 result 는 결과 리스트의 헤드성공 시 0을 반환 / 실패 시 오류 코드 반 ✨ socket( )int socket(int domain, int type, int protocol);네트워크 통신에서 사용되는 소켓 생성domain은 통신에 사용될 주소 체계 ( AF_INET(IP..

네트워크 핵심 키워드 정리 (네트워크 계층,소켓,CGI,HTTP,Proxy 등등)

📌 파일 디스크립터 (file descriptor)프로세스가 파일이나 입출력 장치에 접근할 떄 사용하는 일종의 "핸들"(여기서 핸들은 실제 자원과 프로세스 간의 연결을 추상화한 정수 값) 1. 파일 열기open() open() 함수로 시스템 호출을 사용한다. 호출이 성공하면 운영체제는 파일 테이블에 새 항목을 추가하고,참조할 수 있는 파일 디스크립터(정수)를 반환한다.  예를들어 파일을 열때 파일 디스크립터로 3이라는 숫자를 반환 받으면,프로세스는 3을 사용해서 그 파일에 접근 (보통 0,1,2는 기본적으로 표준 입력, 출력, 오류에 할당되어 3부터 시작됨) 2. 파일 읽기와 쓰기파일 디스크립터를 이용해아래와 같은 시스템 호출을 통해 데이터를 읽거나 쓸 수 있다.read(fd, buffer, size)..

SFTP 파일 전송 (VS Code 플러그인으로 원격 서버 파일 전송)

✨SFTP 란 ? SFTP (Secure File Transfer Protocol)은 안전하게 파일을 전송하기 위한 프로토콜로,원격 서버와 클라이언트 간에 데이터를 암호화하여 안전한 파일 전송을 보장한다.(기본적으로 SSH (Secure Shell) 기반으로 동작) STFP는 데이터 전송 과정에 모든 명령어가 암호화되어 일반적인 FTP보다 안전하다. SSH 기반이라 SSH의 포트 (기본적으로 22번)를 통해 통신하고,파일 업로드, 다운로드, 권한 변경, 삭제, 이동 등의 작업도 가능하다. 보통 로컬 파일을 원격 서버에 업로드, 다운로드, 동기화에 사용된다. FileZilla 같은 GUI 기반의 SFTP 클라이언트를 사용해도 되는데,이번 포스팅에서는 VS Code의 플러그인의 사용에 대해 작성한다.   A..

SQLD 필수 개념 요약 정리 / 벼락치기, 독학, 요약본

SQL은 비절차적 언어로, 절차적 언어 (JAVE,C 등등)과는 다르다. SQLD에서 나오는 핵심 개념들은 요약정리 해보자 🐸(최소한 이것만은 외우고 가자는 마인드 !) 처음보는 용어이면, 익숙해지고한번 봤던 용어면 상기하며 외워보자🧐 빠르게 핵심만 공부해서 벼락치기로 합격까지 !! 📌모델링 1. 현실 세계 데이터를 약속된 표기법으로 표현2. 가시화, 명세화 필요 3. 데이터 분석하여 추상화 (단순화,요약) 모델링은 시스템 분석 + 업무 분석 + 업무 형상화 등을 위해 진행된다.또한 명칭은 복합명사를 사용하여 유일성을 확보한다. 📌모델링의 특징1. 추상화2. 단순화 3. 명확화   📌모델링 시 유의사항 1. 중복 최소화2. 비유연성 최소화 3. 비일관성 최소화 (중복,비유연성,비일관성 되게 하지..

⚙️ Backend/DB 2024.08.21

AWS EC2 서버 세팅 및 배포 / 몽고DB 도메인 연결하기 (A~Z까지) feat. Flask서버, Filezilla,Studio 3T,Gabia

이번 포스팅에서 AWS 인스턴스를 만들고, Flask 서버 배포, 그리고 도메인을 사용한 배포 까지 정리 해볼 예정이다.  📌몽고 DB와 Studio 3T가 설치 되어 있다는 전제로 포스팅 AWS를 처음 사용하면 1년동안 프리티어를 무료 사용 가능하다. 내용이 엄청 기니까 ....잘 봐보자  📚 목차1. 인스턴스 만들기2. EC2 포트 열기3. git bash 설치4. 로컬 환경에서 AWS EC2 연결5. Filzilla로 AWS 관리하기6. 서버에 DB 세팅7. 서버 도메인에 연결하기  📘인스턴스 만들기 AWS에 회원가입을 했으면, EC2에 들어간다(EC2는 자주 쓰이니까 즐겨찾기하면 편하다.)   일단 먼저 국가를 서울로 바꾸고 ,아래 인스턴스 시작을 누르면 된다.   인스턴스의 이름을 입력해준..

RDBMS NoSQL MongoDB

🌟시작하기에 앞서나보고 RDBMS와  NoSQL를 설명해보라고 하면, RDBMS는 잘 정리된 DB,  NoSQL는 마구잡이 DB라고 할 것 같다. 이번에 따로 프로그래밍 공부를 하는데, 거기에서 MongoDB가 나왔다.그래서 MongoDB 는 RDBMS와  NoSQL 중 어떤 것인지 알고, RDBMS와  NoSQL에 대해 좀 더 명확히 개념화를 해보려 한다.  포스팅 구성은 아래와 같다.1. DB 종류 ( RDBMS와  NoSQL)2. 특징 및 사용 사례3. MongoDB 특징  (각 부분에 구체적인 설명도 포함했다.)📚DB의 종류   여기에 RDBMS와  NoSQL의 프레임 워크들이 나오는데, 프로그래밍을 하면 언젠가는 쓸 프레임 워크들이니 보면서 익숙해져보자 ! 📘 RDBMS 데이터를 테이블 형..

⚙️ Backend/DB 2024.07.08

API (Application Programming Interface)는 무엇일까 ?

🔍  API를 알아보기 전에API, REST API 이런 단어를 프로그래밍을 하다보면 꼭 듣게 되는데,어떤건지는 대충 느낌을 알지만, 정확히 뭔지는 잘 설명을 못한다. API에서 I는 Interface로 사전적 의미로는 "두 물체 사이에서 상호 간 대화" 이다.즉, 컴퓨터에서 인터페이스는 read 또는 write의 역할을 해준다.ex) 키보드는 사람과 컴퓨터를 연결해주는 (물리적)인터페이스  그래서 이번 기회에 구체적으로 API에 대해 알아보고 공부 해보고자 한다. 🌟 API  (응용 프로그램 프로그래밍 인터페이스)아래 정의는 똑같은 말인데, 좀 다양한 말들로 설명하면 좀 이해가 쉬워져서 여러개를 가져와봤다. 정의 1.  응용 프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능..

⚙️ Backend/API 2024.07.02