teleren/devto huggingface dataset:
Oracle SQL - Ways to Work on it
Tags: sql, oracle
Published: 2021-11-01 03:26:01

Introduction

SQL, yes and it's not MYSQL. SQL is a Structured Query Language, it is a language that is used to communicate with the database whereas MYSQL is an open-source database product(RDBMS) that allows users to keep the data organized in a database. I will write another article on this topic specifically. Let's move on.

Oracle has different products and one of the famous ones other than JAVA is SQL. Some call it 'S' 'Q' 'L' and some call it 'cequel'. I am the first kind of person.

When I started practicing the SQL, I discussed it with my friends/seniors and they recommended my w3schools.com. I moved to MYSQL Workbench to get some hands-on experience on it but it is slightly different from SQL.

Lets Move Directly on Main Thing

So after a quite research and help from the Oracle Twitter team, I explored many ways to work on it. The best part is all of them are free. They are listed below.

1. Online Yes, we can practice online using the Oracle Apex tool. It is an online tool where you can do almost everything possible related to SQL.

https://livesql.oracle.com/apex

2.Application I have mentioned that a few things that you cannot do in an online tool but do not restrict yourself and try another great application where you can become a master in SQL. So for that, you have to download the tool called Oracle Database Express Edition(XE). In order to get the latest database, you can download Database 19c or 21c from Oracle official website. Links are as follows.

https://www.oracle.com/ca-en/database/technologies/

3. Virtualization Another great tool, I like the most(WHY? I will tell you in the end). First of all, I hope you have heard of another Oracle free application VirtualBox, if not then no problem. Now you read it, go search it online. It is really cool.

https://www.oracle.com/database/technologies/databaseappdev-vm.html

Note: It's taking too much space on SSD/HDD so prefer not to save on your System Drive(C Drive).

Final Note I prefer Virtualization as it has many good features and safety. DataBase XE was heavy on memory and occupied a lot of space on the C drive so I had to remove it. Sad Note for MAC users, Database XE will not work for you as well as M1 chip from 2020 as has some issues with virtualization(Please try once on your system, may it works for you). For some reference, please follow this Twitter Thread
https://twitter.com/iamanshultweet/status/1445055709419290633

