Skip to content

Commit 4ab6679

Browse files
images updated, more resources for what next post
1 parent 728ba89 commit 4ab6679

File tree

9 files changed

+53
-26
lines changed

9 files changed

+53
-26
lines changed

atom.xml

Lines changed: 23 additions & 12 deletions
Large diffs are not rendered by default.

images/books/js_regexp_example.png

23.8 KB
Loading

images/books/pyregex_example.png

-12.5 KB
Loading

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ <h1 class="post__title">
211211
</header>
212212

213213
<div class="post__summary">
214-
<p><img src="/images/books/pyregex_example.png" alt="regexp example" /></p>
214+
<p><img src="/images/books/js_regexp_example.png" alt="regexp example" /></p>
215215
<p><em>Above diagram created using <a href="https://jex.im/regulex">Regulex</a></em></p>
216216

217217
</div>

javascript-regexp-cheatsheet/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ <h1 class="post__title">
156156
</header>
157157

158158
<div class="post-content">
159-
<p><img src="/images/books/pyregex_example.png" alt="regexp example" /></p>
159+
<p><img src="/images/books/js_regexp_example.png" alt="regexp example" /></p>
160160
<p><em>Above diagram created using <a href="https://jex.im/regulex">Regulex</a></em></p>
161161
<span id="continue-reading"></span><br>
162162
<p>This blog post gives an overview of regular expression syntax and features supported by JavaScript. Examples have been tested on Chrome/Chromium console (version 81+) and includes features not available in other browsers and platforms. Assume ASCII character set unless otherwise specified. This post is an excerpt from my <a href="https://github.com/learnbyexample/learn_js_regexp">JavaScript RegExp</a> book.</p>
@@ -525,7 +525,7 @@ <h2 id="regular-expression-examples">Regular expression examples<a class="zola-a
525525
<p><img src="/images/books/regulex.png" alt="regulex example" /></p>
526526
<h2 id="javascript-regexp-book">JavaScript RegExp book<a class="zola-anchor" href="#javascript-regexp-book" aria-label="Anchor link for: javascript-regexp-book">🔗</a></h2>
527527
<p>Visit my repo <a href="https://github.com/learnbyexample/learn_js_regexp">learn_js_regexp</a> for details about the book I wrote on JavaScript regular expressions. The ebook uses plenty of examples to explain the concepts from the basics and includes <a href="https://github.com/learnbyexample/learn_js_regexp/blob/master/Exercises.md">exercises</a> to test your understanding. The cheatsheet and examples presented in this post are based on contents of this book.</p>
528-
<p><img src="/images/books/js_regexp.png" alt="JavaScript cover image" /></p>
528+
<p align="center"><img src="/images/books/js_regexp.png" alt="JavaScript regexp book cover image" /></p>
529529

530530
</div>
531531

page/2/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,8 @@ <h1 class="post__title">
124124
</header>
125125

126126
<div class="post__summary">
127-
<p><img src="/images/books/pyregex_example.png" alt="pyregex example" /></p>
128-
<p><em>Above diagram created using <a href="https://jex.im/regulex">Regulex</a></em></p>
127+
<p align="center"><img src="/images/books/pyregex_example.png" alt="pyregex example" /></p>
128+
<p><em>Above visualization is a screenshot created using</em> <a href="https://www.debuggex.com">debuggex</a> <em>for the pattern</em> <code>r'\bpar(en|ro)?t\b'</code></p>
129129

130130
</div>
131131
<div class="read-more">

python-intermediate/index.html

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,11 @@ <h2 class="post-toc-title">Contents</h2>
117117
<nav id="TableOfContents">
118118
<ul>
119119

120+
<li>
121+
<a href="https://learnbyexample.github.io/python-intermediate/#next-step" class="toc-link">Next step</a>
122+
123+
</li>
124+
120125
<li>
121126
<a href="https://learnbyexample.github.io/python-intermediate/#exercises-and-projects" class="toc-link">Exercises and Projects</a>
122127

