mirror of
https://github.com/kamranahmedse/developer-roadmap.git
synced 2026-03-12 17:51:53 +08:00
chore: sync content to repo (#9547)
Co-authored-by: kamranahmedse <4921183+kamranahmedse@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
3bb9d74830
commit
a0ceff493f
@@ -0,0 +1,9 @@
|
||||
# Conditional Statements
|
||||
|
||||
Conditional statements allow you to execute different blocks of code based on whether a certain condition is true or false. They provide a way to control the flow of your program, enabling it to make decisions and respond differently to various inputs or situations. Common conditional statements include `if`, `elsif`, and `else`, which let you define different code paths depending on the evaluation of boolean expressions.
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@Conditional Logic](https://www.theodinproject.com/lessons/ruby-conditional-logic#case-statements)
|
||||
- [@article@Conditionals](https://launchschool.com/books/ruby/read/flow_control#conditionals)
|
||||
- [@article@Ruby Explained: Conditionals and Flow Control](https://eriktrautman.com/posts/ruby-explained-conditionals-and-flow-control)
|
||||
@@ -0,0 +1,10 @@
|
||||
# Data Types
|
||||
|
||||
Data types are classifications that specify which type of value a variable can hold and what operations can be performed on it. They define the kind of data, such as numbers, text, or boolean values, that can be stored and manipulated within a program. Understanding data types is fundamental to writing correct and efficient code, as it allows the program to handle different kinds of information appropriately.
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@Basic Data Types](https://www.theodinproject.com/lessons/ruby-basic-data-types)
|
||||
- [@article@Understanding Data Types in Ruby](https://www.digitalocean.com/community/tutorials/understanding-data-types-in-ruby)
|
||||
- [@article@Ruby DataTypes: Explore the Fundamentals](https://www.theknowledgeacademy.com/blog/ruby-data-types/)
|
||||
- [@video@Data Types | Ruby | Tutorial 7](https://www.youtube.com/watch?v=rjLB_bD3SLU)
|
||||
@@ -0,0 +1,9 @@
|
||||
# Conditional Statements
|
||||
|
||||
Conditional statements allow you to execute different blocks of code based on whether a certain condition is true or false. They provide a way to control the flow of your program, enabling it to make decisions and respond differently to various inputs or situations. Common conditional statements include `if`, `elsif`, `else`, and `unless`.
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@Conditional Logic](https://www.theodinproject.com/lessons/ruby-conditional-logic)
|
||||
- [@article@The Beginner's Guide to Ruby If & Else Statements](http://rubyguides.com/ruby-tutorial/ruby-if-else/)
|
||||
- [@article@Ruby - if...else, case, unless](https://www.tutorialspoint.com/ruby/ruby_if_else.htm)
|
||||
@@ -4,7 +4,7 @@ Fibers are a lightweight concurrency construct that allows you to create code bl
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@book@Magesh, "Concurrency in Ruby: Threads, Fibers, and Ractors Demystified"](https://www.youtube.com/watch?v=LVHiq_SbQOE)
|
||||
- [@official@class Fiber](https://docs.ruby-lang.org/en/master/Fiber.html)
|
||||
- [@article@How to use Ruby Fibers for Background Jobs](https://medium.com/@alieckaja/unleashing-the-power-of-fibers-for-background-jobs-8a22e3a38cd1)
|
||||
- [@article@Ruby Fibers 101](https://blog.saeloun.com/2022/03/01/ruby-fibers-101/)
|
||||
- [@book@Magesh, "Concurrency in Ruby: Threads, Fibers, and Ractors Demystified"](https://www.youtube.com/watch?v=LVHiq_SbQOE)
|
||||
- [@article@Ruby Fibers 101](https://blog.saeloun.com/2022/03/01/ruby-fibers-101/)
|
||||
@@ -0,0 +1,10 @@
|
||||
# Loops & Enumerations
|
||||
|
||||
Loops in Ruby allow you to execute a block of code repeatedly. Enumerations, on the other hand, are methods that iterate over collections like arrays and hashes, applying a block of code to each element. Both loops and enumerations provide ways to process data and perform actions multiple times, but enumerations are often preferred for their conciseness and readability when working with collections.
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@Loops and Iterators](https://launchschool.com/books/ruby/read/loops_iterators#simpleloop)
|
||||
- [@article@Loops](https://www.theodinproject.com/lessons/ruby-loops)
|
||||
- [@article@Ruby Loops: Repeating Something Many Times](https://www.rubyguides.com/ruby-tutorial/loops/)
|
||||
- [@article@Ruby - Loops](https://www.tutorialspoint.com/ruby/ruby_loops.htm)
|
||||
@@ -4,9 +4,9 @@ Metaprogramming is essentially writing code that manipulates other code. It allo
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@book@Metaprogramming Ruby.pdf](https://theswissbay.ch/pdf/Gentoomen%20Library/Programming/Ruby/Metaprogramming%20Ruby.pdf)
|
||||
- [@article@Ruby Metaprogramming: How to Write Dynamic Code](https://betterstack.com/community/guides/scaling-ruby/metaprogramming/)
|
||||
- [@article@An Introduction to Metaprogramming in Ruby](https://blog.appsignal.com/2023/07/26/an-introduction-to-metaprogramming-in-ruby.html)
|
||||
- [@article@Ruby Metaprogramming: Real-World Examples](https://www.rubyguides.com/2016/04/metaprogramming-in-the-wild/)
|
||||
- [@article@Ruby Metaprogramming Secrets](https://www.rubyguides.com/guides/metaprogramming-guide.pdf)
|
||||
- [@book@Metaprogramming Ruby.pdf](https://theswissbay.ch/pdf/Gentoomen%20Library/Programming/Ruby/Metaprogramming%20Ruby.pdf)
|
||||
- [@video@RubyConf 2022: In Defense of Ruby Metaprogramming By Noel Rappin](https://www.youtube.com/watch?v=D_ZRaZucjm4)
|
||||
@@ -4,7 +4,7 @@ Minitest is a complete testing suite for Ruby. It provides support for test-driv
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@roadmap@Ruby Minitest Tutorial](https://www.youtube.com/watch?v=Reso8FlRRAc)
|
||||
- [@opensource@minitest](https://github.com/minitest/minitest)
|
||||
- [@article@MiniTest - Writing Test Code In Ruby (2/3)](https://dev.to/exampro/minitest-writing-test-code-in-ruby-part-2-of-3-4306)
|
||||
- [@article@Getting Started with Minitest](https://www.cloudbees.com/blog/getting-started-with-minitest)
|
||||
- [@roadmap@Ruby Minitest Tutorial](https://www.youtube.com/watch?v=Reso8FlRRAc)
|
||||
- [@article@Getting Started with Minitest](https://www.cloudbees.com/blog/getting-started-with-minitest)
|
||||
@@ -0,0 +1,8 @@
|
||||
# Naming Conventions
|
||||
|
||||
Naming conventions are a set of rules or guidelines for choosing names for variables, methods, classes, and other entities in a programming language. These conventions promote code readability, maintainability, and consistency across projects. Following a standard naming style helps developers understand the purpose and scope of different elements within the code more easily.
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@Ruby Naming Convention](https://namingconvention.org/ruby/)
|
||||
- [@article@Naming conventions in Ruby language](https://dhanusir.com/ruby/section-two/naming-conventions/)
|
||||
@@ -0,0 +1,9 @@
|
||||
# Operators
|
||||
|
||||
Operators are special symbols in Ruby that perform operations on one or more operands (values or variables). These operations can include arithmetic calculations (like addition and subtraction), comparisons (like checking if two values are equal), logical evaluations (like determining if a condition is true or false), and assignment of values to variables. They are fundamental building blocks for creating expressions and controlling the flow of logic in Ruby programs.
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Operators](https://docs.ruby-lang.org/en/3.4/syntax/operators_rdoc.html)
|
||||
- [@article@Everything You Need to Know About Ruby Operators](https://www.rubyguides.com/2018/07/ruby-operators/)
|
||||
- [@article@Ruby - Operators](https://www.tutorialspoint.com/ruby/ruby_operators.htm)
|
||||
@@ -1,10 +1,3 @@
|
||||
# Ractors
|
||||
# Threads
|
||||
|
||||
Ractors are an actor-model concurrency abstraction in Ruby. They provide a way to achieve parallel execution by isolating state between different actors. Each Ractor has its own independent memory space, preventing data races and allowing for safer concurrent programming. Communication between Ractors happens through message passing, ensuring that data is explicitly transferred and not shared directly.
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@class Ractor](https://docs.ruby-lang.org/en/master/Ractor.html)
|
||||
- [@article@An Introduction to Ractors in Ruby](https://blog.appsignal.com/2022/08/24/an-introduction-to-ractors-in-ruby.html)
|
||||
- [@article@Ruby on Ractors: Parallel Execution Done Beautifully](https://medium.com/@dave_russell/ruby-on-ractors-parallel-execution-done-beautifully-c05a09d22102)
|
||||
- [@video@Magesh, "Concurrency in Ruby: Threads, Fibers, and Ractors Demystified"](https://www.youtube.com/watch?v=LVHiq_SbQOE)
|
||||
Threads are a way to achieve concurrency within a single process. They allow multiple parts of a program to execute seemingly simultaneously by sharing the same memory space. This can improve performance by utilizing multiple CPU cores or by allowing a program to remain responsive while performing long-running tasks.
|
||||
@@ -0,0 +1,12 @@
|
||||
# Installing Ruby
|
||||
|
||||
Installing Ruby involves setting up the Ruby interpreter and related tools on your system so you can run Ruby programs. This typically includes downloading a Ruby distribution, configuring your environment, and verifying the installation to ensure everything is working correctly. Different operating systems (like Windows, macOS, and Linux) have their own preferred methods for installing Ruby, often involving package managers or dedicated installers.
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Installing Ruby](https://www.ruby-lang.org/en/documentation/installation/)
|
||||
- [@article@Installing Ruby](https://www.theodinproject.com/lessons/ruby-installing-ruby)
|
||||
- [@article@How to Install Ruby on Windows, macOS, and Linux](https://dev.to/luigi_ichi/how-to-install-ruby-on-windows-macos-and-linux-35o3)
|
||||
- [@article@Setting up Ruby on WSL2 using Rbenv](https://codex.org/2022/08/19/setting-up-ruby-wsl2.html)
|
||||
- [@video@Ruby Beginner Tutorial 2 | How To Install Ruby On Windows](https://www.youtube.com/watch?v=XC1ccTyhLPI)
|
||||
- [@video@Ruby Beginner Tutorial 3 | How To Install Ruby On MacOS](https://www.youtube.com/watch?v=2pycF6hMy0s)
|
||||
@@ -0,0 +1,7 @@
|
||||
Type casting, also known as type conversion, is the process of changing a value from one data type to another. This is often necessary when you need to perform operations that require specific data types or when you want to represent data in a different format. For example, you might need to convert a string representation of a number into an actual integer or float to perform mathematical calculations.
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@Ruby type conversion](https://kddnewton.com/2021/09/09/ruby-type-conversion.html)
|
||||
- [@article@How To Convert Data Types in Ruby](https://www.digitalocean.com/community/tutorials/how-to-convert-data-types-in-ruby)
|
||||
- [@article@Confident Code - Ruby Implicit and Explicit Type Converters](https://whatapalaver.co.uk/ruby-implicit-explicit-type-conversion)
|
||||
Reference in New Issue
Block a user