Please support the community and my Twitter account(https://twitter.com/iamanshultweet) for another awesome article on SQL/PL-SQL.
Why you should never use random module for generating passwords.
Tags: python, beginners, programming, security
Published: 2021-11-04 09:43:19


## Why Random Numbers Are Not Random?
The Random Numbers come from a particular seed number which is usually the system clock.Run the program below to understand the security risk.

{% replit @MRINDIA1/Random-Numbers-Are-Not-Random %}

The Python Documentation also has a warning about the same: "The **pseudo-random** generators of this module **should not be used for security purposes**."

So all the password generators you have built using random module are not secure!? So How do we generate cryptographically secure numbers/passwords?

But there is another line after that warning:
"*For security or cryptographic uses, see the secrets module.*"

## What is this secrets module?
The secrets module is used for generating cryptographically strong random numbers suitable for managing data such as passwords, account authentication, security tokens, and related secrets. 

### How it is different from the random module?
I found a really good post on reddit from which you can understand what is the difference between these two modules.

The Post says:

>"with random your numbers come from some seed number, usually based on the system clock, which generates pseudo-random numbers. That means that if you get guess the seed, you can generate the same sequence of numbers. If you used pseudorandomly generated numbers as salts for all your passwords, then brute forcing the keys would become trivial.
true random numbers come from "high entropy" seeds, meaning it's not just some number you can guess, it's things that are impossible to reproduce algorithmically. Imagine things like keyboard inputs, time between keystrokes, mouse movements, cpu usage, number of programs running, etc. It might not use those exactly, but you can see how the numbers it generates from those sources are literally impossible to reproduce which is why you want to use those ones as your encryption keys and salts."

And another post says:

>"It's more secure because it's less predictable. The random module uses an algorithm that's fast but it's possible to calculate what the next random number will be. That's fine for randomly placing things on the screen or something but for generating passwords it's important that the number is not predictable."

So basically it makes the seed really hard to guess( less predictable) 


Reddit Post 1: https://www.reddit.com/r/learnpython/comments/7w8w6y/comment/dtyg7wd/?utm_source=share&utm_medium=web2x&context=3 

Reddit Post 2:
https://www.reddit.com/r/learnpython/comments/7w8w6y/comment/dtyi6z8/?utm_source=share&utm_medium=web2x&context=3

**Stay tuned for the next blog where we make a password generator which generates cryptographically strong passwords.**

***Happy Coding***
Being a Softare Engineer: A marathon and not a sprint
Tags: programming, react, career, dotnet
Published: 2021-11-02 14:52:47

So I wrote two technical assessments tests yesterday to apply for a Fullstack role and a Backend role at two different organizations and I  honestly feel I did not do well. In fact, I think I was terrible! 



The first of the assessments requires building a simple full-stack application (Frontend: React; Backend: ASP.NET Core web API) for simple bank transactions and I was required to do that in less than an hour! Sounds crazy right? it is not actually that difficult as it sounds and even though I was able to build a simple frontend user interface and create a database from the generated migration script using Entity Framework Core at the backend, I was unable to actually write a controller to perform these basic operations for the frontend to consume. I did feel bad, like really bad but then in retrospect, I begin to see a lot of areas I needed to improve upon such as;



1. Critical and fast thinking: I used a monolithic clean architecture as I forgot I have not had the job (even if I had the job I rather used microservice architectures instead), I just need to get something to work and I was way too ahead of myself and that wasted my time and slowed me down. Also, I didn't come up with how my databases schema should look like in time.

2. Working under pressure: Everyone says they work well under pressure until the pressure comes in. The best way to handle pressure is to make sure you prevent the conditions that would create the pressure in the first place from ever happening. This is also tied to the first point, if I had critical had my thought process I would have handled the pressure much better.



The second assessment put my data structure and algorithm knowledge to a test in ways I have not prepared for yet. This made me realize that even know I understand those concepts, It is more important to understand how they are implemented. This reinforced my knowledge that my goal to be one of the best Software Engineers, the journey is a marathon and not a sprint which in turn gives me confidence that I may have lost that battle but I can and will still win the war.
dotnet swagger tofile : FileNotFoundException dotnet-swagger.xml
Tags: dotnet, swagger
Published: 2021-11-03 05:30:43

## The Problem
Trying to generate swagger from the compiled dll using this command with the [swagger CLI](https://github.com/domaindrivendev/Swashbuckle.AspNetCore):
```
dotnet swagger tofile --output "swagger-output.json" "C:\projectpath\bin\debug\net5.0\project.dll" v1
```

I encountered this error:
```
FileNotFoundException: Could not find file 'C:\projectpath\bin\debug\net5.0\dotnet-swagger.xml'
```
The suspicious thing here is the name of the xml file it is looking for, it should be looking for my projects xml file, not dotnet-swagger.xml!

This [getting started](https://docs.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-5.0&tabs=visual-studio) tutorial has some code that causes this problem...when it loads the xml comments it does this to get the assembly:
```
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
```
This works fine for most(all?) other use cases but when trying to generate the swagger using the CLI the executing assembly is dotnet-swagger.

## The Fix
Instead of:
```
Assembly.GetExecutingAssembly().GetName().Name
```
Use this:
```
Assembly.GetAssembly(typeof(ClassInTheCorrectProject)).GetName().Name
```
## Other Possible Causes
Make sure the xml file is being created in the same folder as the dll and your generate command is passing the correct path.
Mistrymitra a Growing Firm
Published: 2021-11-03 11:21:57

Mistrymitra as an Indians local search engine, provide services in numerous ways whether it would be building homes, schools, offices, malls, roads, hospitals, theme parks – everything. It is vital to everyone’s life. Construction is all around us.

As India’s population grows famously, there is a greater demand for new houses, offices, and infrastructure, as well as an endless need for repair and maintenance work. Mistrymitra is a growing firm in terms of construction. We are waiting for contractors, construction designers, retailers, dealers, builders, and workers to join us instantly and take the advantage of the offers which we have for them.

In addition, we don’t want to grow alone as a firm, we want our customers to grow with us also because we want our customers to benefit from these offers. The offers which Mistrymitra turns to provide offers to their valued customers includes:

Job Security

There is an increasing need for new buildings and the rebuilding of old structures. No matter what season it is, there will always be a need for construction. As the baby boomer construction workers dwindle out of the workforce, it is becoming an optimal time for you to join us and secure your jobs for the better man of yourself.

Good Salary Package

As we are a growing firm in the field of construction and maintenance work we provide a good salary price for workers and that too in the nearby location. All it requires you to do is produce high-quality work by simply putting in your time and hard work.

Diverse Co-workers

As a Mistrymitra firm, we have people from different backgrounds and all walks of life. This abundance of diversity brings unique experience, knowledge, and skills to the workplace, serving as a major benefit to construction projects.

The construction industry is hands-on and no two days will be alike. You will be learning new things every day and will be able to apply that knowledge in the field. There are not very many jobs that offer that kind of work environment, join us and take the advantage of such offers which we have for you.

If you need any type of Mistry & contractor's then visit, www.mistrymitra.com. Or contact us directly on +917565997701
5 Ruang Baca yang Mengingat Anda Pada The Secret Garden
Tags: books, tutorial, webdev, beginners
Published: 2021-11-03 12:16:43

Retret luar ruangan di The Secret Garden  oleh Frances Hodgson Burnett adalah tempat lamunan dan penyembuhan, dan sulit untuk tidak membayangkan bahwa itu akan menjadi tempat yang sempurna untuk membaca juga.

Bayangkan: Berada di tempat yang nyaman dengan sebuah buku di tangan, dikelilingi oleh sinar matahari yang hangat, angin sepoi-sepoi, aroma bunga yang manis, dan suara kicau burung yang riang. Dengan datangnya musim semi, kami telah mengumpulkan koleksi taman rahasia yang sempurna untuk membaca musim semi.

Sekarang jika saja kita bisa menyewa seorang penata taman untuk membuat salah satu dari ini untuk kita.

1. Langkah Dihapus

Jalur batu dan jembatan kayu memberi gazebo taman ini perasaan terisolasi — hanya Anda, buku Anda, dan alam.

2. Bersatu dengan Alam

Keindahan ruang ini terletak pada kesinambungannya dengan alam. Gazebo dibangun dari pohon-pohon tumbang dan untuk mencapainya dibutuhkan jalan kaki melewati hutan.

Lentera akan memungkinkan untuk membaca bahkan setelah matahari terbenam, ketika jangkrik mulai berkicau dan kunang-kunang muncul.

3. Kamar Mawar

Bayangkan aromanya saat Anda duduk untuk membaca di bangku terpencil di antara mawar ini.

4. Tempat yang Canggih

Meskipun tidak terlalu "tersembunyi", lampu gantung yang digantung di pohon membuat tempat membaca luar ruangan yang berkelas.

5. Sudut Tengah

Sebuah bangku di bawah cabang-cabang yang rimbun di taman yang teduh dikelilingi oleh bunga berwarna-warni membuat tempat membaca yang tenang dengan sedikit kekhawatiran akan sengatan matahari.

Source: https://www.penulisgarut.web.id/2021/10/membuat-taman-baca.html
DevBox Showcase: CRON Explorer
Tags: productivity, tutorial, json, cron
Published: 2021-11-03 12:57:14

Hi 👋,

This is the fourth post in the series showcasing tools from [DevBox](https://www.dev-box.app) 🎉, a desktop application or browser extension packed with everything that every developer needs.

-------

DevBox has a **CRON Explorer tool**, which is useful for checking [CRON Expressions](https://en.wikipedia.org/wiki/Cron#CRON_expression).

Once DevBox is opened, click on its card:

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

It will show you the interface:

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

- In the `Expression` section you can write your CRON expression and will show a readable version of it.
- In the `Next 10 Occurences - Calendar` section you can see the dates of the next 10 occurrences of the expression.
- In the `Next 10 Occurences` section you can see the next 10 exact occurrences of the expression.
- In the `Examples` section you can see and click on some basic CRON expressions. 

------

You can still buy DevBox [here](https://gdotdesign.gumroad.com/l/devbox/earlybird) for **a lifetime price of ~~$25~~ $20 💰**, get it while it's available!

More DevBox showcases are coming, so follow me here if you want to be notified!
DOM (Document Object Model) is really easy to understand!!! 
 

Tags: javascript, webdev, html, beginners
Published: 2021-11-07 16:30:03


 1. What is DOM?
-------------------------------------------------------------

 2. What is “D” “O” “M” for?
-------------------------------------------------------------

 3. Is DOM same as HTML?
-------------------------------------------------------------

 4. What is the relation between DOM and HTML?  
-------------------------------------------------------------

--------------------------------------------------------------
Today, we will know 4 queries solution. These are above.
Lets learn...

DOM contains Document Object Model.  
D for Document. 
It Means: HTML doc file 

O for Object. 
It Means: HTML element(body,head,p,h1,etc) / javascript object) 
We can say, HTML element(p,h1,etc) = javascript object.
 
M for Model. 
It Means: HTML doc’s “element/ javascript object” Model


DOM works as a “javascript object model”. Here, “javascript object” is known as  HTML element(p,h1,etc). Actually, DOM is an HTML element(p,h1) model. 
 

Best of luck.
30 Projects Ideas!
Tags: programming, tutorial, beginners, codenewbie
Published: 2021-11-08 15:15:06

1. To-do list app
2. Note-taking app
3. Calendar Application
4. Chat System
5. Weather application
6. Portfolio website
7. Image search
8. Chess game
9. Donation website
10. Budget tracker
11. Tic Tac Toe game
12. Form validator
13. Web Scraper
14. Simple FTP client
15. Port Scanner
16. MP3 Player
17. Tetris game
18. Netflix clone
19. Discord bot
20. Video chat system
21. Pacman game
22. Alarm clock
23. Stock trading app
24. Issue tracker
25. Music Store App
26. Twitter Bot
27. Spam Classifier
28. Content Aggregator
29. Snake game
30. File manager

---

## Let's connect!

You can follow me on [Twitter](https://twitter.com/MrDanishSaleem), [LinkedIn](https://www.linkedin.com/in/mrdanishsaleem/) & [GitHub](https://github.com/mrdanishsaleem/)

---

If you like this post. Kindly support me by [Buying Me a Coffee](https://www.buymeacoffee.com/mrdanishsaleem)

![Buy Me a Coffee](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v0ikih5nlsqs0oops11e.png)
Getter and Setter - Python
Tags: python, oop, programming, tutorial
Published: 2021-11-10 13:51:04

As the title says, I am presenting, Getters and Setters for

<img align="center" width=75% src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ftgfunsb10xfxwa373p0.png">

First, let's review some OOP concepts, then we will see what are those (If you thought of crocs, consider leaving a unicorn) getters and setters.
<br>

## OOP Concepts

Method = A function from a class
Property = A variable from a class
A property starting with "_" = Private property (i.e it can only be accessed from within the class)
Apopathodiaphulatophobie = Exaggerated fear of constipation
<br>

## Getter and Setter

A **getter** is a method that is used to obtain a property of a class

A **setter** is a method that is used to set the property of a class
<br>

## Why do these two exists?

Mostly for two reasons, encapsulation and to maintain a consistent interface in case internal details change

(Thank you [Danben](https://stackoverflow.com/users/217332/danben) for your [Answer](https://stackoverflow.com/questions/2649096/explain-to-me-what-is-a-setter-and-getter))
<br>

## How do i write it in Python?

The syntax for doing that is as follows

```python
>>> class MyClass:
>>>     def __init__(self, A, B=None):
>>>         self._A = A
>>>         self._B = B
>>>     @property
>>>     def A(self):
>>>         return self._A
>>>     @A.setter
>>>     def A(self, A):
>>>         self._A = A
>>>     
>>>     @property
>>>     def B(self):
>>>         return self._B
>>>     
>>>     @B.setter
>>>     def B(self, B):
>>>         self._B = B
>>> 
>>> instance = MyClass("This is A")
>>> print(instance.A)
This is A
>>> instance.A = "A Changed"
>>> print(instance.A)
A Changed
>>> print(instance.B)
None
>>> instance.B = "This is B"
>>> print(instance.B)
This is B

```
Reactjs Overview - (EchLus Community - Part 1)
Tags: react, javascript, webdev, programming
Published: 2021-11-11 07:17:39

Halo kawan - kawan kali ini saya akan sharing materi tentang "Reactjs Overview". ini merupakan seri sharing session batch tentang Reactjs.

##**Overview Materi**

Di batch ini kita akan belajar tentang
- Install and Setup Reactjs
- Basic Props and State
- React Hooks
- React State Management
- Communicating With Server
- Esbuild



#1. Install dan Setup Reactjs

Pada proses instalasi kita bisa melihatnya di [Sini](https://reactjs.org/docs/create-a-new-react-app.html). untuk instalasinya sebenarnya ada dua cara. yakni dengan menggunakan [CDN](https://www.niagahoster.co.id/blog/apa-itu-cdn/). atau dengan menggunakann Create React App(CRA).

Untuk kesempatan kali ini saya akan menginstall React menggunakan CRA. oke langsung saja ke tutorial.

- Buka Terminal atau CMD. lalu jalankan `npx i create-react-app belajar_react` . npx sendiri kepanjangan dari node package execute. yang mana  jika dijalankan maka akan mengeksekusi package yang sudah maupun belum kita install. dengan menggunakan npx kita tidak perlu menginstall CRA ke dalam local computer kita.

```
D:\programming\belajar Javascript\react>npx create-react-app belajar_react

Creating a new React app in D:\programming\belajar Javascript\react\belajar_react.

Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts with cra-template...

[  ................] - fetchMetadata: sill resolveWithNewModule scheduler@0.20.2 checking installable stat
```

tunggu prosesnya sampai selesai

- jika sudah selesai ketik perintah `cd belajar_react`. lalu ketik perintah `code .` agar membuka project kita di [Visual Studio](https://code.visualstudio.com/).
Learning Workflows: Four Ways to Invoke a Workflow
Tags: nocode, workflows
Published: 2022-02-10 17:52:23

---
title: Learning Workflows: Four Ways to Invoke a Workflow
published: true
date: 2021-11-12 05:10:40 UTC
tags: NoCode,Workflows
canonical_url: https://maxkatz.org/2021/11/11/learning-workflows-four-ways-to-invoke-a-workflow/
---

In this video you will learn how to invoke a workflow. There are four ways and they are: scheduled, app event, API and helper flow.

[![Type column shows how a flow will be invoked](https://katzmax.files.wordpress.com/2021/11/learningworkflows_invoke_types2.png?w=1024)](https://katzmax.files.wordpress.com/2021/11/learningworkflows_invoke_types2.png)

{% youtube  iMk_GNnGabc %}


Want to learn more? Watch other videos in the [Learning Workflows series](https://www.youtube.com/playlist?list=PLSAWywyhniCM6CKkp5vIiD0-pxSbdX71y).
Why You Need an Next-Gen AWS Managed Services Partner
Tags: aws, awsmanagedservices, awspartner
Published: 2021-11-12 12:14:13

The undoubted leader in all things cloud, AWS has over a million users in their active user base. But the cloud is a dynamic, ever evolving place and navigating the AWS ecosystem, with its many, many services and features, to identify the best solution to your needs can be a complicated affair. To help their customers leverage AWS to the maximum, the AWS Managed Services Partners program was launched. The program aimed at ensuring every customer had a dedicated expert—through Amazon’s partner companies—to help them meet their needs by helping them set up and optimize their cloud and guiding them towards the best-fit cloud solutions.

For instance, an AWS cloud partner can help reduce down time to mere minutes a year, i.e. 99.99% SLA. Cloud partners can assist businesses at every step of the cloud journey, from preparing for migration, to executing the migration with minimal disruption, and post-migration, optimization of infrastructure and cost.
Code testing with Jest
Published: 2021-11-13 03:10:33

This week I looked at code testing for my Static Site Generator [static-dodo](https://github.com/menghif/static-dodo). I picked [Jest](https://jestjs.io) for this since it is a very popular unit testing tool used by many open source projects.

### How to setup Jest
I started by installing Jest using npm
```console
npm install --save-dev jest
```

then I added `"test": "jest"` to the `"scripts"` section of my `package.json` to be able to run tests with the simple command:

```console
npm test
```

Before getting into writing tests, I had to tackle a problem that I have been putting to the side: having a long code all in one file. I spent a lot of time refactoring to move some logic into different files and export those as modules.

Here is an [example](https://github.com/menghif/static-dodo/blob/main/lib/writeHTML.test.js) of a test I wrote to make sure that the correct html is returned by the [`writeHTML`](https://github.com/menghif/static-dodo/blob/main/lib/writeHTML.js) function:

```js
test("writeHTML with Title, Body and Stylesheet should return correct html", () => {
  expect(writeHTML("Title", "Body", "Stylesheet")).toBe(
    `<!doctype html>
  <html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="Stylesheet">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/highlightjs@9.16.2/styles/github.css">
  </head>
  <body>
    <h1>Title</h1>
  Body
  </body>
  </html>`
  );
});
```

### Thoughts

I only scratched the surface of unit testing but I do find the process of writing tests pretty complicated, especially when it comes to creating Mock functions. I will need to get more familiar with Jest in the future and I have a lot more tests to add to the project.