본문 바로가기

분류 전체보기

(31)
Intro Web application 인터넷을 통해 사용자에게 제공되는 소프트웨어 프로그램을 구축하는 과정 웹의 동작 방식 Client : 서비스를 요청하는 주체 Server : 클라이언트의 요청에 응답하는 주체 1. 클라이언트가 'google.com'을 입력 2. 브라우저는 인터넷에 연결된 구글 컴퓨터(서버)에게 'Google 홈페이지.html' 파일을 달라고 요청 3. 요청받은 구글 컴퓨터는 DB에서 'Google 홈페이지.html' 파일을 찾아 응답 4. 전달받은 'Google 홈페이지.html' 파일을 사람이 볼 수 있도록 웹 브라우저가 해석하며 사용자는 페이지를 봄 웹 개발에서의 Frontend, Backend Frontend UI를 구성하고, 사용자가 앱과 상호작용할 수 있도록 함 > HTML, CSS..
CSS Layout - Box Model CSS layout: 각 요소의 위치와 크기를 조정하여 웹 페이지의 디자인을 결정 CSS Box Model 모든 HTML 요소를 사각형 박스로 표현하는 개념 > content, padding, border, margin으로 이루어짐 margin : 이 박스와 다른 요소 사이의 공백, 가장 바깥쪽 영역 border : 콘텐츠와 패팅을 감싸는 테두리 영역 padding : 콘텐츠 주위에 위치하는 공백 영역 contetnt : 콘텐츠가 표시되는 영역 box-sizing 속성 width와 height는 content를 기준으로 하기에 실제 박스 너비와는 차이가 있음 *{ box-sizing: content-box; } 이게 default인 컨텐츠 기준으로 박스 크기가 됨 *{ box-sizing: border-..
Cascade-명시도, 상속 CSS Cascading Style Sheet : 계단식 스타일 시트; 웹 페이지의 디자인과 레이아웃을 구성하는 언어 Specificity 결과적으로 요소에 적용할 CSS 선언을 결정하기 위한 알고리즘 CSS Selector에 가중치를 계산하여 어떤 스타일을 적용할지 결정 동일한 요소에 2개 이상의 CSS 규칙이 있는 경우(스타일이 겹치는 경우) 가장 높은 명시도를 가진 Selecor로 스타일이 적용됨 Cascade 명시도가 높은 순서 1. Importance !important 2. Inline 스타일 권장하지 않지만, 우선 순위는 높음 3. 선택자 id > class > 요소 4. 소스 코드 선언 순서 같은 태그의 CSS 규칙이면 마지막으로 선택 class 선택에 2개를 넣을 때는 순서가 필요없음 (..
Tree - Binary Search Tree , heap 이진 탐색 트리 탐색작업을 효율적으로 하기 위한 자료 구조 모든 원소는 다른 키를 가짐 key(왼쪽 서브트리) 오른차순으로 정렬된 값을 얻을 수 있음 탐색 연산 루트에서 시작 키 값 x 루트노드 키 값 r - x = r : 원하는 원소이므로 탐색연산 성공 - x r : 루트노드의 오른쪽 서브트리에 대해 탐색연산 서브트리에 대해 순환적으로 탐색 연산을 반복하기 삽입 연산 탐색연산을 수행하다 탐색 실패한 위치에 원소 삽입 검색 알고리즘의 시간복잡도 검색 알고리즘 시간 복잡도 (정렬된) 배열에서의 순차 검색 O(N) 정렬된 배열에서의 이진탐색 (고정..
Tree - Binary Tree 트리란 비선형 구조 원소들 간 1:n관계를 가짐 계층형 자료구조 상위에서 하위로 내려가며 확장되는 구조 subtree : 루트를 제외하고 나머지 노드들은 분리 집합이 되며, 이를 루트의 부트리(subtree)라 함 node : 트리의 원소 edge(간선) : 노드를 연결하는 선. 부모 노드와 자식 노드를 연결 sibling node : 형제 노드. 같은 부모 노드의 자식 노드들 ex) B,C,D는 형제 노드 조상 노드 : 루트 노드까지 이르는 경로에 있는 모든 노드들 ex) K의 조상 노드 : F,B,A 자손 노드 : 서브 트리에 있는 하위 레벨의 노드들 ex) B의 자손 노드 : E,F,K degree - 노드의 차수 : 노드에 연결된 자식 노드의 수 ex) B의 차수:2, C의 차수:1 - 트리의 차..
BFS(Breadth Firsh Search) 그래프를 탐색하는 방법은 2가지가 있음 - 깊이 우선 탐색(DFS) - 너비 우선 탐색(BFS) BFS - 탐색 시작점의 인접한 정점부터 먼저 다 방문한 후, 그 방문한 정점을 시작으로 다시 인접한 정점들을 차례로 방문하는 방식 - 인접한 정점에 대해 탐색 후 다시 BFS를 진행하므로, FIFO인 큐를 활용함 BFS 예제 1. 초기 상태 visited 배열 초기화 Q 생성 시작점을 enqueue 2. A점부터 시작(root=1) dequeue : A A visited A의 인접점들을 enqueue 3. 탐색 진행(A의 인접점인 B,C,D를 순차적으로)(root=2) dequeue : B , B visited , B의 인접점들을 enqueue dequeue : C , C visited , C의 인접점들을 ..
Queue 큐는 선입선출 구조 Front : 저장된 원소 중 첫 번 째 원소(or 마지막으로 삭제된 인덱스) Rear : 저장된 원소 중 마지막 원소 기본 연산 연산 기능 enQueue(item) rear 뒤에 원소를 삽입 deQueue() front에서 원소를 삭제하고 반환 createQueue() 공백의 큐를 생성 isEmpty() 큐가 공백인지 확인 isFull() 큐가 포화인지 확인 Qpeek() front에서 삭제 없이 반환 연산 과정 1) 공백 큐 생성 2) 원소 A 삽입 rear += 1 Q[rear] = A 3) 원소 B 삽입 rear += 1 Q[rear] = B 4) 원소 반환/삭제 front +=1 tmp = Q[front] 5) 원소 C 삽입 rear += 1 Q[rear] = C 6) 원소 ..
OOP - 클래스 상속 상속 : Inheritance 기존 클래스의 속성과 메서드를 물려받아 새로운 하위 클래스를 생성하는 것 코드의 재사용, 계층 구조 형성, 유지 보수의 용이성을 위해 사용 계층구조 변경 자식 class에서 정의된 함수를 사용하면 그대로 사용 만약, 그 class에 함수가 없으면 상속되어있는 부모 계층에 가서 그 함수를 확인함 super() 부모 클래스 객체를 반환하는 내장 함수 class Person: def __init__(self, name, age, number, email): self.name = name self.age = age self.number = number self.email = email class Student(Person): def __init__(self, name, age, n..