본문 바로가기

분류 전체보기254

백엔드 엔지니어링 : Back-end(Server-side) Engineering 2023.03.07(Tue) 백엔드 엔지니어링에 대한 평소 가지고 있었던 생각, 공부했던 내용들을 포스팅으로 정리해 보고자 합니다. 1. 백엔드 엔지니어링(Back-end Engineering)이란 무엇인가? - 웹 개발 분야 중 하나로써 간단히 정의해 보자면, 도메인(Domain)을 위해 서버의 데이터베이스 및 비즈니스 로직, 이들을 제공하기 위한 API를 설계하고 개발, 운영하는 전반적인 기술을 의미합니다. 사람마다 조금씩 다르게 정의할 수도 있지만 대부분 아래와 정의해 주시는 분들을 많이 봤습니다. (1) 웹 또는 앱에서 사용자가 시각적으로 볼 수 없는 서버 사이드, 데이터베이스를 관리하는 전반적인 기술 (2) 사용자로부터 들어온 요청에 대해 이에 맞는 응답을 반환할 수 있는 비즈니스 로직을 개발하.. 2023. 5. 1.
[9주 차] - Node의 fs 모듈 (Stream, 디렉토리와 파일 생성 및 수정, 삭제, fs.copyFile() 메소드), Buffer 모듈 활용, 이벤트 생성과 호출 과목명 : 웹 서버 프로그래밍(Web Server-side programming with Node.js) 수업일자 : 2023년 04월 27일 (목) 1. Module : fs - 동기식 메소드(Synchronous method), 비동기식 메소드(Asynchronous method) 1-1. Node는 대부분의 내장된 모듈 메소드를 비동기 방식으로 처리 (1) 비동기(Asynchronous) 방식의 경우 코드 라인의 순서와 코드의 실행 순서가 일치하지 않는 것을 의미하기도 합니다. (2) 일부 메소드들은 동기식(Synchronous) 방식으로도 사용할 수 있습니다. (3) fs 모듈의 메소드를 사용하기 때문에 require('fs') 함수를 호출합니다. (4) 아래의 코드 예제로 fs 모듈의 비동기식 .. 2023. 4. 29.
[8주 차] - Memory Management, Virtual memory management techniques : Segmentation and Paging 과목명 : 운영체제(Operating System) 수업일자 : 2023년 04월 26일 (수) 1. To run Programs? 1-1. 프로그램이 실행되는 과정 (1) 사용자가 응용 프로그램을 실행합니다. (2) 로컬 환경의 물리 저장소(HDD 또는 SSD)의 실행 파일을 탐색합니다. (3) Loader program은 실행 파일의 내용을 분석하여 text, data, heap, stack 영역을 프로세스의 가상 공간에 배치합니다. (4) MMU(Memory Management Unit)에 의해 가상 공간으로 배치된 요소들은 Physical memory의 일정 공간을 할당받아 점유하게 됩니다. - 운영체제는 자료구조를 통해 이러한 정보를 관리하게 됩니다. - Page Directory Table(P.. 2023. 4. 27.
[7주 차] - Process Management (2) 과목명 : 운영체제(Operating System) 수업일자 : 2023년 04월 19일 (수) 1. Process vs Thread 1-1. Process (1) 각각의 프로세스는 프로그램을 실행하는 데 필요한 리소스를 제공하며, 메모리에 로드되어 운영체제로부터 자원을 할당받은 작업의 단위를 의미합니다. (2) 프로세스는 가상 주소 공간, 실행 가능한 코드, 시스템 오브젝트에 대한 Open handle, 보안 코드의 컨텍스트, 고유한 프로세스 식별자, 환경 변수, 우선 순위 클래스, 최소 및 최대 작업의 Set, 최소 하나의 실행 가능한 스레드를 보유하고 있습니다. (3) 이러한 프로세스는 기본적인 protection 단위로써 서로 완전히 분리되어 동작합니다. (4) 프로세스는 별도의 주소 공간을 보유.. 2023. 4. 25.
[6주 차] - Process Management (1) 과목명 : 운영체제(Operating System) 수업일자 : 2023년 04월 12일 (수) 1. Process 1-1. 프로세스(Process) (1) 물리 저장소에 저장된 프로그램이 Loader에 의해 메모리에 로드되어 실행되는 상태에 있을 때 Process라고 할 수 있습니다. (2) 프로그램이 실행되기 위해서는 시스템으로부터 필요한 리소스를 할당받아야 합니다. - 메모리 공간(Memory space) - 운영체제는 프로세스의 관리를 위해 필요한 자료구조(Data Structure)를 생성해야 합니다. 1-2. 프로세스가 가지는 특징 (1) 시스템 리소스가 할당된 단위입니다. - 물리 저장소(디스크)에 저장된 코드와 데이터를 메모리에 로드하고 또한 실행에 필요한 추가적인 메모리 공간을 할당합니다.. 2023. 4. 25.
[8주 차] - 안드로이드 파일 처리(Android File Processing) 과목명 : 모바일 프로그래밍(Mobile programming with Android Studio) 수업일자 : 2023년 04월 21일 (금) 1. 내장 메모리 파일 처리 1-1. 내장 메모리 파일 처리 (1) 애플리케이션을 종료하고 다시 실행할 때, 사용한 곳에 이어서 작업하고 싶은 경우 내장 메모리 파일 처리를 이용합니다. (2) 내장 메모리의 저장 위치 : / data / data / 패키지명 / files 디렉토리 1-2. 내장 메모리에서의 파일 처리 과정 - (1) → (2) → (3) 순서대로 진행 (1) openFileOutput() / openFileInput() 메소드로 파일 열기 - FileOutputStream / FileInputStream 반환 (2) read() / write(.. 2023. 4. 23.