teleren/devto huggingface dataset:
Spiral lifecycle model Part 1
Tags: productivity, programming
Published: 2021-10-11 12:39:34

> The spiral model of development is a really good model that helps you develop faster. In the spiral model, you start small and expand the scope of the project in increments. You expand the scope only after you have reduced the risks for the next increment to an acceptable level. Today let us learn more about this model

____
The spiral model is a risk oriented model that breaks a software project up into mini projects. Each mini-project addresses one or more major risks until al the major risks have been addressed. 
Risks refers to factors like
- Poorly understood requirements
- Poorly understood architecture
- Potential requirement problems
- Problems in underlying technology.

After all the risks have been addressed, the waterfall model terminates as a waterfall lifecycle would.

The spiral model is also called as the 'cinnamon roll' model.

____
![Cinnamon roll](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p504di87sbh4wv9k8yzu.jpeg)
 
the basic idea about the diagram is that you start on a small scale in the middle of the spine, explore the risks make a plan to handle the risks, and then commit to an approach for the next iteration.
 
Each iteration moves the project into a larger scale. You roll up one layer of the cinnamon roll, check to be sure that it's what's  you wanted., and then you begin work for the next layer.

Each iteration involves the six steps below
- Determine objectives, alternatives, and constraints. 
- identify and resolve risks
- Evaluate alternatives
- Plan the next iteration. 
- Commit to an approach for the next iteration.

In the spiral model, the early decisions are the cheapest. You spend less developing the concept of operation  than you do developing the requirements than you do developing the design, implementing the product, and testing it.



**You can tailor the iterations of the model as per your requirements and the needs of the project.**


