teleren/devto huggingface dataset:
openGauss Development Process
Tags: opengauss
Published: 2023-03-17 09:12:59

Figure 1 ODBC-based application development process


APIs Involved in the Development Process
Table 1 API description


Function

API

Allocate a handle

SQLAllocHandle is a generic function for allocating a handle. It can replace the following functions:

SQLAllocEnv: allocate an environment handle
SQLAllocConnect: allocate a connection handle
SQLAllocStmt: allocate a statement handle
Set environment attributes

SQLSetEnvAttr

Set connection attributes

SQLSetConnectAttr

Set statement attributes

SQLSetStmtAttr

Connect to a data source

SQLConnect

Bind a buffer to a column in the result set

SQLBindCol

Bind the parameter marker of an SQL statement to a buffer

SQLBindParameter

Return the error message of the last operation

SQLGetDiagRec

Prepare an SQL statement for execution

SQLPrepare

Run a prepared SQL statement

SQLExecute

Run an SQL statement directly

SQLExecDirect

Fetch the next row (or rows) from the result set

SQLFetch

Return data in a column of the result set

SQLGetData

Get the column information from a result set

SQLColAttribute

Disconnect from a data source

SQLDisconnect

Release a handle

SQLFreeHandle is a generic function for releasing a handle. It can replace the following functions:

SQLFreeEnv: release an environment handle
SQLFreeConnect: release a connection handle
SQLFreeStmt: release a statement handle
 NOTE:
If an execution request (not in a transaction block) received in the database contains multiple statements, the request is packed into a transaction. If one of the statements fails, the entire request will be rolled back.

 警告：

ODBC is the central layer of the application program and the database. It is responsible for transmitting the SQL instructions issued by the application program to the database, and does not parse the SQL syntax by itself. Therefore, when an SQL statement with confidential information (such as a plaintext password) is written in an application, the confidential information will be exposed in the driver log.
Generate hexagons in JS based on center coordinates and radius
Tags: javascript, programming, codenewbie
Published: 2023-08-19 14:35:15

---
title: Generate hexagons in JS based on center coordinates and radius
published: true
date: 2023-03-17 09:09:09 UTC
tags: javascript, programming, codenewbie,
canonical_url: https://whyboobo.com/tutorials/js-draw-hexagons-coordinates-and-radius/
---

How to generate hexagons in javascript based on the center point coordinates and radius length

```
function drawHexagon (centerPointLatitude, centerPointLongitude, radiusLength) {
  const radius = radiusLength / 6371

  const angle = 2 * Math.PI / 6 // 2PI (360 degree) divded by 6 points of the hexagon shape

  const hexagon = []
  for (var i = 0; i < 6; i++) {
    const longitude = centerPointLongitude + (radius * Math.cos(angle * i))
    const latitude = centerPointLatitude + (radius * Math.sin(angle * i))

    hexagon.push([longitude, latitude])
  }

  // close the polygon adding the initial point
  hexagon.push(hexagon[0])

  return hexagon
}

drawHexagon(44.4268, 26.1024, 10)

```

Image credits [Pixabay](https://pixabay.com/images/id-6406639/)
Smoke Testing Vs Sanity Testing: Top 9 Key Differences You Need to Know
Tags: webdev, javascript, beginners
Published: 2023-03-17 09:04:09

Validating a software for its stability and efficiency is essential to maintain customer satisfaction and prevent significant revenue losses. Moreover, in today’s fast-paced and highly competitive software development landscape, quality assurance is more critical than ever. Of myriad testing modules, smoke tests and sanity tests are two types of software testing that are designed to catch issues early in the development process before they become more significant and costly problems.

Although being used on a regular basis, these two terms have collected some misconceptions around them. It is essential to understand these testing methodologies and thus know the difference between them.

Let’s dive in!

## What is Smoke Testing?
Smoke testing is a critical step in the software testing process that helps to identify critical issues and ensure the stability of the application. It verifies the most crucial functionalities and provides a quick and high-level overview of the software's functionality. By detecting major defects early on, it saves a lot of time and effort for the development team and helps prevent delays or failures later in the development cycle.

Performing smoke tests manually or with automation tools is a common practice, and after passing the smoke test, the development team moves on to more comprehensive testing.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1cu1pgu5za876ruvzj5i.jpg)