@@ -168,6 +173,7 @@ <h1 class="post__title">
168173
<div class="post-content">
169174
<p align="center"><img src="/images/what_next.png" alt="what next" /></p>
170175
<span id="continue-reading"></span><br>
176+
<h2 id="next-step">Next step<a class="zola-anchor" href="#next-step" aria-label="Anchor link for: next-step">🔗</a></h2>
171177
<p>What to learn next is an often asked question. <a href="https://www.reddit.com/r/learnpython/search?q=what+next&amp;restrict_sr=on">Searching for <code>what next</code> on /r/learnpython</a> gives you too many results. Here's some more Q&amp;A and articles on this topic:</p>
172178
<ul>
173179
<li><a href="https://www.devdungeon.com/content/i-know-how-program-i-dont-know-what-program">I know how to program, but I don't know what to program</a></li>
@@ -214,7 +220,13 @@ <h2 id="testing">Testing<a class="zola-anchor" href="#testing" aria-label="Ancho
214220
<p>Another crucial aspect in the programming journey is knowing how to write tests. In bigger projects, usually there are separate engineers (often in much larger number than code developers) to test the code. Even in those cases, writing a few sanity test cases yourself can help you develop faster knowing that the changes aren't breaking basic functionality.</p>
215221
<p>There's no single consensus on test methodologies. There is <a href="https://en.wikipedia.org/wiki/Unit_testing">Unit testing</a>, <a href="https://en.wikipedia.org/wiki/Integration_testing">Integration testing</a>, <a href="https://en.wikipedia.org/wiki/Test-driven_development">Test-driven development</a> and so on. Often, a combination of these is used. These days, machine learning is also being considered to reduce the testing time, see <a href="https://hacks.mozilla.org/2020/07/testing-firefox-more-efficiently-with-machine-learning/">Testing Firefox more efficiently with machine learning</a> for example.</p>
216222
<p>When I start a project, I usually try to write the programs incrementally. Say I need to iterate over files from a directory. I will make sure that portion is working (usually with <code>print</code> statements), then add another feature — say file reading and test that and so on. This reduces the burden of testing a large program at once at the end. And depending upon the nature of the program, I'll add a few sanity tests at the end. For example, for my <a href="https://github.com/learnbyexample/command_help">command_help</a> project, I copy pasted a few test runs of the program with different options and arguments into a separate file and wrote a program to perform these tests programmatically whenever the source code is modified.</p>
217-
<p>For non-trivial projects, you'll usually end up needing frameworks like built-in module <code>unittest</code> or third-party modules like <code>pytest</code>. See <a href="https://realpython.com/python-testing/">Getting started with testing in Python</a> and <a href="https://calmcode.io/pytest/introduction.html">calmcode: pytest</a> for discussion on these topics.</p>
223+
<p>For non-trivial projects, you'll usually end up needing frameworks like built-in module <code>unittest</code> or third-party modules like <code>pytest</code>. Here's some learning resources.</p>
224+
<ul>
225+
<li><a href="https://realpython.com/python-testing/">Getting started with testing in Python</a></li>
226+
<li><a href="https://calmcode.io/pytest/introduction.html">calmcode: pytest</a></li>
227+
<li><a href="https://www.obeythetestinggoat.com/">obeythetestinggoat</a> — TDD for the Web, with Python, Selenium, Django, JavaScript and pals</li>
228+
<li><a href="https://testdriven.io/blog/modern-tdd/">Modern Test-Driven Development in Python</a> — TDD guide, has a real world application example</li>
229+
</ul>
218230
<br>
219231
<h2 id="intermediate-python-resources">Intermediate Python resources<a class="zola-anchor" href="#intermediate-python-resources" aria-label="Anchor link for: intermediate-python-resources">🔗</a></h2>
220232
<ul>
@@ -229,6 +241,7 @@ <h2 id="intermediate-python-resources">Intermediate Python resources<a class="zo
229241
</ul>
230242
</li>
231243
<li><a href="https://nostarch.com/seriouspython">Serious Python</a> — deployment, scalability, testing, and more</li>
244+
<li><a href="https://www.manning.com/books/practices-of-the-python-pro">Practices of the Python Pro</a> — learn to design professional-level, clean, easily maintainable software at scale, includes examples for software development best practices</li>
232245
<li><a href="https://pythonprogramming.net/">Pythonprogramming</a> — domain based topics like machine learning, game development, data analysis, web development, etc</li>
233246
<li><a href="https://www.youtube.com/user/schafer5/playlists">Youtube: Corey Schafer</a> — various topics for beginners to advanced users</li>
234247
</ul>
@@ -245,6 +258,7 @@ <h2 id="handy-cheatsheets">Handy cheatsheets<a class="zola-anchor" href="#handy-
245258
<li><a href="https://ehmatthes.github.io/pcc_2e/cheat_sheets/cheat_sheets/">Python Crash Course cheatsheet</a></li>
246259
<li><a href="https://gto76.github.io/python-cheatsheet/">Comprehensive Python cheatsheet</a></li>
247260
<li><a href="https://ipgp.github.io/scientific_python_cheat_sheet/">Scientific Python cheatsheet</a></li>
261+
<li><a href="https://pythonforbiologists.com/29-common-beginner-errors-on-one-page/">Common beginner errors</a> — use the pdf link</li>
248262
</ul>
249263
<br>
250264
<h2 id="more-python-resources">More Python resources<a class="zola-anchor" href="#more-python-resources" aria-label="Anchor link for: more-python-resources">🔗</a></h2>

