teleren/devto huggingface dataset:
8 important points you must consider when deciding whether to Buy Software or Build Software
Tags: programming, software, devjournal, developer
Published: 2023-04-27 01:50:00

Are you facing a common dilemma of whether to build your own software or buy existing software solutions?

There are various pros and cons to both the approaches. Here are the key differences between building software from scratch and buying pre-existing software solutions:


## Difference 1:
Implementation is faster when buying software. Vs Implementation takes time when building software.


## Difference 2:
Buying Software has relatively small costs Vs Building Software has relatively high costs.


## Difference 3:
You have to use what's given when buying software. Vs You can customize as per your need when building software.


## Difference 4:
There are no rights to the generated code when buying software. Vs You have rights to the generated code when building the software.


## Difference 5:
There is no control over the software's operation when buying it. There is control over the software's operation when building it.


## Difference 6:
There is dependence on other people or vendors when buying software. Vs There is no dependence on other people or vendors when building software.


## Difference 7:
Buying software solves general audience problems. Vs Building software solves your own specific problems.


## Difference 8:
There is no participation in the maintenance process when buying the software. There are potential risks associated with development when building the software.



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

Thanks for reading this.

If you have an idea and want to build your product around it, schedule a call with [me](https://calendly.com/pragyanatvade).

If you want to learn more about DevOps and Backend space, [follow me](https://dev.to/pragyanatvade).

If you want to connect, reach out to me on [Twitter](https://twitter.com/pragyanatvade) and [LinkedIn](https://www.linkedin.com/in/pragyanatvade/).
Customize API Gateway URL with Domain Purchased From Google Domains
Tags: domainnames, aws, google, apigateway
Published: 2023-04-27 01:09:46

Creating a custom URL for an AWS API Gateway API is straightforward enough if you obtained your domain from AWS. But what if you purchased a domain through another company such as Google? Well, the following resources will walk you through how to do just that.

1. [Create an AWS Route 53 Hosted Zone for your Google domain](https://www.youtube.com/watch?v=Iu_wCP1oevQ&ab_channel=JohnGreenDev). This allows your domain to be used by AWS.
2. [Add a custom domain and use it for your API](https://www.youtube.com/watch?v=ESei6XQ7dMg&t=425s&ab_channel=BeABetterDev). i.e. api.mywebapp.com
Best GitHub
Tags: githubhack23, nextjs, typescript, spanish
Published: 2023-04-27 01:04:51

Hola 👋, este es mi primer post que escribo, así que si algo de lo que escribo es confuso o tiene faltas de ortografía, te pido una disculpa.

En este post te voy a enseñar los pasos de como estoy desarrollando una web app llamada **Best GitHub** para el hackathon de **GitHub** Y **DEV**.

## Stack:

- **Next JS**
- **TypeScript**
- **Zod**
- **Prisma**
- **MongoDB Atlas**
- **GitHub Codespaces**

## Primeros Pasos

Para empezar, primero voy a crear un nuevo repositorio en **GitHub**, lo puedes hacer en la parte de arriba de tu perfil, dando click en el botón con el signo **+** y después dando click en la parte que dice **New repository**.

![Creando un repositorio](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q2fg3xm7tw9pddrwspdq.png)

Nos mandará a una página parecida a esta, dónde tendremos que poner el nombre que va a tener el proyecto, también puedes agregar una descripción, pero eso ya es opcional, de cualquier forma puedes agregarla o cambiarla después.

![Configurando el repositorio](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m4e6gdfteoc05igy26ga.png)

Lo que sí haremos será marcar la casilla que dice **Add a README file**, ya que sin un archivo, **GitHub Codespaces** puede tener problemas para dejarnos crear archivos.

Solo falta dar click en el botón que dice **Create repository** para que nos redirija al repositorio.

Para crear un **GitHub Codespace** le daremos click al botón que dice **Code**, después a la pestaña que dice **Codespaces**, para finalizar le daremos click al botón que dice **Create codespace on main**.

![Creando un GitHub Codespace](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/381z4y78g43qoek6sbby.png)

Eso nos abrirá una nueva pestaña en el navegador con nuestro **GitHub Codespace**, como en esta imagen.

![GitHub Codespace](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/leqiy905i660i0d07r81.png)

Eso es todo por este post, en el siguiente empezaremos a escribir código. Tenía pensado en este post agregar como configurar más a detalle los **GitHub Codespaces**, pero sería demasiado largo, así que dejaré eso para un post fuera de esta serie.

Espero que te haya gustado y espero verte en el siguiente post, saludos!!
Dự án Chợ Lộc Đức
Published: 2023-04-27 00:57:48

https://www.thitruong.today/lam-dong/du-an-cho-loc-duc/ Chợ Lộc Đức là dự án khu dân cư đa tiện ích tại Bảo Lâm (Lâm Đồng) ✅ UBND xã Lộc Đức làm chủ đầu tư ✅ Quy mô 8ha. 

Thôn Đức Giang 2, xã Lộc Đức, Huyện Bảo Lâm, TP. Bảo Lộc, Tỉnh Lâm Đồng

https://drive.google.com/drive/u/2/folders/12eSA-jlv5bi2f9m6oi7CVhVt6MbOHTxm
https://docs.google.com/spreadsheets/d/1Fk1n85ifk2H-yhMY5eVk1KZ9enZc37WndvFW48Kf4oc/edit?usp=share_link
https://docs.google.com/document/d/1mBvg7K-SJouglL0fpaTdTAT22Den6YVIyWeUyF-mzjE/edit?usp=share_link
https://docs.google.com/presentation/d/12d6DKzZMyH0MnJ2YqGHpOoJ1b8JYgXRr8LUsQA-ISRA/edit?usp=share_link
https://docs.google.com/forms/d/e/1FAIpQLSdxerkIFeuhF_5Rnza_dARMjw9x_GDtJuL8Ai2enB3XnHxB-A/viewform?usp=share_link
https://docs.google.com/drawings/d/1XbzsbMUnnoy_BxgPAt77e7qHX1Be5bKF-wzhFOHd7M8/edit?usp=share_link
https://www.google.com/maps/d/edit?mid=1MQhfCGd1R_zQfA77a6TgkMkV0AXPpwk&usp=share_link
https://sites.google.com/view/cholocduc?usp=share_link
https://twitter.com/cholocduc
https://www.pinterest.com/cholocduc2023/
https://www.youtube.com/channel/UCHTAl7cCcqUkCJEVjYRt5pA
https://www.tumblr.com/cholocduc
https://getpocket.com/@ao7d5p64T1c9agb493A6eW1A5agdTa679fnk83U31eLgR1W8ej0Z2if9a04KJ37b?src=navbar
https://cholocduc.blogspot.com/
https://www.blogger.com/profile/16779360465442872763
cholocduc.weebly.com
https://cholocduc.wordpress.com/
https://www.instapaper.com/p/cholocduc
https://www.diigo.com/user/cholocduc
https://trello.com/u/cholocduc/
https://slides.com/cholocduc
https://www.linkedin.com/in/cholocduc/
https://solo.to/cholocduc
https://scrapbox.io/cholocduc/
https://wakelet.com/@cholocduc
https://heylink.me/cholocduc/
https://pantip.com/profile/7526075#topics
https://boosty.to/cholocduc
https://velog.io/@cholocduc
https://pbase.com/cholocduc/profile
https://plaza.rakuten.co.jp/cholocduc/
https://penzu.com/p/682bf84d
https://peatix.com/user/17048308/
Arquitetura avançada e escalável para React
Tags: javascript, typescript, react, architecture
Published: 2023-04-27 00:53:00


## Introdução

Encontrar uma forma de estruturar uma aplicação em React que mantenha uma boa manutenibilidade e escalabilidade, com fácil leitura pode parecer uma tarefa difícil. É possível encontrar vários conteúdos sempre de uma forma diferente de estruturar o projeto de uma forma padrão. 

Diferentemente do Angular, o React é um biblioteca que dá liberdade para os desenvolvedores construírem as aplicações sem necessariamente seguir um _style guide_.

Com um bom tempo desenvolvendo diversas aplicações, desde simples projetos, à grandes aplicações com micro-frontends. Pude chegar a uma arquitetura que pudesse deixar os componentes bem reutilizáveis, mantendo uma boa leitura e fácil manutenção, separando bem as responsabilidades, seguindo de forma concisa os princípios do SOLID.

## Arquitetura

A arquitetura de cada projeto é pautado no bom senso. A idéia é simplificar o máximo possível, sempre respeitando um padrão de arquitetura e utilizando padrões de projeto e princípios do SOLID.

Para um padrão de arquitetura simples e escalável, definimos um desenho onde seguimos alguns *Design Patterns*.


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

Segundo o desenho a arquitetura do projeto contém 4 camadas.

- **main:** Conterá todas as camadas de *view* da aplicação, desde componentes (Utilizando o _Atomic Design_), como arquivos de contexto e rotas. Preferencialmente os arquivos *.tsx* estarão aqui.

- **common:** As camadas que possam ter regras em comum para o projeto e arquivos que possam ser compartilhados em uma ou mais telas, como *enums*, arquivos de configurações etc.

- **core:** Aqui contém as camadas de regra de negócio de chamadas externas. Utilizando o *Factory Pattern* nos serviços para facilidade de manutenção e testes. Camada como o *Store* para uma Arquitetura Flux caso necessário. Posso deixar com uma recomendação o uso do [Zustand](https://github.com/pmndrs/zustand). E para camada de validações se preciso, pode-se utilizar os esquemas de validações. Uma biblioteca interessante para isso é o [Yup](https://github.com/jquense/yup).

- **assets:** A mais opcional. Caso seja necessário, aqui podemos colocar as fontes, imagens e ícones**.**

## Conclusão

Posso ressaltar que cada projeto pode exigir abordagens diferentes. Tornando dispensáveis o uso de algumas dessas camadas, porém segui-las pode evitar problemas de organização e aproveitamento de código no futuro. 

Sempre é bem vindo o uso de padrões de projeto. Posso deixar como um **extra**, a utilização do _Singleton_ para a configuração de suas chamadas a api. Pode-se criar uma instância de configuração em um arquivo `/common/configs/api.config.ts`. E usar a instância pronta com _baseURL_, interceptors, headers e etc, em seus _services_ na camada de **core**.
Report con SQL Server
Published: 2023-10-03 14:23:56

---
title: Report con SQL Server
published: true
date: 2023-04-27 00:00:00 UTC
tags: 
canonical_url: 
---

I report vengono creati a partire da alcune query eseguite su un determinato database per l’analisi e la gestione del database.

La maggior parte delle applicazioni aziendali viene fornita con uno strumento di reporting integrato, che è un’interfaccia front-end che richiama le query del database back-end. In questo caso, andremo a utilizzare SQL Server Management Studio per scoprire quali report è possibile generare!

# Cosa vedrai

- [Definizione di report](#definizione-di-report)
- [Tipologie](#tipologie)
- [Come esportarlo](#come-esportarlo)
- [Risorse utili](#risorse-utili)

# Definizione di report

Un report di database è il risultato formattato di query eseguite sul database e contiene dati utili per il processo decisionale e l’analisi.

La maggior parte delle applicazioni aziendali contengono uno strumento di reporting integrato; questa è semplicemente un’interfaccia front-end che si ha a disposizione per recuperare alcuni dati utili sulla gestione del database.

# Tipologie

Grazie a SQL Server Management Studio è possibile utilizzare dei report standard che possono essere generati all’occasione oppure personalizzabili.

Per generarlo, è sufficiente cliccare con il destro sul database e cliccare su “Report”:

![Creare un report con SQL Server Management Studio](https://theredcode.it/img/mssql-report-create.png) _Creare un report con SQL Server Management Studio_

Tra quelli standard, abbiamo informazioni legate all’utilizzo del disco più o meno specifiche, o anche delle statistiche relative agli utenti o alle transazioni eseguite.

![Report standard disponibili di SQL Server](https://theredcode.it/img/mssql-report-standard-examples.png) _Report standard disponibili di SQL Server_

Un esempio di report è il seguente:

![Report standard sull&rsquo;utilizzo del disco](https://theredcode.it/img/mssql-report-disk-usage.png) _Report standard sull’utilizzo del disco_

Sono disponibili diverse tipologie di report che corrispondono a diverse query a seconda del risultato grafico che vogliamo ottenere.

# Come esportarlo

Questi report possono essere esportati in qualunque momento: generandone uno, è sufficiente cliccare con il destro in un qualsiasi punto della finestra del report per visualizzare il menù che ne gestisce le proprietà.

Come mostrato in figura, vedremo che è possibile esportare in formato Word, PDF e Excel.

![Esportare un report](https://theredcode.it/img/mssql-report-export.png) _Esportare un report_

# Risorse utili

- [Documentazione ufficiale](https://docs.microsoft.com/it-it/sql/sql-server/?view=sql-server-ver16&viewFallbackFrom=sqlallproducts-allversions)
- [Basi di Dati](https://amzn.to/3ABUix3)
Pop!_OS Shell on Fedora
Tags: linux, fedora, productivity, popshell
Published: 2023-04-26 22:56:21

Pop!_OS[^poposshell] Shell integrates like a charm on Fedora 38[^fedora], and change de default gnome shell.

Thanks a lot Pop!_OS Folks!

[^poposshell]: Pop!_OS Shell, on https://github.com/pop-os/shell.
[^fedora]: Fedora, on https://getfedora.org
How to set up Pint in Docker in less than 5 minutes
Published: 2023-04-26 22:29:53

I have several legacy projects in Laravel and I can't install pint in each one, I want to run pint in each one and make it independent of the system and the projects.
Steps:
1- Create the docker image and install pint

```
docker run --interactive --tty 
  --volume ~/.composer:/app 
  --volume ${COMPOSER_HOME:-$HOME/.composer}:/tmp 
    composer require laravel/pint
```
**command breakdown**:
 - **interactive**: creates an interactive session that allows user interaction with the container
 - **tty**: assigns a tty terminal for the interactive session
-**-volume ~/.composer:/app**: mounts the ~/.composer directory of the host system to the /app directory of the archive. This allows the container to access the Composer files on the host.
 - **volume ${COMPOSER_HOME:-$HOME/.composer}:/tmp**: mounts the Composer directory on the host to the /tmp directory of the container. This allows Composer to store temporary files on the host.
**composer require laravel/pint**: finally, use Composer to install the "laravel/pint" package in the container.

2- command to execute pint in our project:

```
docker run --rm -v ~/.composer:/app -v $(pwd):/app/project  -w /app composer ./vendor/bin/pint ./project
```
**— rm**: this option tells Docker to delete the container after the command execution is finished.
**-v ~/.composer:/app**: this option mounts the ~/.composer directory on the host system to the /app directory of the container. This allows the container to access the Composer files on the host.
**-v $(pwd):/app/project**: this option mounts the current working directory ($(pwd)) of the host system to the /app/project directory of the container. This allows the container to access the project located in the current working directory.
**-w /app**: this option sets the current working directory inside the container to /app.
**composer**: this is the name of the container image that will be used to execute the command.
**./vendor/bin/pint ./project**: this is the command that will be executed inside the container. The pint command is a binary that is installed through the laravel/pint package, which must be available in the composer.json file of the project. This command will be executed in the /app/project directory inside the container.

**Plus**:
Create alias
open ~/.bashrc
add the following line

```
alias pintd='docker run --rm -v ~/.composer:/app -v $(pwd):/app/project  -w /app composer ./vendor/bin/pint ./project'
```

save and run source ~/.bashrc
Onboard
Published: 2023-04-26 22:05:45

Welcome! I'm thrilled to be joining this community as a beginner software developer, and I'm excited to share my journey with you.

As I start developing my skills, it's essential to document my progress and reflect on my experiences. That's why I'll be using this platform as my learning logbook, where I can share my thoughts, challenges, and achievements with you.

My goal is to record and share knowledge, and get feedback on my work. Through my posts, I hope to inspire others, learn from your experiences, and celebrate our accomplishments together.

Whether you're a beginner or an expert, I invite you to join me on this exciting journey. Let's learn, grow, and build great things together!
How i Started my freelance Technical Writing in 2023.
Tags: webdev, beginners, css, career
Published: 2023-04-26 22:01:35

Embarking on a freelance technical writing career in 2023 is an exciting prospect. To get started, I took several steps:

Firstly, I concentrated on honing my writing abilities. Strong writing skills are crucial in technical writing, so I worked on perfecting my grammar, syntax, and punctuation. Additionally, I read technical documents, took online courses, and attended workshops to further enhance my skills.

Secondly, I identified my area of specialization or niche. I chose to focus on software documentation, given my background in software development. This allowed me to target clients who needed technical writers with my particular skill set.

To showcase my skills to prospective clients, I created a portfolio of my best technical writing samples. If you have no prior work experience, creating samples that demonstrate your skills in your chosen area is an excellent strategy.

I also established a professional online presence by creating a website and social media accounts. I ensured that my profiles were updated and included my portfolio and contact information.

To find clients, I utilized freelance platforms like Upwork and Freelancer, and joined online communities for technical writers. Networking with other professionals in the industry helped me gain valuable insights and job opportunities. beginning a freelance technical writing career necessitates hard work, dedication, and a commitment to continually improving your skills. By following these steps, I was able to start as a technical writer.

You can make it happen by following these steps above .Thank you for reading my article
How to Fix the "node: command not found" Error When Building a React Native App in Xcode
Tags: reactnative, xcode, node
Published: 2023-04-26 21:49:54

If you're building a React Native app in Xcode and you get the error "node: command not found", don't worry, you're not alone. This is a common error that can happen if you're using nvm (Node Version Manager).

NVM allows you to install and manage multiple versions of Node.js on your computer. When you use NVM, the node executable is installed in a directory that's not in Xcode's default search path. This is why you get the error "node: command not found" when you try to build your app.

To fix this error, you need to create a symbolic link to the node executable in Xcode's default search path. A symbolic link is a special type of file that points to another file. In this case, we're going to create a symbolic link that points to the node executable in the NVM directory.

To create a symbolic link, open a Terminal window and run the following command:

```bash
sudo ln -s $(which node) /usr/local/bin/node
```

This command will create a symbolic link called node in the /usr/local/bin directory. The /usr/local/bin directory is one of Xcode's default search paths, so this will fix the "node: command not found" error.

Once you've created the symbolic link, you should be able to build your React Native app without any errors.
Error: require() of ES modules is not supported when importing node-fetch
Published: 2023-04-26 21:29:33

Você tem duas alternativas para resolver esse problema:
You've two options to fix it:

1. No seu terminal instale uma versão antiga do node-fetch: npm install node-fetch@2

1. At yout terminal, install a old version of node-fetch: npm install node-fetch@2

2. No seu package.json, configure o seu projeto para suportar módulos assim: "type": "module"

2. At your package.json file, set the project type to support module.
Hyperswitch: New Milestone
Published: 2023-04-26 21:27:34

The Hyperswitch community is now 3k+ strong and growing! 💫🚀

This is a testament to the community's mission of making payments fast, reliable and affordable.

Thanks to all of you for making this happen!

https://github.com/juspay/hyperswitch

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7x4cy9pz4jqkke2e9cdt.png)
How to Use PostgreSQL CLI to Optimize Queries and Increase Efficiency
Tags: postgresq, apacheag, software
Published: 2023-04-26 20:34:32

## Introduction

PostgreSQL is a powerful and feature-rich relational database management system that is widely used by developers and organizations. One of the key features of PostgreSQL is its command-line interface (CLI), which allows users to interact with the database and perform various tasks, including query optimization. In this article, we will explore how to use the PostgreSQL CLI to optimize queries and increase efficiency.

## Understanding the PostgreSQL CLI

Before we dive into query optimization, let's first understand what the PostgreSQL CLI is and how it works. The PostgreSQL CLI is a command-line interface that allows users to interact with the database directly from the terminal. It provides a set of commands and options that can be used to perform various tasks, such as creating and modifying databases, tables, and users, as well as executing queries.

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



## Analyzing Query Performance

To optimize queries in PostgreSQL, it is essential to analyze query performance using the EXPLAIN command. The EXPLAIN command generates a query plan that provides information about how PostgreSQL executes the query. By analyzing the query plan, you can identify potential performance bottlenecks and optimize the query accordingly.


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

## Apache AGE

Currently, the Apache AGE project is working on developing a Command Line Interface (CLI) tool to be used in conjunction with the PostgreSQL extension. The aim of this tool is to provide an efficient way for developers to work with graph databases and to simplify the process of querying data. With the AGE CLI, users will be able to execute complex queries, visualize results, and easily manage their databases. This tool is being developed with a focus on performance and scalability, and it is expected to improve the efficiency of database operations for developers and organizations working with large volumes of data.


![Apache age](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nob2ou09ib8in41zvv5t.png)



## Conclusion

The PostgreSQL CLI is a powerful tool that can be used to optimize queries and increase efficiency in PostgreSQL. By understanding how the PostgreSQL CLI works and using the various techniques and tools available, you can significantly improve query performance and streamline your database operations. With the ongoing development of the CLI tool in Apache AGE, users can expect even more powerful and user-friendly features to enhance their experience with the PostgreSQL extension. By taking advantage of these tools and staying up-to-date on advancements in the PostgreSQL community, developers and data analysts can continue to maximize the potential of this powerful open-source database.

**References**:
- [APACHE AGE](https://github.com/apache/age)
- [POSTGRESQL CLI](https://postgresapp.com/documentation/cli-tools.html)