teleren/devto huggingface dataset:
As a manual tester, what qualities are you required to possess?
Published: 2023-09-24 03:37:36

**Attention to detail, curiosity, creativity, strong analytical and problem-solving skills, communication and collaboration skills, patience and persistence, and a passion for quality** is the important quality I feel a manual tester is required to posses. I believe I posses these qualities and by cultivating these qualities, testers can make a significant contribution to the success of the software development process and help to deliver high-quality products that meet customer needs and expectations.
The below technical skills are also a must to be a good manual tester and I strongly believe in improving these skills as per the market demand.
**•  Experience in project management and QA approaches
•  Familiarity with agile frameworks
•  Working knowledge of testing tools, programming languages
•  Error documentation and debugging
•  Test management software experience**

Apart from these, I also do believe that I have a good soft-skills as mentioned below that helps me to communicate and execute my thought process to deliver a high quality product.
**•  Written and oral communication skills
•  Attention to detail
•  Team working and critical thinking
•  Professionalism with a team focus
•  Interpersonal skills**

The bouquet of QA tester responsibilities includes the following activities and I am good at the below mentioned skills/responsibilities.
•  Define testing objectives and the methodology to fulfill them
•  Review, analyze system specifications, and test procedures
•  Early testing of applications for early identification of errors
•  See to it that the test strategy is aligned with the development requirements
•  Report errors, document logs, and solve technical problems with the development team through bug tracking tools like Bugzilla, etc.
•  Root cause analysis of errors and defects
•  Executing debugging programs for fixation of defects and bugs
•  Design and execute test scripts, and test cases, and evaluate results for manual and automated tests
•  Carry out tests on source code and post-release testing
•  Function seamlessly with cross-functional teams for enhanced quality
•  Work with designers, developers, business analysts, and project managers to analyze business needs and estimate testing efforts
•  Find out test data needs and extract necessary test data
•  Carry out regression, functional, system, integration, smoke testing
•  Measure and manage testing activities with test management tools
•  Maintain test environments as per requirements
Handling Multiple Schemas in NestJS Swagger with @ApiProperty 🚀
Tags: nestjs, swagger, webdev, backend
Published: 2023-09-24 03:36:28

Swagger simplifies API documentation, but handling multiple schemas can be challenging. In NestJS, you can use the `@ApiProperty` decorator to tackle this. Let's explore this in a scenario. 🧐

## The Scenario 📜

Imagine building an e-commerce platform with NestJS. You have an endpoint to update orders, which can contain an array of products. These products can be newly created or updated, requiring two schemas. 🛒📦

## Defining Product Schemas 📝

Start by defining product schemas. You have a `Product` class with `id`, `name`, and `quantity`. Create two DTOs: `CreateProductDto` and `UpdateProductDto` for product creation and updates. 📋🛍️

```ts
class Product {
  // Properties
}

class CreateProductDto extends OmitType(Product, ['id'] as const) {}
class UpdateProductDto extends Product {}
```

## Handling Multiple Schemas 🤯

Now, let's handle multiple schemas within the `UpdateOrderRequestDto`, representing an order update request. This DTO includes an array of products, which can be of either `CreateProductDto` or `UpdateProductDto`. 🔄📑

```ts
@ApiExtraModels(CreateProductDto, UpdateProductDto)
class UpdateOrderRequestDto {
  // Properties

  @ApiProperty({
    type: 'array',
    oneOf: [
      { $ref: getSchemaPath(CreateProductDto) },
      { $ref: getSchemaPath(UpdateProductDto) },
    ],
  })
  @Transform(({ value }) => {
    // Transformation logic
  })
  products: (CreateProductDto | UpdateProductDto)[];
}
```

Here's the breakdown:

- Use `@ApiExtraModels` to include `CreateProductDto` and `UpdateProductDto` in Swagger documentation. 📚✨
- In `UpdateOrderRequestDto`, use `@ApiProperty` to define an array with a choice between `CreateProductDto `and `UpdateProductDto` using `oneOf`. 📊🧩
- Utilize `@Transform` to conditionally transform data based on the id property for creation or update. 🔄🔀

## Conclusion 🎉

Handling multiple schemas in NestJS Swagger enhances API documentation for complex data structures. By leveraging `@ApiProperty`, you can clearly define schemas, making your API documentation precise and comprehensible. 📖🚀

