본문 바로가기

분류 전체보기

(312)
웹 크롤링 기본 개념 ∙ 매크로 - 여러 개의 명령어를 묶어서 하나의 입력으로 처리 - 복잡, 반복되는 작업을 단순화 또는 자동화 - 온라인 게임에서의 자동사냥 등으로 많이 활용 ∙ 웹 프로토콜 이해 - 팀 버나스리 경 : HTTP 설계자이며, 영국의 컴퓨터 과학자이다. - HTTP (Hyper Text Transfer Protocol) > TCP 프로토콜을 사용하며 요청과 응답으로 구성 > 응답을 통해 전송된 HTTP Response Body는 후에 브라우저에서 랜더링 되어 사용자에게 보인다. - HTTP Method 메서드 내용 GET 특정 리소스의 접근을 요청, 오직 데이터를 받기만 가능 POST 서버가 처리할 자료를 보냄, GET으로 보낼 수 없는 자료를 전송하고자 할 때 사용 HEAD GET 요청과 동일한 응답을 요..
2일차 ∙ 다양한 C++ 프로그램 개발 환경 - visual Studio - code::Blocks - Dev C++ - Xcode (mac os) ∙ 코딩 컨벤션 - 가독성 있는 코드를 작성하기 위한 공통의 코드 작성 가이드라인(코딩 스타일) - 여러 명의 개발자가 소스 코드를 공유하거나 함께 관리할 때 유용 - 코딩을 잘하는지 판단하는 척도로도 사용 - 명명 규칙 > 타입, 변수 함수 등의 이름은 의미를 알 수 있는 형태로 구성 > 너무 단순하거나 또는 지나치게 정확한 이름은 자제 - 타입 이름(클래스, 구조체, 타입 별칭, 열거형 등) > 타입 이름은 대문자로 시작 > 여러 단어로 이루어진 이름의 경우, 각 단어는 대문자로 시작하고 밑줄을 사용하지 않음 - 변수 임 & 함수이름 > 변수와 함수 이름은 모두..
1일차 ∙자료 구조와 알고리즘 ∙자료구조 - 자료(data)를 효율적으로 이용하기 위한 자료의 저장 방식 > 자료의 형식, 자료 사이의 관계, 자료를 이용하는 방식(연산, 함수) > 효율적 : 실행 시간 + 메모리 사용량 > 주어진 문제에 적합한 자료 구조를 선택함으로써 효율적인 알고리즘을 사용할 수 있음 ∙ 알고리즘 (algorithm) - 컴퓨터로 문제를 해결하기 위한 일련의 절차나 방법 - 입력, 출력 / 명확성, 유한성, 유효성 - 자연어, 순서고(flowchart), 의사코드(pseudo-code), 프로그래밍 언어 코드 등 ∙ C++ 언어의 장점 - 전통적인 프로그래밍 언어 > 방대한 온라인 리소스 > 거의 모든 코딩 플랫폼에서 지원 - 표준 라이브러리에서 다양한 자료 구조와 알고리즘을 지원 - 실행..
Flex & bison • 실습 /* just like Unix wc */ %{ int chars=0; int words=0; int lines=0; %} %% /* 정규표현식을 이용한 파일내의 글자 갯수 확인 */ [a-zA-Z]+ { words++; chars += strlen(yytext); /* yytext는 앞의 패턴과 일치하는 문자열 */} \n { chars++; lines++; } . { chars++;} %% int main (int argc, char **argv){ yylex(); /* %%와 %%사이에 있는 패턴 규칙대로 매칭, 동작하는 함수 */ printf("%8d%8d%8d\n", lines, words, chars); return 0; } /* English -> American */ /* 구역 나..
Anti-Virus - 1 • X86 Platform 구성과 부팅 과정 1. X86 컴퓨터 하드웨어 구성 - CPU - Main Memory - SMBus (System Management Bus) ⇒ I2C 전기신호 프로토콜을 기반으로 하고 있음 ⇒ CPU 코어별 주파수 상태(클럭 속도)도 제어 ⇒ LPC 중 하나이지만, 무척 소중 -> BUS 신호들로 인해서 메모리 버스 전송 속도를 결정 - LPC (Low Pin Count) ⇒ 저속으로 동작하는 장치 중, CPU와 직접 신호 연결을 통해 동작하는 장치와 버스를 통칭 ⇒ BIOS, UEFI 펌웨어 롬도 이에 해당함 ⇒ 펌웨어 업데이트 외에도 최근에 TPM, IPMI 같은 장치용으로 쓰임 ⇒ Super I/O라는 형태의 장치로 많이 사용 -> 느린데 Super인 이유는 DMA,..
Anit-Virus - 0 • Anit-Virus 제품군은 무엇인가? - File System Scanning - 치료? 격리? ⇒ 컴퓨터의 바이러스 등의 악성코드를 탐지하고 방어하기 위한 유틸리티 소프트웨어이다. *악성코드 : 정책을 위반하는 프로그램이다. * 정책이란 운영체제 → 컴퓨터를 운영하기 위한 정책을 프로그래밍한 소프트웨어이다. • 하드웨어 구조와 OS, 컴파일러 관계(HW Arch, OS, Compiler와 함께 발전하는 Anti-Virus 시스템) - Turing Machine (메모리 기반의 컴퓨터) > 규칙표에 따라 테이프 스트립의 기호를 조작하는 추상기계를 설명하는 계산의 수학적 모델이다. > 모델의 단순성에도 불구하고 모든 컴퓨터 알고리즘을 구현할 수 있다. > Turing Machine은 컴퓨터가 수행하는..
로그파일로 데이터베이스 생성 • 로그로 데이터베이스 생서 * 구조체 배열을 반드시 이용할 것!!! • 로그 데이터 데이터 베이스에는 user 와 password 정보만 저장할 것이다. • 구조체 배열 struct success { char username[100]; char password[100]; }; struct error { char e_username[100]; char e_password[100]; }; success 와 error 구조체를 만들어 username, password를 저장할 배열을 생성한다. • 로그 파일 열기 fp = fopen("C:\\Users\\user\\Desktop\\c과제\\c\\log.txt", "r"); if (fp == NULL) { fprintf(stderr, "파일 없음"); exit..
중첩 구조체를 이용한 로그인 프로그램 • 중첩 구조체를 이용하여 로그인 프로그램 코드 작성 10-02. 중첩 구조체 - C 언어 (wikidocs.net) 참고하였다. 작성한 코드 분석 • 메인 함수 int main() { int num = 0; //메인 화면 구성 printf("1. 로그인\n"); printf("2. 회원가입\n"); printf("3. 종료\n"); printf("번호 선택: "); scanf("%d", &num); //스위치문을 사용해 3가지 기능 실행 switch (num) { case 1: login(); break; case 2: join(); break; default: printf("로그인 프로그램 종료\n"); break; } } • 로그인 기능 int login() { char username[21]; c..