From 276593ae70ce22ebcb6bb873372c6d9adc08148a Mon Sep 17 00:00:00 2001 From: Bob Belderbos Date: Mon, 25 Sep 2023 10:40:03 +0200 Subject: [PATCH 1/4] Update README.md fix link --- days/04-06-collections/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/days/04-06-collections/README.md b/days/04-06-collections/README.md index beeffc9b..8914e5a6 100644 --- a/days/04-06-collections/README.md +++ b/days/04-06-collections/README.md @@ -8,7 +8,7 @@ Today you watch the videos. I also prepared a [Jupyter notebook](https://github. ## Day 2: Practice using movie data -You get to use these new data structures I encourage you to code an exercise: [PyBites Code Challenge 13 - Highest Rated Movie Director](https://pybit.es/codechallenge13.html). +You get to use these new data structures I encourage you to code an exercise: [PyBites Code Challenge 13 - Highest Rated Movie Director](https://pybit.es/articles/codechallenge13). See the [notebook](https://github.com/talkpython/100daysofcode-with-python-course/blob/master/days/04-06-collections/collections.ipynb) for more info how to complete this exercise. From 0820b2ca021baf472b7618f6388430280579259d Mon Sep 17 00:00:00 2001 From: Bob Belderbos Date: Tue, 7 Nov 2023 14:29:26 +0100 Subject: [PATCH 2/4] Update README.md --- days/10-12-pytest/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/days/10-12-pytest/README.md b/days/10-12-pytest/README.md index 514c3fdf..a432aaa9 100644 --- a/days/10-12-pytest/README.md +++ b/days/10-12-pytest/README.md @@ -34,7 +34,7 @@ On the topic of more complex code, one thing I did not cover are `pytest` fixtur > The purpose of test fixtures is to provide a fixed baseline upon which tests can reliably and repeatedly execute. pytest fixtures offer dramatic improvements over the classic xUnit style of setup/teardown functions - [pytest fixtures: explicit, modular, scalable](https://docs.pytest.org/en/latest/fixture.html) -A typical example is a database app that needs to setup and tear down its state before each test. Today try to come up with a use case to use `@pytest.fixture` after checking out our article: [All You Need to Know to Start Using Fixtures in Your pytest Code](https://pybit.es/pytest-fixtures.html). +A typical example is a database app that needs to setup and tear down its state before each test. Today try to come up with a use case to use `@pytest.fixture` after checking out our article: [All You Need to Know to Start Using Fixtures in Your pytest Code](https://pybit.es/articles/pytest-fixtures/). Ready to become a `pytest` ninja? You can do it! From 2d13e5f74754a7d349248a131b775aca037323b6 Mon Sep 17 00:00:00 2001 From: Bob Belderbos Date: Sat, 23 Dec 2023 17:41:09 +0100 Subject: [PATCH 3/4] I moved these files to S3 a while ago (see https://codechalleng.es/bites/18/) and now the old links don't work so fixed them here --- .../list-comprehensions-generators.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/days/16-18-listcomprehensions-generators/list-comprehensions-generators.ipynb b/days/16-18-listcomprehensions-generators/list-comprehensions-generators.ipynb index 5c675528..6b7c39f0 100644 --- a/days/16-18-listcomprehensions-generators/list-comprehensions-generators.ipynb +++ b/days/16-18-listcomprehensions-generators/list-comprehensions-generators.ipynb @@ -206,7 +206,7 @@ } ], "source": [ - "resp = requests.get('http://projects.bobbelderbos.com/pcc/harry.txt')\n", + "resp = requests.get('https://bites-data.s3.us-east-2.amazonaws.com/harry.txt')\n", "words = resp.text.lower().split()\n", "words[:5]" ] @@ -339,7 +339,7 @@ } ], "source": [ - "resp = requests.get('http://projects.bobbelderbos.com/pcc/stopwords.txt')\n", + "resp = requests.get('https://bites-data.s3.us-east-2.amazonaws.com/stopwords.txt')\n", "stopwords = resp.text.lower().split()\n", "stopwords[:5] " ] From 4f25dd53cb0f2f484ecb5fac48df71cfb04daa1b Mon Sep 17 00:00:00 2001 From: Bob Belderbos Date: Wed, 18 Dec 2024 17:02:34 +0100 Subject: [PATCH 4/4] update bite links using our new v2 platform, the legacy blog code challenge link were broken as well --- days/01-03-datetimes/README.md | 18 ++++++++---------- days/04-06-collections/README.md | 4 +--- days/07-09-data-structures/README.md | 12 +++++------- days/10-12-pytest/README.md | 16 ++++++++-------- .../README.md | 9 +++++---- days/19-21-itertools/README.md | 16 ++++++++-------- days/22-24-decorators/README.md | 8 ++++---- days/28-30-regex/README.md | 6 +++--- days/34-36-refactoring/README.md | 2 +- days/40-42-json-data/README.md | 6 +++--- days/58-60-twitter-api/README.md | 2 +- days/73-75-selenium/README.md | 4 ++-- 12 files changed, 49 insertions(+), 54 deletions(-) diff --git a/days/01-03-datetimes/README.md b/days/01-03-datetimes/README.md index cd30a158..fc6695c0 100644 --- a/days/01-03-datetimes/README.md +++ b/days/01-03-datetimes/README.md @@ -9,20 +9,18 @@ This set of lessons will walk you through the basics of datetime, starting with A super basic day to get you started. Watch *Learning datetime and date* and *Calculating time with datetime timedelta*. -After watching the videos, use your Python shell to play around with some timestamp calculations as per the content in the videos. +After watching the videos, use your Python shell to play around with some timestamp calculations as per the content in the videos. -## Day N+1: Bites of Py Bite 7 - Parsing dates from logs +## Day N+1: Parsing dates from logs Bite exercise -Head on over to [CodeChalleng.es](https://codechalleng.es) and sign up if you haven't already. +Head on over to [Pybites Platforms](https://pybitesplatform.com/) and sign up if you haven't already. -Use the following URL to unlock Bite 7 for free: [https://codechalleng.es/bites/promo/datetimes](https://codechalleng.es/bites/promo/datetimes) +Work on [Parsing dates from logs](https://pybitesplatform.com/bites/parsing-dates-from-logs/) for your second day of learning datetime. -Work on *Bite 7 - Parsing dates from logs* for your second day of learning datetime. +Edit: We decided to simplify the original Bite exercise slightly after some feedback we received from students. We've now removed the requirement to read in the file which should keep the Bite focused on the theme. -Edit: We decided to simplify Bite 7 slightly after some feedback we received from students. We've now removed the requirement to read in the file which should keep the Bite focused on the theme. - -Additionally, we've added another TWO free Bites that should be more appropriate for beginners. Unlock them here: [https://codechalleng.es/bites/promo/datetimes_starter](https://codechalleng.es/bites/promo/datetimes_starter) and [https://codechalleng.es/bites/promo/more-datetimes](https://codechalleng.es/bites/promo/more-datetimes). +Additionally, we've added another TWO free Bites that should be more appropriate for beginners. Unlock them here: [Working with datetimes](https://pybitesplatform.com/bites/working-with-datetimes/) and [Work with datetime's strptime and strftime](https://pybitesplatform.com/bites/work-with-datetimes-strptime-and-strftime/). ## Day N+2: Your Turn! @@ -33,11 +31,11 @@ A fun project would be to create yourself a Pomodoro Timer that incorporates dat This could also be applied to a stopwatch app. Use time of course but also throw in the timestamps and even some basic calculations on the difference between the start and end timestamps. -We encourage you to _pull request_ your work via [PyBites Code Challenge #52](https://codechalleng.es/challenges/52/). Have fun! +We encourage you to _pull request_ your work via [PyBites Code Challenge #52](https://pybit.es/articles/codechallenge52/). Have fun! ### Time to share what you've accomplished! -Be sure to share your last couple of days work on Twitter or Facebook. Use the hashtag **#100DaysOfCode**. +Be sure to share your last couple of days work on Twitter or Facebook. Use the hashtag **#100DaysOfCode**. Here are [some examples](https://twitter.com/search?q=%23100DaysOfCode) to inspire you. Consider including [@talkpython](https://twitter.com/talkpython) and [@pybites](https://twitter.com/pybites) in your tweets. diff --git a/days/04-06-collections/README.md b/days/04-06-collections/README.md index 8914e5a6..d5387c2f 100644 --- a/days/04-06-collections/README.md +++ b/days/04-06-collections/README.md @@ -8,12 +8,10 @@ Today you watch the videos. I also prepared a [Jupyter notebook](https://github. ## Day 2: Practice using movie data -You get to use these new data structures I encourage you to code an exercise: [PyBites Code Challenge 13 - Highest Rated Movie Director](https://pybit.es/articles/codechallenge13). +You get to use these new data structures I encourage you to code an exercise: [PyBites Code Challenge 13 - Highest Rated Movie Director](https://pybit.es/articles/codechallenge13). See the [notebook](https://github.com/talkpython/100daysofcode-with-python-course/blob/master/days/04-06-collections/collections.ipynb) for more info how to complete this exercise. -You can also take a slimmed down version of this exercise [on our platform](https://codechalleng.es/bites/30/). - ## Day 3: More practice on your own data We challenge you to find your own data set and try to use the new collections data structures yourself. diff --git a/days/07-09-data-structures/README.md b/days/07-09-data-structures/README.md index 74cca6c8..3ffd3c3e 100644 --- a/days/07-09-data-structures/README.md +++ b/days/07-09-data-structures/README.md @@ -14,20 +14,18 @@ Have a play with your own lists, dicts and tuples in the Python shell and famili Feel free to watch the *What we learned* video as well as a recap! -## Day N+1: PyBites CodeChalleng.es Bite +## Day N+1: Pybites exercise -Click this link: [https://codechalleng.es/bites/promo/datastructures](https://codechalleng.es/bites/promo/datastructures) - -This will take you to our CodeChalleng.es platform and unlock a Bite for free. +This will take you to our [Pybites Platform and do this Bite: [Query a nested data structure](https://pybitesplatform.com/bites/query-a-nested-data-structure/) Follow the on page instructions once you've redeemed the Bite and see if you can solve the problem! ## Day N+2: Your Turn! -**UPDATE: We decided to wrap the below (and a little more) into a Bite on the CodeChalleng.es Platform for you. You're still more than welcome to perform the work as per the below but if you want to try this in a Bite then [click here](https://codechalleng.es/bites/promo/listvsdict) to redeem the Bite for free. +**UPDATE: We decided to wrap the below (and a little more) into a Bite on our Pybites Platform for you. You're still more than welcome to perform the work as per the instructions below, but if you want to try this in a Bite then [try it here](https://pybitesplatform.com/bites/playing-with-lists-and-dicts/) to redeem the Bite for free. -Create a script that imports the US States data structures contained in the following script file in our Repo: [https://github.com/talkpython/100daysofcode-with-python-course/blob/master/days/07-09-data-structures/code/data.py](https://github.com/talkpython/100daysofcode-with-python-course/blob/master/days/07-09-data-structures/code/data.py) +Create a script that imports the US States data structures contained in the following script file in our Repo: [https://github.com/talkpython/100daysofcode-with-python-course/blob/master/days/07-09-data-structures/code/data.py](https://github.com/talkpython/100daysofcode-with-python-course/blob/master/days/07-09-data-structures/code/data.py) Perform the following tasks on the list and dict. The less you look at them, the better this exercise will be. Remember: **Dicts are unsorted**. @@ -40,7 +38,7 @@ Perform the following tasks on the list and dict. The less you look at them, the ### Time to share what you've accomplished! -Be sure to share your last couple of days work on Twitter or Facebook. Use the hashtag **#100DaysOfCode**. +Be sure to share your last couple of days work on Twitter or Facebook. Use the hashtag **#100DaysOfCode**. Here are [some examples](https://twitter.com/search?q=%23100DaysOfCode) to inspire you. Consider including [@talkpython](https://twitter.com/talkpython) and [@pybites](https://twitter.com/pybites) in your tweets. diff --git a/days/10-12-pytest/README.md b/days/10-12-pytest/README.md index a432aaa9..35027092 100644 --- a/days/10-12-pytest/README.md +++ b/days/10-12-pytest/README.md @@ -1,34 +1,34 @@ # Days 10-12 Test your code with pytest -In this lesson I show you how to use `pytest` to test a simple guessing game. It might not be the easiest example for a beginner, but it allows me to show some real world issues you want to address in your test code. +In this lesson I show you how to use `pytest` to test a simple guessing game. It might not be the easiest example for a beginner, but it allows me to show some real world issues you want to address in your test code. After pip installing the module, I quickly show you how to write a test with `pytest` and how it differs from the classic (more verbose) `unittest` syntax. -Next I show you some tactics to mock out user inputs and random data, because test data needs to be predictable. We also learn how we can capture/test standard output of our program. +Next I show you some tactics to mock out user inputs and random data, because test data needs to be predictable. We also learn how we can capture/test standard output of our program. Finally I show you some TDD or _test driven development_ in action by implementing _Fizz Buzz_ by writing the tests first, in small incremental steps. You learn about the `pytest.mark.parametrize` decorator to elegantly handle repetitive tests. -The `pytest` framework is huge and this is just a subset of features. I hope this gives you a head start though to start writing (more) tests for your programs to produce more reliable software. +The `pytest` framework is huge and this is just a subset of features. I hope this gives you a head start though to start writing (more) tests for your programs to produce more reliable software. Be warned: mastering `pytest` might feel like possessing a super power! ## Day N: Setup + Learn pytest -Today you will pip install `pytest` and `pytest-cov` (best practice is to use a [virtual environment](https://pybit.es/the-beauty-of-virtualenv.html)) and watch the video lectures. +Today you will pip install `pytest` and `pytest-cov` (best practice is to use a [virtual environment](https://pybit.es/the-beauty-of-virtualenv.html)) and watch the video lectures. Start thinking about how you can write tests for your code ... ## Day N+1: Your Turn: Test your code -Head over to [PyBites Code Challenge 39 - Writing Tests With Pytest](https://codechalleng.es/challenges/39/) and start adding tests to your code or if you're already covered maybe you want to do that as contribution to an open source project? +Head over to [PyBites Code Challenge 39 - Writing Tests With Pytest](https://pybit.es/articles/codechallenge39/) and start adding tests to your code or if you're already covered maybe you want to do that as contribution to an open source project? -By the way, notice that we use `pytest` for [our Bites](https://codechalleng.es/bites/) too. Under the _TESTS_ tab of each Bite you can see how your code will be tested and when you hit _Save + verify_ you can look at its output. +By the way, notice that we use `pytest` for [our Bites](https://pybitesplatform.com/bites/regular/) too. Under the _TESTS_ tab of each Bite you can see how your code will be tested and when you hit _Save + verify_ you can look at its output. Lastly if you are serious about writing tests and `pytest` check out Brian Okken's [Test and Code](http://testandcode.com) podcast and his [Python Testing with pytest](https://pragprog.com/book/bopytest/python-testing-with-pytest) book which goes into much more depth. ## Day N+2: Your Turn: Write a fixture -You wrote some test code? Good, hope that felt good. I know it does because with a set of tests you have more confidence to make any changes in the future. Software systems become increasingly complex so it's paramount to have a suite of tests as your project grows to catch any regression bugs. +You wrote some test code? Good, hope that felt good. I know it does because with a set of tests you have more confidence to make any changes in the future. Software systems become increasingly complex so it's paramount to have a suite of tests as your project grows to catch any regression bugs. On the topic of more complex code, one thing I did not cover are `pytest` fixtures: @@ -40,7 +40,7 @@ Ready to become a `pytest` ninja? You can do it! ### Time to share what you've accomplished! -Be sure to share your last couple of days work on Twitter or Facebook. Use the hashtag **#100DaysOfCode**. +Be sure to share your last couple of days work on Twitter or Facebook. Use the hashtag **#100DaysOfCode**. Here are [some examples](https://twitter.com/search?q=%23100DaysOfCode) to inspire you. Consider including [@talkpython](https://twitter.com/talkpython) and [@pybites](https://twitter.com/pybites) in your tweets. diff --git a/days/16-18-listcomprehensions-generators/README.md b/days/16-18-listcomprehensions-generators/README.md index 10ee0550..1e7f7f34 100644 --- a/days/16-18-listcomprehensions-generators/README.md +++ b/days/16-18-listcomprehensions-generators/README.md @@ -18,11 +18,12 @@ Look at your code and see if you can refactor it to use list comprehensions. Sam I will detail the solution of yesterday's exercise [in my notebook](https://github.com/talkpython/100daysofcode-with-python-course/blob/master/days/16-18-listcomprehensions-generators/list-comprehensions-generators.ipynb) -Today if you have time left, I encourage you to try 2 extra exercises [on our platform](https://codechalleng.es): -- [Bite 5. Parse a list of names](https://codechalleng.es/bites/5/) (use a set comprehension in first function) -- [Bite 26. Dictionary comprehensions are awesome](https://codechalleng.es/bites/promo/awesome-dict-comprehensions) +Today if you have time left, I encourage you to try another exercise [on our platform](https://pybitesplatform.com): -If you still have time left, or you prefer to practice generators check out this cool blog code challenge: [Code Challenge 11 - Generators for Fun and Profit](https://codechalleng.es/challenges/11/) +- [Parse a list of names](https://pybitesplatform.com/bites/parse-a-list-of-names/) +- [Dictionary comprehensions are awesome](https://pybitesplatform.com/bites/dictionary-comprehensions-are-awesome/) + +If you still have time left, or you prefer to practice generators check out this cool blog code challenge: [Code Challenge 11 - Generators for Fun and Profit](https://pybit.es/articles/codechallenge11/) ## Time to share what you've accomplished! diff --git a/days/19-21-itertools/README.md b/days/19-21-itertools/README.md index 586c4733..35bb4301 100644 --- a/days/19-21-itertools/README.md +++ b/days/19-21-itertools/README.md @@ -1,8 +1,8 @@ # Days 19-21: Itertools -Iteration is something you absolutely have to grasp in order to master Python. +Iteration is something you absolutely have to grasp in order to master Python. -Itertools helps make iteration simpler and is incredibly powerful which is why you'll be learning it for the next 3 days! +Itertools helps make iteration simpler and is incredibly powerful which is why you'll be learning it for the next 3 days! ## Day N: Watch videos and Play in the Shell! @@ -16,7 +16,7 @@ After watching the first 4 videos pop into your Python shell and start playing a Yep that's right! For your second day, use itertools to create a script that simulates traffic lights! -The idea is to perhaps... *cycle* (hint hint!) through the different colours of a set of traffic lights - red, amber and green - printing the name of the colour every time the cycle occurs. +The idea is to perhaps... *cycle* (hint hint!) through the different colours of a set of traffic lights - red, amber and green - printing the name of the colour every time the cycle occurs. For bonus points: traffic lights normally cycle between green and red based on traffic levels so you never know exactly when the change will happen. This is a great chance to throw some randomness into your script. @@ -25,22 +25,22 @@ If you get absolutely stuck, watch the *Traffic Lights* video to see how we did ## Day N+2: Your Turn! -For your last day, I'm going to suggest you head to our [codechalleng.es](https://codechalleng.es) platform and take a few of the itertools themed Bites. +For your last day, I'm going to suggest you head to our [Pybites Platform](https://pybitesplatform.com) platform and take a few of the itertools themed Bites. The following 3 links will get you free access to the Bites: -[Bite 64](https://codechalleng.es/bites/promo/itertools-fun1) +[Fix a truncating zip function](https://pybitesplatform.com/bites/fix-a-truncating-zip-function/) -[Bite 17](https://codechalleng.es/bites/promo/itertools-fun2) +[Form teams from a group of friends](https://pybitesplatform.com/bites/form-teams-from-a-group-of-friends/) -[Bite 65](https://codechalleng.es/bites/promo/itertools-fun3) +[Get all valid dictionary words for a draw of letters](https://pybitesplatform.com/bites/get-all-valid-dictionary-words-for-a-draw-of-letters/) You don't need to do them in any particular order, they're just there for you to learn something! ### Time to share what you've accomplished! -Be sure to share your last couple of days work on Twitter or Facebook. Use the hashtag **#100DaysOfCode**. +Be sure to share your last couple of days work on Twitter or Facebook. Use the hashtag **#100DaysOfCode**. Here are [some examples](https://twitter.com/search?q=%23100DaysOfCode) to inspire you. Consider including [@talkpython](https://twitter.com/talkpython) and [@pybites](https://twitter.com/pybites) in your tweets. diff --git a/days/22-24-decorators/README.md b/days/22-24-decorators/README.md index a82a5fac..063a3310 100644 --- a/days/22-24-decorators/README.md +++ b/days/22-24-decorators/README.md @@ -2,21 +2,21 @@ ## Day 1: Quick howto -Welcome to this lesson. Decorators are a sometimes overlooked and more advanced feature. They support a nice way to abstract your code. Although hard to grasp at first there is not that much to it. +Welcome to this lesson. Decorators are a sometimes overlooked and more advanced feature. They support a nice way to abstract your code. Although hard to grasp at first there is not that much to it. In today's videos you will watch me explain this powerful concept. You can follow along with my Jupyter notebook [here](https://github.com/talkpython/100daysofcode-with-python-course/blob/master/days/22-24-decorators/decorators.ipynb). ## Day 2: A practical exercise -Try to take a crack at [Bite 22. Write a decorator with argument](https://codechalleng.es/bites/promo/decorator-fun). +Try to take a crack at [Write a decorator with argument](https://pybitesplatform.com/bites/write-a-decorator-with-argument/). -If you get stuck we have a more open-ended challenge as well: [Write DRY Code With Decorators blog challenge](https://codechalleng.es/challenges/14/). +If you get stuck we have a more open-ended challenge as well: [Write DRY Code With Decorators blog challenge](https://pybit.es/articles/codechallenge14/). Look at the code you have written so far, where could you refactor / add decorators? The more you practice the sooner you grok them and the easier they become. ## Day 3: More practice -The exercise and code challenge of yesterday should keep you busy for a bit, today get some more practice in. +The exercise and code challenge of yesterday should keep you busy for a bit, today get some more practice in. ## Time to share what you've accomplished! diff --git a/days/28-30-regex/README.md b/days/28-30-regex/README.md index a953fb84..120c5a65 100644 --- a/days/28-30-regex/README.md +++ b/days/28-30-regex/README.md @@ -4,7 +4,7 @@ ## Day 1: Quick overview -In today's videos I will teach you the 80/20 you need to know about Python's `re` (regular expression) module. It's a powerful skill to add to your Python toolkit, however I will also show you when not to use them. +In today's videos I will teach you the 80/20 you need to know about Python's `re` (regular expression) module. It's a powerful skill to add to your Python toolkit, however I will also show you when not to use them. ## Day 2: Solidify what you've learned @@ -16,9 +16,9 @@ The best way to learn though is to get practical: try to write some regexes inte ## Day 3: Put your new skill to the test -Take [Bite 2. Regex Fun](https://codechalleng.es/bites/2/) on our platform. It lets you write 3 regexes. +Take [Bite 2. Regex Fun](https://pybitesplatform.com/bites/regex-fun/) on our platform. It lets you write 3 regexes. -Do you prefer to work on your desktop? Maybe you can try [blog challenge 42 - Mastering Regular Expressions](https://codechalleng.es/challenges/42/) which is similar but lets you solve 6 regex problems! +Do you prefer to work on your desktop? Maybe you can try [blog challenge 42 - Mastering Regular Expressions](https://pybit.es/articles/codechallenge42/) which is similar but lets you solve 6 regex problems! B. More fun: `wget` or `request.get` your favorite site and use regex on the output to parse out data (fun trivia: [a similar exercise](https://pybit.es/js_time_scraper_ch.html) is where our code challenges started). diff --git a/days/34-36-refactoring/README.md b/days/34-36-refactoring/README.md index 10f8ab55..9df4c02a 100644 --- a/days/34-36-refactoring/README.md +++ b/days/34-36-refactoring/README.md @@ -25,7 +25,7 @@ Ideally you combine this lesson with [Day 10-12 `pytest`](https://github.com/tal ## Day 2 and 3: Refactor your code -Take our [Blog Code Challenge 30: The Art of Refactoring: Improve Your Code](https://codechalleng.es/challenges/30/) +Take our [Blog Code Challenge 30: The Art of Refactoring: Improve Your Code](https://pybit.es/articles/codechallenge30/) Check out [the notebook](https://github.com/talkpython/100daysofcode-with-python-course/blob/master/days/34-36-refactoring/refactoring.ipynb) for further instructions. diff --git a/days/40-42-json-data/README.md b/days/40-42-json-data/README.md index 38dccc84..6db6ef1c 100644 --- a/days/40-42-json-data/README.md +++ b/days/40-42-json-data/README.md @@ -14,7 +14,7 @@ These videos will demo some basic JSON schema as well a complex data set. After ## Day N+1: Parsing JSON nested dicts -One of the hardest things with JSON is grabbing data that's nested deep within the dict tree of the JSON schema. +One of the hardest things with JSON is grabbing data that's nested deep within the dict tree of the JSON schema. Watch *Parsing JSON nested dicts* to get a first hand look how to do this. @@ -23,7 +23,7 @@ Use the rest of this day to play around with the included JSON data provided in ## Day N+2: Your Turn! -Day 3 means it's your turn! Head over to [PyBites Code Challenge 16](https://codechalleng.es/challenges/16/) and query your favourite API. +Day 3 means it's your turn! Head over to [PyBites Code Challenge 16](https://pybit.es/articles/codechallenge16/) and query your favourite API. A great choice is the [OMDb API](http://www.omdbapi.com/) to query your favourite movies. @@ -34,7 +34,7 @@ Enjoy! ### Time to share what you've accomplished! -Be sure to share your last couple of days work on Twitter or Facebook. Use the hashtag **#100DaysOfCode**. +Be sure to share your last couple of days work on Twitter or Facebook. Use the hashtag **#100DaysOfCode**. Here are [some examples](https://twitter.com/search?q=%23100DaysOfCode) to inspire you. Consider including [@talkpython](https://twitter.com/talkpython) and [@pybites](https://twitter.com/pybites) in your tweets. diff --git a/days/58-60-twitter-api/README.md b/days/58-60-twitter-api/README.md index d00467c2..d34ce066 100644 --- a/days/58-60-twitter-api/README.md +++ b/days/58-60-twitter-api/README.md @@ -6,7 +6,7 @@ In today's lesson we will do some analysis of Twitter data! If you want to follo First you will set up a [virtual environment](https://pybit.es/the-beauty-of-virtualenv.html), install `tweepy` and set some ENV variables. -Then we will retrieve PyBites tweets which we will put in a [nice wordcloud](https://github.com/amueller/word_cloud) in the shape of [our PyBites logo](https://codechalleng.es/static/img/pybites-premium.png). +Then we will retrieve PyBites tweets which we will put in a [nice wordcloud](https://github.com/amueller/word_cloud) in the shape of our (old) PyBites logo (update: we have a new logo now, but see [this banner](https://pybit.es/articles/decorators-by-example/) for example for the old one). ![pybites wordcloud](wordcloud-image.png) diff --git a/days/73-75-selenium/README.md b/days/73-75-selenium/README.md index c234d149..d2c83287 100644 --- a/days/73-75-selenium/README.md +++ b/days/73-75-selenium/README.md @@ -10,9 +10,9 @@ Today you watch the videos. You can follow along with my notebook [here](https:/ ## Day 2 and 3: Practice time! -Now it's your turn. The goal is to have you get your hands dirty using Python Selenium. +Now it's your turn. The goal is to have you get your hands dirty using Python Selenium. -Try to complete [PyBites Code Challenge 32 - Test a Simple Django App With Selenium ](https://codechalleng.es/challenges/32/) and PR your work. [My notebook](https://github.com/talkpython/100daysofcode-with-python-course/blob/master/days/73-75-selenium/python-selenium.ipynb) has some more pointers as well. +Try to complete [PyBites Code Challenge 32 - Test a Simple Django App With Selenium ](https://pybit.es/articles/codechallenge32/) and PR your work. [My notebook](https://github.com/talkpython/100daysofcode-with-python-course/blob/master/days/73-75-selenium/python-selenium.ipynb) has some more pointers as well. ## Time to share what you've accomplished!