This approach simplifies API development with Swagger, resulting in well-documented and robust APIs. Mastering Swagger's features is key to creating efficient APIs that streamline your development workflow. 🛠️👨‍💻
Nerdy.nvim : Find Nerd Glyphs Easily 🤓🔭
Tags: showdev, neovim, vim, cli
Published: 2023-09-24 03:36:25

Do you like [Nerd fonts](https://github.com/ryanoasis/nerd-fonts)? but don't like going over to [their site](https://www.nerdfonts.com/cheat-sheet) just to fetch a glyph for your pretty terminal?

Well, me too!

Introducing [nerdy.nvim](https://github.com/2kabhishek/nerdy.nvim), a super handy plugin that lets you easily search, preview and insert all nerd font glyphs straight from neovim!

![nerdy.nvim](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hra0are555yzprbb2l4u.png)

## ✨ Features

- Fuzzy search nerd glyphs
- Preview glyphs before inserting
- Super lightweight
- Can auto generate new icons from source

## Setup

### ⚡ Requirements

- You have installed the latest version of `neovim`

These two plugins are optional but highly recommended for a smoother user experience.

- [dressing.nvim](https://github.com/stevearc/dressing.nvim) — for prettier select UI
- [telescope](https://github.com/nvim-telescope/telescope.nvim) — for fuzzy searching in list

### 🚀 Installation

```lua
-- Lazy
{
    '2kabhishek/nerdy.nvim',
    dependencies = {
        'stevearc/dressing.nvim',
        'nvim-telescope/telescope.nvim',
    },
    cmd = 'Nerdy',
},

-- Packer
use '2kabhishek/nerdy.nvim'

```

### 💻 Usage

`nerdy.nvim` adds a new command `Nerdy`.

You can add your custom bindings for the command, the recommended keybinding is `<leader>f,`.

check `:help nerdy` for more details.

> NOTE: By default there are no configured keybindings.

#### Fetch new icons

Running the `python scripts/generator.py` command will automatically fetch new icons from [source](https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/glyphnames.json) and update the icons.

##  Behind The Code

### 🌈 Inspiration

I love nerd font glyphs, and I use them anywhere I can! but I was wasting a lot of time going back and forth between nerd font site and neovim, also the copy feature was super buggy for me on the site, so I made nerdy!

### 💡 Challenges/Learnings

- Making the generated icon table with vim.ui.select was a bit tricky.

### 🧰 Tooling

- [dots2k](https://github.com/2kabhishek/dots2k) — Dev Environment
- [nvim2k](https://github.com/2kabhishek/nvim2k) — Personalized Editor

### 🔍 More Info

- [nerdicons.nvim](https://github.com/nvimdev/nerdicons.nvim) — Nerdy was inspired by nerdicons, thanks to the original authors for the groundwork.
- [co-author.nvim](https://github.com/2kabhishek/co-author.nvim) — Another one of my plugin that easily lets you add co authors

## GitHub Repo

{% embed https://github.com/2kabhishek/nerdy.nvim %}
You may never become a better blockchain developer if you don’t read this.
Tags: javascript, web3, blockchain
Published: 2023-09-24 03:27:01

You’re probably wondering why I used that kind of header. Well, I wanna catch your attention.

Why Should you read this if I want to become a better blockchain developer? You’ll be getting to understand the concept of cryptography if you read this article it’ll give you an edge as a blockchain developer.

Let’s Dive in.

What is Cryptography?

is the process of hiding or coding information so that only the person a message was intended for can read it.

Imagine, I want to send you a text and I don’t want anyone to get to know about the content except for you who is the receiver.

I would encrypt such a message and it’ll be decrypted by you once you get it.

Where am I going with this?

I’m trying to explain to you the use of cryptography in blockchain.

But first, let’s define blockchain.

A blockchain is a decentralized and unchangeable record in which information is being kept.

Now that you know what the blockchain is, it’s time for you to understand the role of cryptography in blockchain technology.

**→ Public & Private Keys**

These keys are fundamental cryptographic elements in the blockchain.

 Public keys are like our email addresses which allow us to receive crypto assets from users on the blockchain, 

While private keys are like passwords granting us access to the assets.

**→ Blockchain Hash Functions**

Data is transformed into fixed-length character strings using hash functions, a type of cryptographic instrument.

**→ Consensus Mechanism**

Achieving consensus among users is important in a blockchain network. 

This consensus is facilitated by the use of cryptographic techniques, which guarantees that all network nodes concur on the legitimacy of transactions. 

Both Proof of Stake (PoS) and Proof of Work (PoW), two well-known algorithms, largely rely on cryptographic concepts.

**→ Smart Contracts**

Smart contracts are agreements that automatically carry out the instructions given to them because they are encoded in code. 

By using cryptography, their security and reliability are guaranteed. 

You can interact with these contracts with confidence knowing that the results have been established and the code is impenetrable.

I’ve just given you the major reasons cryptography is important in blockchain technology. 

Now it’s left to you to utilize this knowledge

You can [follow me](https://twitter.com/01_arkade) on X/Twitter for more information like this.
Understanding and Resolving “Worker Failed to Boot” Error in Gunicorn
Tags: programming, development, developers, python
Published: 2023-09-24 02:17:16

**What Is the “Worker Failed to Boot” Error?**

The “Worker Failed to Boot” error is a common issue faced by developers using the Gunicorn web server. It typically appears in the logs when Gunicorn workers fail to start or boot properly. This can result in your web application failing to run, causing downtime and potentially affecting your users’ experience.

```
Traceback (most recent call last):
  File "/usr/local/bin/gunicorn", line 8, in <module>
    sys.exit(run())
  File "/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 61, in run
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  File "/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py", line 223, in run
    super(Application, self).run()
  File "/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py", line 72, in run
    Arbiter(self).run()
  File "/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py", line 232, in run
    self.halt(reason=inst.reason, exit_status=inst.exit_status)
  File "/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py", line 345, in halt
    self.stop()
  File "/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py", line 393, in stop
    time.sleep(0.1)
  File "/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py", line 245, in handle_chld
    self.reap_workers()
  File "/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py", line 525, in reap_workers
    raise HaltServer(reason, self.WORKER_BOOT_ERROR)
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
```

Find out the cause of the error and its resolution [here](https://codesolutionshub.com/2023/09/10/understanding-and-resolving-worker-failed-to-boot-error-in-gunicorn/?utm_source=dev_to&utm_campaign=csh_dev_to_gunicorn_error)
Optimize a Folder of Images with Astro 3.0
Tags: webdev, astro, ui, tutorial
Published: 2023-09-24 02:12:57

[Astro](https://astro.build) 3.0 was just released and it comes with a great image compression feature. The savings can be up to 99.1% less data based on testing I did with compressing `.jpg` images directly from a camera. However, all the examples only show how to compress and import one image at a time. In this blog post, I'll show you how to use Astro's built-in `Image` component to optimize all images in a folder with just a few lines of code. If you haven't done so already, [create an Astro project](https://docs.astro.build/en/install/auto/) and start a new component. 

First, you need to import the `Image` component from `astro:assets`. This component will automatically compress and lazy load your images for the best quality and speed.

Next, you need to use [`Astro.glob`](https://docs.astro.build/en/reference/api-reference/#astroglob) to import all your image files at once. This is a handy method that returns an array of files matching a glob pattern. You can use any valid glob pattern to filter the files by extension, name, or subfolder. For example, `"../assets/images/*.{jpg,JPG,jpeg,png,PNG,webp}"` will get all the `.jpg`, `.png` and `.webp` files from the `../assets/images/` folder.

Finally, the `images.map` function loops over the array of files and renders each one to its own `Image` component.

``` Javascript
---
import { Image } from "astro:assets";

const images = await Astro.glob(
  "../assets/images/*.{jpg,JPG,jpeg,png,PNG,webp}"
).then((files) => {
  return files.map((file) => file.default); // Map each file to its default export (the src).
});
---

{
 images.map((img) => (
    <Image
      src={img}
      width="1200"
      height="750"
    />
  ))
}
```

That's it! Now you have optimized all your images with Astro 3.0 and improved your website performance.
Reproducibility with Nix : A Beginners guide
Published: 2023-09-24 01:47:57


{% embed https://www.youtube.com/watch?v=PvRhjhzZ8iM  %}

Nix package manager is a powerful tool to ensure reproducibility in Software projects. Nix can help us set local dev environments, it can also unify all the dependencies in local envs, CI and container images.

In this talk I go through:
- Why is reproducibility an issue in Software Engineering
- How Nix addresses existing problems
- The basics of the Nix package manager and the Nix Store
- Derivations
- The basics of the Nix language
- Nix flakes
- Example project unifying CI/local env/ Container building using Nix Flakes

Slides and Code samples:
https://github.com/dav009/nixtalk

Example project :
https://github.com/dav009/nixsample
My First Project in Next js: Lumina AI
Tags: webdev, javascript, beginners, react
Published: 2023-09-24 01:46:10

Hey everyone,

I've just completed my first Next js web app AI project: [Lumina.AI](https://lumina-ai-one.vercel.app/). It's a is a SaaS-based AI platform built with Next.js, Shadcn, Tailwind CSS, Clerk, and the OpenAI API. I build it by following a YT tutorial( Code With Antonio ). While building this project i face with many challenges like the OpenAI release new version "4.6.0". The v4 is a complete rewrite of the SDK, in which many method names were changed, and some were deleted. But in the end, I was able to overcome these problems.

Source Code: [GitHub repo.](https://github.com/Tusharknwl/Lumina_AI)

Features:

- Clerk Authentication
- Chatbot: A AI chatbot that can answer user queries.
- Image Generation: Generate stunning images using AI.
- Code Generation: Automatically generate code snippets based on user requirements.
- Video: Generate a video clip based on user input.
- Music Generation: Generate music beat based on user input.

I built it using Next.js.

I'd genuinely appreciate feedback on:

- The user experience
- Site responsiveness
- Bugs or areas of improvement
USSD Code Development by Chris Aydat.
Tags: webdev, php, startup
Published: 2023-09-24 00:38:07




https://github.com/chrisaydat/ussddevelopment.git

Unstructured Supplementary Service Data (USSD) is a protocol that allows basic feature phones to interact with backend systems. In this article, we will go through a USSD code sample developed by Aydat, Inc. to understand how such applications are built.

## Overview

The USSD application developed by (chris) Aydat, Inc for Dyrect. provides the following capabilities:

- User registration
- Balance inquiry
- P2P money transfers
- Purchases

We will understand how the code implements these features.

## Application Flow

The high-level flow is:

1. User dials USSD code on their phone
2. Main handler is invoked which displays menu
3. User input is processed to navigate menu options 
4. Relevant actions like transactions, queries are performed

This is enabled by PHP code and USSD protocol features.

## Main Handler

The `ussd.php` file handles the USSD session:

```php
//ussd.php

$text = $_GET['text']; 

$data = explode("*", $text);

//determine menu level
$level = count($data);

//route user input  
switch($data[1]){

  case 1: 
    registration();
    break;  
    
  case 2:
    balance();
    break; 
    
    //...other cases
}
```

It receives user input, parses it to identify menu level, and routes it accordingly.

## Registration Flow

Registration prompts user for details one by one: 

```php
//functions.php

function registration(){

  if($level == 1){
    askFirstName();
  }  
  
  if($level == 2){
    askLastName();
  }
   
  //...other fields
   
  if($level == 9){
    saveToDB();
    confirmRegistration(); 
  }

}
```

`ussd_proceed()` is used to prompt for next field.

## Session Control 

```php
ussd_proceed() & ussd_stop() are used to manage session:

function ussd_proceed($text){
  echo "CON $text";
  exit(0);
}

function ussd_stop($text){
  echo "END $text";
  exit(0); 
}
```

## Database Integration

`connection.php` sets up database connectivity:

```php
//connection.php

$host = "localhost";
$username = "ussd";
$password = "123456";

$db = new mysqli($host, $username, $password, "ussdApp");

//execute queries
```

Used for registration, balance check etc.

## Conclusion

The Next Version of this Article Will explore Database Connections and Final Deployment
Setting Php Swoole on Laravel and nginx as reversed proxy
Published: 2023-09-24 00:30:33

dua situasi, guna php 7.4 atau php 8.1

Kalau guna php 7.4 
kena pakai pakej Laravel Swoole 

**INSTALL PAKEJ **

```
https://github.com/swooletw/laravel-swoole
```

Kalau guna php 8.1 ke atas 
boleh guna pakej Laravel Octane 
```
composer require laravel/octane
php artisan octane:install
```

Dalam nota ini, aku anggap dalam linux dah ada nginx , kalu tak dok , install guna arahan untuk debian. 

```
apt install nginx 
```

Kalau guna php 7.4, install laravel-swoole dan kalu nok adjust host dan port boleh publish vendor

```
php artisan vendor:publish --tag=laravel-swoole
```

edit file `swoole_http.php` dalam folder `/config `


Kalau guna php 8.1 ke atas, boleh guna laravel octane, dia boleh set host dan port direct. 

```
php artisan octane:start  --host=0.0.0.0 --port=80
```
**CONFIGURE NGINX**
Buatkan satu vhost untuk reversed proxy 
```
 server {
    listen 80;
    root /path/to/laravel;
    index index.php;
    
   error_page 404 /index.php

    location / {
         proxy_pass http://127.0.0.1:8000;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection 'upgrade';
         proxy_set_header Host $host;
         proxy_cache_bypass $http_upgrade;
    }

   
}
```
**CONFIGURE SUPERVISOR**
Supervisor ni digunakan untuk run apa-apa program secara background, jika server restart, ia akan start program tersebut secara automatik. 

```
sudo apt install supervisor
```
```
sudo nvim /etc/supervisor/conf.d/php-swoole.conf
```
```
[program:laravel-swoole-worker]
process_name=%(program_name)s_%(process_num)02d
command=php path_of_laravel_project/artisan  swoole:http start
autostart=true
autorestart=true
user=namauser 
redirect_stderr=true
stdout_logfile=any_existing_path/laravel-octane-worker.log​
stopwaitsecs=3600

```
```
sudo supervisorctl reread
sudo supervisorctl reload
sudo supervisorctl restart-all
```

[Google translate](https://dev-to.translate.goog/hardyweb/setting-php-swoole-on-laravel-and-nginx-as-reversed-proxy-27h8?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp)
Journey through Open Source: Contributing to txtToWeb
Tags: opensource, python, programming
Published: 2023-09-24 00:29:25



I recently had the pleasure of contributing to an open source project called [txtToWeb](https://github.com/Rachit1313/txtToWeb). It's a handy command-line tool that converts text files to HTML content. However, I noticed it could benefit from supporting the conversion of Markdown files and parsing italic syntax as well.

## Identifying and Proposing a Feature

After closely examining the tool, I realized that the ability to convert Markdown files and specifically parse italic syntax was missing. With this in mind, I raised [Issue #6](https://github.com/Rachit1313/txtToWeb/issues/6) to propose the addition of this feature.

The maintainer was receptive to this idea, and after a fruitful discussion, I received the green light to start working on this enhancement.

## Crafting the Change

To implement this, I forked the repository and got down to coding. The original version of `txtToWeb` did not have a function to handle the conversion of Markdown files to HTML, so I created a new function named `md_to_html` to add this feature.

I focused initially on supporting the italic syntax in Markdown. The key was to use a regular expression to substitute both `_text_` and `*text*` with `<i>text</i>` in HTML.

```python
# A snippet of the md_to_html function
content = re.sub(r"_([^_]*)_|\*([^\*]*)\*", r"<i>\1\2</i>", content)
```
This code snippet was instrumental in implementing the feature and ensuring that the italic syntax in Markdown was correctly converted to HTML.


## Submitting a Pull Request

After thoroughly testing the feature and making sure everything was working as expected, I documented the changes in the README and created a [Pull Request](https://github.com/Rachit1313/txtToWeb/pull/8) linking it back to Issue #6.

The maintainer was prompt in reviewing the changes, and after a constructive feedback and subsequent modifications, the pull request was merged!

## Reflections and Learning

This contribution experience was enlightening. It taught me the significance of understanding the existing architecture of a project before introducing new features. The review process was detailed and helped me refine my coding practices and adhere to the project's coding standards.


## Receiving a Contribution

My repository also received a pull request around the same time. Reviewing someone else's code was a learning experience in itself. It was crucial to maintain open communication, provide clear and constructive feedback, and ensure that the contributor felt valued and the code aligned with the project's standards.

## Conclusion

In conclusion, contributing to the txtToWeb project was a rewarding journey. It was a learning curve filled with challenges, accomplishments, and a lot of new knowledge. For anyone considering contributing to open-source projects, I would say – Go for it! It's a journey worth embarking on.
What's the Main Issue in Software Today?
Tags: discuss
Published: 2023-09-24 00:00:00

---
published_at : 2023-09-24 00:00 +0000
---
_Hey, hey, it's the Daily Byte! Over the next several days, we'll be talking about developer roles, success taits, and the future ahead. Today we want to know:"_  

>  What is the single most pressing issue currently confronting the software industry? 

Follow the DEVteam for more discussions and online camaraderie!

{% embed [https://dev.to/devteam](https://dev.to/devteam) %}