teleren/devto huggingface dataset:
Testing Techniques
Published: 2024-03-14 10:45:32

In software testing we four types of testing techniques they are.
1.Boundary value analyses 
2.Decision table techniques 
3.Use case testing
4.LCSAJ testing
1.Boundary value analyses: Is a software testing technique that focuses on testing values at the extreme boundaries. It is used to observation that defects frequently occur on the outskirts of valid input ranges rather than in the center. It involves testing values that lie on the edges of valid input ranges. It is used to test both valid and invalid boundary values because they cause problems.
we will check for [1,2,3,4,5,6,7,8,9,10] -1,0,1,9,10,11 this only
2.Decision table techniques:
Decision table testing is a software testing technique used to test system behavior for different input combinations. This is a systematic approach where the different input combinations and their corresponding system behavior are captured in a tabular format. we follow true or false method in this like if both conditions are true then it is true if one condition is false then entire condition is false like 
condition T  F  T
condition F  F  T
OUTPUT:  F  F  T   
3.Use case testing: It depends upon the user’s actions and the response of the system to that actions.
They are user-oriented, not system-oriented.
It is a list of actions that will be taken by the actor while interacting will the system.
It describes the functional requirements of the system.
4.LCSAJ: Stands for Linear Code Sequence and Jump, a white box testing technique to identify the code coverage, which begins at the start of the program and ends at the end of the program or the branch.
What is DateTime Manipulation in C#?
Tags: csharp
Published: 2024-03-14 10:39:09

DateTime manipulation in C# refers to the ability to perform various operations on date and time values, such as adding or subtracting time, extracting specific components of a date, formatting dates in different ways, and comparing different dates.

One of the most common tasks when working with dates and times is to manipulate them in some way. C# provides a DateTime struct that represents a specific point in time and allows us to perform various operations on dates and times.

Here are some common examples of date and time manipulation in C#:

1. Adding or subtracting time:
```csharp
DateTime currentDate = DateTime.Now;
DateTime futureDate = currentDate.AddDays(7); // Add 7 days to the current date
DateTime pastDate = currentDate.AddMonths(-1); // Subtract 1 month from the current date
```

2. Extracting components of a date:
```csharp
DateTime currentDate = DateTime.Now;
int day = currentDate.Day; // Get the day of the month
int month = currentDate.Month; // Get the month
int year = currentDate.Year; // Get the year
```

3. Formatting dates:
```csharp
DateTime currentDate = DateTime.Now;
string formattedDate = currentDate.ToString("MM/dd/yyyy"); // Format the date as "MM/dd/yyyy"
string formattedTime = currentDate.ToString("hh:mm:ss tt"); // Format the time as "hh:mm:ss tt"
```

4. Comparing dates:
```csharp
DateTime date1 = new DateTime(2022, 12, 31);
DateTime date2 = DateTime.Now;

if (date1 < date2)
{
    Console.WriteLine("Date1 is before Date2");
}
else if (date1 > date2)
{
    Console.WriteLine("Date1 is after Date2");
}
else
{
    Console.WriteLine("Date1 and Date2 are equal");
}
```

DateTime manipulation is an essential skill for any C# developer working with date and time values. By understanding how to manipulate dates and times effectively, you can perform a wide range of tasks and create more dynamic and flexible applications.
I made my first game solo with Godot for a Game jam
Tags: gamedev, godot, procreate, showdev
Published: 2024-03-14 10:34:30