_Notes and images from [Rapid Development: Taming Wild Software Schedules by Steve McConnell](https://www.amazon.com/Rapid-Development-Taming-Software-Schedules/dp/1556159005)_

______
To be continued...
SpreadArray CSharp
Tags: csharp
Published: 2021-10-11 12:39:22

I decided to publish an extension that simulates a javascript spread function. 

When I started using c # I missed some features that I used in javascript, I know they are different things and that c # is a strongly typed language. 

But I'll leave the link to the package that I created and use in some projects, and that solves some problems.

## Spread Array CSharp
The spread operator is denoted by three dots (…)(popular in javascript). · The spread operator unpacks elements of iterable objects such as arrays, sets, and maps into a list.

### Example
```csharp
var user = new User("Alexandre");
var userAddress = new UserAddress("Porto Velho", "Brasil");
var contact = new Contact("my@mail.com");

dynamic dynamicUserProfile = new ExpandoObject();
dynamicUserProfile = user.Spread(userAddress).Spread(contact);

/// Example 1: preparing to json response
JObject json = JObject.FromObject(new { dynamicUserProfile });

/// Example 2: setting value on richTextBox from windows application
richTextBox1.Text = json.SelectToken("dynamicUserProfile").ToString();
```


```csharp
    public class UserAddress
    {
        public UserAddress(string city, string country)
        {
            City = city;
            Country = country;
        }

        public string City { get; set; }
        public string Country { get; set; }
    }

    public class User
    {
        public User(string name)
        {
            Name = name;
        }

        public string Name { get; set; }
    }

    public class Contact
    {
        public Contact(string email)
        {
            Email = email;
        }

        public string Email { get; set; }
    }
```
Build Clubhouse 👋  like app for iOS
Tags: ios, swift, tutorial, android
Published: 2021-10-11 12:38:38

Join 100ms October developer meet-up where we cover - Building a Audio app like Clubhouse for iOS using 100ms SDK on October 13th, 2021 | 9:00 PM IST

Join Now - https://community.100ms.live/developer-community-meetup-october

Workshop Host - Dmitry Fedoseyev & Yogesh Singh, iOS developers at 100ms

Agenda -
-> The killer idea behind Clubhouse and its working
-> Setting up & creating roles for the app.
-> Understanding terminology - HMS SDK, rooms, etc.
-> Integrating the HMS SDK to create an audio room from scratch
-> QnA with 100ms team
Some of the Best Open-Source Projects to make your life easier.
Tags: javascript, react, webdev, beginners
Published: 2021-10-11 12:28:47

We all know javascript is the language using which we can build any type of application whether it is the web, mobile or desktop. from its birth javascript has evolved so much to make developer life easier. especially in the frontend world javascript is king. there are so many projects built on top of javascript some of them are closed source and some of them are open source. [Reactjs](https://reactjs.org/) is one of them. so in this article will be sharing some of the best open-source projects which you can use in your next Reactjs project.

- [Material UI](https://mui.com/) 

Material UI is Based on Google material design and it comes with components for faster and easier web development.

- [React-Select](https://react-select.com/home)

There might be multiple use cases where we would need this library as it comes with A flexible and beautiful Select Input control for ReactJS with multiselect, autocomplete, async and creatable support.

- [React Flatpickr](https://github.com/haoxins/react-flatpickr)

Useful library for building Select date Picker.

- [React Tag Input](https://betterstack.dev/projects/react-tag-input/)

If you are building an application with a tag system then this library will be definitely useful. React Tag Input is a robust, minimal and performant input field for creating multiple tags.

- [React Countup](https://github.com/glennreyes/react-countup)

This library Provide a Configurable React Component wrapper around Countupjs. it's lightweight and can be used to quickly create animations that display numerical data in a more interesting way.

- [FullCalendar](https://fullcalendar.io/)

When you are building an application that involves events management then this library would be got fit for that. you can integrate this library with any javascript framework.

I hope you all find this helpful. Let me know in the comment section which are the other libraries that makes your life easier.

Thank you for reading.
Have you seen CELO's Hackathon program?
Published: 2021-10-11 12:27:00

It is a fact that traditional market actors exploit developers. But there is an opportunity to achieve much more in the cryptocurrency and blockchain ecosystem. Moreover, it can be an excellent step to develop an innovative technology such as web3.

Celo will award $2.5m in total to developers in its newly launched hackathon program. You can do great things in NFT, DeFi, gaming. I'm sure mobile solutions will make this field much better. Read the article for more information. The link to join is below.

https://medium.com/celoorg/announcing-defi-for-the-people-mobile-defi-hackathon-9b67a1248b3d

https://www.defiforthepeople.org/hackathon
Being girly doesn't mean you can't be serious or professional
Published: 2021-10-11 12:26:40

It's okay for girls to like pink, wear a dress and want a family. But it's also okay to not want any of that.

Let's not assume what girls want and let them do whatever they want without pressuring them to fit a predefined mold! It took me a long time to be okay with my girly side after hearing for so long that being girly meant you can't be taken seriously and that girly girls are annoying.

I have always been a girly girl and liked cute and pink things. But for example at one point I was too insecure to be myself and I stopped wearing a gorgeous pink jacket that I loved a lot. I got my self-confidence back too late and I had already overgrown that jacket and wasn't able to wear it anymore. At that point I decided it's not worth missing something you like just because of someone's opinion. But it's easier to say that than actually live like that.

There's still people who bully others for being too girly. Luckily I haven't really encountered that as much now that I'm an adult but I still have heard people talking behind my back how fake I am or that I have some secret motive for behaving like I do.

All this because I am a joyous, kind and caring person and I'm not afraid to show it. This is a constant inner fight for me to be able to continue being truly myself. On days when I feel insecure, I also hide this bubbly personality of mine and try to blend in with others.

But I'm trying my best to show my girly side more often and help change the image of a girl to be seen as something positive. Because that's what it is.

Happy international day of the girls!
Struggling to Modernize .NET Framework Workloads?
Published: 2021-10-11 12:21:42

This [".NET Workloads on AWS GitLab Toolkit" video](https://url2go.to/netciaws) shows how @gitlab Runner can be used to scale CI build for .NET Framework 4.x codebases with affordable @AWS elastic compute. Includes working code! 

This includes a substantial video segment and working code for using EC2 Image Builder to build Windows .NET Framework build agents for legacy .NET Framework versions. It's much easier than packer or hand-crafting CI jobs if your primary target is AWS AMIs.
Today's Daily Dose of Programming Humor
Tags: jokes, dailydeveloperjokes
Published: 2021-10-11 12:00:05

---
title: "Today's Daily Dose of Programming Humor"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
published: true
tags: #jokes, #dailydeveloperjokes
---

Generated by Daily Developer Jokes, a project by [Fred Adams](https://xtrp.io/) ([@xtrp](https://dev.to/xtrp) on DEV)

**Read about Daily Developer Jokes on [this blog post](https://xtrp.io/blog/2020/01/12/daily-jokes-bot-release/), and check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/).**
### Today's Joke is...
![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e125927bb96c.png)

---
*Have a joke idea for a future post? Email **[xtrp@xtrp.io](mailto:xtrp@xtrp.io)** with your suggestions!*

*This joke comes from [Dad-Jokes GitHub Repo by Wes Bos](https://github.com/wesbos/dad-jokes) (thank you!), whose owner has given me permission to use this joke with credit.*

<!-- 
Joke text:
**Q:** Why did the database administrator leave his wife?

**A:** She had one-to-many relationships.
 -->
How to fix postgresql duplicate key violates unique constraint?
Tags: postgres, duplicate, unique, constraint
Published: 2021-10-11 11:50:16

---
title: How to fix postgresql duplicate key violates unique constraint?
published: true
description: Shortly after migrating a db from Microsoft SQL to Postgresql, faced with the issue postgresql duplicate key violates unique constraint.
tags: postgresql, duplicate, unique, constraint 
//cover_image: https://direct_url_to_image.jpg
---

Shortly after [migrating a db from `Microsoft SQL` to `Postgresql`](https://dev.to/abbazs/how-to-migrate-mssql-database-to-postgresql-database-1a1b), I was trying to add new record only to face with issue:
```
Original exception was: 
(psycopg2.errors.UniqueViolation) duplicate key value 
violates unique constraint "some_table_pkey"
DETAIL:  Key (id)=(2) already exists.
```
It seems this is [prone to happen](https://stackoverflow.com/q/4448340/1437877) whenever there is a bulk update done to the db and [how to fix it](https://stackoverflow.com/a/21639138/1437877)?

So why does it happen only when do a bulk update? 
While doing bulk update the primary key sequence is not going to get incremented, because primary key is already there in the records.

```python
# Imports first!
import pandas as pd
from sqlalchemy import create_engine

# Postgres instance can only be accessed with sslmode
ssl_args = {
    "sslcert": r"C:\.postgresql\postgresql.crt",
    "sslkey": r"C:\.postgresql\postgresql.key",
    "sslmode": "require",
}

# create a sqlalchemy engine
sqlengine = create_engine(
"postgresql+psycopg2://admin:password@x.x.x.x:5432/thedatabase",
connect_args=ssl_args,
)
# Repeat the following steps for the all tables with primary key
table = "problem_table"
pkey = "pkey"
# Get the serial sequence reference using pg_get_serial_sequence
output = pd.read_sql(f"SELECT pg_get_serial_sequence('{table}', '{pkey}');", con=sqlengine )
# Set the serial sequence value to the max value of the primary key 
output = pd.read_sql(f"SELECT setval('{output.iloc[0][0]}', (SELECT MAX({pkey}) FROM {table})+1);", con=sqlengine )
```
Wanna be Fronted Developer?
Tags: javascript, beginners, webdev, html
Published: 2021-10-11 11:44:55

You should at least know these topics :

## `Computer Science Fundamentals`
1. Basics of Programming  - Loops, Conditionals, Functions, Recursion.
2. Time and Space Complexity. 
3. Searching and Sorting - Linear Search, Binary Search, Quick Sort, Radix Sort, Merge Sort, Insertion Sort etc.                                4. Basic DS - Array, linked list, stack, queues. Adv DS - Trees, Heaps and Graphs.
S.  Object Oriented Programming - Inheritance, Polymorphism
6. Computer Networks, Database Management, Operating Systems

## `Frontend Web Development`
1. HTML, CSS, Responsive Design
2. Javascript fundamentals, React.JS
3. Basic knowledge of APIs
Why is Java Development Popular in 2021?
Tags: java, technology
Published: 2021-10-25 08:17:03

---
title: Why is Java Development Popular in 2021?
published: true
date: 2021-10-11 11:28:47 UTC
tags: Java,Technology
canonical_url: https://www.botreetechnologies.com/blog/why-is-java-application-development-popular/
---

Java is the #1 programming language for today’s tech trends....

Java is the #1 programming language for today’s tech trends. Over the last 20 years, only C and Java are the two programming languages that have taken the top spot in TIOBE’s index. Java application development has been useful in building dynamic apps for years, and will continue to be so.

Java is the technology for enterprise apps – companies use it to build scalable, robust, and versatile apps. While [Java development services](https://www.botreetechnologies.com/java-development-company) face stiff competition from Python, it is still preferable due to its speed and power. Java web application development offers platforms and software that stays competitive for years. 

On top of that, Java mobile applications capture a significant portion of the mobile app market. Android applications use Java as their preferred technology due to the ease of use and components that offer dynamic functionalities. It’s been over 26 years, but the programming language is still going strong with over 90% of Fortune500 companies using it in their technology stack.

The post [Why is Java Application Development Popular in 2021?](https://www.botreetechnologies.com/blog/why-is-java-application-development-popular/) appeared first on [BoTree Technologies](https://www.botreetechnologies.com/blog).
Need To Prepare for Your Next SW Engineering Interview? Try This Awesome Site!
Tags: interview, software, engineering
Published: 2021-10-11 10:49:09

No doubt that preparing for interview is an essential step to get a job in one of the big tech companies, it's important even if you need to navigate through your current company.  

Today I came across [Interview School](https://interviews.school/), a website built by an ex-Google software engineer to help prepare for software engineering interview. 

what I liked the most, the interactivity and details provided. the site is designed as a big interactive checklist walks you through the Whole thing in detail.

it also provides How-Tos, ton of technical explanations/resources, problem exercise and code snippets.

Try it, you won't regret!
<br />

P.S. this is my first post in this great community, please let me know your comments and thoughts :)
<br />
<br />

Photo by <a href="https://unsplash.com/@officestock?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Sebastian Herrmann</a> on <a href="https://unsplash.com/s/photos/interview?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
Jelajah Wisata Aceh
Tags: pakettoursabang, paketwisatasabang, pakettouraceh
Published: 2021-10-11 10:33:01

Dalam beberapa tahun terakhir ini, tidak bisa dipungkiri bahwa Sabang menjadi salah satu destinasi unggulan di Indonesia, khususnya penggemar wisata laut. Bahkan boleh dikatakan bahwa Sabang adalah salah satu destinasi wista laut terbaik di Indonesia yang diminati oleh banyak wisatawan asing dan mancanegara.

Dalam program <a href="https://aurorawisata.com/products/detail/42/paket_tour_3hari_2_malam_banda_aceh_sabang/">paket tour sabang</a>, anda akan dijemput di Bandara Sultan Iskandar Muda baik kedatangan domestik maupun Internasional. Selanjutnya anda akan dibawa menuju Pelabuhan Uleulee untuk keberangkatan dengan kapal cepat dan akan mendarat di Pelabuhan Balohan di Sabang.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qpixqlascwi6y0tnqanu.jpg)

<a href="https://aurorawisata.com/products/detail/42/paket_tour_3hari_2_malam_banda_aceh_sabang/">Paket wisata sabang</a> akan berjalan mengunjungi destinasi-destinasi wisata menarik di Sabang, termasuk snorkeling di Iboih di mana anda akan menyaksikan keindahan terumbu karang yang luar biasa. Anda juga akan tiba di titik nol yaitu tempat paling ujung Indonesia di bagian Barat yaitu di Provinsi Nanggroe Aceh Darussalam. 

Bagi pengunjung yang datang ke sana akan disiapkan sertifikat nol kilometer yang merupakan tanda bahwa anda sudah pernah menginjakkan kaki di sana. <a href="https://aurorawisata.com/products/detail/42/paket_tour_3hari_2_malam_banda_aceh_sabang/">Paket tour aceh sabang</a> bisanya diakhiri dengan city tour di Kota Banda Aceh. <a href="https://aurorawisata.com/products/detail/42/paket_tour_3hari_2_malam_banda_aceh_sabang/">Paket tour aceh</a> ini akan mengunjungi Mesjid Raya Baiturrahman dan Museum Tsunami yang merupakan sebuah monumen untuk mengenang dahsyatnya tragedi tsunami tahun 2004 yang menewaskan ratusan ribu warga Banda Aceh dan sekitarnya.
The latest version of Devart SSIS Components 2.0 updated with 27 New Data Sources!
Tags: ssis
Published: 2021-10-11 10:17:15

---
title: The latest version of Devart SSIS Components 2.0  updated with 27 New Data Sources! 
published: true
description: Devart announced the updated version of SSIS Components 2.0 that supports 27 New Data Sources.
tags: ssis
//cover_image: https://direct_url_to_image.jpg
---
Devart, a recognized vendor of world-class data connectivity solutions for various data connection technologies and frameworks, released a new version of [SSIS Data Flow Components 2.0](https://www.devart.com/ssis/?utm_source=devto&utm_medium=referral&utm_campaign=pr_ssis_11.10.2021). The main focus was on increasing the number of supported data sources in the new version. As a result, 27 New Data Sources were added to the latest version.

New release of SSIS Data Flow Components 2.0 now supports Snowflake cloud data warehouse, several new inventory management solutions like DEAR Inventory or Zoho Inventory, as well as new cloud CRMs, such as Pipedrive and Insightly CRM. 

Also, new cloud app categories like Ads and Conversion, with such widely used tools as Google Analytics, Google Ads, and Twitter Ads are available in this latest version. 
 
Here is the detailed list of the sources:

**- Supported Cloud Data Warehouses:** Snowflake;
**- Supported Cloud CRMs:** Freshworks CRM, HubSpot, Insightly CRM, NetSuite, Pipedrive, Streak;
**- Supported Ads & Conversion Applications:** Google Ads, Google Analytics, Twitter Ads;
**- Supported Cloud Accounting Applications:** Zoho Books;
**- Supported Cloud Marketing Applications:** ActiveCampaign, EmailOctopus, SendPulse;
**- Supported Communication Applications:** Slack;
**- Supported Ecommerce Applications:** DEAR Inventory, ShipStation, Zoho Inventory, Zoho Invoice;
**- Supported Helpdesk Applications:** Freshdesk, Zoho Desk;
**- Supported Payment Processing Applications:** Stripe;
**- Supported Project Management Applications:** Asana, Jira, Podio;
**- Other Applications:** WordPress, Zoho People.

To learn more about the recent release, visit:     
https://blog.devart.com/26-new-data-sources-supported-in-devart-ssis-components-2-0.html

**Devart SSIS Data Flow Components** provide easy to set up cost-effective data integration using SSIS ETL engine. They provide high performance data loading, convenient component editors, SQL support for cloud data sources and lots of data source specific features.

**About Devart**
 
Devart is one of the leading developers of database tools and administration software, ALM solutions, data providers for various database servers, data integration, and backup solutions. The company also implements Web and Mobile development projects. 
For additional information about Devart, visit https://www.devart.com/.
Remember, 42 was never the Answer
Tags: oracle, community, joelkallmanday, 42
Published: 2021-10-11 10:14:26

> "All right," said Deep Thought. "The Answer to the Great Question..."
"Yes..!"
"Of Life, the Universe and Everything..." said Deep Thought.
"Yes...!"
"Is..." said Deep Thought, and paused.
"Yes...!"
"Is..."
"Yes...!!!...?"
"Forty-two," said Deep Thought, with infinite majesty and calm.”

― Douglas Adams, [The Hitchhiker's Guide to the Galaxy](https://www.goodreads.com/quotes/4637-o-deep-thought-computer-he-said-the-task-we-have)
</br>
This is probably the most famous quote from  The Hitchhiker’s Guide to the Galaxy and probably the most misleading...
The part that is not that easy to find, is the next part of the conversation:

> “Forty-two!" yelled Loonquawl. "Is that all you've got to show for seven and a half million years' work?"  
"I checked it very thoroughly," said the computer, "and that quite definitely is the answer. I think the problem, to be quite honest with you, **is that you've never actually known what the question is**.”

― Douglas Adams, [The Hitchhiker's Guide to the Galaxy](https://www.goodreads.com/work/quotes/3078186)
</br>
and that for me is the most beautiful way to say: 
without asking the correct questions, you will never find the correct answers.

If you are reading this, chances are that you just saw [#JoelKallmanDay](https://twitter.com/hashtag/JoelKallmanDay?src=hashtag_click) around twitter today, a brilliant idea from [Tim Hall](https://twitter.com/oraclebase?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor) to commemorate Oracle community day. You can learn more about it in his post [Joel Kallman Day : Announcement](https://oracle-base.com/blog/2021/10/04/joel-kallman-day-announcement/)
Today's post is not about that new feature from 21c, the newest mistake I made trying to change a system parameter, but about joining the Oracle community and keep asking new questions.

Please continue checking [#JoelKallmanDay](https://twitter.com/hashtag/JoelKallmanDay?src=hashtag_click), check for [Oracle related Twitter lists](https://twitter.com/i/lists/1262001490282962950) to engage with people from the community, check for your local [Oracle user groups](https://community.oracle.com/tech/apps-infra/groups) to find virtual events, webinars or even presential events and if you like the old fashion blog content, you can start following some of these [great blogs and people](https://project42.site/about-me/#:~:text=Oracle%20Blogs%20I%20follow)

So today more than ever, let's keep checking for new questions and sharing the knowledge