본문 바로가기
  • hello world

Computer Science17

Ajax Asynchronous JavaScript and XML 서버에 비동기로 요청을 전송하고 응답받는 기술 ajax 기술을 사용하면 페이지를 새로 고치지 않고 페이지의 일부를 변경하여 출력할 수 있음→ 백그라운드로 요청과 응답이 이뤄지고 화면이 갱신됨 내부적으로는 XMLHttpRequest를 사용하여 서버와 통신→ XMLHttpRequest는 MS에서 개발한 동적 통신 방법이며, 원격지의 XML 데이터를 호출할 수 있음var xmlhttp = new XMLHttpRequest();xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { document.getElementB.. 2024. 8. 13.
JSON JSON  JavaScript Object Notation 자바스크립트 객체 표기법데이터를 저장하고 전송하는 데 사용되는 경량의 데이터 형식주로 웹 애플리케이션과 서버 간의 데이터 교환에 사용프로퍼티들(변수, 데이터), 메서드들의 합 JSON의 주요 특징경량 데이터 형식: JSON은 데이터를 간결하게 표현하며, 텍스트 기반의 형식으로 사람이 읽고 쓸 수 있음표준화된 포맷: JSON은 표준화된 형식으로, 다양한 프로그래밍 언어와 플랫폼에서 사용구조적 데이터: JSON은 객체와 배열을 사용하여 데이터를 구조적으로 표현 JSON의 구조객체 (Object):중괄호 {}로 둘러싸여 있으며, 이름-값 쌍의 집합이름(키)은 문자열로 되어야 하며, 값은 문자열, 숫자, 불리언, 배열, 객체 등 다양한 데이터 타입일 수.. 2024. 8. 13.
[정보처리] 어플리케이션 테스트 어플리케이션에 잠재되어있는 결함을 찾아내는 일련의 행위 또는 절차  기본원리파레토 법칙 Pareto principle어플의 20%에 해당하는 코드에서 전체 결함의 80%가 발견됨살충제 패러독스 Pesticide paradox동일한 테스트케이스로 동일한 테스트를 반복하면 더이상 결함이 발견되지 않음오류-부재의 궤변 Absence of Errors Fallacy소프트웨어의 모든 결함을 제거하더라도 사용자의 요구사항을 만족하지 못하면 해당 소프트웨어는 품질이 좋다고 말할 수 없음  프로그램 실행 여부에 따른 테스트정적 테스트 (실행 X)- 명세서나 소스코드를 대상으로 분석하는 테스트- 소스코드의 코딩 표준, 스타일, 코드 복잡도, 남은 결함 등을 발견하기 위해 사용동적 테스트 (실행 O)- 소프트웨어 개발의 .. 2024. 7. 23.
페이지 교체 알고리즘 운영체제가 페이지 부재가 발생했을 때 메모리에 새 페이지를 적제하기 위해기존 페이지 중 하나를 선택하여 교체하는 방법  ▶ 페이지가상 메모리 시스템에서 프로그램의 주소 공간은 일정 크기의 블록으로 나눠지는데, 이 블록을 페이지라고 함→ 컴퓨터 운영체제의 가상 메모리 관리에서 사용하는 메모리 관리 단위→ 가상 메모리와 실제 물리적 메모리 간의 매핑을 관리하는 기본 단위→ 일반적으로 4KB, 8KB 등의 크기를 가짐운영체제는 프로그램을 실행할 때 필요한 메모리를 페이지 단위로 나눠서 관리함이 과정을 통해 메모리 효율성을 높이고, 프로그램이 필요한 만큼의 메모리만 실제로 할당받아 사용할 수 있게 됨 ▶ 페이지 테이블각 프로세스는 페이지 테이블을 가지고 있으며, 이 테이블은 가상 주소와 물리적 주소 간의 매핑 .. 2024. 7. 23.
인터페이스 Interface 인터페이스(Interface)시스템, 장치, 프로그램 또는 사용자 간의 상호작용을 가능하게 하는 경계면즉, 인터페이스는 서로 다른 두 개체가 소통하고 협력할 수 있도록 하는 방법이나 도구를 의미 사용자 인터페이스(User Interface, UI)사람과 컴퓨터 시스템 간의 상호작용을 가능하게 하는 요소사용자가 컴퓨터나 애플리케이션과 상호작용할 수 있도록 돕는 방법이나 도구그래픽 사용자 인터페이스(GUI) 마우스, 아이콘, 창 등을 통해 상호작용하는 방식 (ex 윈도우 운영체제, 스마트폰 앱 화면)명령 줄 인터페이스(CLI)텍스트 명령을 통해 상호작용하는 방식 (ex 터미널, 명령 프롬프트) 소프트웨어 인터페이스두 개의 소프트웨어 시스템이나 모듈이 서로 소통하고 데이터를 주고받을 수 있도록 하는 방법API.. 2023. 11. 13.
논리 데이터베이스 설계 : 정규화 정규화 Nomalization 개요 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어가는 과정 >> 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정 차수가 높아질수록 만족시켜야 할 제약조선이 늘어남 >> 정규화된 데이터 모델은 일관성, 정확성, 단순성, 비중복성, 안정성 등을 보장함 목적 - 데이터 구조의 안정성 및 무결성 유지 - 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만듦 - 효과적인 검색 알고리즘 생성 - 데이터 중복을 배제하여 이상의 발생방지 및 자료 저장 공간의 최소화 가능 - 데이터 삽입 시 릴레이션을 재구성 할 필요성 적음 - 데이터 모형의 단순화 가능 - 속성의 배열 상태 검증 .. 2023. 10. 30.
데이터 모델 설계 데이터 모델 현실 세계의 정보들을 컴퓨터에 표현하기 위해 단순화, 추상화 하여 체계적으로 표현한 개념적 모형 현실 세계를 데이터베이스에 표현하는 중간과정 즉 데이터베이스 설계 과정에서 데이터의 구조(Schema, 스키마)를 논리적으로 표현하기 위해 사용되는 지능적 도구 데이터 모델 구성 요소 개체, 속성, 관계 데이터 모델 종류 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델 데이터 모델에 표시할 요소 구조, 연산, 제약 조건 더보기 개체 Entity 데이터베이스에 표현하려는 것, 사람이 생각하는 개념이나 정보단위 같은 현실 세계의 대상체 속성 Attribute 데이터의 가장 작은 논리적 단위, 파일 구조상의 데이터 항목 또는 데이터 필드에 해당 관계 Relationship 개체 간의 관계.. 2023. 10. 26.
데이터베이스 설계 데이터베이스 설계 시 고려사항 무결성 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약조선을 항상 만족해야 함 일관성 데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야 함 회복 시스템에 장애가 발생했을 때 장애 발생 직전의 상태로 복구할 수 있어야 함 보안 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 함 효율성 응답시간의 단축, 시스템의 생산성, 저장 공간의 최적화 등이 가능해야 함 데이터베이스 확장 데이터베이스 운영에 영향을 주지 않으면서 지속적으로 데이터를 추가할 수 있어야 함 데이터베이스 설계 순서 1. 요구 조건 분석 데이터베이스를 사용할 사람들로부터 필요한 용도를 파악하는 것 사용자에 따른 수행 .. 2023. 10. 26.
[Algorithm] 탐욕 알고리즘 Greedy Algorithm 문제를 해결하는 과정에서 그 순간순간 최적이라고 생각되는 결정을 하는 방식 >> 지역적으로 최선의 선택을 하여 전체적으로 최적의 결과를 도출하겠다! 탐욕적 선택 속성 현재 선택이 그 이후의 선택에 영향을 주지 않음 최적 부분 구조 큰 문제를 작은문제로 나눌 수 있으며 작은 문제의 방법으로 큰 문제를 해결할 수 있음 ▼ 문제점 ▼ 제일 빠른 길은 1 → 3 → 5 인데 그리디 알고리즘을 적용하면 오른쪽과 같은 문제점이 생길 수 있음 ▶ Greedy Argorithm 문제 중에 젤 유명한 문제 ▼ 함수 안에 뭐 써야할까 ▼ 함수 안에 뭐 써야할까 >> 400을 리스트에 추가해도 결과는 6이 나옴 >> 탐욕 알고리즘의 문제점을 보여줌 2023. 10. 5.
[Algorithm] 복잡도 알고리즘 복잡도 알고리즘이 얼마나 많은 리소스를 사용하는지 측정하는 방법 시간 복잡도 알고리즘이 문제를 해결하는데 얼마나 많은 시간이 필요한지를 측정 입력 크기에 따른 연산 횟수로 표현하며 이 연산 횟수가 증가하는 속도를 나타내는 것이 중요 공간 복잡도 알고리즘이 문제를 해결하는데 얼마나 많은 메모리가 필요한지를 측정 입력 데이터 외에 추가적으로 필요한 공간을 어떻게 만들어줄지 Big O notation 시간 및 공간 복잡도를 표현하기 위한 수학 표기법 O()는 최악의 경우(worst case scenario)에서 알고리즘의 성능을 의미, 입력크기가 n이라고 할 때 함수의 상한선(upper bound)를 제공 O(1) 상수 시간(constant time) : 입력 크기와 무관하게 항상 동일한 시간이 걸림.. 2023. 10. 5.
[Algorithm] 정렬 Sorting 정렬 1. Selection Sort 선택정렬 가장 간단하지만 효율성이 떨어지는 정렬 알고리즘 기본 아이디어는 매 순환(linear search)에서 가장 작은/큰 요소를 찾아서 위치를 이동하여 정렬함 리스트에서 최소값 찾음 ↓ 그 값을 첫번째 값과 교환 ↓ 남은 리스트 중 가장 작은 값을 두번째 값과 교환 ↓ 이 과정을 전체 리스트가 정렬될 때 까지 반복 시간 복잡도 : O(n^2) 2. Insertion Sort 삽입정렬 리스트의 두번째 요소부터 시작하여 현재 키를 그 이전의 모든 요소와 비교함 ↓ 키가 이전 요소보다 작으면 이전 요소를 한 위치 오른쪽으로 이동시킴 ↓ 키가 이전 요소보다 큰 위치를 찾을 때 까지 혹은 모든 이전 요소를 확인 할 때 까지 반복 ↓ 원하는 위치에 키 값을 .. 2023. 10. 5.
API · REST API APIApplication Programming Interface소프트웨어 간의 상호작용을 가능하게 하는 도구서로 통신하여 데이터, 특징 및 기능을 교환할 수 있도록 하는 일련의 규칙 또는 프로토콜하나의 프로그램이 다른 프로그램이나 서비스와 소통할 수 있는 방법을 정의 ▶ API 구성 요소엔드포인트(Endpoint)API가 소통할 수 있는 URL예시: https://api.weather.com/v3/weather/forecast는 날씨 정보를 가져오는 엔드포인트요청(Request) 클라이언트가 API에게 보내는 메시지여기에는 필요한 데이터나 명령이 포함응답(Response) API가 클라이언트에게 보내는 메시지여기에는 요청에 대한 결과나 데이터가 포함메서드(Method)API와 상호작용할 때 사용하는 방.. 2023. 10. 4.
[Algorithm] 재귀 · 탐색 Recursion 재귀 Searching 탐색 탐색 알고리즘 : 데이터 구조에서 특정 값을 찾는 방법 1) 선형탐색 linear Search 가장 간단한 형태의 알고리즘 리스트의 처음부터 끝까지 원하는 요소를 찾을 때 까지 하나하나 확인함 시간복잡도가 최선의 경우 O(1), 최악의 경우 O(n) >> n :리스트의 길이 정렬에 대한 의미가 없음 2) 이진 탐색 이진 탐색은 정렬된 배열에서 특정 값을 찾는데 사용되는 효율적인 알고리즘 중간값과 찾으려는 값을 비교해서 검색 범위를 절반으로 줄여나감 매 단계 검사 해야할 요소가 절반으로 줄어들기 때문에 시간복잡도는 O(log N) >> 엇 훨씬 효율적이네 (데이터가 커지면 커질수록) 문제01 문제02 2023. 9. 27.
공부중 01 참고) https://treasurehunter-jt.tistory.com/44 정적 페이지 (Static Page) // 동적 페이지 (Dynamic Page) 정적 페이지 서버에 미리 작성된 HTML, CSS, JavaScript 등의 정적 파일로 구성됨 파일은 서버에서 클라이언트에게 직접 전송되어 사용자에게 표시됨 서버 측에서 별도의 처리나 데이터베이스와의 상화작용 없이 항상 동일한 내용을 제공함 웹 서버에서 캐싱되어 성능과 로딩 속도가 빠르고, 단순하고 안정적인 구조를 가짐 동적 페이지 서버 측에서 요청에 따라 동적으로 생성되는 웹페이지 → 계속 새롭게 만들어주는 사용자 요청에 따라 데이터베이스 조회, 계산, API 호출 등을 통해 요청에 맞춰 컨텐츠를 생성함 → 리액트에서 클릭하면서 왔다갔다 하.. 2023. 9. 18.
[Algorithm] 자료구조 자료구조와 알고리즘 Data Structor 메모리 담당 Algorithm 속도 담당 어떻게 하면 최저의 비용으로 최고의 성과를 낼까 메모리가 감소하면 속도도 줄어듦 (비용감소) 메모리가 증가하면 속도도 빨라짐 (비용증가) 자료구조 데이터를 효율적으로 저장 · 조직화 · 관리하기 위한 방법 >> 알고리즘을 도와주는 요소 자료를 기억장치의 공간 내에 저장하는 방법 + 자료간의 관계, 처리 방법 등을 연구 · 분석한 것 선형 구조 배열, 스택 · 큐, 연결리스트, 데크 비선형 구조 트리, 그래프 목차) 1. 배열(Array) 2. 스택(Stack) · 큐(Queue) 3. 연결리스트(Linked List) 4. 트리(Tree) 1. 배열 (Array) 동일한 유형의 요소들의 데이터들이 연속적인 메모리 공간에.. 2023. 9. 14.