teleren/devto huggingface dataset:
You may feel vague about why you love JavaScript the most
Published: 2023-06-04 19:42:30

I understand that learning things can be daunting, whether it’s a new skill, office, or people.
Just like how Javascript objects can dynamically have new properties added at runtime, humans can learn through practical application, even when faced with completely new tasks. I learned web development in the same way that many of you are learning it now.

In the world of Object-Oriented Programming (OOP), many languages like Java and C++ require all object properties to be defined upfront. But Javascript breaks the mold by allowing for the addition of properties during runtime.
Consciously or not, it is doing that smartly.

So why does it seem to be one of the most compelling parts to you?

As the human, you would potentially be rather dynamic when you come across a new challenge. And part of you can absorb new knowledge through hands-on experience, adapting and growing in real-time.

So please try thinking carefully why the following pseudo-code should be written in repetitive, clunky way.


`...  
const yourFeelings = you.face(new Challenge()) // Your status changes to 'inactive'
...

if (you.businessRole === 'fullstack Js developer' && yourFeelings === 'complicated') {
    await you.think(JavaScript)     
    await you.makeMoney('content writing', 'Medium.com')
    console.log(you)
}

else if (you.businessRole === '.NET developer' && yourFeelings === 'complicated') {
    await you.think(JavaScript)     // You also keep thinking about JavaScript, which makes the code look cluttered.
    await you.makeMoney('IT consultation', 'Upwork.com')
    console.log(you)
}
...`


Honestly, I wrote this clunky piece to encourage every single developer to re-think the power of JavaScript and to bring them cheerfulness.
Another thing to note is how your object’s properties dynamically change depending on your ways of making money, the platform you are getting on, your skillsets, and many more, resulting in variations in the output object structure.

So yes, here’s the output:

`Object: {
 name: "John Doe",
 age: "30",
 businessRole: "fullstack Js developer",
 ...
 status : 'happy',
 blogs: [blob],
 drafts: [blob],
 upvotes: 122,
 savings: 3000,
 followers: [],
 followings: [],
 ...
}

Object: {
 name: "Frank Dude",
 age: "24",
 businessRole: ".NET developer",
 ...
 status : 'happy',
 activeContracts: [],
 jobsOnSuccess: 15,
 submittedProposals: 21,
 savings: 5000,
 reviews: 38,
 ...
}`

If you’re a developer, and feeling overwhelmed by a new challenge, remember: just like a Javascript object, you have the power to dynamically add to your own skillset through trial and error. Trust in your ability to learn and evolve, and after all, as a human, figure out what seems to be much greater than what a JavaScript object is involved in growth at runtime, you’ll be an unstoppable force during your long run of tech world.
Web Scraping 101
Published: 2023-04-11 17:40:40

Neste tutorial, vou ensinar como criar um web crawler usando Python e o framework Scrapy. Mas, antes de tudo, quero explicar o que é um web crawler, web scraping e por que é tão importante e interessante aprender sobre isso.

Web Scraping x Web Crawling

No início, você pode pensar que não há diferença entre eles, mas há. Web Scraping é quando você extrai dados de um ou mais sites, e Web Crawling é quando você encontra ou descobre URLs ou outros links na web.

Na maioria das vezes, em um projeto, você precisa combinar os dois. Primeiro, você rastreia a URL e extrai o conteúdo e, em seguida, extrai os dados desse conteúdo.

Por que é tão importante?

Trabalhei em uma equipe de extração de dados em uma empresa considerada o maior e-commerce da América Latina. Éramos um pequeno grupo de 4 desenvolvedores que trabalhavam em uma equipe de análise de concorrentes. Nossos trabalhos basicamente consistiam em visitar sites de concorrentes, extrair os dados e armazená-los em nosso próprio banco de dados. O resultado desse trabalho fez com que a equipe de análise de concorrentes monitorasse os preços dos concorrentes.

Este é apenas um primeiro exemplo de por que o web crawling / scraping é importante, mas pode ser usado em: Recrutamento, Jornalismo, Finanças e muitas outras áreas.

Mãos na massa!!

Primeiro, você precisa instalar o Scrapy:

```
pip install scrapy
```	

Após isso, você cria um projeto Scrapy usando:

```	
scrapy startproject webcrawler
```	

Este código acima inicia um projeto Scrapy em uma pasta com um modelo Scrapy. A estrutura deve ser assim:

Criando o primeiro spider

Na pasta "spiders", crie um arquivo chamado "quotes_spider" ou qualquer outro nome que desejar. Depois disso, você pode codificar seu spider.

