teleren/devto huggingface dataset:
Herramientas para mejorar la experiencia de usuario (UX)
Tags: webdev, ux, tooling, performance
Published: 2022-12-23 03:59:15

Existen varias herramientas que puedes utilizar para mejorar la experiencia de usuario (UX) de tu aplicación o sitio web. Algunas de las herramientas más comunes incluyen:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/khbc188sqwsgry4xx65p.png)
1. Google Analytics: Es una herramienta de análisis de tráfico y comportamiento de los usuarios que te permite ver cómo los usuarios interactúan con tu sitio web y qué páginas son las más populares.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fa5o66hbcuz3pe1j08vo.png)
2. Hotjar: Es una herramienta que te permite grabar sesiones de usuario y ver cómo los usuarios interactúan con tu sitio web. También incluye una herramienta de encuestas y una herramienta de calor que muestra dónde los usuarios hacen clic en tu sitio web.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/65s66t9qvxk1nnrzu0m5.png)
3. UserTesting: Es una herramienta que te permite contratar a usuarios reales para probar tu sitio web o aplicación y proporcionar comentarios y sugerencias.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bplxt0lxvi7rnw8otis6.png)
4. OptinMonster: Es una herramienta que te permite crear formularios de suscripción y pop-ups para aumentar el número de suscriptores y clientes potenciales.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8zgklfn8cdv4lqh0s5dd.png)
5. Crazy Egg: Es una herramienta que te permite ver cómo los usuarios interactúan con tu sitio web mediante el uso de mapas de calor y grabaciones de sesiones de usuario.


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