## What is Sanity Testing?
Sanity testing is a crucial type of software testing that quickly verifies if newly added functionalities or changes have not negatively affected the critical functionalities of the application. It is cost-effective, catches potential problems early, and enhances user satisfaction by ensuring the quality and reliability of the software. 

The testing involves manual or automated testing of essential functionalities, including login, search, and payment functionality, to ensure they are still working correctly. Sanity testing is performed before comprehensive testing to catch any potential issues quickly.

Read detailed comparison here: https://bit.ly/3FQpzP1
Days3_Concatenate
Published: 2023-03-17 08:33:30

Concatenate is the process of merging or combining multiple strings into one
```
#concatenating atau mengabungkan beberapa string jadi 1
#days 3
def exercise_1():
  Number = input("Give Me a Number : ")
  Group = input("Give me a Collective Noun for a Group Of Things:")
  Thing = input("Give me the name of a Weird or wacky thing: ")
  print("No I don't think that", Number,"is a", Group,
        "of",Thing,".that's just odd.")

def exercise_2():
  print("------------------------------------------------------")
  yourName = input("Name: ")
  whatYear = input("What year is it?: ")
  print(yourName, "thinks it is", whatYear)

def excercise_3():
  print("------------------------------------------------------")
  Food_Type = input("Name a Food: ")
  Plant_Type = input("Name a Type of Plant: ")
  Cooking_Method = input("Name a Method of Cooking: ")
  Desc = input("What Word Describes Burned Food: ")
  Item = input("Name a DIY Item: ")
  print(Cooking_Method, Food_Type,"with", Desc, Plant_Type, "on a bed of", Item)
  
#manggil Fungsi
def call():
  exercise_1()
  exercise_2()
  excercise_3()
call()
```
Days2_ Taking user input
Published: 2023-03-17 08:30:13

Taking user input the process of gathering information from a user through a program or application

```
#Take User Input
#Days 2

#This Is exercise--------------------------
myName = input("What Your Name: ")
MyAge = input("What Your Age: ")
print("=---------------------------=")
print("halloo mr " + myName +" "+ MyAge + " YerasOld")
print("-----------------------------")
myLunch = input("What are you having for lunch? ")
print("Hmm, it sounds like you really should just order "+ myLunch)
print("as soon as possible!")
print("_______________________________")
print("Definitely not a Phishing Scam")
print("")
myName1 = input("Your Name : ")
print("Thanks for logging in")
print(myName1)
print("------------------------------------")
cardNumber = input("What is your credit card number?")
print("Thanks, I definitely wont put")
print(cardNumber)
print("into Amazon and order anything weird")
print()
print("Promise")
print("_____________________________________")
maidenName =input("What is your Mother's maiden name? ")
print()
print("That's cool, I just wanted to know that")
print(maidenName)
print("was your Mum's maiden name. Not because the bank requested it or anything, honest.")

#Challenge --------------------------------------
print("________________________________________")
Name = input("What Is Your Name: ")
Food = input("What Favorite Food: ")
Living = input("Where Do You Life : ")
print("You are"+Name+" "+" You're probably hungry for"+" " +Food+ "and You're definitely getting your groove on to synthwave and anything by our man rick astley"+" "+"living In the" +" "+Living+" EDGE OR REALITY"+" ")
```
WeCoded 2023 and My journey
Tags: wecoded
Published: 2023-03-17 08:12:19

In a high school subject called "Introduction to Computer Science," I learned how to code for the first time. Yet I didn't truly decide to enroll in this course. I had no choice but to proceed with this course as intended. When I was 18 years old, I thought "Computer" and "Science" sounded like a challenging course, so I was worried I wouldn't like it. Of course, I was incredibly mistaken.

