CS (6) 썸네일형 리스트형 [CS] 소프트웨어 개발 방법론 소프트웨어 개발에 필요한 반복적인 과정(절차, 방법, 산출물, 기법, 도구)들을 체계적으로 정리한 것 수 많은 소프트웨어 실제 개발 과정을 정리하여 체계적인 분석을 통해 각각의 상황에 맞는 개발 방법을 정의한 이론 소프트웨어를 생산하는 데 필요한 프로그래밍 개발 과정들을 정리하고 표준화하여 프로그래머들이 프로그래밍 개발 과정에서 각 개인이 개발과정에서의 일관성을 유지하고 프로그래머들 간의 효과적인 협업이 이루어질 수 있도록 돕기 위한 방법론 소프트웨어 개발 방법론 구성 요소 소프트웨어 개발 방법론의 종류 참조 소프트웨어 개발 방법론 소프트웨어 개발방법론 [CS] 보안 문제점 인증 정보 탈취 랜섬웨어 데이터 유출 메시징 서비스 공격 암호화폐 거래, 스마트 계약 등을 대상으로 한 사이버 공격 서비스 제공기업의 소프트웨어를 통한 침투 브라우저를 통한 공격 API를 통한 공격 비즈니스 프로세스의 약점을 분석해 공격 AL/ML을 이용한 공격 증가 참조 아크로니스, 2023년 사이버 위협 전망… 인증정보 탈취·랜섬웨어 등 주의보 [CS] 자주 사용하는 알고리즘과 자료구조 프로그램 = 자료구조 + 알고리즘 자료구조 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조 어떤 자료구조를 사용하느냐에 따라서 코드의 효율이 달라진다. 자주 사용하는 자료구조 배열(Array) 링크드 리스트(Linked List) 스택(Stack) 큐(Queue) 해시 테이블(Hash Table) 그래프(Graph) 트리(Tree) 알고리즘 어떤 문제를 풀기 위한 절차 혹은 방법 특정한 '입력'을 넣으면 원하는 '출력'을 얻을 수 있도록 만드는 프로그래밍 자주 사용하는 알고리즘 정렬 알고리즘 선택 정렬 삽입 정렬 병합 정렬 퀵 정렬 탐색 알고리즘 순차 탐색 이진 탐색 그래프 알고리즘 그래프 탐색 깊이 우선 탐색 너비 우선 탐색 경로 탐색 [CS] REST / RESTful API REpresentational State Transfer 자원을 이름(자원의 표현)으로 구분해 해당 자원의 상태(정보)를 주고 받는 모든 것 즉, 자원(resource)의 표현(representation)에 의한 상태 전달을 뜻함 자원 : 해당 소프트웨어가 관리하는 모든 것 ( 문서, 그림, 데이터, 해당 소프트웨어 자체 등 ) 표현 : 그 자원을 표현하기 위한 이름 ( DB의 학생 정보가 자원이면, 'students'를 자원의 표현으로 정함 ) 상태 전달 : 데이터가 요청되는 시점에 자원의 상태를 전달한다. ( JSON 혹은 XML을 통해 데이터를 주고 받는 것이 일반적 ) REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에, 웹의 장점을 최대한 활용할 수 있는 아키텍처 .. [CS] HTTP / HTTPS HTTP(HyperText Transfer Protocol)란? 클라이언트와 서버 간의 자원을 교환하기 위한 TCP/IP 기반 통신 프로토콜(규약,약속) 특징 단방향성 : 서버가 먼저 응답을 보낼 수 없고 클라이언트가 요청을 보내야만 응답할 수 있다. 비연결성(connectionless) : 클라이언트의 요청으로 서버와 연결된 후, 요청에 대한 응답의 데이터를 전송하면 연결을 종료한다. 따라서, 실시간 통신을 할 수 없다. 문제점 HTTP는 평문 통신이기 때문에 도청이 가능하다. 통신 상대가 검증된 상대인지 확인하지 않기 때문에 위장이 가능하다. 완전성을 증명할 수 없기 때문에 변조가 가능하다. 이러한 문제점을 해결하기 위해 HTTPS가 등장한다. HTTPS(HTTP Secure)란? HTTP(Hyper.. [CS] 프로세스와 스레드 프로그램(Program) 어떤 작업을 위해 실행할 수 있는 파일, 단순히 기억장치에 저장된 수동적인 개체 프로세스(Process) 실행 중인 프로그램, 프로그램이 주기억장치에 적재되어 처리를 시작할 때 프로세스가 된다. 다음에 실행할 명령어를 지정하는 프로그램 카운터(PC)를 가진 능동적 개체 프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap의 구조)을 할당받는다. 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료구조에 접근할 수 없다. 스레드(Thread) 프로세스의 한계 과거에는 프로그램을 실행할 때 프로세스 하나만을 사용했었는데, 기술의 발전으로 프로그램이 복잡.. 이전 1 다음