[☕ Invitarme un café](https://www.buymeacoffee.com/manuelmorales)
Everything You Need to Know About ChatGPT
Tags: ai, openai, chatgp
Published: 2022-12-23 03:51:02


![ChatGPT](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ay03pg4crjf4tjefi3y8.png)

Welcome to ChatGPT, the extension that provides you with instant answers to all of your queries!

Are you tired of endlessly scrolling through search results, trying to find the information you need? ChatGPT makes it easy by displaying the extension’s response alongside search results from Google, Bing, and DuckDuckGo. No matter where you are browsing, ChatGPT has you covered.

Whether you’re a content creator, developer, designer, student, or stay-at-home parent, ChatGPT is the perfect tool for anyone looking for specific, detailed answers to their questions. Need help writing a prom proposal? Trying to fix a piece of code? ChatGPT has the solution.

![content](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/his7vclrntorsa33f6sv.png)

So why wait? Install ChatGPT today and get quick, reliable answers to all of your questions. Try it out and see the magic for yourself!

We encourage everyone to give ChatGPT a try and experience the convenience and efficiency it brings to finding answers to your questions. With the ability to display responses alongside search results from Google, Bing, and DuckDuckGo, ChatGPT makes it easy to find the information you need no matter where you are browsing.

![ChatGPT makes it easy to find](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ze0q5uq7hiwulk9cht5i.png)

Whether you’re a content creator, developer, designer, student, or stay-at-home parent, ChatGPT has something to offer for everyone. Its detailed responses to a wide range of queries make it a valuable tool for solving problems and finding solutions.

![developer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ueb678dva8tcrd3ow70w.png)

So don’t hesitate, give ChatGPT a try today! Simply **[install the extension](https://chrome.google.com/webstore/detail/chatgpt-for-search-engine/feeonheemodpkdckaljcjogdncpiiban)** and start getting quick and reliable answers to all of your questions. We’re confident you’ll love it as much as we do.
Manual Tester : Ultimate Guide to QA Team Roles and Responsibilities.
Tags: webdev, beginners, programming, tutorial
Published: 2022-12-23 03:26:49

In the video, we are going to learn about the manual tester's  roles and responsibilities. 

🔥 Download MindMap - https://sdet.live/3Fgn


✅ What is Manual Testing?
Manual Testing is a type of software testing in which test cases are executed manually by a tester without using any automated tools. The purpose of Manual Testing is to identify the bugs, issues, and defects in the software application. Manual software testing is the most primitive technique of all testing types and it helps to find critical bugs in the software application.

{% embed https://youtu.be/wsqrnws-_yw  %}

✅ Who is Manual Tester?
Person doing manual testing is known as manual tester.

What is expected from you as Manual Tester?
 Gather requirements from team
 Prepare Test Plan, Test Scenarios, Test cases
  https://sdet.live/3DbA

 Verifying the Software Web/ App by Hand
 Execute the Test cases and Report Bugs
 Send Test report to stake holders
 More concentrated on the UI/UX issues
 In charge of paperwork(aka documentation online)

✅ What you do can extra as Manual Tester?
 1. Help in preparing the requirements to PM
 2. Share a Video or Images of the Manual flows to automation team, so that they can create better automation.
 3. Help the team pm, devs to sync and come with timelines of release.
 4. Learn coding and help in automation of the flows manual tested
 5. Identify the automation flows and pain manual areas automate them using scripts

✅ Unofficial OKR of Manual Testing.
 1. Creativity
  Attractive documentation
  Clarity about the Manual Test execution
 2. Knowledge
  Become Subject matter expert in your area
  Share Knowledge with others
 3. Problem solving
  Identify the problems in the system report and solve them
   1. My python scripts example.
  Help in RCA, prod bugs.


🔥🔥IMPORTANT LINKs 🔥🔥

✅API Testing –
https://www.learnapitesting.com


✅Cypress Tutorial with LIVE Projects –
http://cypresstutorial.com


🟢30 Days of Automation Testing
https://go.scrolltest.com/automation


🟢30 Days of API Testing
https://apitesting.co/30days


🟢 30 Days of Rest Assured
https://go.scrolltest.com/30days-rest...


—————————————————–
👪 Join our Community – http://bit.ly/learntesting2019

✅ Automation Tester Community – https://thetestingacademy.com

🐦Follow us on Twitter – https://twitter.com/itstechmode

📖 Like us on Facebook – https://www.facebook.com/scrolltest

🎤 Listen to our Podcast – https://anchor.fm/thetestingacademy

——————————————————

#manualtesting #manualtestingtutorial #manualtester #manualtestinginterview #seleniumtutorial
DEX Insight - Digital employee experience insights
Tags: software, technology, insights
Published: 2022-12-23 02:57:14

Buying and building useful and usable business software is expensive, time-consuming, and risky.  As a result, most digital transformation efforts lead to lost productivity, unhappy employees, and limited transformation.

DEX Insight measures the usability, usefulness, and usage of employees' digital tools for operations, business systems, and IT leaders to understand which SaaS applications are powerful, intuitive, frustrating, or dispensable resulting in increased workforce productivity, reduced IT support costs, and the elimination of shelfware.

[https://www.dexinsight.com](https://www.dexinsight.com)
Migrating postgres db from CLI
Tags: postgres, migration, pgdump
Published: 2022-12-23 02:56:07

Migrating postgres db within same/different server via cli.
1) Export dump from existing db: `pg_dump -U postgres -h <host_address> -p 5432 <db_name> > <dump/backup_file_name>.sql`
2) Import dump to new db: `psql -h <new_db_host_address> -d <new_db_name> -U postgres -f <dump/backup_file_name>.sql`

Note, __In both of the cases you will be prompted with password input.
Pyrogram download telegram media files
Tags: pyrogram, telegram, python
Published: 2022-12-23 02:37:39

To download the media from a message we can use `download_media()`. This can uses by users and bots

Examples:

```
# Download from Message
await app.download_media(message)

# Download from file id
await app.download_media(message.photo.file_id)

# Keep track of the progress while downloading
async def progress(current, total):
    print(f"{current * 100 / total:.1f}%")

await app.download_media(message, progress=progress)

# Download media in-memory

file = await app.download_media(message, in_memory=True)
file_name = file.name
file_bytes = bytes(file.getbuffer())
```

Parameters:

- `message` (Message | str) – Pass a Message containing the media, the media itself (message.audio, message.video, …) or a file id as string.
- `file_name` (str, optional) – A custom file_name to be used instead of the one provided by Telegram. By default, all files are downloaded in the downloads folder in your working directory. You can also specify a path for downloading files in a custom location: paths that end with “/” are considered directories. All non-existent folders will be created automatically.
- `in_memory` (bool, optional) – Pass True to download the media in-memory. A binary file-like object with its attribute “.name” set will be returned. Defaults to False.
- `block` (bool, optional) – Blocks the code execution until the file has been downloaded. Defaults to True.
- `progress` (Callable, optional) – Pass a callback function to view the file transmission progress. The function must take (current, total) as positional arguments (look at Other Parameters below for a detailed description) and will be called back each time a new file chunk has been successfully transmitted.
- `progress_args` (tuple, optional) – Extra custom arguments for the progress callback function. You can pass anything you need to be available in the progress callback scope; for example, a Message object or a Client instance in order to edit the message with the updated progress status.

Referrer: [Telegram Tracker](https://telegramtracker.com/)
Follow me on [Devpost](https://devpost.com/software/telegram-tracker-cts5j0)
Se aventurando em eletrônica #3
Published: 2022-12-23 01:25:26

## O que é necessário para que um Circuito funcione?
 Mexendo no simulador que estou usando pra estudar eu tive algumas dúvidas pq o circuito que eu fazia só funcionava quando tinha um resistor e eu realmente não entendi isso.
* Isso dava curto circuito
![Isso dava curto circuito](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wrbw27qgnldytza2478w.png)

* Isso não dava curto circuito
![Isso não dava curto circuito](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tngw284xt48uma8z3ix8.png)


 por causa disso fui pesquisar quais são as partes que compõem um circuito, mais pra frente eu me aprofundo.
 Um circuito elétrico é um caminho fechado por onde percorre a corrente elétrica(para entender as dinamicas da corrente elétrica leia os artigos anteriores), para que um circuito elétrico funcione precisamos ter as seguintes partes:   
### fonte de tensão
Para proporcionar a corrente a partir de elétrons ordenados. 
Ex: Baterias, Pilhas, Tomadas

### carga
Para consumir a eletricidade e transformar em energia útilizável; e quando não há cargas no circuito há um aquecimento instantaneo que causa um curto circuito e afeta a fonte de tensão(Preciso estudar melhor isso pra explicar melhor)
EX: Lâmpadas, Resistores, motores

### condutores elétricos
Para que a corrente elétrica possa trafegar e chegar nos pontos necessários.
EX: Cabos elétricos

### componentes de controle(Opcional)
Para permitir o controle e comando das cargas, permitindo inserir lógicas no circuito.
EX: interruptores, relês

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

## Conclusão
 Basicamente é isso pessoal, hoje não deu pra me aprofundar muito mais revisitarei esses tópicos mais adequadamente no futuro, qualquer pontuação que puderem dar sobre o assunto vai me ajudar e muito a aprender e entender, até por que no momento estou fazendo tudo a partir de simuladores.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p020djwaip5imuxcnv6x.gif)

## Referências
[O que é um circuito elétrico?](https://www.mundodaeletrica.com.br/o-que-e-um-circuito-eletrico/)
[Curto-circuito ou Sobrecarga? Veja a diferença!](https://www.mundodaeletrica.com/curto-circuito-ou-sobrecarga-veja-a-diferenca/)
Finalizing A New UI (Feedback Requested)
Tags: design, help, showdev, ui
Published: 2022-12-23 01:18:05

I am finally nearing the end of what has almost been a year-long project. :party: :party: :party:

From backend development, security, and so much more, I am finally in the home stretch, which means it is time to finish the part I have been putting off till now; finalizing the UI.

---

Now before I ask for your opinion on what I created, there are a couple of things you should note first:

1. I am not a designer, not by any means. Normally, I do the backend, and someone else does majority the frontend after I sketch something out. But this time, I decided to give it a go myself. It's been a journey, but I think I may have the beginnings of something great (maybe ... hopefully).

2. This service that I am creating is a webhosting provider, that caters towards people that are just starting out in the world of web developing and hosting. Most likely, many of my users will be brand new to the world of webhosting, and not have much prior knowledge.

---

With that taken care of, here is the design that I have come up with:

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

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

---

Feedback on the design above (or even just words of encouragement) are highly appreciated. Feel free to say you hate the entire thing (I won't be offended), but don't leave me hanging (let me know how I can fix it).

For the time being, I am not going to release the URL (But if you are truly interested, let me know down below, we can work something out).

Thanks for your time, and if you offered it, your feedback.

----

EDIT:

@webjose @cicirello @zyabxwcd @receter @tarunc

I made some changes to the page, but still not sure what I think about the coloring of the 3 boxes. 

Did I improve on some things here, or did I just make it worse?

Thanks again for your feedback!


{% embed https://www.youtube.com/watch?v=FBus0BLLFbo %}
How to use PyTorch from Perl?
Tags: perl, python, cpp, machinelearning
Published: 2022-12-23 01:11:17

How to use <a href="https://pytorch.org/">PyTorch</a> from Perl?

PyTorch supports C++ in addition to Python.

This means Perl can calls all of the C++ functions of PyCharm.

If you use the <a href="https://metacpan.org/dist/SPVM/view/script/spvmcc">spvmcc</a> command of <a href="https://metacpan.org/pod/SPVM">SPVM</a>, you can output an executable file that can be used by its copy.

## For Programming Beginers

<a href="https://pytorch.org/">PyTorch</a> is a library for AI using machine learning.

PyTorch supports Python and C++.
Docz vs Storybook
Tags: webdev, javascript, react, programming
Published: 2022-12-23 00:31:46

**Docz** es una herramienta para crear documentación de componentes de React, mientras que **Storybook** es una herramienta para probar y documentar componentes de interfaz de usuario de manera aislada. Ambas herramientas son muy útiles y populares en el mundo de React, pero cual es mejor depende de tus necesidades y preferencias.

---



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1pcn6wb1rswxzj6oyuek.png)
**Docz** es una herramienta relativamente nueva y se ha diseñado específicamente para crear documentación de componentes de React. Ofrece una experiencia de usuario muy intuitiva y una interfaz de usuario sencilla, lo que hace que sea fácil de usar para los desarrolladores. Además, Docz te permite crear documentación de manera rápida y fácil, ya que utiliza Markdown para escribir la documentación y Gatsby para generar la página web.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2j3i53sj54gi9ednqa1l.png)
Por otro lado, **Storybook** es una herramienta más amplia y versátil para probar y documentar componentes de interfaz de usuario. Además de React, también es compatible con otras bibliotecas de componentes de interfaz de usuario, como Angular, Vue y Web Components. Storybook te permite crear historias (casos de uso) para cada componente, lo que te permite probar cada componente en diferentes estados y contextos. Además, Storybook tiene una amplia comunidad de usuarios y una amplia variedad de add-ons y personalizaciones disponibles.

> En resumen, si tu principal objetivo es crear documentación de componentes de React de manera rápida y sencilla, Docz puede ser la mejor opción para ti. Si, por otro lado, necesitas una herramienta más completa y versátil para probar y documentar componentes de interfaz de usuario, entonces Storybook puede ser la mejor opción. Al final del día, la mejor herramienta para ti dependerá de tus necesidades y preferencias específicas.

[☕ Invitarme un café](https://www.buymeacoffee.com/manuelmorales)
Content & Tooling Team Status Update
Tags: community, content, puppet, holidays
Published: 2023-01-03 19:31:25

---
title: Content & Tooling Team Status Update
published: true
date: 2022-12-23 00:00:00 UTC
tags: community, content, puppet, holidays
canonical_url: https://puppetlabs.github.io/content-and-tooling-team/blog/updates/2022-12-23-status-update/
---

## Wishing all Past, Present and Future Contributors a very Happy Holidays

As a team we would like to take the time to thank everyone for their contributions over the past year, we really appreciate the effort it takes to get things over the line. This will be our last update of the year as the team takes some time to relax and recharge in preparation for 2023.

![Happy Holidays](https://media3.giphy.com/media/5tkB6yiPZkHaZ7t44F/giphy.gif)

[via GIPHY](https://giphy.com/gifs/bilbareed-holiday-season-happy-holidays-5tkB6yiPZkHaZ7t44F)

## Team Building with Nybble

This week our team was delighted to receive a generous gift from [Ben Ford](https://github.com/binford2k). We spent some time team building and trying to get our [Petoi cat](https://www.petoi.com/) called _Nybble_ up and running. So far we have the robot built and are super excited to schedule some time in the New Year to train it to do backflips!

![Nybble the cat](https://puppetlabs.github.io/content-and-tooling-team/images/petoi.jpeg)

## Community Contributions

We’d like to thank the following people in the Puppet Community for their contributions over this past week:

- [`puppetlabs-stdlib#1286`](https://github.com/puppetlabs/puppetlabs-stdlib/pull/1286): “stdlib::ensure: update function to support the generic case”, thanks to [b4ldr](https://github.com/b4ldr)

## New Module / Gem Releases

The following modules were released this week:

- [`puppetlabs-apt`](https://github.com/puppetlabs/puppetlabs-apt) (`9.0.1`)

- [`puppetlabs-apache`](https://github.com/puppetlabs/puppetlabs-apache) (`9.0.1`)

- [`puppetlabs-mysql`](http://github.com/puppetlabs/puppetlabs-mysql) (`13.1.0`)
If/else statements in JavaScript
Tags: javascript, codenewbie, tutorial, webdev
Published: 2022-12-23 00:05:32

if (condition) <is true?>{
    statement  <will be executed>
}
else if (secondCondition) <is true?>{
    statement <will be executed>
}
else if (thirdCondition) <is true?> {
    statement <will be executed>
}
else <none of the previous condition evaluates true>
    statement <will be executed>


This is a basic 'if else' statement that can be used in JavaScript. This logic could be applied to several code such as math problems, website responses, or just basic inputs of data!

e.g.

let hourOfDay = 18
if (hourOfDay > 0 && hourOfDay <=8)
console.log('I am sleeping right now')
else if (hourOfDay >= 9 && hourOfDay <=17)
console.log('I am in School!')
else if (hourOfDay >= 18 && hourOfDay <=24)
console.log('I am playing video games!')

So in this example, the if else statements are taking in the value of "hourOfDay" as a condition and executing the statements based on which of the statements it comes out as true. With practice and some muscle memory, you will be able to write your own conditions to your code!

Happy Coding.
hash keys to method names
Tags: ruby
Published: 2022-12-23 00:01:00

---
title: hash keys to method names
date: "2022-12-23T00:00:05.000Z"
published: true
tags: ["Ruby"]
---

これは [.ごっ！のアドベントカレンダー](https://adventar.org/calendars/8199) の19日目の記事です。

RubyのHashのキー名をメソッド名として扱うときの備忘録です。
例えば、 `h = {num: 42}` があったときに `h.num` で`42`を取得したいといったときです。

Rubyの `Hash#fetch` と `method_missing` をいい具合に利用します。

```ruby
class Hash
  def method_missing(m)
    fetch(m) { fetch(m.to_s) { super } }
  end
end

h = {num: 42, str: "string", first_hash: { second_hash: "second_hash_str" }}
p h.num # => 42
p h.str # => "string"
p h.first_hash.second_hash # => "second_hash_str"
p h.string # => undefined method 'string' for {....}:Hash (NoMethodError)
```

この `method_missing()` は `Hash`にそのメソッドが定義されていなかった時に呼び出されるメソッドで、引数の `m` は呼び出そうとしたメソッド名のSymbolが渡ります。 

`fetch()` はキーに関連付けられた値を返すメソッドです。キーがない場合はブロックの実行結果が返されます。

それぞれの詳しい内容はリファレンスマニュアルを読んでください。

https://docs.ruby-lang.org/ja/3.1/method/BasicObject/i/method_missing.html
https://docs.ruby-lang.org/ja/3.1/method/Hash/i/fetch.html

上記にあるコードを順番に読み解きます。

 - `h.num` の場合
     1. `method_missing` に `m = :num` が渡る。
     1. `fetch(:num)` で `h` には `:num` のキーがあるのでその値を返す。
- `h.string` の場合
    1. `method_missing` に `m = :string` が渡る。
    1. `fetch(:string)` で `h` には `:string` のキーが存在しないのでブロックの中身が実行される。
    1.  `m.to_s` した結果が `fetch` されるので、 `fetch("string")`となるが `h` には `"string"` のキーが存在しないのでブロックの中身が実行される。
    1. `super` で実際の `method_missing` が実行される。

良さげな使い方としては、 APIリクエストしてJSONを受け取った時にメソッドっぽく値を取り出すことができ、きれいなコードを書いているように見えることです。

以下サンプルコードです。

```ruby
require 'faraday'

class Hash
  def method_missing(m)
    fetch(m) { fetch(m.to_s) { super } }
  end
end

conn = Faraday::new({url: "https://api.nasa.gov"}) do |c|
  c.request :json
  c.response :json
  c.adapter Faraday.default_adapter
end

res = conn.send(:get, "/planetary/apod", { api_key: "DEMO_KEY" }, nil)
p res.body.copyright # => "Craig Stocks"
p res.body.title # => "The Tadpole Nebula in Gas and Dust"
```

このコードでは  `faraday` を使用していますが、httpリクエストの方法はなんでもよいです。

{% embed https://github.com/lostisland/faraday %}

レスポンスbodyの中身をまるでメソッドかのように値を取得しています。

---

上記のコードは万能ではありません。 `Hash` のインスタンスメソッドにあるメソッド名がキー名と同じだった場合、インスタンスメソッドが優先されます。(`{dig: "dig_string"}` とあった場合は、`method_missing`ではないので  `Hash#dig` が優先されるということです。)

小さい個人ツールやgemとして使う分には便利ではありますが、大きいプロダクトに適用させる場合には注意しましょう。