teleren/devto huggingface dataset:
O AI no estudo de desenvolvimento de software
Tags: ai, startup, chatgpt, devpass
Published: 2023-03-01 13:16:32

Sabe quela história de **o futuro é agora**, então, isso já ficou no _passado_.
Literalmente!

De 2020 para 2023 as metodologias de ensino e educação em **desenvolvimento de software avançaram uns 10 anos na timeline tecnológica.
**
Como estudante em 2020, estava fazendo um curso específico em uma linguagem e um curso _presencial (risos)_ na área de product design, minha rotina se baseava em estudar lendo PDFs, vendo vídeos, e treinando em um "playground", tirando é claro as aulas presenciais a km's da minha casa, trabalhos em grupos e tudo aquilo que só o _face-to-face_ pode te proporcionar. 

Em 2021 também como **estudante**, tive uma experiência mais avançada que era um "_pair programming"_ durante o ensino, porém, sem apoios teóricos. No mesmo ano como **professora** online, fazia malabarismos pelo zoom, montava materiais em PDF, no Canva e lives. 

Perceba que a _Pandemia_ na área de tecnologia tivemos que ter um **salto obrigatório** de como empregávamos a tecnologia em si no nosso dia-a-dia, deixamos de fazer tarefas na "unha" para se tornarem 100% automatizadas, saímos do presencial para o full remoto, migramos do "estudar programação é só para quem é de exatas" para "_TODO_ mundo pode ser programador" ~polêmica no ar~

Mas **a partir de 2022**, começamos de verdade a transformar o digital em uma ferramenta incrível, e não digo que inedita. 

Em 22, eu estava em pé em sala de aula de quadro e giz ensinando tecnologia, **SIM ISSO MESMO QUE VOCÊ LEU!** Ah e diga-se de passagem, sem internet 🤡
Mas é aquilo, como _Paulo Freire_ diz: 

> 
**Ensinar não é transferir conhecimento, mas criar as possibilidades para a sua própria produção ou a sua construção.**

> 

Contudo sabemos que a vinda de forma plural da AI (_Inteligência Artificial_) em acessibilidade para todos, determinantemente **MUDOU** e está **MUDANDO** a forma como aprendemos, vide _ChatGPT_, correto?

E pare para pensar se isso for incorporado e integrado ao **ensino educacional em programação**, que de forma _self-learning_ você consuma isso, aprenda a qualquer hora do dia, só você e o código tendo todo o suporte possível, sua cabeça explodiu agora né?

E sabe o mais incrível de tudo? **Eu estou fazendo parte da construção disso!!!** 🤯🤯🤯🤯

