본문 바로가기
  • 실행력이 모든걸 결정한다
반응형

IT 상식13

[CS] 소프트웨어 공학 요약 1. 소프트웨어 개발 절차 계획 -> 분석 -> 설계 -> 코딩 -> 테스트 및 통합 -> 유지보수 2. 소프트웨어 개발 방법론 - 폭포수 모형 : 소프트웨어 개발 과정의 한 단계가 끝나야만 다음 단계로 넘어가는 개발 방법론 - 나선형 모형 : 점진적으로 개발 과정을 반복하면 개발 방법론 - 프로토타입 모형 : 사용자와 시스템 사이의 인터페이스에 중점을 두어 견본품을 만드는 방법론 - 애자일 모형 : 고객, 협업, 변화 대응에 가치를 두는 개발 방법론 ※ 애자일 모형의 기반이 되는 기법들로는 팀이 중심이 되는 스크럼 기법과 고객의 참여와 개발 과정의 반복을 극대화하는 XP(Extreme Programming) 기법이 있다. - 테일러링 : 내/외부적 요인들로 인해 개발 방법론의 절차나 기법을 수정 및 보.. 2022. 12. 1.
[CS] 자료구조 요약 1. 자료 구조란? - 데이터를 저장하거나 조직하는 방법 - 데이터의 집합과 데이터 간의 관계 2. 복잡도 1) 시간 복잡도 빅오 표기법 - 입력 데이터에 대한 최악의 실행 시간을 표시한다. ※ 실행 시간이 너무 커지는 경우까지 대비해야 한다. - 코드의 효율성을 따질 때 유용하게 쓰인다. 2) 공간 복잡도 - 필요한 자원 공간의 양을 의미한다. - 정적, 동적으로 생성된 공간 모두를 포함하여 계산한다. 3. 선형 자료 구조 - 일렬로 나열되어 있는 자료 구조 1) 연결 리스트 - 데이터를 감싼 노드들을 포인터로 연결하는 구조 - 장점 : 인덱스 없이 노드들끼리 연결만 되어 있기 때문에 삽입과 삭제가 빠르다. - 단점 : 탐색은 데이터를 저장한 순서대로 하기 때문에 느리다. 2) 배열 - 타입이 같은 데.. 2022. 11. 26.
[CS] 데이터베이스 요약 1. 데이터베이스 기초 1) 데이터베이스와 DBMS - 데이터베이스 : 운영 데이터의 저장소 - DBMS : 데이터베이스를 관리(무결성 및 보안 유지)하는 시스템 - 예) MySQL, Oracle, MSSQL, MariaDB - SQL(Structured Query Language) : DBMS의 데이터에 접근하기 위한 언어 - 일반적으로 응용프로그램에서 DBMS를 통해 데이터베이스의 데이터에 접근한다. 2) Entity - 하나 이상의 속성을 가진 개체 - 약한 엔티티 : 혼자서는 존재하지 못하고 다른 엔티티에 포함되는 엔티티 - 강한 엔티티 : 다른 엔티티를 포함하는 엔티티 3) Relation - 데이터베이스에서 정보를 구분하여 저장하는 기본 단위 - 관계형 데이터베이스에서는 테이블이라고 부르고, .. 2022. 11. 20.
[CS] 운영체제 요약 1. 운영체제의 개념 1) 운영체제란? - 사용자가 컴퓨터를 쉽게 다룰 수 있는 환경을 제공해주고 시스템 자원들을 효율적으로 관리해주는 소프트웨어 - 유사한 개념으로 펌웨어가 있다. 펌웨어는 특정 하드웨어 장치에 포함되어 하드웨어의 제어와 구동을 담당하는 일종의 운영체제로, 소프트웨어를 추가로 설치할 수 없다는 특징이 있다. 2) 운영체제의 역할 편리한 User Interface(GUI, CUI) 제공 효율적인 HW, SW 자원 관리 프로세스 관리(스케쥴링)와 쓰레드 관리 시스템 보호 ※ GUI(Grapic User Interface) : 그래픽을 통해 작업 ※ CLI(Command Line Interface) : 명령어를 통해 작업 3) 운영체제의 구조 깊은 순서대로 [하드웨어 -> 드라이버 -> Ke.. 2022. 11. 10.
[CS] 네트워크 요약 1. 네트워크의 개념 - 네트워크는 통신 분야의 개념으로 노드(네트워크 장치)와 링크(선로)로 구성되는 전송 매체다. 1) 처리량과 지연 시간 - 처리량 : 단위 시간당 전달되는 데이터양으로 bps 단위를 사용함 - 대역폭 : 특정 기능을 수행할 수 있는 주파수의 범위 - 지연시간 : 요청이 처리되는 왕복 시간 2) 토폴로지 - 네트워크의 노드와 링크가 배치되어 있는 방식 (1) 트리 - 계층형 토폴로지라고도 함 - 노드의 추가와 삭제가 쉬움 (2) 버스 - 중앙 회선 하나에 여러 노드가 연결되어 있는 구조 - 주로 LAN(근거리 통신망)에 사용됨 - 노드의 추가와 삭제가 쉬우며, 설치 비용이 적고 신뢰성이 우수함 - 스푸핑의 위험이 있음. 스푸핑은 악의적인 노드에 패킷이 오도록 하는 공격을 뜻함 (3).. 2022. 11. 6.
[CS] 디자인 패턴과 프로그래밍 체계 요약 1. 디자인 패턴 - 디자인 패턴 : 객체 간의 상호 관계에 대한 규약 1) 싱글톤 패턴 - 하나의 클래스에 하나의 인스턴스만 가지는 패턴 - 장점 : 인스턴스 생성 비용이 줄어듦 - 단점 : 의존성은 높아지고 독립적인 테스트가 어려워짐 ※ 의존 : 다른 오브젝트의 변경 사항에 대해 다른 오브젝트도 같이 변하는 경우 ※ 의존성 주입(DI) : 추상화 계층을 통해 모듈을 쉽게 교체할 수 있도록 만드는 것 - DB 연결 모듈에 많이 사용됨 2) 팩토리 패턴 - 객체를 생성하는 부분을 분리하여 추상화하는 패턴 - 하위 클래스에서 객체 생성 방법을 결정함 3) 전략 패턴 - 전략이라고 부르는 알고리즘을 추상화한 패턴 4) 옵저버 패턴 - 특정 객체에 상태 변화가 생길 때마다 옵저버들에게 변화를 알려주는 패턴 -.. 2022. 11. 1.
HTTP Cache 기초 1. HTTP Cache란? - Cache는 데이터나 값을 미리 복사해 놓는 임시 장소 또는 중간 버퍼다. - 애플리케이션상에서 이전에 사용했던 리소스들을 재사용함으로써 접근시간을 줄이고, 이에 따라 성능도 향상될 수 있다. 2. httpd.conf 파일 - httpd.conf 파일은 Apache의 메인 설정 파일이다. - 변경 사항은 웹 서버를 재실행해야 잘 적용된다. 3. Cache 금지 - httpd.conf에 아래 내용을 추가하면 Cache를 사용하지 않는다. - no-store : 클라이언트의 캐싱을 허용하지 않고, 매 요청 시 서버에서 리소스를 다운받아야 함 Header set Cache-Control "no-store" 4. Cache 적용 (수명 설정) - max-age : Cache의 수.. 2021. 12. 25.
OSI 7Layer 설명 및 예시 1. OSI 7Layer이란? 서로 다른 두 기종간에 메세지를 주고받을 수 있는 이유는 통신 방식에 대한 약속(프로토콜)이 있었기 때문이며, 여기서 프로토콜의 3요소는 의미, 형식, 순서이다. OSI는 Open System Interconnection의 약자로 열린 시스템 상호연결이라는 뜻이다. 그리고 OSI 7Layer은 기종간의 통신이 일어나는 과정을 7계층으로 나눈 것 또는 통신에 필요한 약속인 프로토콜들을 이 7개의 계층별로 정리해 둔 참조 모델이라고 설명할 수 있다. 이렇게 계층을 나누게 되면 네트워크 장애가 발생했을 때, 문제가 발생한 계층을 쉽게 확인하여 Trouble Shooting을 할 수 있다. 2. 계층 1) Application - 응용 프로그램과 직접 관계하는 계층 - 사용자의 입.. 2021. 9. 10.
[CS] 면접 기타 예상 질문 구조체와 클래스의 차이 구조체는 값 타입으로, 스택 영역에 할당됨 클래스는 참조 타입으로, 힙 영역에 할당됨 단, 구조체로 선언을 했어도 객체를 힙 영역에 메모리를 할당할 때가 있음 모든 필드의 합이 16byte를 넘는 경우 구조체안에 클래스 타입을 필드로 가질 경우 정보 출처 : https://hijuworld.tistory.com/43 HTML5 수많은 플러그인들로 인한 부작용을 막기 위해 개발된 HTML버전 멀티미디어 직접 재생 가능 서버와의 통신 가능 시멘틱 태그로 검색 엔진의 검색 능력을 극대화 가능 W3C 웹 표준 개발 기구 ※ 웹 표준 : 모든 브라우저에서 웹 서비스가 정상적으로 보여질 수 있도록 하는 표준 멤버변수, 지역변수는 언제 메모리에서 해제되나? 멤버 변수, heap은 사용자 혹은 .. 2021. 6. 11.