It was simple for me to lose track of time while developing my assigned projects because I was having so much fun learning how to code and the art of computer science. I believe that the ability to make anything right at my fingertips fascinated and addicted me.

I had to travel a long way before I could enter the tech industry and find my niche. But I'm able to do it because I enjoy problem-solving and optimizing issues, coming up with original technological solutions, working with people to innovate and develop, learning about new technologies, and finding new tech communities.
Bring Your Own AWS Account
Tags: opensource, elestio, aws
Published: 2023-10-11 13:05:54

---
title: Bring Your Own AWS Account
published: true
date: 2023-03-17 08:12:07 UTC
tags: opensource, elestio, AWS
canonical_url: https://elestio.hashnode.dev/bring-your-own-aws-account
---

You can now use your own AWS Account to deploy services or your own project with our CICD Pipelines.

The main benefits are the following:

- Simple Open Source software installation
- Create CICD pipelines easily with GitHub/GitLab
- Automatic backups & updates
- Elestio Tools & Monitoring
- Keeping instances ownership

Discover how to use your own AWS account on Elestio with our video tutorial:

<iframe src="https://www.youtube.com/embed/NxzHdoWtKQw?feature=oembed" width="700" height="393"></iframe>

_Originally published at_ [_https://blog.elest.io_](https://blog.elest.io/bring-your-own-aws-account/) _on March 17, 2023._
Don’t use filter method on Large Datasets!
Published: 2023-03-17 08:12:00

I was working on the application in which I faced a performance issue, the issue was related to the fact that I used a grid in Angular application and on the grid I was triggering a click event on the td element of the table.

In the method attached to that td I was passing the index of the row and on the .ts file I used .filter method of array, later I realized that if the array size reaches to 5000 records then this will hit a performance bottleneck.

So I decided to use the for loop instead of filter and it boosted my performance to the level I can’t imagine. Here’s the code for your reference:



![Code Snippet](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8tdnygg941x4kq28if3d.png)
Sherlock - Hunt down social media accounts by username across social networks
Tags: tutorial
Published: 2023-03-17 08:09:45

Hey folks! Today I want to talk about Sherlock - a social media hunter created in Python. 

## Installation and configuration

Follow the next steps

```
git clone https://github.com/sherlock-project/sherlock
cd sherlock
python3 sherlock --timeout 1 username
```
## Example: 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8la50zmbrllehguy4lkw.gif)
There is a gap in tech industry
Tags: wecoded
Published: 2023-03-17 08:02:23

Women aren't contemplating careers in technology because they aren't provided enough information about what working in the field entails and because no one is presenting it to them as a possibility.

As a IT teacher I think the idea that a job in technology is unsuitable for women is further reinforced by the absence of female role models. Only 22% of pupils can name an influential female technologist. Conversely, two thirds can name a well-known technologist.

If technology companies want to draw more women into the field, they must emphasize how technology is a force for good. When choosing their future job, half of women think that feeling like their work improves the world is the most crucial consideration.
CheatGPT on Product Hunt
Tags: productivity, laravel, community, webdev
Published: 2023-03-17 07:57:39

Hey everyone! I'm excited to announce the launch of [CheatGPT](https://cheatgpt.app/) on Product Hunt. 

This open source tool is built using [SvelteKit](https://kit.svelte.dev/), [Tailwind](https://tailwindcss.com/), [DaisyUI](https://daisyui.com/), [Supabase](https://supabase.com/), [Vercel](https://vercel.com), [Stripe](https://stripe.com/), and I believe it can revolutionize the way you approach academic and professional tasks.

CheatGPT offers premium features like summarization, in-depth explanations, grammar and syntax correction, and photos-to-text conversion, making it the perfect productivity tool for students and professionals alike. I'd love your support on Product Hunt to help me spread the word and gain traction in the community.

In addition to upvoting our launch on Product Hunt, I'd also appreciate any feedback or suggestions you might have about the project. You can find the source code for CheatGPT on [GitHub](https://github.com/epavanello/cheatgpt.app)

Thank you for your support, and I hope you find CheatGPT to be as useful as we do!

## Upvote here: [Product Hunt](https://www.producthunt.com/posts/cheatgpt)
Technology for gender equality
Tags: wecoded
Published: 2023-03-17 07:51:54

Digital technology is becoming indispensable to our daily life. Children and young people should have access to a variety of online experiences and opportunities for their development, including formal and informal learning, access to health and well-being information and support, participation in their own creative and cultural practices, the ability to express their ideas and opinions, leisure time, play, and connections with peers, as well as opportunities to find employment, learn about careers, and start their own businesses.


Nonetheless, there is a gender digital divide: girls are less likely to adopt new technologies than boys, have less access to and usage of technology than boys, and frequently do not benefit from it in the same way.

To address their needs, digital goods and services must be created with and by females. Digital solutions, products, and content are frequently created with a "default" user in mind rather than taking into account factors like connectivity and data restrictions, the devices that girls can access, the digital platforms they use, their level of digital literacy, or the kinds of content that girls find interesting and want to view. Despite their best efforts, design teams frequently target a primarily male user base. Co-creation, design, and product testing are not open to women.
Another phase of a Web3 core training
Published: 2023-03-17 07:39:51

Aya Web-3 fellowship was in two stages; 
i)The Foundational stage that came to an end at the end of the year 2022, 
ii) the Core Training Stage.

