mirror of
https://github.com/EbookFoundation/free-programming-books.git
synced 2026-07-08 13:21:55 +00:00
Compare commits
17 Commits
e2fadc5fd0
...
55e3c332b1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
55e3c332b1 | ||
|
|
eae2cced9a | ||
|
|
24a2cba658 | ||
|
|
7fe9140232 | ||
|
|
a1caec25a9 | ||
|
|
4d71a7e0c6 | ||
|
|
5136c818af | ||
|
|
3b07f7894d | ||
|
|
655824ce0f | ||
|
|
b0ba59eebe | ||
|
|
e5cef4aa3e | ||
|
|
a200430e9a | ||
|
|
a7fbb0d82f | ||
|
|
b0ceabf34a | ||
|
|
39f7e81f55 | ||
|
|
baea82ef24 | ||
|
|
aaf8a83d83 |
@ -408,7 +408,7 @@ Books on general-purpose programming that don't focus on a specific language are
|
||||
* [Linux Shell Scripting With Bash](https://archive.org/download/B-001-002-839/LinuxShellScriptingWithBash-Sams.pdf) - Ken O. Burtch (PDF)
|
||||
* [Slackbook (2005)](http://slackbook.org) - Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson (HTML, DocBook, Postscript, PDF)
|
||||
* [The Bash Academy](http://guide.bash.academy) - Maarten Billemont (HTML)
|
||||
* [The Linux Command Line](http://linuxcommand.org/tlcl.php) - William E. Shotts Jr. (PDF)
|
||||
* [The Linux Command Line](http://linuxcommand.org/tlcl.php) - William E. Shotts Jr. (PDF) (CC BY-NC-ND)
|
||||
* [The Shell Scripting Tutorial](https://www.shellscript.sh) - Steve Parker (HTML)
|
||||
* [Writing Shell Scripts](http://linuxcommand.org/lc3_writing_shell_scripts.php) - William E. Shotts Jr. (HTML)
|
||||
|
||||
@ -465,7 +465,7 @@ Books on general-purpose programming that don't focus on a specific language are
|
||||
* [Learning GNU C](https://download-mirror.savannah.gnu.org/releases/c-prog-book/learning_gnu_c.pdf) - Ciaran O’Riordan (PDF)
|
||||
* [Let us C](https://books.google.co.in/books?id=Ce6gAAAACAAJ&printsec=frontcover#v=onepage&q&f=false) - Yashavant Kanetkar (PDF)
|
||||
* [Modeling with Data](https://ben.klemens.org/pdfs/gsl_stats.pdf) - Ben Klemens (PDF)
|
||||
* [Modern C](https://gustedt.gitlabpages.inria.fr/modern-c/) - Jens Gustedt (PDF)
|
||||
* [Modern C](https://gustedt.gitlabpages.inria.fr/modern-c/) - Jens Gustedt (PDF) (CC BY-NC-ND)
|
||||
* [Object-Oriented Programming With ANSI-C](https://www.cs.rit.edu/~ats/books/ooc.pdf) - Axel-Tobias Schreiner (PDF)
|
||||
* [Programming in C](http://ee.hawaii.edu/~tep/EE160/Book/PDF/) - Bharat Kinariwala & Tep Dobry
|
||||
* [Programming in C](https://www.freetechbooks.com/programming-in-c-t1337.html) - Kishori Mundargi
|
||||
@ -1582,6 +1582,7 @@ Books on general-purpose programming that don't focus on a specific language are
|
||||
|
||||
### Make
|
||||
|
||||
* [GNU Make Manual](https://www.gnu.org/software/make/manual) - GNU (PDF, HTML, Info, Tex)
|
||||
* [Makefile tutorial](https://makefiletutorial.com) - Chase Lambert
|
||||
* [Managing Projects with GNU Make](https://www.oreilly.com/openbook/make3/book/index.html) - Robert Mecklenburg
|
||||
|
||||
@ -1968,7 +1969,7 @@ Books on general-purpose programming that don't focus on a specific language are
|
||||
* [A Whirlwind Tour of Python](https://jakevdp.github.io/WhirlwindTourOfPython/) - Jake VanderPlas
|
||||
* [An Introduction to Statistical Learning with Applications in Python](https://www.statlearning.com) - Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani, Jonathan Taylor (PDF)
|
||||
* [Architecture Patterns with Python](https://www.cosmicpython.com/book/preface.html) - Harry J.W. Percival, Bob Gregory (HTML)
|
||||
* [Automate the Boring Stuff with Python, 3nd Edition: Practical Programming for Total Beginners](https://automatetheboringstuff.com/3e/) - Al Sweigart (HTML)
|
||||
* [Automate the Boring Stuff with Python, 3nd Edition: Practical Programming for Total Beginners](https://automatetheboringstuff.com/3e/) - Al Sweigart (HTML) (CC BY-NC-SA)
|
||||
* [Beej's Guide to Python Programming - For Beginners](http://beej.us/guide/bgpython/) - Brian "Beej Jorgensen" Hall (HTML,PDF)
|
||||
* [Beyond the Basic Stuff with Python](https://inventwithpython.com/beyond/) - Al Sweigart (3.x)
|
||||
* [Biopython Tutorial and Cookbook](https://biopython.org/DIST/docs/tutorial/Tutorial.pdf) (PDF)
|
||||
@ -2001,7 +2002,7 @@ Books on general-purpose programming that don't focus on a specific language are
|
||||
* [Hitchhiker's Guide to Python!](http://docs.python-guide.org/en/latest/) (2.6)
|
||||
* [How to Code in Python 3](https://assets.digitalocean.com/books/python/how-to-code-in-python.pdf) - Lisa Tagliaferri (PDF)
|
||||
* [How to Think Like a Computer Scientist: Learning with Python, Interactive Edition](https://runestone.academy/runestone/books/published/thinkcspy/index.html) - Brad Miller, David Ranum, Jeffrey Elkner, Peter Wentworth, Allen B. Downey, Chris Meyers, Dario Mitchell (3.2)
|
||||
* [How to Think Like a Computer Scientist: Learning with Python 1st Edition](https://greenteapress.com/wp/learning-with-python/) - Allen B. Downey, Jeff Elkner, Chris Meyers (2.4) (HTML, PDF)
|
||||
* [How to Think Like a Computer Scientist: Learning with Python 1st Edition](https://greenteapress.com/wp/learning-with-python/) - Allen B. Downey, Jeff Elkner, Chris Meyers (2.4) (HTML, PDF) (GFDL)
|
||||
* [How to Think Like a Computer Scientist: Learning with Python 2nd Edition](https://openbookproject.net/thinkcs/python/english2e/) - Jeffrey Elkner, Allen B. Downey, Chris Meyers (Using Python 2.x)
|
||||
* [How to Think Like a Computer Scientist: Learning with Python 3 (AoPS Edition)](https://artofproblemsolving.com/assets/pythonbook/) - AoPS Incorporated, Peter Wentworth, Jeffrey Elkner, Allen B. Downey, Chris Meyers (HTML)
|
||||
* [How to Think Like a Computer Scientist: Learning with Python 3 (RLE)](https://openbookproject.net/thinkcs/python/english3e/) - Peter Wentworth, Jeffrey Elkner, Allen B. Downey, Chris Meyers [(PDF)](https://www.ict.ru.ac.za/Resources/cspw/thinkcspy3/thinkcspy3.pdf)
|
||||
@ -2010,6 +2011,7 @@ Books on general-purpose programming that don't focus on a specific language are
|
||||
* [Introduction to Programming with Python](http://opentechschool.github.io/python-beginners/en/) (3.3)
|
||||
* [Introduction to Programming Using Python](http://python-ebook.blogspot.co.uk) - Cody Jackson (1st edition) (2.3)
|
||||
* [Introduction to Python](http://kracekumar.com/post/71171551647/introduction-to-python) - Kracekumar (2.7.3)
|
||||
* [Introduction to Python](https://openstax.org/details/books/introduction-python-programming) - OpenStax (PDF) (CC BY)
|
||||
* [Introduction to Python for Econometrics, Statistics and Numerical Analysis](https://www.kevinsheppard.com/files/teaching/python/notes/python_introduction_2020.pdf) - Kevin Sheppard (PDF) (3.8)
|
||||
* [Introduction to Scientific Programming with Python](https://library.oapen.org/bitstream/id/56d27e73-e92a-4398-8198-239be7aacc93/2020_Book_IntroductionToScientificProgra.pdf) - Joakim Sundnes (PDF) (CC BY)
|
||||
* [Invent Your Own Computer Games With Python](https://inventwithpython.com/invent4thed/) - Al Sweigart (3.4)
|
||||
@ -2025,7 +2027,7 @@ Books on general-purpose programming that don't focus on a specific language are
|
||||
* [Lectures on scientific computing with python](https://github.com/jrjohansson/scientific-python-lectures) - J.R. Johansson (2.7)
|
||||
* [Making Games with Python & Pygame](https://inventwithpython.com/pygame/chapters/) - Al Sweigart (3.2) (CC BY-NC-SA)
|
||||
* [Math for programmers (using python)](https://akuli.github.io/math-tutorial/)
|
||||
* [Modeling and Simulation in Python](https://greenteapress.com/wp/modsimpy/) - Allen B. Downey (PDF)
|
||||
* [Modeling and Simulation in Python](https://greenteapress.com/wp/modsimpy/) - Allen B. Downey (PDF) (CC BY-NC)
|
||||
* [Modeling Creativity: Case Studies in Python](https://arxiv.org/pdf/1410.0281.pdf) - Tom D. De Smedt (PDF)
|
||||
* [Natural Language Processing (NLP) with Python — Tutorial](https://medium.com/towards-artificial-intelligence/natural-language-processing-nlp-with-python-tutorial-for-beginners-1f54e610a1a0) (PDF)
|
||||
* [Natural Language Processing with Python](http://www.nltk.org/book/) (3.x)
|
||||
@ -2091,7 +2093,7 @@ Books on general-purpose programming that don't focus on a specific language are
|
||||
* [The Recursive Book of Recursion](https://inventwithpython.com/recursion/) - Al Sweigart (HTML) (3.x)
|
||||
* [The Standard Python Library](https://web.archive.org/web/20200626001242/http://effbot.org/librarybook/) - Fredrik Lundh *( :card_file_box: archived)*
|
||||
* [Think Complexity](https://greenteapress.com/wp/think-complexity-2e/) - Allen B. Downey (2nd Edition) (PDF, HTML)
|
||||
* [Think DSP - Digital Signal Processing in Python](https://greenteapress.com/wp/think-dsp/) - Allen B. Downey (PDF, HTML)
|
||||
* [Think DSP - Digital Signal Processing in Python](https://greenteapress.com/wp/think-dsp/) - Allen B. Downey (PDF, HTML) (CC BY-NC)
|
||||
* [Think Python 2nd Edition](https://greenteapress.com/wp/think-python-2e/) - Allen B. Downey (3.x) (HTML, PDF) (CC BY-NC)
|
||||
* [Think Python First Edition](https://greenteapress.com/wp/think-python/) - Allen B. Downey (2.x) (HTML, PDF) (CC BY-NC)
|
||||
* [Tiny Python 3.6 Notebook](https://github.com/mattharrison/Tiny-Python-3.6-Notebook) - Matt Harrison (3.6)
|
||||
@ -2238,6 +2240,7 @@ Books on general-purpose programming that don't focus on a specific language are
|
||||
|
||||
* [Metagenomics](https://kyclark.gitbooks.io/metagenomics) - Ken Youens-Clark
|
||||
* [Perl 6 at a Glance](https://andrewshitov.com/wp-content/uploads/2020/01/Perl-6-at-a-Glance.pdf) - Andrew Shitov (PDF)
|
||||
* [Raku Documentation](https://docs.raku.org) - Raku Documentation (HTML)
|
||||
* [Raku Guide](https://raku.guide) (HTML) [(PDF)](https://github.com/hankache/rakuguide) (CC BY-SA)
|
||||
* [Raku One-Liners](https://andrewshitov.com/wp-content/uploads/2020/01/Raku-One-Liners.pdf) - Andrew Shitov (PDF)
|
||||
* [Raku Programming](https://en.wikibooks.org/wiki/Raku_Programming) - Wikibooks (HTML)
|
||||
@ -2656,6 +2659,7 @@ Books on general-purpose programming that don't focus on a specific language are
|
||||
|
||||
### Verilog
|
||||
|
||||
* [SystemVerilog](https://systemverilog.dev) - Keyi Zhang (HTML)
|
||||
* [Verilog, Formal Verification and Verilator Beginner's Tutorial](https://zipcpu.com/tutorial/) - Daniel E. Gisselquist
|
||||
* [Verilog Quick Reference Guide - Sutherland HDL](http://sutherland-hdl.com/pdfs/verilog_2001_ref_guide.pdf) (PDF)
|
||||
* [Verilog Tutorial](http://www.asic-world.com/verilog/veritut.html)
|
||||
@ -2725,4 +2729,6 @@ Books on general-purpose programming that don't focus on a specific language are
|
||||
### Zig
|
||||
|
||||
* [Introduction to Zig](https://pedropark99.github.io/zig-book) - Pedro Duarte Faria (HTML)
|
||||
* [Zig Guide](https://zig.guide) (HTML)
|
||||
* [Zig Language Reference](https://devdocs.io/zig) - DevDocs
|
||||
* [Zig Language Reference](https://ziglang.org/documentation/master) (HTML)
|
||||
|
||||
@ -110,7 +110,6 @@ Books that cover a specific programming language can be found in the [BY PROGRAM
|
||||
* [Binary Trees](http://cslibrary.stanford.edu/110/BinaryTrees.pdf) - Nick Parlante (PDF)
|
||||
* [Data Structures](https://adityacse.weebly.com/uploads/2/4/0/7/24078687/data-structures.pdf) - Aditya CSE (PDF)
|
||||
* [Data Structures](https://en.wikibooks.org/wiki/Data_Structures) - Wikibooks
|
||||
* [Data Structures (Into Java)](https://inst.eecs.berkeley.edu/~cs61b/fa14/book2/data-structures.pdf) - Paul N. Hilfinger (PDF)
|
||||
* [Data Structures and Algorithm Analysis in C++](https://people.cs.vt.edu/~shaffer/Book/C++3elatest.pdf) - Clifford A. Shaffer (PDF)
|
||||
* [Data Structures and Algorithms: Annotated Reference with Examples](https://web.archive.org/web/20170715160229/http://dotnetslackers.com/Community/files/folders/data-structures-and-algorithms/entry30283.aspx) - G. Barnett, L. Del Tongo *( :card_file_box: archived)*
|
||||
* [Data Structures Succinctly Part 1, Syncfusion](https://www.syncfusion.com/resources/techportal/ebooks/datastructurespart1) - Robert Horvick
|
||||
@ -552,8 +551,8 @@ Books that cover a specific programming language can be found in the [BY PROGRAM
|
||||
* [SticiGui](https://www.stat.berkeley.edu/~stark/SticiGui/) - Philip Stark
|
||||
* [Tea Time Numerical Analysis](https://lqbrin.github.io/tea-time-numerical/) - Leon Q. Brin
|
||||
* [The Open Logic Text](https://builds.openlogicproject.org/open-logic-complete.pdf) - Open Logic Project (PDF)
|
||||
* [Think Bayes: Bayesian Statistics Made Simple](https://www.greenteapress.com/thinkbayes/) - Allen B. Downey
|
||||
* [Think Stats: Probability and Statistics for Programmers](https://greenteapress.com/thinkstats/) - Allen B. Downey (using Python)
|
||||
* [Think Bayes: Bayesian Statistics Made Simple](https://www.greenteapress.com/thinkbayes/) - Allen B. Downey (CC BY-NC-SA)
|
||||
* [Think Stats: Probability and Statistics for Programmers](https://greenteapress.com/thinkstats/) - Allen B. Downey (using Python) (CC BY-NC-SA)
|
||||
* [Yet Another Introductory Number Theory Textbook](https://www.poritz.net/jonathan/share/yaintt.pdf) - Jonathan A. Poritz (PDF)
|
||||
|
||||
|
||||
@ -689,6 +688,7 @@ Books that cover a specific programming language can be found in the [BY PROGRAM
|
||||
* [Signal Computing: Digital Signals in the Software Domain](http://faculty.washington.edu/stiber/pubs/Signal-Computing/Signal%20Computing.pdf) - Michael Stiber, Bilin Zhang Stiber, Eric C. Larson (PDF)
|
||||
* [Site Reliability Engineering - How Google run production systems](https://sre.google/sre-book/table-of-contents/) - Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Murphy (HTML)
|
||||
* [Small Memory Software](https://smallmemory.charlesweir.com/book.html) - Charles Weir, James Noble (HTML)
|
||||
* [Software-Defined Radio for Engineers](https://www.analog.com/media/en/training-seminars/design-handbooks/Software-Defined-Radio-for-Engineers-2018/SDR4Engineers.pdf) - Travis Collins, et al. (PDF)
|
||||
* [Software Technical Writing: A Guidebook](https://jamesg.blog/book.pdf) - James Gallagher (PDF)
|
||||
* [The Art of High Perfomance Computing - Volume 1: The Science of Computing](https://theartofhpc.com/istc/index.html) - Victor Eijkhout (HTML)
|
||||
* [The Art of High Perfomance Computing - Volume 2: Parallel Programming for Science Engineering](https://theartofhpc.com/pcse/index.html) - Victor Eijkhout (HTML)
|
||||
@ -834,7 +834,7 @@ Kerridge (PDF) (email address *requested*, not required)
|
||||
* [The Craft of Programming](https://kilthub.cmu.edu/articles/The_Craft_of_Programming/6610514) - John C. Reynolds
|
||||
* [The Nature of Code](https://natureofcode.com/book) - Daniel Shiffman (HTML)
|
||||
* [The Super Programmer](https://github.com/keyvank/tsp) - Keyvan Kambakhsh (PDF, HTML) *( :construction: in process)*
|
||||
* [Think Complexity](https://greenteapress.com/wp/think-complexity-2e/) - - Allen B. Downey (2nd Edition) (PDF, HTML)
|
||||
* [Think Complexity](https://greenteapress.com/wp/think-complexity-2e/) - Allen B. Downey (2nd Edition) (PDF, HTML) (CC BY-NC-SA)
|
||||
|
||||
|
||||
### Programming Paradigms
|
||||
|
||||
@ -17,6 +17,7 @@
|
||||
* [Tailwind](#tailwind)
|
||||
* [IDE and editors](#ide-and-editors)
|
||||
* [Java](#java)
|
||||
* [Spring Boot](#spring-boot)
|
||||
* [JavaScript](#javascript)
|
||||
* [Angular](#angular)
|
||||
* [Electron](#electron)
|
||||
@ -187,9 +188,15 @@
|
||||
* [Java Bangla Tutorials \| CORE Java \| Complete OOP](https://www.youtube.com/playlist?list=PLgH5QX0i9K3oAZUB2QXR-dZac0c9HNyRa) - Anisul Islam
|
||||
* [Java Basic Syntax Bangla Tutorial](https://www.youtube.com/playlist?list=PLdl6zXgLsy3xCae1uL6rJ8Ay9sIiyBy5I) - Bangla Coding Tutor
|
||||
* [Java Course! Full Course Bangla](https://www.youtube.com/playlist?list=PLysy6TYSMvpJmMN0ElbC936RmmFustDiy) - Online Course
|
||||
* [Java For Beginners](https://www.youtube.com/playlist?list=PLvr0Ht-XkB_0KC2-N3hv0V3ib-Z6wKkAy) - Learn With Tawhid
|
||||
* [Java Swing Bangla Tutorials](https://www.youtube.com/playlist?list=PLgH5QX0i9K3rAHKr6IteF5kdgN6BorH9l) - Anisul Islam
|
||||
|
||||
|
||||
#### Spring Boot
|
||||
|
||||
* [Spring Boot for Beginners](https://www.youtube.com/watch?v=ELL1Pwd3W28) - Yeamim Hossain Sajid
|
||||
|
||||
|
||||
### JavaScript
|
||||
|
||||
* [DOM: Client Side Javascript](https://www.youtube.com/playlist?list=PL_XxuZqN0xVA10Q5UxbhG3zTPpe_ZdDGg) - Stack Learner
|
||||
|
||||
@ -154,10 +154,10 @@
|
||||
* [Algorithms and Data Structures Tutorial - Full Course for Beginners](https://www.youtube.com/watch?v=8hly31xKli0) - Pasan Premaratne, Jay McGavren (freeCodeCamp)
|
||||
* [Analysis of Algorithms (CSE 373)](https://www3.cs.stonybrook.edu/~skiena/373/videos) - Steven Skiena
|
||||
* [Berkeley University CS 61B: Data Structures](http://datastructur.es/sp16/)
|
||||
* [Berkeley's CS 61B: Data Structures](https://archive.org/details/ucberkeley_webcast_QMV45tHCYNI)
|
||||
* [C Programming & Data Structures](https://www.youtube.com/playlist?list=PLBlnK6fEyqRhX6r2uhhlubuF5QextdCSM) - Neso Academy
|
||||
* [Codechef Solutions](https://www.youtube.com/playlist?list=PLRKOqqzwh75huOam-77G1v9uHjO9WWBRX) - Endeavour Monk
|
||||
* [Computer Sc - Programming and Data Structure](https://www.youtube.com/playlist?list=PLD9781AC5EBC9FA16) - P.P. Chakraborty
|
||||
* [CS Tutorials](https://www.youtube.com/playlist?list=PL9xmBV_5YoZPKwb4XPB1sG7S6kNpN9JJo) - Michael Sambol
|
||||
* [Data Structure and Algorithm](https://www.youtube.com/playlist?list=PLLvKknWU7N4y_eGpQdg1Y-hORO7cxtoLU) - Lalit Vashistha
|
||||
* [Data Structures](https://www.youtube.com/playlist?list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P) - mycodeschool
|
||||
* [Data Structures](https://stepik.org/course/579/syllabus) - Niema Moshiri, Liz Izhikevich (Stepik)
|
||||
@ -187,7 +187,7 @@
|
||||
* [Learn DS and Algorithms](https://www.programiz.com/dsa) - Programiz
|
||||
* [MIT's Design and Analysis of Algorithms (Spring 2012)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2012) - Dana Moshkovitz, Bruce Tidor
|
||||
* [MIT's Design and Analysis of Algorithms (Spring 2015)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015) - Erik Demaine, Srini Devadas, Nancy Lynch
|
||||
* [MIT's Introduction to Algorithms (Fall 2011)](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/)
|
||||
* [MIT's Introduction to Algorithms (Fall 2011)](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/) - MIT
|
||||
* [MIT's Introduction to Algorithms (SMA 5503) (Fall 2005)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005) - Charles Leiserson, Erik Demaine
|
||||
* [MIT's Introduction to Algorithms (Spring 2020)](https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/) - Erik Demaine, Jason Ku, Justin Solomon
|
||||
* [Online Java + DSA + Interview preparation course](https://www.youtube.com/playlist?list=PL9gnSGHSqcnr_DxHsP7AW9ftq0AtAyYqJ) - Kunal Kushwaha
|
||||
@ -984,9 +984,9 @@
|
||||
* [Learn Java Programming - Java for Testers and Developers](https://www.udemy.com/course/learn-java-programming-a/) - Pavan Kumar (Udemy)
|
||||
* [Most Asked Core Java Frequently Asked Questions](https://www.youtube.com/playlist?list=PLyHJZXNdCXscoyL5XEZoHHZ86_6h3GWE1) - Code Decode
|
||||
* [Object Oriented Programming (OOP) In Java Course](https://www.youtube.com/playlist?list=PL9gnSGHSqcno1G3XjUbwzXHL8_EttOuKk) - Kunal Kushwaha
|
||||
* [Object-Oriented programming with Java, part I](https://moocfi.github.io/courses/2013/programming-part-1/)
|
||||
* [Object-Oriented programming with Java, part II](https://moocfi.github.io/courses/2013/programming-part-2/)
|
||||
* [Princeton Algorithms, Part 1](https://www.coursera.org/course/algs4partI)
|
||||
* [Object-Oriented programming with Java, part I](https://moocfi.github.io/courses/2013/programming-part-1/) - University of Helsinki
|
||||
* [Object-Oriented programming with Java, part II](https://moocfi.github.io/courses/2013/programming-part-2/) - University of Helsinki
|
||||
* [RestFul Web Service in Java](https://www.youtube.com/playlist?list=PLsyeobzWxl7oz8yL16PqO1sy9sxdlTuI1) - Telusko (Majrul Ansari, Navin Reddy)
|
||||
* [Servlet & JSP Tutorial Full Course](https://www.youtube.com/watch?v=OuBUUkQfBYM) - Telusko (Navin Reddy)
|
||||
* [Software Construction in Java](https://openlearninglibrary.mit.edu/courses/course-v1:MITx+6.005.1x+3T2016/about) - MIT Open Learning Library
|
||||
* [Spring 5 Core - An Ultimate Guide](https://www.udemy.com/learn-spring-5-core-from-scratch/) - Somnath Musib (Udemy)
|
||||
|
||||
@ -299,6 +299,7 @@
|
||||
### Linux
|
||||
|
||||
* [Belajar linux fundamentals](https://youtube.com/playlist?list=PLbLqbqNn7VYpnd7FggSeq18AgE4gdsy2F) - ID-Networkers
|
||||
* [Instalasi & Review Linux](https://www.youtube.com/playlist?list=PL2O3HdJI4voEclcVMPqHoS6GSgcVNGIjy) - Indonesia Belajar
|
||||
* [Linux Pemula](https://www.youtube.com/playlist?list=PLACzo3mGgHK_D2wkGu4AvUAQiqLC30PTz) - LINUXcare
|
||||
* [Tutorial Terminal Linux Bahasa Indonesia](https://www.youtube.com/playlist?list=PLy1BHEa_Wr-cpjWY5uOqsMxQwiQrRnC8B) - ArtAway
|
||||
|
||||
@ -357,6 +358,7 @@
|
||||
#### Laravel
|
||||
|
||||
* [Belajar CRUD Laravel 8 + Livewire](https://www.youtube.com/playlist?list=PLEgI20pG1DqzAa8npy9C_NDUvYwhslUb4) - Muhammad Amirul Ihsan (Kawan Koding)
|
||||
* [Belajar Laravel 5](https://www.youtube.com/playlist?list=PLCZlgfAG0GXDlNd0Flz20xksNtJQZWywz) - Sekolah Koding
|
||||
* [Belajar Laravel 7 Dari Awal](https://www.youtube.com/playlist?list=PLRKMmwY3-5MxfIKTn_wZ49XlplwHtz1AV) - Irsyad A. Panjaitan (Parsinta)
|
||||
* [Belajar Laravel 8](https://www.youtube.com/playlist?list=PLFIM0718LjIWiihbBIq-SWPU6b6x21Q_2) - Sandhika Galih, Web Programming UNPAS
|
||||
* [Belajar Laravel 8 Dari Awal](https://www.youtube.com/playlist?list=PLRKMmwY3-5MwADhthqRaewl-7e7AhjpP8) - Irsyad A. Panjaitan (Parsinta)
|
||||
|
||||
@ -471,6 +471,7 @@
|
||||
### React Native
|
||||
|
||||
* [Aprenda React Native](https://www.youtube.com/playlist?list=PL8fIRnD1uUSnRqz3E2caAWDqbtIFXmNtW) - Canal Geek Dev
|
||||
* [Curso base de React Native 2025](https://www.youtube.com/playlist?list=PL29TaWXah3ibI0ewWkI7xMI952wHEaFTK) - Lucas Souza Dev
|
||||
* [Curso React Native (aprendiz)](https://www.youtube.com/playlist?list=PLdDT8if5attEd4sRnZBIkNihR-_tE612_) - One Bit Code
|
||||
|
||||
|
||||
@ -485,11 +486,13 @@
|
||||
|
||||
### Rust
|
||||
|
||||
* [Aprenda Rust](https://www.youtube.com/playlist?list=PLjSf4DcGBdiGCNOrCoFgtj0KrUq1MRUME) - CodeShow
|
||||
* [Programando do 0 ao avançado na linguagem de programação Rust](https://www.youtube.com/playlist?list=PLWmXJQDlXOHX6UdAmXv6euoqDPUtMLpJf) - Lanby 0xff3 λ
|
||||
|
||||
|
||||
### Sass
|
||||
|
||||
* [Curso de Sass](https://www.youtube.com/playlist?list=PLMy95_4XE08OmaSd_GOLKNkqhoJFvg7w7) - Vida FullStack
|
||||
* [Sass placeholders: o jeito certo](https://www.udemy.com/course/sass-placeholders-o-jeito-certo/) - Tárcio Zemel (Udemy)
|
||||
|
||||
|
||||
@ -516,6 +519,7 @@
|
||||
|
||||
* [Aprendendo Swift do Iniciante ao Avançado. (Mac e Windows)](https://www.udemy.com/aprendendoswift3/) - Lucas Alencar (Udemy)
|
||||
* [Curso de Swift - Programação](https://www.youtube.com/playlist?list=PLJ0AcghBBWShgIH122uw7H9T9-NIaFpP-) - Tiago Aguiar
|
||||
* [Curso grátis Swift e SwiftUI](https://www.youtube.com/playlist?list=PLMdYygf53DP46rneFgJ7Ab6fJPcMvr8gC) - Filipe Deschamps
|
||||
|
||||
|
||||
### TypeScript
|
||||
@ -548,6 +552,7 @@
|
||||
### Segurança da Informação
|
||||
|
||||
* [Boas Práticas de Segurança da Informação para Sua Empresa](https://www.udemy.com/course/empresa-mais-segura/) - Afonso da Silva E. (Udemy)
|
||||
* [Curso de Segurança com Prática](https://www.youtube.com/playlist?list=PLAp37wMSBouB70jGTeT0JjW_LNC_JBHCo) - Hardware Redes Brasil
|
||||
* [Curso de Segurança da Informação](https://www.youtube.com/playlist?list=PLHz_AreHm4dkYS6J9KeYgCCVpo5OXkvgE) - Gustavo Guanabara, (Curso em Video)
|
||||
* [Segurança da Informação: Por onde iniciar sua carreira](https://www.udemy.com/course/seguranca-da-informacao-por-onde-iniciar-sua-carreira/) - Alexandro Silva (Udemy)
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
* [Blazor](#blazor)
|
||||
* [Bootstrap](#bootstrap)
|
||||
* [C](#c)
|
||||
* [C#](#a-idcsharpac)
|
||||
* [C#](#csharp)
|
||||
* [C++](#cpp)
|
||||
* [Cấu trúc dữ liệu và Giải thuật](#cấu-trúc-dữ-liệu-và-giải-thuật)
|
||||
* [Dart](#dart)
|
||||
@ -477,7 +477,6 @@
|
||||
|
||||
* [Học lập trình React JS - Redux - NodeJS qua dự án thực tế](https://www.youtube.com/playlist?list=PLmbxe7ftoDqSNf5yGMhbDNjIZIM5mQ7Ow) - Thầy Nguyễn Đức Việt
|
||||
* [Học React Hooks cơ bản (2020)](https://www.youtube.com/playlist?list=PLeS7aZkL6GOsHNoyeEpeL8B1PnbKoQD9m) - Easy Frontend
|
||||
* [Học React Hooks cơ bản (2020)](https://www.youtube.com/playlist?list=PLeS7aZkL6GOsHNoyeEpeL8B1PnbKoQD9m) - Easy Frontend
|
||||
* [Học redux cơ bản 2020](https://www.youtube.com/playlist?list=PLeS7aZkL6GOvCz3GiOtvtDXChJRuebb7S) - Easy Frontend
|
||||
* [Khóa Học Fullstack SERN (SQL, Express.js, React.js, Node.js) Web Developer](https://youtube.com/playlist?list=PLncHg6Kn2JT6E38Z3kit9Hnif1xC_9VqI) - Hỏi Dân IT
|
||||
* [Khóa Học Lập Trình React.js - Redux](https://www.youtube.com/playlist?list=PLJ5qtRQovuEOoKffoCBzTfvzMTTORnoyp) - nghiepuit
|
||||
|
||||
@ -63,6 +63,7 @@
|
||||
* [TypeScript](#typescript)
|
||||
* [UI/UX](#uiux)
|
||||
* [Unit testing](#unit-testing)
|
||||
* [VBA](#vba)
|
||||
* [Webpack](#webpack)
|
||||
|
||||
|
||||
@ -426,6 +427,7 @@
|
||||
* [Python Regex Cheatsheet](https://www.debuggex.com/cheatsheet/regex/python) - Debuggex (HTML)
|
||||
* [Python WorldWide Cheatsheet](https://cheatography.com/davechild/cheat-sheets/python/) - Cheatography (Python)
|
||||
* [Scapy Cheat Sheet](https://www.templateroller.com/template/160817/scapy-cheat-sheet-jeremy-stretch.html) - Jeremy Stretch (PDF)
|
||||
* [SciPy Cheat Sheet: Linear Algebra in Python](https://www.datacamp.com/cheat-sheet/scipy-cheat-sheet-linear-algebra-in-python) - Datacamp (HTML, PDF)
|
||||
* [Shiny for Python Cheat Sheet](https://rstudio.github.io/cheatsheets/html/shiny-python.html) - Posit (HTML/PDF)
|
||||
|
||||
|
||||
@ -476,6 +478,7 @@
|
||||
#### PyTorch
|
||||
|
||||
* [Deep Learning with PyTorch Cheat Sheet](https://www.datacamp.com/cheat-sheet/deep-learning-with-py-torch) - Richie Cotton (HTML)
|
||||
* [PyTorch Cheat Sheet](https://zerotomastery.io/cheatsheets/pytorch-cheat-sheet/) - ZeroToMastery (HTML)
|
||||
* [PyTorch Framework Cheat Sheet](https://www.simonwenkel.com/publications/cheatsheets/pdf/cheatsheet_pytorch.pdf) - Simon Wenkel (PDF)
|
||||
* [PyTorch Official Cheat Sheet](https://pytorch.org/tutorials/beginner/ptcheat.html) - PyTorch (HTML)
|
||||
|
||||
@ -580,6 +583,11 @@
|
||||
* [What is Unit testing](https://www.guru99.com/unit-testing-guide.html) - Thomas Hamilton (HTML)
|
||||
|
||||
|
||||
### VBA
|
||||
|
||||
* [VBA Cheat Sheet](https://zerotomastery.io/cheatsheets/vba-cheat-sheet/) - ZeroToMastery (HTML)
|
||||
|
||||
|
||||
### Webpack
|
||||
|
||||
* [Webpack cheatsheet](https://devhints.io/webpack) - devhints, Rico Santa Cruz (HTML)
|
||||
|
||||
@ -247,21 +247,23 @@ def lint_file(path, cfg):
|
||||
# Skip lines that start a code block (```)
|
||||
if CODE_FENCE_START.match(line): continue
|
||||
|
||||
# Check for block-level directionality changes (e.g., <div dir="rtl">)
|
||||
m_div_open = HTML_DIR_ATTR_RE.search(line)
|
||||
|
||||
# If an opening <div dir="..." markdown="1"> tag is found
|
||||
if m_div_open and 'markdown="1"' in line:
|
||||
new_div_ctx = m_div_open.group(2).lower() # Extract the new directionality context from the opening div tag
|
||||
block_context_stack.append(new_div_ctx) # Push the new directionality context onto the stack
|
||||
continue # Continue to the next line of the file
|
||||
|
||||
# If a closing </div> tag is found and we are inside a div context
|
||||
# (i.e., the stack has more than just the base file_direction_ctx)
|
||||
if '</div>' in line and len(block_context_stack) > 1:
|
||||
block_context_stack.pop() # Pop the last directionality context from the stack
|
||||
continue # Continue to the next line of the file
|
||||
|
||||
# Find all opening and closing <div> tags on the line to handle cases
|
||||
# where there can be multiple <div> opening and closing on the same line
|
||||
div_tags = re.findall(r"(<div[^>]*dir=['\"](rtl|ltr)['\"][^>]*>|</div>)", line, re.IGNORECASE)
|
||||
|
||||
# Process each found tag in order to correctly update the context stack
|
||||
for tag_tuple in div_tags:
|
||||
# re.findall with multiple capture groups returns a list of tuples:
|
||||
# tag: The full matched tag (e.g., '<div...>' or '</div>')
|
||||
# direction: The captured direction ('rtl' or 'ltr'), or empty for a closing tag
|
||||
tag, direction = tag_tuple
|
||||
|
||||
# If it's an opening tag with 'markdown="1"', push the new context
|
||||
if tag.startswith('<div') and 'markdown="1"' in tag:
|
||||
block_context_stack.append(direction.lower())
|
||||
# If it's a closing tag and we are inside a div, pop the context
|
||||
elif tag == '</div>' and len(block_context_stack) > 1:
|
||||
block_context_stack.pop()
|
||||
# Check if the line is a Markdown list item
|
||||
list_item = LIST_ITEM_RE.match(line)
|
||||
|
||||
@ -388,11 +390,17 @@ def lint_file(path, cfg):
|
||||
issues.append(
|
||||
f"::{sev['pure_ltr'].lower()} file={path},line={idx}::Pure LTR text '{s}' in {part} of RTL context may need trailing '‏' marker."
|
||||
)
|
||||
|
||||
# Check for unclosed div tags at the end of the file
|
||||
if len(block_context_stack) > 1:
|
||||
issues.append(
|
||||
f"::error file={path},line={len(lines)}::Found unclosed <div dir='...'> tag. "
|
||||
f"The final block context is '{block_context_stack[-1]}', not the file's base '{file_direction_ctx}'."
|
||||
)
|
||||
|
||||
# Return the list of found issues
|
||||
return issues
|
||||
|
||||
|
||||
def get_changed_lines_for_file(filepath):
|
||||
"""
|
||||
Returns a set of line numbers (1-based) that were changed in the given file in the current PR.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user