본문 바로가기

공부를 합니다

(84)
선형대수(HYU)_11-12 벡터투영과 최소제곱법 3.3 Projections and Least Squares 미지수(unknown)보다 식(equation)의 수가 더 많은 경우 대부분 solution이 존재하지 않는다: Overconstrained cases Example $$ \begin{matrix} 2x &=& b_1 \\ 3x &=& b_2 \\ 4x &=& b_3 \end{matrix} \quad \rightarrow \quad \begin{bmatrix} 2 \\ 3 \\ 4 \end{bmatrix} x = \begin{bmatrix} b_1 \\ b_2 \\ b_3 \end{bmatrix} $$ Solution이 존재하는 경우는 $b$가 $C(A)$안에 있는 경우로 매우 드물다. $$ b= \begin{bmatrix} b_1 \\ b_2..
CS50's Web Track-2 Tracks_ Web Flask 지금까지 웹 페이지를 만들고 파일로 저장해서 HTTP 서버를 통해 반환시키는 법을 배웠다. 더 나아가서, 웹 서버나 어플리케이션을 이용하면 웹 페이지의 콘텐츠를 동적으로 생성하고 제어할 수 있다. Flask and Route Python의 framework중 하나인 Flask의 다양한 기능을 사용해 웹 서버를 작성할 수 있다. Flask를 사용할 application.py파일을 만들어보자. (관습적으로 application.py를 파일명으로 사용) # Flask library를 import from flask import Flask # 객체를 Flask를 app에 할당 app = Flask(__name__) # route와 해당 route에 접근했을 때 실행될 함수를 적어..
CS50's Web Track-1 Tracks_ Web Introduction 인터넷에서 실행되는 프로그램을 만들어보기 위한 track이다. 인터넷의 기본과 어떻게 동작하는지를 먼저 배운 뒤, HTML, CSS, JavaScript와 같은 인터넷에서의 언어, 웹 페이지를 application으로 바꾸기 위한 Python에서의 framework와 SQL에 대해 배운다. HTTP 컴퓨터는 네트워크를 이용해 서로에게 메시지를 주고 받으면서 소통한다. 가장 기본적으로 메시지를 주고 받기위해 따라야 하는 규칙인 standard protocol이 존재한다. 인터넷의 standard protocol은 TCP/IP 로 Transmission Control Protocol과 Internet Protocl이다. IP Address 보다 쉽게 이해하기 위해..
WEB2 - JavaScript_29-30 수업을 마치며 29. UI vs API UI (User Interface): 사용자가 시스템을 제어하기 위해서 사용하는 조작장치 (e.g 버튼) API (Application Programming Interface): 애플리케이션을 만들기 위해서 프로그래밍 할 때 사용하는 조작장치 (e.g js의 alert) 웹 페이지에 경고창을 만들기 위해서 사용하는 alert 함수는 경고창을 실행하는 조작장치로서 브라우저에 미리 만들어 놓은 기능이다. 우리는 이번 수업을 통해 UI만 사용했던 사용자에서 JavaScript를 통해 API까지 사용할 수 있는 사람이 되었다. 30. 수업을 마치며 이제 학습을 그만두고 프로젝트를 시작할 때. 프로젝트를 시작할 때 모든 개념을 한 번에 사용하려고 하지 말자. 최소한의 정도로만 (i.e. ..
WEB2 - JavaScript_28 라이브러리와 프레임워크 28. 라이브러리와 프레임워크 소프트웨어를 만들 때 다른 사람들이 미리 만들어 놓은 소프트웨어의 도움을 받는 방법. 라이브러리(Library): 사용할 수 있는 단편적인 기능을 정리해 놓은 것 (부품) 프레임워크(Framework): 만들고 싶은 소프트웨어의 기초적인 공통 부분을 구축해 놓은 것 (반제품) jQuery JavaScript의 대표적인 라이브러리이다. jQuery 홈페이지에 가서 파일을 다운로드 한 뒤 직접 프로젝트에 포함시키거나 CDN을 이용하여 웹 페이지에 첨부한다. CDN (Content Download Network) : 서비스 제공자의 서버에 저장된 파일을 를 이용해 가져와 사용하는 방식. jQuery에서 제공하는 코드를 복사해서 html 파일의 영역에 붙여넣어 사용한다. jQuer..
WEB2 - JavaScript_27 파일로 쪼개서 정리정돈하기 27. 파일로 쪼개서 정리정돈하기 프로그램이 복잡해지면 객체보다 더 큰 정리정돈의 도구가 필요하게된다. → 연관된 코드들을 별도의 파일로 나눠서 정리 할 수 있다. 지금까지 만들어 놓은 모든 웹 페이지에 night & day handler를 만들고 싶으면 지금까지 작성한 JavaScript를 별도의 파일로 저장해서 쓰면 동일한 기능은 동일한 코드로 이뤄져있다는 확신을 할 수 있을뿐만 아니라 수정하기도 용이하다.
CS50's Week 8_Information 8. Information A Look Back Week 1 - Week 7 강의 내용 복습 Privacy Compuper Science는 정보의 저장과 처리에 관한 것이다. 정보를 갖고 할 수 있는 것을 아는 것 만큼 해야 하는 것을 아는 것 역시 중요하다. Passwords 예를 들어 우리는 여러 계정을 보호하기 위해 '암호(password)'를 사용한다. 하지만 가장 많이 쓰이는 암호 10위는 매우 간단하다. 1. 123456 2. 123456789 3. qwerty 4. password 5. 111111 6. 12345678 7. abc123 8. 1234567 9. password1 10. 12345 더 복잡한 암호를 사용하더라도 현대의 컴퓨터는 매우 빠르게 암호를 알아낼 수 있다. 우리는 단 ..
WEB2 - JavaScript_24-26 객체 24. 객체 예고 객체의 다면적인 기능 중 '정리정돈'의 역할에 초점을 맞춰서 설명 정리 정돈을 위한 변수, 함수도 그 수가 많아지면 관리가 어렵다. → 객체를 이용하면 연관된 변수와 함수를 하나로 묶어서 관리할 수 있다. 지금까지 만든 nightDayHandler 함수를 보면 색상을 바꾸는 모든 코드가 night과 day에서 중복된다. 우선, 함수를 여러개로 분할해서 중복을 줄일 수 있다. 함수명이 같으면 가장 아래있는 함수만 실행되기 때문에 함수를 여러개 사용할 때는 이름을 다르게 적어줘야한다. 함수명은 함수 기능을 파악할 수 있도록 적는게 좋다. /* Body의 Color를 매개변수 color로 변경 */ function bodySetColor(color) { document.querySelecto..