Hey 👋 During my holidays, I participated to a [gamejam](https://itch.io/jam/acerola-jam-0). The theme was aberration 👻 

Here is my submission https://itch.io/jam/acerola-jam-0/rate/2582646. It is an action-adventure game based on a short novel by Grant Allen (19th century).

Feel free to rate and leave a comment 🤗

I open sourced the code and assets: https://github.com/frinyvonnick/pallinghurst-barrow

It was a cool experience. I had the opportunity to give a try to Procreate Dreams for the animations. It was my first time making a game with Godot. It is an easy-to-learn engine. I recommend it! In the past, I participated to a game jam with a mate. This time it was solo since it is the main rule of the jam. It lasted two weeks which was really intensive for me. I did most of the assets by myself except for audio. I don't know much about it.

I recommend participating to jams. It forces you to make choices and goes straight to the point (which I struggle with most of the time)!

You can contact me on Twitter [@YvonnickFrin](https://twitter.com/YvonnickFrin)!
.Net DateTime Timezone Issue
Published: 2024-03-14 10:29:54

Hi everyone,

I'm developing an HR application using Angular 13 and a .Net 6 Web API. I'm facing a challenge related to handling different time zones for users.

The Scenario:

The application is deployed in the AWS Asia/Mumbai region. When users from various time zones access the app, a culture information issue arises. Let's consider two examples:

User X (USA, New York): Sets a reminder at 10:00 AM for a task. The application should send the reminder to User X at 10:00 AM in their local New York time zone.
User Y (Russia, Moscow): Sets a reminder at 12:00 AM for a task. The application should send the reminder to User Y at 12:00 AM in their local Moscow time zone.
The Problem:

Currently, the application triggers reminders based on the server's time zone (Asia/Mumbai). This results in incorrect reminder times for users in different locations.

Technology Stack:

Frontend: Angular 13
Backend: .Net 6 Web API
Scheduling: Hangfire
Seeking Help:

I've been unable to resolve this issue on my own. I'd appreciate any suggestions or ideas on how to ensure reminders are sent based on the user's specific time zone.
.Net DateTime Timezone Issue
Published: 2024-03-14 10:29:47

Hi everyone,

I'm developing an HR application using Angular 13 and a .Net 6 Web API. I'm facing a challenge related to handling different time zones for users.

The Scenario:

The application is deployed in the AWS Asia/Mumbai region. When users from various time zones access the app, a culture information issue arises. Let's consider two examples:

User X (USA, New York): Sets a reminder at 10:00 AM for a task. The application should send the reminder to User X at 10:00 AM in their local New York time zone.
User Y (Russia, Moscow): Sets a reminder at 12:00 AM for a task. The application should send the reminder to User Y at 12:00 AM in their local Moscow time zone.
The Problem:

Currently, the application triggers reminders based on the server's time zone (Asia/Mumbai). This results in incorrect reminder times for users in different locations.

Technology Stack:

Frontend: Angular 13
Backend: .Net 6 Web API
Scheduling: Hangfire
Seeking Help:

I've been unable to resolve this issue on my own. I'd appreciate any suggestions or ideas on how to ensure reminders are sent based on the user's specific time zone.
3 Cara mengetahui versi Laravel
Tags: laravel, versioning
Published: 2024-03-14 10:28:34

Pada tulisan kali ini, saya akan berbagi cara untuk mengetahui versi laravel kalian, disini saya memiliki 3 metode untuk mengetahui versi laravel

(1). Cara mengetahui versi laravel menggunakan command prompt
`php artisan --version`
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q7nnra99cc6iwc4smbjn.png)

(2). Cara mengetahui versi laravel dengan check file composer.json
Buka project kawan-kawan lalu buka file composer.json di root folder project, dan lihat di line bagian "laravel/framework": "^10.10"

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vt06xttgyg9aqh4d8i2b.png)

(3). Cara mengetahui versi laravel dengan cek file Application.php di folder vendor
Masuk kedalam folder vendor\laravel\framework\src\Illuminate\Foundation\Application.php Didalam file tersebut lihat bagian baris const VERSION = '10.48.2';

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nm9orrgxmapgz3izg2ij.png)
Automating Repetitive Formatting Tasks in Excel with Python
Tags: webdev, programming, python, productivity
Published: 2024-03-14 10:22:14

Say goodbye to tedious Excel formatting! 🚀 Python automation brings efficiency and ease to repetitive tasks, saving time and boosting productivity. 💼 #Python #Excel #Automation #pythonprogramming #developer 

In our daily lives, we often find ourselves repeating the same formatting tasks in Excel, such as changing font styles, aligning cells, or applying colors. These tasks can be time-consuming and very tedious, especially when dealing with large datasets. However, with the magic of Python automation, we can simplify and speed up these repetitive formatting tasks in Excel.

