전체 글 48

[정보처리산업기사 필기] 개발환경

윈도즈 계열 운영체제 선택 윈도즈 계열 운영체제는 개인용, 기업용, 워크스테이션으로 출시됩니다. Windows Home - 개인 사용자에게 최적화된 운영체제입니다 Windows Pro - 소규모 기업용으로 최적화된 운영체제입니다. - Home에 비해 관리 및 배포, 도메인 가입, 엔터프라이즈 모드, 원격 데스크톱 지원, Hyper V 를 제공합니다. Windows pro for Workstation - 트랜잭션이 몰리거나 복구 기능을 필요로 하는 소규모 기업용 운영체제입니다. - pro에 비해 CPU를 4개까지 동시 지원하여 동시 처리 성능이 뛰어나며 메모리도 6테라바이트까지 지원. - 비휘발성 메모리 모듈을 지원하여 전력이 공급되지 않아도 데이터를 유지할 수 있습니다. 리눅스/유닉스 계열 운영체제 선택..

개발 2023.09.25

[정보처리산업기사 필기] 네트워크 핵심 알고리즘

[정보처리산업기사 필기] 네트워크 에서 이어지는 내용입니다. 패킷 스위칭 WAN을 통해 데이터를 원격지로 송부하기 위해 X.25, 프레임릴레이 및 ATM과 같은 다양한 기술들을 필요로 하게 됐습니다. X.25 X.25는전기 통신 국제기구인 ITU-T에서 관리 감독하는 프로토콜입니다. 패킷이라고 불리는 데이터 블록을 사용하여 대용량의 데이터를 다수의 패킷으로 분리하여 송신하며, 수신 측에서는 다수의 패킷을 결합하여 원래의 데이터로 복원합니다. OSI 7계층의 1~3 계층까지 담당하고 있습니다. 또한 데이터 송수신의 신뢰성 확보를 위해 양자 간 통신 연결을 확립해 나가는 프로세스를 거칩니다. 초기에 에러 제어나 흐름 제어를 위한 복잡한 기능을 가지고 있어 X.25 자체로 성능상의 오버헤드가 발생되었기 때문에..

개발 2023.09.25

[머신러닝] 결정트리 (Decision tree)

결정트리란 결정트리는 선형 회귀와 로지스틱 회귀처럼 특성을 가중치와 곱하는 대신 특성에 대한 질문에 따라 데이터를 나눕니다. 예를 들어 결정 트리가 온도 특성을 가지고 데이터를 두 그룹으로 나눌 수 있다고 칠 때 온도가 20도 이상인 그룹과 20도 이하인 그룹이 있으면, 각 그룹을 계절 기반으로 나눌 수 있습니다 겨울에 경우에는 그렇지 않은 경우(70 이하)이지만 더 정확한 데이터 분별을 위해 데이터를 네 개의 그룹(봄, 여름, 가을, 겨울)으로 나눈다면 어떨까요? 이렇게 알고리즘이 일정 수준의 정확도에 도달할 때까지 데이터를 새로운 그룹으로 나누는 과정이 계속됩니다 결정 트리는 훈련 세트에 있는 각 샘플을 정확한 타깃에 매핑할 때까지 수천 개의 그룹을 만들 수 있습니다. 훈련 세트에 대해서 100% 정..

[정보처리산업기사 필기] 네트워크

네트워크 개요 원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라를 네트워크라고 합니다. 정보 전달 시에는 약속한 규칙에 따라야 하는데 이를 프로토콜 이라고 합니다. 구분 개념 설명 WAN 광대역 네트워크 - LAN에 비해 전송 거리가 넓음, 라우팅 알고리즘 필요함 - LAN 대비 에러율이 높고 전송 지연이 큼 LAN 근거리 네트워크 - 한 건물 또는 작은 지역을 커버하는 네트워크 WAN (Wide Area Network) 국가, 대륙과 같이 광범위한 지역을 연결하는 네트워크입니다. 거리에 제약이 없으나 다양한 경로를 지나 정보가 전달되므로 LAN보다 속도가 느리고 에러율도 높습니다 전용 회선 방식은 통신 사업자가 사전에 계약을 체결한 송신자와 수신자끼리만 데이터를 교환하는 방식..

개발 2023.09.18

[리눅스] 기본 명령어 (경로)

pwd "Print Working Directory"의 약자로. 현재 작업 디렉토리의 경로를 출력하는 데 사용됩니다. cd "Change Directory"의 약자로. 현재 작업 디렉토리를 변경(이동)하는 데 사용됩니다. cd .. cd / (상대적 이동) cd ..은 현제 자신이 있는 디렉토리의 상위폴더로 이동합니다 만일 최상위폴더에 가고싶다면 cd ..를 반복할 필요 없이 cd / 를 입력하면 됩니다 cd 디렉토리 경로 (절대적 이동) cd ..과 cd /는 상위폴더로만 이동가능하지만 cd [디렉토리 경로] 를 사용하면 상위폴더, 하위폴더 상관 없이 절대적인 경로로 이동이 가능합니다 cd test를 통해 디렉토리 경로를 Linux/test로 이동했습니다 cd ..로 돌아가도 되지만 /workspace..