I didn’t know what the core-training stage meant until I was fully into it. As a front-end developer, learning Solidity and backend became part of my core training. I remember our instructor emphasized learning all these tracks to be well integrated into a team.

He further intensified this by giving us tasks on them. In one of the tasks, I made a social media image website. Take a look at it https://lnkd.in/ew6msutp

We did another task building a simple app with React and Redux-toolkit https://lnkd.in/e_46UEgi

The PACE workshops were so educative, insightful and entertaining. Learning about Clients' needs and software requirements is a must for everyone in the tech space. It is not just about building products but building products that are meeting your client’s needs.

Combining the aforementioned with the project was very unrealistic at first. I remember laughing so hard in my team’s first meeting when I saw the Product Requirement document. I thought of who would be building all these requirements mentioned in the document.

Well…….., the building is becoming a reality as we are gradually approaching the finishing line.
All thanks to the great pod members I have, so dedicated and hardworking, Our instructor(very patient, diligent and dedicated) and most importantly Aya (Techstars '23) for providing the platform to learn and rub minds with great intellectuals.
An easy-to-use software packaging tool
Published: 2023-03-17 07:39:26

Advanced Installer is a simple and easy-to-use tool for creating software installation programs for Windows. It can be used to create software installation packages such as MSI and EXE. Users only need to add files, modify names, and add buttons.

Official website: https://www.advancedinstaller.com/

Note: Packages built with version 16.9 of the Advanced Installer can only be installed on Windows Vista or later, to deploy packages on older operating systems such as XP systems, use Advanced Installer 15.9.

Resource download, which contains two versions 15.9 and 16.9, activation, localization tools and tutorials:

"Advanced Installer.exe" https://www.aliyundrive.com/s/H7uyvf9SAcx Extraction code: 86pe
Click the link to save, or copy the content of this paragraph, open the "Alibaba Cloud Disk" APP, no need to download the extremely fast online viewing, and the original video will be played at double speed.

Software Features:

Has the ability to fully install, register, and uninstall the files, components, and resources that make up your application;

Fully customizable MSI installation package - with the ability to add and delete files and folders;

Add or remove internal and external file or URL shortcuts;

Add or remove registry keys or entries;

Add or remove environment variables;

File attributes can be set during installation - read-only, hidden, etc.;

Force the system to restart after the installation is complete;

Support the creation of installation packages in systems with 64-bit CPUs;

Complete log of the installation process under Windows system;

Support for Java applications;

Old versions are automatically upgraded;

Support the installation and production of merged modules;

Support dialog editing;

Support database installation;

You can customize the installation location of menu shortcuts;

Support for installing control panel applets;

Support making installation packages from images before and after installation;

Can import other MSI and Visual Studio projects.
Mastering the “this” Keyword in JavaScript: A Guide to Understanding its Behaviors in Arrow and Anonymous Functions
Tags: javascript, beginners, tips, jstips
Published: 2023-03-17 07:39:15

The “**this**” keyword in JavaScript can sometimes be a source of confusion for developers. It’s essential to understand what **this** refers to because it can change depending on the context.

Let’s use some Star Wars characters to explain the concept — I know you are thinking: “c’mon! another article using Star Wars characters!”.

Yes! 🤓 I am a Star Wars fan! 😁

However, imagine you have a Jedi named Luke Skywalker and a Sith Lord called Darth Vader. Both can use the Force, but how they use it is different.

In JavaScript, the **this** keyword is like the Force — it gives you the power to access object properties and methods, but how it’s used can vary.

Example:

```
const luke = {
  name: 'Luke Skywalker',
  useTheForce() {
    console.log(`${this.name} uses the Force!`);
  }
};

const vader = {
  name: 'Darth Vader',
  useTheForce() {
    console.log(`${this.name} uses the Force!`);
  }
};

luke.useTheForce(); // "Luke Skywalker uses the Force!"
vader.useTheForce(); // "Darth Vader uses the Force!"
```
In this code, _luke_ and _vader_ are objects with a `useTheForce` method. When we call `luke.useTheForce()`, the **this** keyword inside the method refers to _luke_, and when we call `vader.useTheForce()`, **this** refers to _vader_.

So far, so good. 😑

It’s important to keep in mind that **this** can change depending on the context. For example, if we use `useTheForce` as a regular function instead of a method, **this** will refer to the global object:

```
const useTheForce = luke.useTheForce;
useTheForce(); // "undefined uses the Force!"
```
In this case, **this** no longer refers to _luke_ or _vader_, but to the global object, therefore the `this.name` is `undefined`.

The same will also happen when using the arrow function:

```
const obj = {
  name: "Luke Skywalker",
  printName: function() {
    console.log(this.name);
  },
  printNameArrow: () => {
    console.log(this.name);
  }
};

obj.printName(); // outputs "Luke Skywalker"
obj.printNameArrow(); // outputs "undefined"
```
In the example above, the traditional function printName correctly outputs the name property of obj. However, the arrow function printNameArrow outputs _undefined_ because it refers to the global **this** object, which does not have a name property.

In traditional functions, **this** is dynamically scoped, meaning it refers to the object that calls the function. However, in arrow functions, **this** is lexically scoped, meaning it refers to the object in the surrounding scope.

Overall, the **this** keyword is a powerful tool in JavaScript, but it’s also one that requires careful consideration. 
With a little bit of practice, you’ll be able to use the Force — er, **this** — with confidence!

Happy coding! ✌️
Web3 fellowship
Published: 2023-03-17 07:37:27

In my fellowship with Ayagigs on Web3. I witnessed another phase of intensive training.

I built an NFT project that could write and deploy smart contracts. You can check that out here: https://lnkd.in/d9qhfNRQ

In another week, We were given a task to build the front end for a smart contract, integrating the read and write functions and listening to the emitted event. This was just a simple DApp. Here is a link to that: https://lnkd.in/d8gdCU_R

I had a great time in the PACE sessions learning about the phases in the software development life cycle. I knew the different models of software development lifecycle like the Spiral model, waterfall model, agile model, v-model etc. We came up with products peculiar to each model in the different groups we shared and discussed them extensively.

Is the Fellowship interesting? Yes
Is it tasking? Yes
Is it time-consuming? Yes
Have I ever thought about dropping out? Yes
Did I eventually drop out? No
Quitters don’t win. To be a Web3 front-end developer, I have got to give it all it takes.