By writing small Python scripts, we can automate the process of formatting Excel files, saving us valuable time and effort. In this article, we’ll explore how Python can be used to automate these formatting tasks, making our workflow more efficient and productive. Whether you’re a data analyst, business professional, or student, learning how to automate Excel formatting with Python can greatly enhance your productivity and streamline your workflow.

I ll showcase 5 pointers for How you can automate repetitive formatting tasks in Excel using Python along with code:

Standardize Cell Formatting: Automatically apply consistent formatting (such as font style, size, color, and alignment) to specific cells or ranges across multiple Excel files.

Conditional Formatting: Implement conditional formatting rules programmatically to highlight cells based on specified criteria, such as value thresholds or text patterns.

Data Validation: Automate the setup of data validation rules to ensure data integrity and consistency, such as restricting input to a predefined list or range of values.
Merge and Center: Automatically merge and center cells in specific columns or rows based on predefined conditions, improving readability and presentation of data.

Custom Number Formatting: Apply custom number formatting to cells to display data in desired formats, such as currency, percentages, dates, or scientific notation, across multiple worksheets or workbooks.
Standardize Cell Formatting

Read More Below



https://codemagnet.in/2024/03/14/automating-repetitive-formatting-tasks-in-excel-with-python/
Top Bình Phước AZ
Published: 2024-03-14 10:13:56

Top Bình Phước AZ Bắt nguồn từ cuộc thi yêu quê hương Bình Phước do Zmar tổ chức là trang web hàng đầu cung cấp thông tin đa dạng và đáng tin cậy về tỉnh Bình Phước từ lịch sử, văn hóa, du lịch, địa điểm nổi tiếng, đặc sản ẩm thực, đến những câu chuyện những kỷ niệm, trải nghiệm và góp phần giới thiệu vẻ đẹp văn hóa và tiềm năng phát triển của tỉnh và thông tin cập nhật mới nhất về đời sống, sự kiện xã hội, kinh tế của Bình Phước
#topbinhphuoc, #topbinhphuoc, #topbinhphuocaz, #topbinhphuocaz, #tinhbinhphuoc, #tinhbinhphuoc
[https://topbinhphuocaz.com](https://topbinhphuocaz.com)
[https://www.reddit.com/user/topbinhphuocaz24/](https://www.reddit.com/user/topbinhphuocaz24/)
[https://www.pinterest.com/topbinhphuocaz/](https://www.pinterest.com/topbinhphuocaz/)
[https://www.linkedin.com/in/topbinhphuocaz](https://www.linkedin.com/in/topbinhphuocaz)
[https://www.youtube.com/@topbinhphuocaz](https://www.youtube.com/@topbinhphuocaz)
[https://www.facebook.com/profile.php?id=61552287877524](https://www.facebook.com/profile.php?id=61552287877524)
[https://twitter.com/topbinhphuocaz](https://twitter.com/topbinhphuocaz)
[https://www.instagram.com/topbinhphuocaz/](https://www.instagram.com/topbinhphuocaz/)
Handle Variables and Dynamic Values with `jest.fn()`
Tags: jest, mock, javascript
Published: 2024-03-14 10:02:10


![Jest](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uglgh6ebu68vwzsh3sdn.png)

When it comes to testing React applications with Jest, mocking dependencies is a common practice to ensure reliable and isolated tests. However, there are scenarios where you might need to mock dependencies that rely on variables or dynamic values. 
### The Challenge: Mocking Dependencies with Variables

Let's say you have a component that uses the `useParams` hook from the `react-router-dom` library to access route parameters. You want to mock this dependency in your tests, but you also need to provide a dynamic value for the `nodeId` parameter based on your test data. Here's an example:

```javascript
// nodeId is not available yet
jest.mock('react-router-dom', () => ({
  ...jest.requireActual('react-router-dom'),
  useParams: () => ({ nodeId })
}));
```

The issue with this approach is that `jest.mock()` is executed at the beginning of the test file, before any variables or constants are defined. As a result, `nodeId` is not available when the mocking function is executed, leading to potential undefined behaviour or errors.

### The Solution: Using `jest.fn()` and `mockReturnValue()`

To overcome this challenge, we can leverage the power of `jest.fn()` and `mockReturnValue()`. Instead of directly mocking the `useParams` hook with a specific value, we can create a mock function and set its return value dynamically within our tests. Here's how you can do it:

```javascript
import { useParams } from 'react-router-dom';

jest.mock('react-router-dom', () => ({
  ...jest.requireActual('react-router-dom'),
  useParams: jest.fn()
}));

describe('ActivityReviewGraph', () => {
  useParams.mockReturnValue({ accountUid: nodesId });
  // ...
})
```

In this example, we first import the `useParams` hook from `react-router-dom`. Then, we mock the `react-router-dom` module using `jest.mock()`, but instead of providing a specific implementation for `useParams`, we assign `jest.fn()` to it. This creates a mock function that we can control later in our tests.

Within the `describe` block for our component, we use `useParams.mockReturnValue({ accountUid: nodesId })` to set the return value of the mocked `useParams` function based on the value of the `nodesId` variable.

By following this approach, we can easily mock dependencies that rely on dynamic values or variables without running into issues related to the execution order of `jest.mock()`.
When AI writes code, all code will be open source.
Tags: ai, development, software, saas
Published: 2024-03-14 10:01:26

---
title: When AI writes code, all code will be open source.
published: true
description: If I can use an AI to create software it would make sense that I release that code as open source, and if I don't, somebody else will.
tags: #ai #development #software #saas
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7gidaohetmq5nszjd5fk.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2024-03-14 09:48 +0000
---

There is a lot of noise lately about Devin, an AI that can write code with a high degree of accuracy.

We know that AI will eventually write most of the code that companies produce. The only question is not if but when that will happen on a big scale.

The most important change that this will bring is that all code will be open source code.

If I can use an AI to, for instance, create an invoicing software it would make sense that I release that code as open source, and if I don't, somebody else will. Then we enter the same cycle as current open source projects. People add changes, that would be AI generated, or request features that we would ask the AI to implement.

Everybody will have access to any code because code now is a commodity.

We will see that companies that now offer SaaS products will be doing less Software and much more Service.

There will be still plenty of companies that will gladly pay to other companies to review, secure and deploy that open source code for them. But that's old news we currently have many companies that provide services based on open source projects. The difference is that we will be able to generate more open source code and faster.

It is also a big opportunity for small, agile companies that can now offer services that before where only offered by big companies with hundreds of employees. No more you would need 100s of persons to develop and maintain a crm or an erp software, small boutiques will be able to offer those services much more cheaper and efficiently.

As for us developers, there will still be a lot of work for us. It will just be more specialised. No more a 6 months boot-camp will grant you a job as a developer. I think the most demanded role will be someone with a mix of development, dev-ops and product skills. Those profiles will be able to gather good requirements, generate code using the AI, validating it and deploying it in a secure environment.

People who are capable of perform well on all those tasks will be in high demand and less specialised people will have to improve their skills.

In summary: AI will take care of the Software and small boutiques will take care of the Service. SaaS is here to stay.
Resume Best Practices 2024 for Standing Out in the Job Market
Published: 2024-03-14 09:58:48

Delete these from your CV.

1. Marital status
2. Your high school and primary details if you have attended college (If you are an experienced candidate).
3. Your Religion.
4. Your hobbies. Nobody is going to shortlist your CV because you love traveling (unless it is a travel agent job).
5. Non-professional email addresses. Ensure that your email address is professional and appropriate for job applications.
6. Long paragraphs. Instead use bullet points to present information in a clear and concise manner.
7. Irrelevant work experience.
Copy
বইটি নিয়ে আমার কথা! ( ফুলস্ট্যাক ডেভেলপমেন্ট কানেকটিং দ্য ডটস (HM Nayem))
Tags: webdev, javascript, fullstack, programming
Published: 2024-03-14 09:56:37

প্রথমে ভেবেছিলাম বইটি কিনবো না, কারণ আগে তামিম শাহরিয়ার সুবিন ভাইয়ের প্রোগ্রামিংয়ের আশ্চর্য জগৎ পড়েছিলার এবং সুবিন ভাই ও HM Nayem ভাইয়ের অনেক গাইডলাইন মুলক ভিডিও দেখেছি তাই Programming, Software Development এবং Software Engineering সম্পর্কে সঠিক ধারণা ছিল। কিন্তু Youtube এ HM Nayem ভাইয়ের রিভিউ দেখে মনে হলো, হয়ত বা বইটিতে নতুন কিছু যানার আছে। তাই বইটি কিনেই ফেললাম, এখন পড়ার পরে মনে হচ্ছে সিদ্ধান্তটা ঠিকই ছিল। অসংখ্য ধন্যবাদ HM Nayem ভাইকে প্রোগ্রামিং শিখতে আসা নতুন শিক্ষার্থিদের ভুল পথে সময় ও টাকা ব্যয় করার থেকে বাচানোর জন্য। এছাড়াও ধন্যবাদ এতো সুন্দর বই উপহার দেওয়ার জন্য।
এখন আসা যাক আসল আলোচনায়, আমি মনে করি মোটা দাগে বইটিকে দুই ভাগে ভাগ করা যায়। প্রথম অংশ হলো Programming শেখা নিয়ে আর দ্বিতীয় অংশ হলো ফুলস্ট্যাক ওয়েব ডেভেলপমেন্ট নিয়ে।
প্রোগ্রামিং নিয়ে আমার অভিজ্ঞতা বেশি দিনের নয়, তবে Programming Community এর সাথে যুক্ত থাকার করণে দেখেছি অনেকের কাছে যথেষ্ট সময় ও সুযোগ থাকার পরেও Freelancing এর গুতায় Programming বা Computer Science এর বেসিক না শিখেই বিভিন্ন ফ্রেমওয়ার্ক বা টুল শেখা শুরু করে। তাই বইয়ের প্রথম অংশ আমার কাছে খুবই কার্যকরি মনে হয়েছে। এই অংশে আলোচনা করা হয়েছে Computer Science এর বেসিক — Programming, Data Structure and Algorithm, Problem Solving, Object Oriented Programming , Discrete Mathematics নিয়ে, এগুলাে কেন স্কিপ করা উচিত না তা নিয়ে। এছাড়াও অধ্যায় চৌদ্দোর শেষে সবকিছু শেখার রির্সোস শেয়ার করার ব্যাপারটি ভালো লেগেছে। তবে আমার অনুরোধ থাকবে, দ্বিতীয় প্রকাশে বইয়ের এই অংশে আরও দুটি বিষয় নিয়ে আলােচনা করার জন্য একটি হলো Computer Networking (যদিও লেখক নিজেই এটি উল্লেখ করেছে) আর একটি হলো Operating Systems। যেহেতু এই বইয়ের মুল আলোচ্য বিষয় হলো ওয়েব ডেভেলপমেন্ট তাই Networking নিয়ে আলেচনা আমি আশা করেছিলাম। যাই হোক আশাকরি দ্বিতীয় প্রকাশে এটি পাব। আর যেহেতু Back-End Development পুরোপুরি Operating Systems এর সাথে সম্পর্কিত বিষয় তাই এটি আশা করাও হয়ত বা দোষের না। যদি আবেদনটি HM Nayem ভাইয়ের কাছে পৌছায় আশা করি আমলে নেবেন, ইনশাআল্লাহ।
যেহেতু আমি তামিম শাহরিয়ার সুবিন ভাইয়ের বইয়ের নিয়মিত পাঠক, তাই বইটি প্রথম অংশে বর্ণিত বিষয়বস্তু সম্পর্কে আমি আগেই অবগত ছিলাম। তাই বইটি পড়ে আর একজন জ্ঞানীর থেকে বিষয়গুলো ভেরিফাই হয়ে গেল আরকি।
এবার আশা যাক বইয়ের দ্বিতীয় অংশে, বইটির দ্বিতীয় অংশে HM Nayem ভাই একটা ওয়েব অ্যপলিকেশন তৈরির আইডিয়া থেকে শুরু করে ডেপলয়মেন্ট পর্যন্ত যা যা থিওরি এবং টুল যানা দরকার তা বর্নণা করেছেন। এক কথাই বললে ওয়েব ডেভেলপমেন্টে পুরো প্রোসেসটা বর্ননা করা হয়েছে। তাই ওয়েব ডেভেলপমেন্টে আগ্রহী প্রোগ্রামারের জন্য বইটির দ্বিতীয় অংশ হতে পারে আর্দশ সঙ্গী । আমার ডেভেলপমেন্ট নিয়ে অল্প অল্প ধারণা থাকলেও পরিষ্কার ধারনা ছিলনা। যা বইটি পড়ার মাধ্যমে ভালই অর্জিত হয়েছে। বিশেষ করে ওয়ের ডিজাইন ও ফ্রন্টেন্ড ডেভেলপমেন্টের মধ্যে পার্থক্যটি পরিষ্কার হয়েছে।
সবশেষে, ফুলস্ট্যাক ডেভেলপমেন্ট কানেকটিং দ্য ডটস (HM Nayem) বইটি সম্পর্কে বলা যায় যে, একজন ভালো ওয়েব ডেভেলপার হওয়ার জন্য যা যা করা দরকার, তার প্রায় সবকিছুই বইটিতে আলোচনা করা হয়েছে। তাই আমি মনে করি ওয়েব ডেভেলপমেন্টে আগ্রহী শিক্ষার্থিদের জন্য বইটি অপরিহার্য।
এটি কোন বই রিভিউ না বরং বইটি সম্পর্কে আমার একটা মতামত মাত্র। আশাকরি ভুলগুলো ক্ষমা সুন্দর দৃষ্টিতে দেখবেন এবং কমেন্টে যানাবেন। ধন্যবাদ
Bridging Gazebo Harmonic and Ros Iron
Published: 2024-03-14 01:08:15

## Environment
Gazebo Harmonic

Ros Iron (ros2)

### Install Gazebo
https://gazebosim.org/docs/harmonic/install_ubuntu
```shell
sudo apt-get update
sudo apt-get install lsb-release wget gnupg

sudo wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
sudo apt-get update
sudo apt-get install gz-harmonic
```

### Run Gazebo
https://gazebosim.org/docs

```shell
# Start gazebo sim
gz sim -v 4 -r visualize_lidar.sdf

# Test control
gz topic -e -t /model/vehicle_blue/cmd_vel

gz topic -t /model/vehicle_blue/cmd_vel -m gz.msgs.Twist -p "linear: { x: 0.1 }”
```

![image](https://github.com/andaccc/tech-roadmap/assets/8611553/0cb81ed4-a6cf-45a1-af4e-d39f27bf0b26)


### Install Ros gz bridge
ros topic: `/model/vehicle_blue/cmd_vel`, Type `geometry_msgs/msg/Twist`

to 

gz topic: `/model/vehicle_blue/cmd_vel`, Type `gz.msgs.Twist`


```shell
sudo apt install ros-iron-ros-gzharmonic-bridge

ros2 run ros_gz_bridge parameter_bridge /model/vehicle_blue/cmd_vel@geometry_msgs/msg/Twist]gz.msgs.Twist

# Test
ros2 topic pub /model/vehicle_blue/cmd_vel geometry_msgs/Twist "linear: { x: 0.1 }”
```

### Install keyboard control
```shell
sudo apt install ros-iron-teleop-twist-keyboard

ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r /cmd_vel:=/model/vehicle_blue/cmd_vel
```

### Rviz

Lidar Data
```shell
ros2 run ros_gz_bridge parameter_bridge /lidar2@sensor_msgs/msg/LaserScan[gz.msgs.LaserScan --ros-args -r /lidar2:=/laser_scan
```

tf
```shell
ros2 run ros_gz_bridge parameter_bridge /model/vehicle_blue/tf@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V --ros-args -r /model/vehicle_blue/tf:=/tf
```

Start rviz
```
rviz2
```

`Global Options` -> `Fixed Frame` to `vehicle_blue/lidar_link/gpu_lidar`

![image](https://github.com/andaccc/tech-roadmap/assets/8611553/8473ff28-2267-4793-ac8d-5cd6976650ee)

![image](https://github.com/andaccc/tech-roadmap/assets/8611553/ff96b40c-7adf-4e8f-93db-3e599f624837)


# Reference 
https://docs.ros.org/en/iron/Tutorials/Advanced/Simulators/Gazebo/Gazebo.html