Então continuem acompanhando aqui e em minhas redes com o mesmo user que vocês irão já já ver essa novidade surgindo _(spoiler - já possuímos tester's 🤩)_

Se você leu até aqui, deixa seu like e principalmente te aguardo nos próximos post's 😘
AWS CodePipeline - Codebuild Error - npm ERR! code EPIPE
Tags: aws, codebuild
Published: 2023-03-01 12:48:57

## Fixing the npm ERR! code EPIPE Error in AWS CodeBuild

You may have experienced the npm ERR! code EPIPE error while running npm ci in AWS CodeBuild. This error typically indicates an issue with writing data to a file or a stream. There are various reasons why this error can occur, such as network connectivity issues, file permission issues, or conflicts with other processes running on the same system.

One potential solution to fix the npm ERR! code EPIPE error in AWS CodeBuild is to invalidate the CodeBuild project cache. This can be done using the AWS Management Console, the AWS CLI, or the AWS SDKs.

### Invalidate the CodeBuild Project Cache in AWS Management Console:

- Open the AWS Management Console and navigate to the CodeBuild console.
- Select the CodeBuild project that is encountering the npm ERR! code EPIPE error.
- Click on the "Build History" tab and find the build that failed with the error.
- Click on the build ID to open the build details.
- Click on the "Invalidate Build Cache" button to invalidate the CodeBuild project cache.
- Re-run the build and check if the npm ERR! code EPIPE error has been resolved.

### Invalidate the CodeBuild Project Cache Using the AWS CLI:

- Open a terminal or command prompt and install the AWS CLI if you haven't already done so.
- Run the following command to invalidate the CodeBuild project cache:
```
aws codebuild invalidate-project-cache --project-name <project-name>
```

- Replace <project-name> with the name of the CodeBuild project that is encountering the npm ERR! code EPIPE error.

- Re-run the build and check if the npm ERR! code EPIPE error has been resolved.

##  Error message example

```sh
[Container] 2023/03/01 12:13:31 Running command npm ci
npm ERR! code EPIPE
npm ERR! syscall write
npm ERR! errno -32
npm ERR! write EPIPE
```
Utilizando o Docker para potencializar Github Actions
Tags: docker, github, braziliandevs, tutorial
Published: 2023-03-01 12:42:53

[PARTE 1 Construindo uma pipeline com o Github Actions](https://dev.to/nathsouzadev/usando-o-github-como-pipeline-556l)

Anteriormente mostrei como podemos construir uma pipeline com Github Actions e até compartilhei uma simplificada para demonstrar o funcionamento. Agora vamos aprofundar um pouco mais e entender como podemos rodar uma instância do Docker com as actions para aumentar a cobertura dos nossos testes.

Antes de entender a implementação, vale a pergunta: porque ter um container nas actions? Não vou aprofundar sobre o uso de container, mas nesse caso, ele permite que implementamos um banco local, que será o nosso database para rodar os nossos testes integrados ou e2e, sem a necessidade de conexão com um banco remoto, além de podermos utilizar filas locais, como o RabbitMQ ou Kafka, por exemplo. Somente nesse ponto, já ganhamos performance para a execução dos nossos testes.

Agora podemos partir para a implementação. Primeiro precisamos criar um arquivo docker-compose.yml, que será onde colocaremos as instruções para montar nossa imagem. No nosso exemplo utilizaremos o Postgres como banco de dados. Para isso, no nosso arquivo, especificamos qual imagem iremos utilizar e já configuramos as variáveis de ambiente, como nome de usuário e senha para acesso ao banco.

Ainda na configuração do docker, finalizamos especificando o nome de uma rede local para utilizarmos.

```sh
version: "3.6"

services:
  postgres:
    image: postgres:11.7-alpine
    ports:
      - 5432:5432
    environment:
      POSTGRES_PASSWORD: admin
      POSTGRES_PASSWORD: password
networks:
  default:
    external:
      name: my-network
```

Feito essa configuração passamos ao nosso workflow para inserir as novas configurações na execução dos testes. Para isso, precisamos de três comandos do docker.

Essa sequência irá criar a rede local para a execução da nossa instância, posteriormente buildar nossa imagem do docker e por fim apenas exibir os dados da rede que está disponível. Pronto, dessa forma temos uma instância com banco de dados pronta para ser utilizada por nossa aplicação.

```sh
    - name: Creating network
      run: docker network create "microservice-network"

    - name: Build docker-composer
      run: docker-compose up -d

    - name: Check running container
      run: docker ps -a
```

Caso necessário, você pode executar migrations com dados de testes e povoar o banco com as informações para executar os seus testes e rodá-los em sua pipeline. Dessa forma, em menos de 5 minutos, temos um container pronto para nossa pipeline.
Should I Upgrade from Laravel 8 to 9/10?
Published: 2023-03-01 12:24:46

Hi developers,

I am currently managing an ecommerce (IT Hardware) website which is in Laravel. It is a live website which my company is using (not a company's main website, but an important one ), having more than 100K products. I wanted to know, should I upgrade this website from Laravel 8 to 9 or not?

And if I upgraded it to Laravel 9, how can I update that to my hosting without losing seo and without having critical errors?

I am the only developer in a company who is looking at this website.

website link: https://dealsondrives.com

If you help me, I will be very thankful to you!

Thanks in advanced.
How TO Learn A New Skill.
Tags: learn, tips, grow, skills
Published: 2023-03-01 12:20:44

## **Define your purpose:**
Set a clear goal for what you want to achieve by learning the new skill. This will help you stay motivated and focused throughout the learning process.

## **Make it manageable:**
Divide the skill into smaller, more manageable tasks or steps. This will make the learning process less daunting and help you make progress faster.

## **Find quality materials:** 
Research and find the best resources for learning the skill. This could include online tutorials, books, courses, or mentorship from an expert in the field.

## **Consistency is key:**
 Set aside time each day or week to practice and reinforce what you have learned. Regular practice will help you develop and improve your skills.

## **Ask for constructive criticism:**
Seek feedback from others who have experience in the skill or from a mentor. Feedback will help you identify areas where you need to improve and make adjustments.

## **Learn from your mistakes:**
Don't be afraid to make mistakes. Failure is a natural part of the learning process and can help you grow and improve.

## **Find ways to keep going:**
Stay motivated by setting milestones or rewards for achieving certain goals, or by finding a community of others who are learning the same skill.

## **Rest and recharge:** 
Take breaks and give yourself time to rest and recharge. Learning a new skill can be mentally and physically taxing.

## **Use it in real-life situations:** 
Apply the new skill in real-life situations to reinforce what you have learned and gain practical experience.

## **Keep growing and expanding your skills:** 
Once you have mastered the skill, keep learning and challenging yourself. Continuously challenging yourself will help you stay engaged and grow as a learner.
please solved this i don know how to solved this
Tags: help
Published: 2023-03-01 12:05:44

Scrabble Scores
Each letter (tile) in scrabble is worth a certain number of points.
Build an algorithm that calculates the total scrabble tile score of all the letters in a file.
For example, the following file with this content;
Founded in 2012 in Noida, Ad2click Media mission is to help the world put
software to work in new ways, through the delivery of effective learning and
information services to IT professionals.
Will score 257 :
We do this by adding scrabble tile scores together FOUNDED for example would be 4 + 1 + 1+
1+2+1+2 = 12 (as F=4, O=1, U=1 etc…)
We ignore punctuation, spaces and numbers.
What is the point score for all the letters found in the complete works of Shakespeare found at
https://www.gutenberg.org/cache/epub/100/pg100.txt?
What & Why Syntax In Programing??
Tags: programming, javascript
Published: 2023-03-01 12:00:12

##### Syntax

Programming languages are similar to human languages. English or many other language uses words, phrases, sentences, compound sentences and other more to convey a meaningful message. The English meaning of syntax is _the arrangement of words and phrases to create well-formed sentences in a language_. The technical definition of syntax is _the structure of statements in a computer language._ Programing languages have syntax. 

This syntax is why we call programming coding. Even amongst all the different languages that are out there. Each programming language uses different words in a different structure in how we give it information to get the computer to follow our instructions.

Take e.g of JavaScript is a programming language and like other programming languages it has its own syntax. If we do not write a syntax that JavaScript understands, it will raise different types of errors. We will explore different kinds of  errors later. For now, we understood syntax imp in programming😎.
Por que Ruby é uma Linguagem de Programação Excelente para Iniciantes?
Tags: webdev, beginners, ruby, tutorial
Published: 2023-03-01 12:00:00

Ruby é uma linguagem de programação de código aberto que é fácil de aprender e pode ser usada para criar uma ampla variedade de aplicativos e sites. Se você está interessado em começar a programar em Ruby, aqui estão algumas dicas para ajudá-lo a começar:

**Instale o Ruby em seu computador**

Antes de começar a programar em Ruby, você precisará instalar o ambiente de desenvolvimento em seu computador. Você pode fazer o download da versão mais recente do Ruby no site oficial (https://www.ruby-lang.org/pt/downloads/).

**Familiarize-se com a sintaxe **

A sintaxe do Ruby é simples e fácil de entender, mas pode levar algum tempo para se acostumar. Comece com um tutorial básico que explica os conceitos básicos de Ruby, como variáveis, loops, funções e classes.

Use um ambiente de desenvolvimento integrado (IDE): Uma IDE pode ajudá-lo a programar em Ruby com mais facilidade, fornecendo recursos como realce de sintaxe, depuração e gerenciamento de projetos. Alguns exemplos populares de IDEs para Ruby incluem o Visual Studio Code, o RubyMine e o Atom.

**Experimente** 

A melhor maneira de aprender Ruby é experimentando. Crie pequenos projetos e brinque com o código para entender como as coisas funcionam. Ao experimentar, você pode encontrar soluções criativas para problemas de programação.

Criar um projeto "To-Do-List" pode ser um bom começo!

**Participe da comunidade **

A comunidade Ruby é grande e acolhedora, e pode ser uma ótima fonte de suporte e inspiração. Procure grupos no Facebook, Slack ou [Telegram](https://t.me/rubybrasil), participe de fóruns e comunidades online, e vá a [eventos locais de Ruby](https://www.meetup.com/pt-BR/guru-sp-grupo-de-usuarios-ruby-de-sao-paulo/ ) para se conectar com outros programadores.

Programar em Ruby pode ser uma experiência gratificante e divertida, e essas dicas podem ajudá-lo a começar. Não tenha medo de experimentar e errar, porque é assim que você aprende. 

Só vai!
OmniStudio Omniscripts
Tags: salesforce, omnistudio, lowcode, nocode
Published: 2023-03-01 11:33:35

O _Omniscritpt_ é o segundo componente que encontramos na camada _Digital Experience_ do _OmniStudio_. Podemos defini-lo como um caminho guiado para completar um processo do negócio. Ele funciona como um conjunto de _Flexcards_ usados para atender um processo, como criar uma nova cotação de um seguro de automóvel.

Este componente tem o foco na experiência e na interface do usuário, permitindo maior engajamento e tornando a experiência do usuário dinâmica e personalizada.

## Características
- Desenvolvimento de forma declarativa ou _drag-and-drop_. Podemos visualizar a prévia do componente e utilizar o _debbuger_ para testar o funcionamento do componente antes de ativá-lo;
- Podemos implementar o componente em qualquer canal ou dispositivo;
- Possui arquitetura modular, que permite a separação das camadas de backend e frontend;
- As informações disponíveis de um _Omniscript_ podem vir de diversas origens de dados: do próprio _Salesforce_, de um _website_ ou sistema legado;
- Grande capacidade de customização do componente. Temos a opção de customização em dois _frameworks_: o _Lightning StyleShhet_ e o _Newport Design System_;
- Podemos gerenciar a assinatura de documentos com o _OmniScript_
    - _Templates_ para a criação de documentos;
    - Mesclar informações de diversas fontes de dados;
    - Anexar documentos aos registros de objetos _Salesforce_ ou enviá-los por _email_;
    - Utilizar o _DocuSign_ para assinatura eletrônica.

## OmniScripts vs. Screen Flows

Podemos pensar que o _OmniScript_ é um tipo de _Screen Flow_ para as nuvens de _Industries_.

Ambas ferramentas são usadas para a criação de processos guiados, que fazem a leitura e permitem a inserção de informações. Também possuem outras similaridades:
- O fluxo pode seguir diferentes ramificações, dependendo de condicionais estabelecidas;
- Componentes modulares;
- Leitura e/ou edição de dados do _Salesforce_;
- O fluxo pode disparar a execução de uma classe _Apex_ ou componente do _Lightning Web Component_ (LWC);
- Podem ser incorporados em páginas _web_ externas;
- São componentes responsivos;
- Possui ferramenta para execução de testes sobre o funcionamento do fluxo (_debugger_).

Porém, com o OmniScript, podemos:
- Trabalhar com hierarquia complexa de dados;
- Estilizar o componente com _CSS_;
- Criar interações com dados internos e externos;
- Criar validações mais complexas;
- Criar formulários dinâmicos;
- Interface de usuário flexível para apresentar informações e capturar dados;
- Adicionar múltiplos registros.

## Referências
-[OminiScripts[(https://trailhead.salesforce.com/pt-BR/content/learn/modules/omnistudio-omniscript?trail_id=get-to-know-omnistudio)
- [OmniScripts with branching](https://trailhead.salesforce.com/pt-BR/content/learn/modules/omniscripts-with-branching?trail_id=build-guided-experiences-with-omnistudio)
Resolvendo problemas no HackerRank: Analisando o orçamento.
Tags: javascript, beginners, programming
Published: 2023-03-01 11:22:02

Olá, seja bem vindo a mais uma etapa do Resolvendo problemas no Hacker-Rank,nessa sessão iremos analisar alguns produtos e ver por meio do orçamento fornecido, podemos comprá-los. Vejamos como separar isso.

**Eletronics Shop -**

Nosso problema está em uma loja de eletrônicos. Queremos comprar: um Keyboard(teclado) e um USB Drive(pen drive), entretanto temos um orçamento pré limitado e existem diferentes valores para cada um dos dois produtos.

O objetivo é que caso a compra passe do valor de orçamento, seja devolvido um input _-1_. Caso não passe, devemos pegar a maior possibilidade dentro do orçamento permitido.

- int keyboards[n]: os preços dos teclados. 
- int drives[m]: os preços dos drives.
- int b: o orçamento geral para compras.
- Return int: o máximo que pode ser gasto, ou caso não seja possível comprar os dois itens, -1

Vejamos um exemplo para máxima compreensão.

b = 60
keyboard = [50,40,60]
drives = [5,8,12]

Podemos comprar um keyboard [40] e um drives de [12], ou um keyboard[50] e um drives de [8]. Caso seja keyboard de [60], retornará -1, pois menos um produto pode ser levado visto que chegamos a nosso orçamento limite.


Vejamos a resolução:


```
function getMoneySpent(keyboard,drives, b){

let maximumValue = -1;

  for (let keyboardOptions of keyboard){
  for (let drivesOption of drives){

const finalValue = keyboardOptions + drivesOption;

if(finalValue <= b && finalValue > maximumValue){ maximumValue = finalValue }

}
}

return maximumValue
}
```

O input de resultado desse caso será:

```
10 2 3 // orçamento,modelos de keyboard,modelos de drives

3 1 //Keyboards: primeiro preço, segundo preço
5 2 8 // Drives: primeiro,segundo e terceiro preço

input de resultado: 9
```

Temos também outro input fornecido de resultado, onde nos é fornecido o valor _-1_:

```
5 1 1 // orçamento,modelos de keyboard,modelos de drives
4 //Keyboards:preço
5 // Drives:preço

input de resultado: -1
```

Mais uma vez, finalizamos o problema de hoje, até a próxima resolução da série: _Resolvendo problemas no HackerRank_
virtual-scroll-list
Published: 2023-03-01 10:30:00

##virtual-scroll-list 

###实例功能

- 虚拟化列表的Hook,可以解决展示海量数据渲染时首屏渲染缓慢和滚动卡顿问题

- 滚动加载数据
###使用
- url
请求数据的URL
- itemSize
 item的高度
- itemRender
渲染列表项
- loadingItem
数据加载时的状态
- onDataUpdate
 当list中的数据更新时执行，这个函数的形参是当前list已经加载到的数据
- defaultQuery  
默认的查询参数 没有设置时默认{page: 1,pageSize: 10}
- silent
 false：显示errorMessage  true：不显示  
- dataFilter
对List中的数据进行过滤操作
-event$
通过const { event$, actions } = VirtualScrollList.useVirtualListEvent()获取把event$传给VirtualScrollList，组件会订阅actions中的操作你可以通过action中的方法进行查询、加载、重置操作
- autoHeight
设置VirtualScrollList的高度，没有给值时会获取VirtualScrollList所在container的高度
- emptyElement 
VirtualScrollList没有数据时展示
- queryFormatOptions
AxiosRequestConfig
What i spect about my Codding Bootcamp?
Tags: bootcamp, softwareengineer, career
Published: 2023-03-01 10:41:49

## Where will I go?
After a lot of search about front-end bootcamp's, i found the perfect to me. I going to **Berlin** to make him.


![Berlin city view](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/scv0nvsvwsksy2zkfx47.png)


### Why I chose Berlin?
Well, in first, I was looking for a bootcamp in a country whit I have permission to live, and I am a Germany citizen living and born in Brazil. You are asking to me: "Why you don't make in your country?" and I have your answer: Because i really want my first contact whit outside Brazil companies. In this moment, i work in a startup company as a front-end developer, but , is not what i wont, my goal is work in large company like: "Amazon, Meta, Shopify, Microsoft, Apple, etc...", and to get a software engineer position in this companies, i need to study outside Brazil ( well , think this help me ).

### What i spec living in Berlin?
Let's get down to business, this is my first time living alone, taking care about my own business and i really exciting, i never was to Berlin, but people say is like NY and i love him, a business city.

#### In first:
I going study hard, because this is my opportunity to improve my career fast, and i really want this.

#### Second:
I expect understand the life in the city, what people doe's your hobby's and the routine.
#### Third:
Make friends and know contacts to the future


**Ok, that's all folks**
I expect you guys like this article and , in the future i writing more about my exp.

*If you live in Berlin and wants to make contact, let's doing*
Prototype design pattern in Swift
Tags: swift, ios, xcode, programming
Published: 2023-03-01 10:36:56

The Prototype design pattern is a creational pattern that allows for the creation of new objects by copying or cloning existing objects. This pattern can be useful in situations where creating new objects from scratch is expensive or time-consuming, or where objects need to be customized with different configurations or properties.

```
protocol Prototype {
    func clone() -> Prototype
}

class Sheep: Prototype {
    var name: String
    
    init(name: String) {
        self.name = name
    }
    
    func clone() -> Prototype {
        return Sheep(name: self.name)
    }
    
}

// Example usage
let originalSheep = Sheep(name: "Maria")
let clonedSheep = originalSheep.clone() as! Sheep

print(originalSheep.name) // Prints "Maria"
print(clonedSheep.name) // Prints "Maria"

clonedSheep.name = "Dolly"

print(originalSheep.name) // Prints "Maria"
print(clonedSheep.name) // Prints "Dolly"
```

If you are interested in learning more about design patterns in Swift, you can check out my [GitHub repository](https://github.com/HaraldBregu/Design_Patterns_With_Swift), where I have provided examples and explanations of various design patterns.
Exploratory Data Analysis, The Ultimate Guide (With Python)
Tags: python, datascience, eventdriven, pandas
Published: 2023-03-01 10:20:12

**What id EDA?**
Exploratory Data Analysis (EDA) involves Data Analytic Process used to understand data in depth, learn the different characteristics of data (data visualization) and finding useful patterns in data.

**Why perform EDA**
There are several reasons for performing EDA on a data set. These include:

- Removing any irregularities and unnecessary values in the data set, identifying faulty points and noise in data early
- Preparing the dataset for analysis
-Allowing machine learning models to better predict the dataset
-Getting more accurate results from a dataset
-EDA also helps in choosing a better Machine Learning model
-We can use EDA to filter for redundancies
-EDA can help stakeholders to know if they are asking the right questions

There are three major steps involved in EDA;

1. Understanding the data
Here we get to understand the variables in the data, and also know parameters such as the number of columns and rows.
2. Cleaning the data
In this step, we get to remove any outliers, any irregularities and any none-useful parts/fields that may affect the end model.
Outliers include datasets that fall outside/ differ significantly from the main observations.
3. Analyzing relationship between variables.
We can use tools such as Co-Relation matrix, which is a table showing the co-relation co-efficient between variables, each cell showing the relation between 2 variables.

**Using Python To Perform EDA**

Assuming you have Python installed, here are some of the steps and code samples used in performing EDA using Python Programming Language.

**Libraries**
There are several libraries that may be used to perform EDA: