오도원입니다.

건강과 행복을 위하여

반응형

컴퓨터공학 81

03. 웹 어플리케이션을 만드는 순서

1. 구상 무엇을 만들까 2. 기획(계획) 세부적인 실행 계획 어떤 기능과 어떤 사용성을 가져야하는지 정의 3. 디자인 웹사이트를 예쁘게 만들기 사용자가 편하게 만들기 4. 개발 실제 동작하도록 하는 것 5. 테스트 버그찾기 6. 반복 반복을 잘하기 위해서는 Start Small 작게 만들어서 끊임없이 개선한다. 일단 가장 중요하는 것은 완성하는 것이다. 복잡도 체크박스가 하나라면 발생하는 경우의 수는 2가지이다. 두 개라면 4가지의 경우의 수가 발생한다. 즉, 2의 n제곱의 경우의 수가 발생한다. 기능 하나의 추가는 지수폭발을 야기한다. 그러므로 start small이 중요한 것이다.

컴퓨터공학/웹 2020.03.05

01. 오리엔테이션

해당 카테고리의 모든 내용은 생활코딩의 웹 어플리케이션 만들기 강의를 공부하고 정리하기 위해 작성한 것입니다. CLIENT 인터넷 SERVER HTML 미들웨어(PHP) CSS 데이터베이스(MySQL) Java Script 웹서버 웹브라우저 목표. 무엇을 모르는지 모르는 상태에서 무엇을 모르는지 아는 상태로 나아가는 것. => 무엇을 모르는지 알아야 질문할 수 있고, 공부할 수 있다.

컴퓨터공학/웹 2020.03.05

01. List 1 - 5차시 Sort

1. 정렬 2개 이상의 자료를 특정 기준에 의해 오름차순 또는 내림차순하는 것이다. Key : 자료를 정렬하는 기준이 되는 특정 값 예) 서류 번호대로 정렬하기 -> 키는 서류 번호가 된다. 2. 버블 정렬(Bubble Sort) 인접한 두 개의 원소를 비교하여 자리를 계속 교환하는 방식 첫번째 원소부터 인접한 원소끼리 계속 자리를 교환하면서 맨 마지막 자리까지 이동한다. 한 패스가 끝나면 가장 큰 원소 또는 가장 작은 원소가 마지막 자리로 정렬된다. 시간복잡도 = O(n^2) 예시) 55, 7, 78, 12, 42 1. 첫번째 패스 55 7 78 12 42 7 55 78 12 42 7 55 78 12 42 7 55 12 78 42 7 55 12 42 [78] 이렇게 한 패스가 끝나면 가장 큰 원소가 마..

01. List 1 - 4차시 탐욕 알고리즘(Greedy Algorithm)

1. 탐욕 알고리즘(Greedy Algorithm) 그 순간에 최적이라고 생각되는 것을 선택해나가는 방식 최적 해를 구하는데 사용되는 근시안적인 방법이다. 여러 경우 중 하나를 결정해야 할 때마다 그 순간에 최적이라고 생각되는 것을 선택해나가는 방식으로 진행하여 최종적인 해답에 도달한다. 각 선택의 시점에서 이루어지는 결정은 지역적으로는 최적이지만, 그것들을 계속 수집하여 최종적인 해답을 만들었다고 하여 그것이 최적이라는 보장은 없다. 일반적으로, 머리속에 떠오르는 생각을 검증없이 바로 구현하면 Greedy 접근이 된다. 2. 탐욕 알고리즘 수행 과정 1. 해 선택 현재 상태에서 부분 문제의 최적 해를 구한 뒤, 이를 부분 해 집합(Solution Set)에 추가한다. 2. 실행 가능성 검사 새로운 부분..

01. List 1 - 3차시 완전 검색(Exhaustive Search)

1. 완전 검색(Exhaustive Search) 문제의 해법으로 생각할 수 있는 모든 경우의 수를 나열해보고 확인하는 기법이다. Brute-force 또는 Generate-and-Test 기법이라고도 불린다. 모든 경우의 수를 테스트한 후, 최종 해법을 도출한다. 일반적으로 경우의 수가 상대적으로 작을 때 유용하다. 모든 경우의 수를 생성하고 테스트하기 때문에 수행 속도는 느리지만 해답을 찾아내지 못할 확률이 작다. 따라서 주어진 문제를 풀 때, 우선 완전 검색으로 접근하여 푼 후, 성능 개선을 위해 다른 알고리즘을 사용하고 해답을 확인하는 것이 바람직하다. 예시) Baby-gin Game 0 ~ 9사이의 숫자카드에서 임의의 카드 6장을 뽑아, 3장의 카드가 연속되면 run이라하고, 3장의 카드가 동일..

01. List 1 - 2차시

Python 1. 인터프리터 언어로 독립적인 플랫폼 2. 객체지향 3. IoT분야의 라즈베리파이, 빅데이터 자료분석 등에 쓰인다. 프로그램 실행속도 VS 개발속도 과거에는 실행속도가 느린 파이썬이 주목받지 못하다가 하드웨어의 성능개선과 개발 시간 단축에 관심이 집중되며 파이썬을 많이 사용한다. Yes, Python is Slow, and I Don't Care. A rant on sacrificing performance for productivity. 변수 1. 파이썬에서는 모든 자료가 객체 > Java, C에서 사용되는 기본형 타입 변수도 파이썬에서는 객체 2. 변수의 선언은 따로 없다. > 변수에 값을 초기화 시 변수가 메모리에 생성된다. > 하나의 변수에 다른 타입의 값을 변수에 저장할 수 있다...

01. List 1 - 1차시

해당 알고리즘 게시글은 SW Expert Academy를 공부하고 정리하기 위해 작성한 글입니다. 1. 알고리즘 유한한 단게를 통해 문제를 해결하기 위한 절차나 방법. 주로 컴퓨터가 어떤 일을 수행하기 위한 단계적 방법 예) 1 ~ 100까지의 합 1. 1 + 2 + 3 + ... + 100 = 5050 2. {(1+100) + (2 + 99) + ... + (50 + 51)} * 50 = 5050 2. 알고리즘 표현법 1. 슈도코드 2. 순서도 1. 슈도코드 일반적인 언어로 코드를 흉내내어 알고리즘을 써놓은 코드 특정 언어로 프로그램을 작성하기 전에 알고리즘을 대략적으로 모델링하는데에 쓰인다. 2. 순서도 프로그램이나 작업의 진행흐름을 순서에 따라 여러가지 기호나 문자로 나타낸 도표. 흐름도라고도 하며..

# 3. History로 보는 운영체제 (1950년대 ~ 1960년대)

1. 1950년대 ~ 1960년대 1) 1950년대 첫번째 컴퓨터 애니악(EANIAC ) 운영체제가 없었다. 1개의 응용 프로그램을 실행시키기도 바빴으며 응용 프로그램이 시스템 자원을 제어, 관리했다. 2) 1960년대 초기 배치 처리 시스템(batch processing system) 출현 여러 응용 프로그램을 등록시켜놓으면, 순차적으로 실행하는 시스템이다. 배치 처리 시스템을 기반으로 운영체제가 출현했다. 철수 : 프로그램 1 영희 : 프로그램 2 프로그램 실행방법은 프로그램 1 -> 프로그램 2 또는 프로그램 2 -> 프로그램 1 밖에 없다. 3) 배치 처리 시스템의 단점 1. 컴퓨터 응답시간(reponse time)이 오래 걸린다. 앞에서 실행 시간이 많이 드는 응용 프로그램이 실행될 수 있기 때..

# 2. 운영체제와 응용 프로그램

1. 응용 프로그램이란? 프로그램 = 소프트웨어 소프트웨어 = 운영체제, 응용 프로그램(엑셀, 파워포인트, ...) 응용 프로그램 = Appication(일반 PC) = APP(모바일) 정리하면, 프로그램 = 소프트웨어이고, 소프트웨어는 운영체제와 운영체제가 아닌 것. 즉, 응용 프로그램으로 나뉜다. 2. 운영체제와 응용 프로그램간의 관계 운영체제는 응용 프로그램을 관리한다. 응용 프로그램을 실행시킨다. 응용 프로그램간의 권한을 관리한다. ex) 관리자 권한으로 실행 응용 프로그램을 사용하는 사용자를 관리 ex) 로그인 이런 식으로 운영체제에서 응용 프로그램을 관리하는 이유는 응용 프로그램은 누구나 만들 수 있기때문이다. 예를 들어, 무한 반복문을 넣거나, 코드를 잘못 작성하여 프로그램이 다운되거나, 모..

반응형