리눅스 2023.09.17

[정보처리산업기사 필기] 데이터베이스

데이터베이스 데이터베이스는 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합입니다. 중복성 제거, 무결성 확보, 일관성 유지, 유용성 보장은 데이터베이스 관리의 핵심입니다. DBMS (Database Management System)는 위와 같은 데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 기능을 지원하는 소프트웨어입니다. 데이터베이스 종류 파일시스템 파일에 이름을 부여하고 저장이나 검색을 위하여 논리적으로 그것들을 어디에 위치시켜야 하는지 등을 정의한 뒤 관리하는 데이터베이스 전 단계의 데이터 관리 방식입니다. - ISAM (Indexed Sequential Access Method) : 자료 내용은 주 저장부..

개발 2023.09.11

[정보처리산업기사 필가] 운영체제

운영체제 운영체제는 사용자로 하여금 컴퓨터의 하드웨어를 보다 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어 입니다. 하드웨어는 컴퓨터 장치를 제어하고 데이터를 처리하는 중앙 처리 장치, 데이터를 저장하는 기억 장치, 외부와의 통신을 담당하는 통신 장치, 데이터 입력과 출력을 담당하는 입출력 장치 등으로 구분될 수 있습니다. 즉 운영체제는 사용자 편의성을 위한 인터페이스인 동시에 다양한 자원을 관리하는 자원 관리자 입니다. 운영체제 목적 운영체제는 처리능력 향상, 반환시간 단축, 사용가능도 향상, 신뢰도 향상을 목적으로 합니다 운영체제 메모리 관리 메모리 안에는 다수의 프로그램들이 실행됩니다. 프로그램 실행 중 메모리가 꽉 차게 되면 시스템에 오류가 발생합니다 따라서 프로그램의 실행이 종료될 ..

개발 2023.09.04

[정보처리산업기사 필기] 애플리케이션

애플리케이션 배포(Release) 환경 애플리케이션 배포는 개발자 또는 사용자가 애플리케이션을 실행, 테스트할 수 있도록 컴파일된 프로그램, 실행에 필요한 리소스(이미지, 환경 설정 파일 등)를 서버상의 적합한 위치로 이동하는 작업을 말합니다. 동작환경이 어떻게 되는가에 따라 웹 서버, WAS로 나눌 수 있습니다. 웹 서버 (Web Server) 웹 콘텐츠를 저장하거나 처리하는 컴퓨터 또는 소프트웨어입니다. 웹 서버 소프트웨어는 HTTP 프로토콜을 통해 클라이언트(웹 브라우저)의 요청 정보를 받아 처리하고 그 결과를 다시 클라이언트에 보냅니다. 클라이언트가 요청하는 자원(리소스)을 URL(Uniform Resource Locator) 형태로 받아 내부 파일 시스템과 매핑하여 처리하거나, URL과 입력 값..

개발 2023.08.30

[정보처리산업기사 필기] 소스코드 빌드

소스코드 빌드 빌드는 프로그래머가 작성한 소스코드를 실행할 수 있는 상태로 변환하는 과정을 말하며, 언어에 따라 차이가 있습니다. 리눅스(unix) 환경 리눅스 환경에서 컴파일러는 GCC를 사용합니다. C언어를 사용하여 프로그램 한 main.c와 sub.c 소스코드를 전처리기를 통하여 선행 처리 과정을 거치고 cc1과 as라는 어셈불러를 통하여 목적파일인 오브젝트(Object) 파일을 생성합니다. 링크과정은 목적파일을 하나로 묶는 과정으로 하나의 목적 파일이나 여러개의 목적파일이 하나의 실행 파일로 링크될 수 있고, 링크시에는 정적(Static) 라이브러리(Library)나 공유(Share) 라이브러리가 필요하며, 링크과정이 끝나면 실행파일이 생성됩니다. 일반적인 환경 C / C++ C나 C++ 프로그램..

개발 2023.08.30

[머신러닝] 앙상블 학습 (Ensemble Learning)

앙상블(Ensemble) 여러 분류기(Classifier)를 하나의 메타 분류기로 연결하여 개별 분류기보다 더 좋은 성능을 달성하는 학습법입니다 쉽게 말해 '집단 지성'과 같이 강력한 하나의 모델을 사용하는 대신보다 약한 모델 여러 개를 조합하여 더 정확한 예측을 합니다. 하나의 모델이 학습 데이터에 과적합(overfitting) 되는 것을 막기 위해 약한 모델을 여러 개 결합시켜 그 결과를 종합한다는 게 기본적인 앙상블의 아이디어입니다 앙상블 학습 방법 앙상블 학습은 보팅(Voting), 배깅(Bagging), 부스팅(Boosting) 스태킹(Stacking)이 있습니다. 보팅(Voting) 보팅은 서로 다른 알고리즘 모델 여러 개를 결합하여 구해진 예측값들을 투표를 통해 결정하는 방식입니다. 보팅은 ..