CS50W - Lecture 7 - Testing and CI/CD

preview_player
Показать описание

TABLE OF CONTENTS

00:00:00 - Introduction
00:00:15 - Testing
00:01:47 - Assert
00:15:23 - Unit Testing
00:21:20 - Django Testing
00:42:40 - Selenium
00:57:15 - CI/CD
01:03:28 - GitHub Actions
01:18:51 - Docker

This course picks up where Harvard University's CS50 leaves off, diving more deeply into the design and implementation of web apps with Python, JavaScript, and SQL using frameworks like Django, React, and Bootstrap. Topics include database design, scalability, security, and user experience. Through hands-on projects, students learn to write and use APIs, create interactive UIs, and leverage cloud services like GitHub and Heroku. By semester’s end, students emerge with knowledge and experience in principles, languages, and tools that empower them to design and deploy applications on the Internet.

***

This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming.

***

HOW TO SUBSCRIBE

HOW TO TAKE CS50

HOW TO JOIN CS50 COMMUNITIES

HOW TO FOLLOW DAVID J. MALAN

***

CS50 SHOP

***

LICENSE

CC BY-NC-SA 4.0
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License

David J. Malan
Рекомендации по теме
Комментарии
Автор

Repetition is the mother of memorization. This course uses repetition in a beautiful way. Note, lecture, source code, project, capstone. By the end, it's hard not to remember essential concepts and details.

freeeagle
Автор

Melan and Brian are GREAT TEACHERS. GOD BLESS BOTH. From India

jacobjose
Автор

this guy is awesome. touches upon so many aspects without overcomplicating anything.

defiler
Автор

46:35 hey guys please note that .find_element_by is deprecated, use driver.find_element(By.ID, "increase")

bpokrepin
Автор

I fall in love with this Guy! Thank u so much Brain!

muhammadrafehatique
Автор

Unfortunately the prime numbers/square root stuff meant that the explanation of assert statements went completely over my head. The example ended up being more convoluted than the concept it was supposed to illustrate :/
(I looked elsewhere and learnt how they worked - on a rewatch I still can't follow what's going on in your example)

Flamekebab
Автор

January 2021 - Flght origin and flight destination is same airport have sence

illiapiliugin
Автор

any one here whose docker is not running and getting error

connection to server at "db" (172.18.0.2), port 5432 failed: FATAL: password authentication failed for user "postgres"

SaadHussain-opps
Автор

Awesome. Ci/cd beckons to lecture 1. It's like a well-plotted play--somthing the writer seemed to mention casually would have consequences later. Until now, the circle is closed.

freeeagle
Автор

I thought that the content of this class would be difficult to learn without actually trying it at the development site.

hide_yama
Автор

14:13 in Visual Code Windows 10 ???
I did copy and paste all from the file sh in the terminal and work:
python -c "from tests0 import test_prime; test_prime(1, False)"
python -c "from tests0 import test_prime; test_prime(2, True)"
python -c "from tests0 import test_prime; test_prime(8, False)"
python -c "from tests0 import test_prime; test_prime(11, False)"
python -c "from tests0 import test_prime; test_prime(25, False)"
python -c "from tests0 import test_prime; test_prime(28, False)"
Result:
ERROR on is_prime(11), expected False
note: with the function working fine.

freelanceprogrammer
Автор

Zakaria Jaddad was here thanks Mr Brian for this lecture and the cs50 staff for making this amazing course happen

jaddadzakaria
Автор

Thanks very much for the lecture.

Would like to have seen the use of Pytest instead of unittest though. The built-in Python unit testing framework is a bit old & clunky with a lot of boilerplate code.

The built-in doctest module in Python is also great for beginners who are new to unit testing. And not only is doctest great for unit testing but it also forces you to write docstrings, you know, documentation for your functions/classes, right from the beginning. Which is what you want in a programmer.

alainrouleau
Автор

It pains my heart to be on the second last project and know that I'm leaving😭

firefuegomakes
Автор

i'm confused at 36:35 he is creating passenger object outside setUp function. Then don't we a need setUp function? and are objects created outside setUp function aliased and destroyed also?

mr
Автор

When I'm trying the

response = c.get(f"/flights/{max_id + 1}")
self.assertEqual(response.status_code, 404)

I'm getting an error Flight matching query does not exist.) even with Brian's code c/p

Stevegerr
Автор

23:18 for the function is-valid_flight, "or" opeartor is used instead of "and" to make sure both conditions should be valid

vamsi
Автор

where do I can get code from "airline" django project?

bekzodnegmatillaev
Автор

he is very clear in his explanations.but his face is a little annoying for some reason. still very good lecture !

Minsturuiop