기록은 기억을 이기고 시간보다 오래 남는다.
반응형

전체 글 86

소프트웨어 공학이란 무엇인가?

소프트웨어 공학: 효율적인 개발 방법 탐구학문적 의미소프트웨어 공학은 높은 품질의 소프트웨어를 효율적으로 개발하는 방법을 탐구하는 학문 및 연구 분야입니다. 이 분야는 지속적인 연구와 혁신을 통해 소프트웨어 개발 과정을 개선하는 데 중점을 둡니다.실천적 의미실제적으로 소프트웨어 공학은 소프트웨어를 제품화하는 과정에서 적용할 수 있는 품질 보증 및 개선 활동을 규정하는 프로세스로서의 중요한 역할을 합니다.소프트웨어의 품질중요한 임무를 수행하는 시스템소프트웨어 결함은 인명 손실이나 재해와 같은 큰 위험을 초래할 수 있습니다. 따라서 높은 품질의 소프트웨어 개발은 매우 중요합니다. 일반적인 시스템소프트웨어의 결함은 비즈니스에 큰 타격을 줄 수 있습니다. 예를 들어, 민감 정보의 유출, 시장에서의 제품 리콜, ..

Computer Science 2024.05.01

백엔드 개발 이해하기

백엔드의 구조 클라이언트와 서버의 상호작용: 클라이언트(예: 브라우저)가 요청을 보내면, 웹 서버가 이를 받아 응답합니다. 웹 서버의 역할 정적 페이지 처리: 웹 서버는 HTML, CSS, JavaScript 같은 정적 파일을 클라이언트에 제공합니다. 동적 페이지 위임: 동적 페이지 요청은 웹 서버가 직접 처리하지 않고, 웹 어플리케이션 서버에 전달합니다. 웹 어플리케이션 서버와 데이터베이스 동적 페이지 처리: 웹 어플리케이션 서버는 사용자의 요청에 따라 데이터베이스와 상호작용하면서 동적 컨텐츠를 생성합니다. 데이터 연산: 조회, 수정, 삭제 등의 데이터베이스 작업을 수행하여 요청된 작업을 완료합니다. Node.js의 이해 Node.js란? 자바스크립트 확장: Node.js는 자바스크립트를 브라우저 이외..

Computer Science 2024.04.22

컴퓨터 네트워크

디지털 통신의 이점: 통신 잡음에 강건하고 신호 지연 및 손실에 대한 보완이 가능합니다. 자가 오류 정정 기법을 도입할 수 있습니다. 매체를 다중화하여 대역폭 활용도를 높일 수 있습니다. 정보의 암호화가 용이합니다. 데이터 전송 방식의 분류: 직렬 전송과 병렬 전송: 데이터 전송 방식 중 기본적인 형태로, 한 번에 한 비트씩 또는 여러 비트를 동시에 전송합니다. 동기식 전송: 송신과 수신기가 타이밍을 맞추어 데이터를 주고받는 방식으로, 고속 통신에 적합합니다. 비동기식 전송: 하나의 통신선을 이용하여 제어 비트와 데이터 비트를 전송하며, 하드웨어 비용이 낮은 편입니다. 네트워크 구성 분류: LAN(Local Area Network): 근거리 통신망으로, 주로 집, 사무실, PC방 등에 단일한 네트워크로 ..

웹의 이해

인터넷: 전 세계의 모든 컴퓨터를 하나의 통신망 안에서 연결한다는 의미를 가진 INternational Network의 약자입니다. 웹(Web)이란?: 월드 와이드 웹(World Wide Web)이란, 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 것을 말합니다. 간단하게 WWW, W3로 불립니다. 웹(Web)의 시작: 1980년대 어느 날, 스위스의 한 유럽 입자 물리 연구소의 컴퓨터 과학자 팀 버너스-리에에 의해 탄생하였으며, 연구원들 간 신속한 정보교환을 위해 고안되었습니다. 웹(Web)의 특징: 정보를 하이퍼텍스트 형식으로 표현하여, 하이퍼텍스트(링크)를 따라 이동하며 다양한 정보/문서들을 연결하여 제공합니다. 웹 브라우저(Web browser)란?: 웹을 찾거나 읽을 때 사용하는..

Computer Science 2024.04.18

데이터베이스

3-1. 데이터베이스의 의미 데이터베이스의 정의: 여러 사용자와 응용 시스템이 공통의 데이터를 서로 공유하여 통합하여 저장 및 관리하는 시스템입니다. 이는 중복을 최소화하고 데이터의 일관성과 표준화를 유지하는 것을 목적으로 합니다. 데이터베이스의 특징: 실시간 접근성: 데이터베이스 시스템은 사용자의 요청에 대해 실시간으로 데이터를 처리하고 응답해야 합니다. 동시 공유: 여러 사용자와 응용 시스템이 동시에 데이터에 접근할 수 있어야 합니다. 지속적인 변화: 새로운 데이터의 삽입, 삭제, 수정, 갱신 등의 작업을 통해 데이터를 항상 최신으로 유지해야 합니다. 내용에 의한 참조: 데이터의 위치에 상관없이 사용자가 원하는 내용으로 데이터를 참조할 수 있어야 합니다. 데이터 베이스 이용 장점 데이터 중복 최소화 ..