Neste código acima, você vê as etapas de criação de um spider. Primeiro, você importa a biblioteca Scrapy e, em seguida, cria a classe QuoteSpider.

De acordo com a documentação do Scrapy: "Spiders são classes que você define e que o Scrapy usa para extrair informações de um site (ou grupo de sites). Eles devem herdar de Spider e definir as solicitações iniciais a serem feitas, opcionalmente como seguir links nas páginas e como analisar o conteúdo da página baixada para extrair dados."

Em nosso spider, estamos rastreando a página da web http://quotes.toscrape.com/page/1/.

Para executar o spider, vá para o diretório de nível superior do projeto e execute:

```	
scrapy crawl quotes
```	
O comando executa o spider com o nome "quotes" e enviará algumas solicitações para o domínio da URL. A saída será semelhante a esta:

Agora você pode verificar os novos arquivos quotes-1.html e quotes-2.html com o conteúdo das respectivas URLs.

# Conclusão

Este mini tutorial é para mostrar o quão simples e ótimo é o web scraping. Você pode ver outras ferramentas como Beautiful Soup para estudar web scraping se quiser.

Espero que tenha gostado do tutorial e que tenha sido útil para você.

Fontes: 
[Documentação do Scrapy](https://docs.scrapy.org/en/latest/index.html)
Best AI Writing Assistant
Tags: ai, chatgpt, aiwriter, productivity
Published: 2023-06-04 19:33:43

Hello everyone,

If you are looking for a free AI writer, meet [Regem AI Writer](https://regem.in/ai-writer/).

**Features:**
1. It is 100% free for all.
2. It is powerful and fast.
3. It allows unlimited use.
4. No login is required.
5. It is super simple and easy to use.

**How is it free?**
[Regem AI](https://regem.in/ai-writer/) relies on ads revenue and donations to run this free service for all.
DEV's Home Feed: A Hot Mess
Tags: discuss, watercooler
Published: 2023-06-04 19:15:07

The DEV home feed got a new look a while back. It used to be a simple list of posts with a title and a preview. But now, it's all about the highlighted comments.

At first, I thought this was a great idea. It's always helpful to see what other people are saying about a post. But after a while, I started to notice that the highlighted comments were making it harder to find the content I was actually interested in.

Now, when I go to the DEV home page, I'm bombarded with highlighted comments. It's like they're screaming at me, "HEY! READ ME!" It's so distracting that I can barely focus on or find actual posts.

I'm not the only one who feels this way. I've seen a lot of people complaining about the home feed. Some people have even said that it has pushed them away from DEV altogether.

I'm not sure what DEV was thinking with this design. It seems like they were trying to make the home page more engaging, but they actually ended up doing the opposite. They've made it harder for people to find the content they're looking for.

I hope DEV will reconsider this design change. The old home page was simple and effective. It didn't need to be flashy or complicated. It just needed to be easy to use.

What do you think of the DEV home feed? Do you like it? Or do you hate it? Let me know in the comments below.
How to write Agile test plan?
Tags: agile, testing, beginners
Published: 2023-06-04 18:56:22


In this video, I will discuss test documentation in Agile Software Testing. We will learn the importance of having a well-defined Agile Test Plan, and how it differs from traditional Waterfall methodologies.


As a software tester, it's essential to have a clear and concise test strategy in place, outlining key objectives and expectations throughout the testing process. Test reporting is also critical in Agile, as it provides valuable insights into the progress of the testing process.


From test case results to defect reports, a well-designed test report can help identify areas for improvement and ensure that all parties are on the same page.


Throughout this video, I will provide insights and best practices for creating effective test documentation that meets the needs of your team and stakeholders.


Don't forget to hit the like button and share with your fellow Agile practitioners. Let's get started!

{% embed https://www.youtube.com/watch?v=O8hR-OAIsK0 %}
Understanding CSRF in Web.
Tags: webdev, javascript, frontend
Published: 2023-06-04 18:55:50

As a web developer one needs to understand about Web Security,
Let's talk about Cross-Site Request Forgery (CSRF), with a common example.

Suppose you are single (us bros us) and want to enter a pub, but only couples are allowed. You tried, but the bouncers outside the pub gave you some kicks on your *** (less than your ex). Then you see a girl outside the pub who wants entry but is not allowed. You both pair up and then get entry inside that pub. After the party is over, you both move out from there with exchanged phone numbers 😉.

Chalo bht hua, ab tech smjho!

Here's an example of a CSRF attack:

Let's say Rounit is browsing a social media platform called "SocialBook," where users can post messages on their profiles. When users submit a new post, the platform sends a POST request to the server to save the message.

Now, suppose Rounit is logged into SocialBook(means authenticated) and comes across a malicious website while browsing the internet. This malicious website contains hidden code that automatically submits a form to create a post on Rounit's SocialBook profile without his knowledge or consent.

Here's how the attack unfolds:

1. Rounit is logged into SocialBook and visits the malicious website.
2. The malicious website includes a hidden form that targets SocialBook's post creation endpoint with predefined values: `<form action="https:/anylink" method="post"> <input value="Check out this website!"> </form>`.
3. The attacker uses JavaScript to automatically submit the form in the background without Rounit's awareness.
4. Rounit's browser, following the attacker's instructions, sends a POST request to SocialBook's post creation endpoint with the predefined message.
5. SocialBook's server receives the request and treats it as a legitimate request because it appears to originate from Rounit's session.
6. The malicious message gets posted on Rounit's profile without his knowledge or consent.

In this example, the CSRF attack tricks Rounit's browser into making a request on his behalf to perform an unintended action—creating a post on his SocialBook profile—by exploiting the trust relationship between Rounit's browser and SocialBook.

To protect against CSRF attacks, SocialBook can implement measures such as CSRF tokens, to ensure that requests originated from forms embedded on their own website rather than from external sources.

To protect against CSRF attacks, Implement CSRF tokens: Use unique tokens in each HTML form or request that performs sensitive actions. The token should be generated server-side and embedded within the form or included as a header in AJAX requests.

Follow #rounitsinha for more such contents
I can't see all django github branches from a cloned repository into visual studio code
Tags: github, django
Published: 2023-06-04 18:53:12

The issue might be with the remote repository URL or the configuration of your Git remote. Here's what you can try:
Remove the existing remote configuration: git remote remove origin  

1. Add the remote repository again with the correct URL: git remote add origin https://github.com/<name_of_user>>/<foo>.git
2. Make sure to use the correct URL for your remote repository.
3. Fetch the latest branch information from the remote repository: git fetch
4. List all branches, including remote branches: git branch -a
5. Check if you can see the remote branches now.
Code Smell 216 - Fat Interface
Tags: webdev, javascript, beginners, programming
Published: 2023-06-04 18:35:33

*You should not define too much behavior together*

> TL;DR: Split your interfaces 

# Problems

- Interface Segregation Principle Violation

- Coupling

# Solutions

1. Split the interface

# Context

The term "Fat Interface" emphasizes that the interface is overloaded with methods, including those that may not be necessary or used by all clients. 

The interface violates the principle of segregating interfaces into smaller, more focused contracts.

# Sample Code

## Wrong

[Gist Url]: # (https://gist.github.com/mcsee/dc549ce28d805020e657f227eef10c5f)
```java
interface Animal {
  void eat();
  void sleep();
  void makeSound();
  // This protocol should be common to all animals
}

class Dog implements Animal {
  public void eat() { }
  public void sleep() { }
  public void makeSound() { }
}

class Fish implements Animal
  public void eat() { }
  public void sleep() {
    throw new UnsupportedOperationException("I do not sleep");
  }
  public void makeSound() {
    throw new UnsupportedOperationException("I cannot make sounds");
  }
}

class Bullfrog implements Animal
  public void eat() { }
  public void sleep() { 
    throw new UnsupportedOperationException("I do not sleep");  
  }
  public void makeSound() { }
}
```

## Right

[Gist Url]: # (https://gist.github.com/mcsee/811c638d22fb50bff24336695a6750ae)
```java
interface Animal {
  void move();
  void reproduce();  
}
// You can even break these two responsibilities

class Dog implements Animal {
  public void move() { }
  public void reproduce() { } 
}

class Fish implements Animal {
  public void move() { }
  public void reproduce() { } 
}

class Bullfrog implements Animal {
  public void move() { }
  public void reproduce() { } 
}
```

# Detection

[X] Manual

We can check the size of the interface protocol

# Tags

- Cohesion

# Conclusion

Favoring small, reusable code components promotes code and behavior reuse.

# Relations

{% post https://dev.to/mcsee/code-smell-61-coupling-to-classes-3jdk %}

{% post https://dev.to/mcsee/code-smell-135-interfaces-with-just-one-realization-4nen %}

# Disclaimer

Code Smells are my [opinion](https://dev.to/mcsee/i-wrote-more-than-90-articles-on-2021-here-is-what-i-learned-1n3a).

# Credits

Photo by [Towfiqu barbhuiya](https://unsplash.com/fr/@towfiqu999999) on [Unsplash](https://unsplash.com/s/photos/fa)
    
* * *

> The best smells are something that's easy to spot and most of time lead you to really interesting problems. Data classes (classes with all data and no behavior) are good examples of this. You look at them and ask yourself what behavior should be in this class.

_Martin Fowler_
 
{% post https://dev.to/mcsee/software-engineering-great-quotes-26ci %}

* * *

This article is part of the CodeSmell Series.

{% post https://dev.to/mcsee/how-to-find-the-stinky-parts-of-your-code-1dbc %}
Simple markdown plugin to open external links in a new tab
Tags: astro, markdown, javascript, webdev
Published: 2023-06-04 18:35:32


I made all the external links to be `_blank`. I needed this because I write every post of mine in Markdown.

## Introduction
On my [personal blog](https://tomoviktor.com) I have few external links in my posts. I wanted to keep people on my website by applying [`target="_blank"`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target) on external (those what don't reference to my site) links. This is a common and good practice too. I write my content in Markdown, so I decided to write a [`remark`](https://remark.js.org/) plugin. It is simple to implement, just few lines of code.

## The plugin
It takes in the `tree` of the markdown file and looks through the links. 

To check if it is an external site:
1. Checks with a regex if link is a full url (for example: `https://example.com/` will be full but `/example` won't be)
2. Checks if it doesn't contain my site's starting url (edit this if you use the plugin)

If an external link is found, it sets the `target` to `_blank`. Because the element might not have any special property, first it ensures that it has `data` and `data.hProperties`.

```js
import { visit } from 'unist-util-visit';

const site = "https://tomoviktor.com";

export function externalAnchorPlugin() {
  return function (tree, file) {
    visit(tree, 'link', (node) => {
      if (/^(https?):\/\/[^\s/$.?#].[^\s]*$/i.test(node.url) && !node.url.includes(site)) {
        node.data ??= {};
        node.data.hProperties ??= {};
        node.data.hProperties.target = '_blank';
      }
    });
  }
}
```

## Use it with Astro
As I mentioned in one of my [other post](https://tomoviktor.com/posts/image-performance-beginning#note) I use the [Astro web framework](https://astro.build/) for my blog. Astro makes it effortless to import a Markdown plugin. All I had to do is add the function to `astro.config.mjs`.
```js
import { externalAnchorPlugin } from './remarkplugins/external-anchor-plugin.mjs';

export default defineConfig({
  markdown: {
    remarkPlugins: [externalAnchorPlugin],
  },
});
```
Exponentiation operator in js
Tags: javascript, css, webdev
Published: 2023-06-04 18:30:00

#exponentiation in javascipt, #exponentiation symbol , #operator #arithmetic operator #javascipt

## Exponentiation  operator in javascript ##

The result of increasing the first operand to the power of the second operand is returned by the exponentiation (**) operator.

•    The exponentiation operator (**) raises the first operand to the power of the second operand.

  Example
let x = 5;
let z = x ** 2;

o/p= 5sq=25


•    x ** y produces the same result as Math.pow(x,y):

Example
      let x = 5;
      let z = Math.pow(x,2);

 
Conclusion:

There has been rapid development and changes in information technology plateform. so javascript is tranding in market .We  write article on exponentiation  operator  and there is many operator like   Arithmetic Operators; Assignment Operators; Comparison Operators; String Operators; Logical Operators .see you in next topic of javascript .If you feel any doubt and query  please connect on social medium patform on below in bottom. 

# find below List of different operator in Javascript #
   

-     JS Arithmetic Operators
-     JS Assignment Operators
-     JS Comparison Operators
-     JS Logical Operators
-     JS Ternary Operators
-     JS Bitwise Operators
-     JS typeof Operator
Ai Portfolio - Revolutionizing Personal Portfolios with P.A.R.A.M
Tags: ai, webportfolio, personalassistant, frontenddeveloper
Published: 2023-06-04 18:18:02

---
title: Ai Portfolio - Revolutionizing Personal Portfolios with P.A.R.A.M
published: true
description: Param Mittal, an Indian frontend developer, creates an innovative AI portfolio with a personalized AI assistant named P.A.R.A.M.
tags: AI, webportfolio, personalassistant, frontenddeveloper
---

Hi 👋🏻 I am Param, a frontend developer, from INDIA 🇮🇳.

---

## The Problem

With the recent rise in Ai, I was thinking as a web dev, How can I learn it or can do a practical demonstration of it.

---

## The idea

Also this time, I was in process of creating my web portfolio (https://parammittal.vercel.app), I was thinking it all the way then it clicked to create my own Ai Avatar for this...

---

## The solution

![Param Mittal's website](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7ypd8pi6qefkhrm093he.png)

---

An Ai personal assistant (trained on my own resume data) I called it P.A.R.A.M (Personalised Artificial Intelligence Resource for Assisting Mittal) and embedded it on my website https://parammittal.vercel.app/ai . 

---

![Ai bot image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t1oxm9ysreftndeock1v.png)


Even when I am offline it can easily answer some basic questions like - Who am I ? In which organisation I am currently employed ? etc.

---

Let me know your thoughts in comments below 😀
Is this the future of portfolio creation.👀
How do you like my portfolio 🚀 - https://parammittal.vercel.app

#AI #portfolio #personalization #web development #AI avatar #personal assistant #India #frontend developer #future #innovation
Introducing Navya AI - Where AI crafts your content, effortlessly
Tags: ai, machinelearning, startup, tooling
Published: 2023-06-04 18:14:37

{% youtube v34O4gmS4rQ %}

Download APK Now - https://play.google.com/store/apps/details...
🚀 Ready to revolutionize content creation? Introducing NAVYA, the game-changing app that puts the power of AI in your hands! 🎥✨ -
Unleash the Power of Your Thoughts: Create Videos like Never Before! Introducing a Revolutionary Approach to Video Creation, Shorts, and Reels.

🎯 Calling all content creators, marketers, and storytellers! Tired of wrestling with complex video editing software? NAVYA is here to save the day, making video creation a breeze for everyone, regardless of your editing experience. Say goodbye to hours of frustration and hello to stunning videos in minutes! 💫

📝 Simply write your scenes, choose the perfect tone, and hit create – that's it! NAVYA's cutting-edge AI technology works its magic, transforming your words into eye-catching visuals that will leave your audience in awe. It's like having your own personal video editing wizard in your pocket! 🔮📱

🖼️ But wait, there's more! NAVYA's image generation feature allows you to effortlessly create jaw-dropping graphics and visuals that will take your content to the next level. Whether you're crafting social media posts, presentations, or educational materials, NAVYA has got you covered! 🎨📸

🎙️ And that's not all! NAVYA also offers an AI voice-over feature, giving your documentaries, tutorials, and videos an engaging professional narration. Choose from a wide range of voices and accents, and let your content come to life with captivating storytelling. 🎬🎤

🙌 Download the app to unlock your creative potential. It's time to say goodbye to tedious editing and hello to seamless content creation. Download NAVYA today and watch your ideas come alive! ✨💡
7M TỶ SỐ TRỰC TUYẾN 7M.CN - TỶ SỐ 7M NHANH NHẤT
Published: 2023-06-04 17:53:37

7mcn.app ⭐️ là một trang web hàng đầu cung cấp thông tin về bóng đá trong nước và quốc tế. Với đội ngũ chuyên gia đầy kinh nghiệm và sự đam mê với môn thể thao vua, 7mcn.app cam kết mang đến cho người dùng những tin tức nhanh chóng, chính xác và đa dạng nhất về bóng đá trên toàn thế giới.
SĐT:          0983444111
Website:    https://7mcn.app/
Địa chỉ       38 Đ. số 6, Tân Hưng, Quận 7, Thành phố Hồ Chí Minh, Việt Nam
Hastag       #7M #7mcn #7mcnapp

https://twitter.com/7mcnapp

https://www.linkedin.com/in/7mcnapp/

https://sketchfab.com/7mcnapp

https://about.me/nhacai7mcn

https://www.pinterest.com/7mcnapp/

https://www.youtube.com/@7mcnapp/about

https://www.reddit.com/user/7mcnapp

https://www.flickr.com/people/7mcnapp/

https://dribbble.com/7mcnapp/about

https://www.tumblr.com/7mcnapp

https://tapas.io/7mcnapppp

https://www.twitch.tv/7mcnapp/about

https://linkhay.com/u/7mcnapp

https://www.diigo.com/profile/nhacai7mcn

https://vi.gravatar.com/7mcnapp

https://replit.com/@7mcnapppp

https://folkd.com/user/7mcnapp

https://www.openstreetmap.org/user/7mcnapp

http://www.lawrence.com/users/7mcnapp/