python-regex-cheatsheet/index.html

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,8 @@ <h1 class="post__title">
156156
</header>
157157

158158
<div class="post-content">
159-
<p><img src="/images/books/pyregex_example.png" alt="pyregex example" /></p>
160-
<p><em>Above diagram created using <a href="https://jex.im/regulex">Regulex</a></em></p>
159+
<p align="center"><img src="/images/books/pyregex_example.png" alt="pyregex example" /></p>
160+
<p><em>Above visualization is a screenshot created using</em> <a href="https://www.debuggex.com">debuggex</a> <em>for the pattern</em> <code>r'\bpar(en|ro)?t\b'</code></p>
161161
<span id="continue-reading"></span><br>
162162
<p>From <a href="https://docs.python.org/3/library/re.html">docs.python: re</a>:</p>
163163
<blockquote>
@@ -260,7 +260,9 @@ <h2 id="elements-that-define-a-regular-expression">Elements that define a regula
260260
<tr><td><code>groupdict</code></td><td>method applied on a <code>re.Match</code> object</td></tr>
261261
<tr><td></td><td>gives named capture group portions as a <code>dict</code></td></tr>
262262
</tbody></table>
263-
<p><code>\0</code> and <code>\100</code> onwards are considered as octal values, hence cannot be used as backreferences.</p>
263+
<blockquote>
264+
<p><img src="/images/info.svg" alt="info" /> <code>\0</code> and <code>\100</code> onwards are considered as octal values, hence cannot be used as backreferences.</p>
265+
</blockquote>
264266
<h2 id="re-module-functions">re module functions<a class="zola-anchor" href="#re-module-functions" aria-label="Anchor link for: re-module-functions">🔗</a></h2>
265267
<table><thead><tr><th>Function</th><th>Description</th></tr></thead><tbody>
266268
<tr><td><code>re.search</code></td><td>Check if given pattern is present anywhere in input string</td></tr>
@@ -537,7 +539,7 @@ <h2 id="regular-expression-examples">Regular expression examples<a class="zola-a
537539
<h2 id="python-re-gex-book">Python re(gex)? book<a class="zola-anchor" href="#python-re-gex-book" aria-label="Anchor link for: python-re-gex-book">🔗</a></h2>
538540
<p>Visit my repo <a href="https://github.com/learnbyexample/py_regular_expressions">Python re(gex)?</a> for details about the book I wrote on Python regular expressions. The ebook uses plenty of examples to explain the concepts from the very beginning and step by step introduces more advanced concepts. The book also covers the <a href="https://pypi.org/project/regex/">third party module regex</a>. The cheatsheet and examples presented in this post are based on contents of this book.</p>
539541
<p>Use <a href="https://leanpub.com/py_regex/c/P7erPYAm1386">this leanpub link</a> for a discounted price.</p>
540-
<p><img src="/images/books/pyregex.png" alt="pyregex cover image" /></p>
542+
<p align="center"><img src="/images/books/pyregex.png" alt="Python regex book cover image" /></p>
541543

542544
</div>
543545

sitemap.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@
1515
</url>
1616
<url>
1717
<loc>https://learnbyexample.github.io/customizing-pandoc/</loc>
18-
<lastmod>2020-07-21</lastmod>
18+
<lastmod>2020-10-09</lastmod>
1919
</url>
2020
<url>
2121
<loc>https://learnbyexample.github.io/grep-book-announcement/</loc>
2222
<lastmod>2019-05-16</lastmod>
2323
</url>
2424
<url>
2525
<loc>https://learnbyexample.github.io/javascript-regexp-cheatsheet/</loc>
26-
<lastmod>2020-07-20</lastmod>
26+
<lastmod>2020-11-12</lastmod>
2727
</url>
2828
<url>
2929
<loc>https://learnbyexample.github.io/page/1/</loc>
@@ -44,15 +44,15 @@
4444
</url>
4545
<url>
4646
<loc>https://learnbyexample.github.io/python-intermediate/</loc>
47-
<lastmod>2020-07-25</lastmod>
47+
<lastmod>2020-11-12</lastmod>
4848
</url>
4949
<url>
5050
<loc>https://learnbyexample.github.io/python-regex-book-version2/</loc>
5151
<lastmod>2019-08-09</lastmod>
5252
</url>
5353
<url>
5454
<loc>https://learnbyexample.github.io/python-regex-cheatsheet/</loc>
55-
<lastmod>2020-07-03</lastmod>
55+
<lastmod>2020-11-12</lastmod>
5656
</url>
5757
<url>
5858
<loc>https://learnbyexample.github.io/sed-lookarounds/</loc>

0 commit comments

Comments
 (0)