컴퓨터 스케줄링과 메모리 관리에 대한 이해

컴퓨터 스케줄링과 메모리 관리에 대한 이해 컴퓨터 시스템에서 스케줄링은 작업들을 언제 수행할지를 결정하는 중요한 과정입니다. 이는 효율성과 공정성 사이에 있는 균형을 유지해야 합니다. 응답시간 최소화: 각 작업의 대기 시간을 최소화하고, 작업이 도착한 순간부터 완료될 때까지 걸리는 시간을 최소화합니다. 시스템 처리율 극대화: 문맥 전환 등의 오버헤드를 고려하여 시스템의 전반적인 처리율을 극대화합니다. 최적성을 보장하는 스케줄링 알고리즘들이 있지만, 이러한 알고리즘들이 항상 공정하지는 않을 수 있습니다. SJF (Shortest Job First): 작업량이 가장 적은 작업을 먼저 처리합니다. SRTF (Shortest Remaining Time First): 현재 남은 작업량이 가장 적은 작업을 우선적으..

프로그램의 번역과 실행

-프로그래밍 언어의 분류 고수준 프로그래밍 (c++, java Python) 사람이 생각하는 방식에 가까운 언어 구조와 표현 복잡한 설계와 소프트웨어 상호작용을 표현하기에 적합 용이하고 하드웨어 의존 성이 최소 이셈플리 기계어를 1:1로 사람이 알아볼만한 기호로 표현 기계어 하드웨어에 특화된 프로그래밍 가능 -> 실행 효율이 높을 수 있음 기게가 바로 이해할 수 있는 언어 -프로그램의 번역 원시 코드 고수준 프로그래밍 언어 이용 프로그래머가 작성 어느 기계에 실행할지에 따라 크게 다르지 않음 목적 코드 기계가 이해할 수 있는 명령어들의 집합 -0과 1만으로 이루어진 코드의 나열 서로 다른 컴퓨터에서 다르게 표현됨 -프로그 맬 번역/실행의 모델 비교 컴파일러 방식의 장점 번역을 실행 이전에 해 두므로 코드..

Computer Science 2024.04.17

컴퓨터 구조의 설계와 구현

2-1 컴퓨터 구조의 설계와 구현(1) -컴퓨터 하드웨어의 구성 중앙처리장치 - cpu 주기억장치 - Memory(Ram/Rom) 보조기억장치-Storage 입출력장치- I/o Devise -중앙처리장치(CPU) 제어장치-명령어를 해석하여 그 실행에 필요한 제어 신호를 발생시킴 ALU- 산술 및 논리 연산 등을 수행 레지스터- 연산의 대상 및 연산 결과 등을 저장 -명령어 집합 구조 ISA(Instruction Set Architecture) = 마이크로프로세서가 인식해서 기능을 이해하 실행할 수 있는 명령어들의 집합 -다음과 같은 것들을 정의 중앙처리장치가 표현할 수 있는 자료형 중앙처리장치에 명령할 수 있는 기계어 명령어들의 종류 중소지정법(addressing modes) -기계어 명령어는 사람이 알..

Computer Science 2024.04.17

디지털 정보의 표현

디지털 정보의 표현 비트(bit; binary digit) -컴퓨터에서 디지털 회로의 조합으로 정보를 표현할 때 이용되는 가장 작은 단위 -논리적으로 두 가지 중 한가지(켜짐/꺼짐) 상태를 가지는 것 컴퓨터에서 표현하는 모든 정보는 비트를 모아서 이루어짐-즉, 이진수로 표현된 -이러한 이진표현을 어떻게 해석하느냐에 따라 정수, 실수, 문자열 등등을 나타냄 바이트(byte) -8개의 비트를 모아서 만든 단위 컴퓨터에서 데이터의 크기 단위 -K(kilo) 10^3=1000 | 2^19=1024 -M(mega) 10^6= 1,000,000 | 2^20=1,048,576 -G(giga) 10^9=1,000,000,000 | 2^39 =1,073,741,824 -T(tera), p(peta), E (exa), Z..

Computer Science 2024.04.17

[UNITY] 코드로 Collider/isTrigger 설정 방법

더보기 안녕하세요 준준입니다. 이번 게시물은 코드로 Ridigbody/ isTrigger 설정하는 방법을 알아보도록 하겠습니다. 보통은 사진과 같이 유니티 내부에서 Add Component 버튼을 누르면 되는데 코드로 구현하는 방법을 알아보도록 합시다. 코드 using UnityEngine; public class SetColliderProperties : MonoBehaviour { void Start() { // 현재 GameObject의 Box Collider를 찾아서 가져옴 BoxCollider boxCollider = GetComponent(); // Box Collider가 없다면 추가 if (boxCollider == null) { boxCollider = gameObject.AddCompo..

게임 개발/Unity 2023.12.02
반응형