teleren/devto huggingface dataset:
Why Should we Choose a Custom Software Development Company?
Tags: softwaredevelopment, customsoftwaredevelopment, softwarecompany
Published: 2021-09-09 04:56:58

We enjoy things when done our own way. But honestly, this is not solely about feeling good. It is equally important to analyze whether a particular decision would also help our brand and business or not.

Perhaps you have just started, or your business is already in the growth phase. Either way, a visionary entrepreneur would create a custom software development company. You must be wondering why. Let’s find out.

High Application Security

Security is always our top priority. We would not want our software development company to be the potential hot spot for hackers. So, what do we do?

Remember that the chances of hackers targeting a custom software development company are meager. This is because hackers usually have commercial software solutions and thus custom software is difficult to infiltrate.

Hence, if you have a software development company in India, the tailored version of it would add an extra layer of security, making your software less susceptible to security issues.

Low Integration Costs

Why spend on features and functionalities that we don’t even need?

Commercial software requires investment to operate. Most of the time, we don’t even need all the functionalities offered by the software but have to pay for it.

A custom software might sound expensive at first, but it saves you from many long-term costs. Cut off your monthly or yearly licensing fees for the features that do not integrate with the environment of your software development company.

Competitive Advantage

We are facing fierce competition and challenges with each passing day. Imagine that all your competitors are using off-the-shelf software created with similar templates. How would you be able to differentiate yourself from the crowd? The element of personalization is what will help you move up in the marketplace.

Evolving user requirements demand a custom software because standard software does not perform the job. Thus, a custom software development company will raise your business a level up.

Maintenance and Support

We are dependent upon developers while using commercial software. A custom software development company corresponds to a dedicated support team to get routine maintenance and in-depth technical support.

While using mainstream software, we fear sudden discontinuation of product support which is not the case once you have a custom software. Custom developers provide support for the software whenever needed.

Conclusion

Modern businesses aspire to climb to the top of the ladder, which is not possible if everyone is using similar software. Improving business operations and increasing employee productivity while at the same time reducing the overall costs are the aspirations that can only be met with a custom software development company.

It’s your calling to build up a custom software development for the welfare of your business!
Tech Interview: Job oriented resume/CV
Tags: career, interview, psychology, productivity
Published: 2021-09-09 04:36:47

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hmwpr2kwj69rmlyug254.jpg)

##Problem:
Applicants often make a very generic resume which is usually "copied" from seniors/batch mates/templates. They mention each and every skill they can think of, not considering if that can be helpful or not. For example, mentioning "MS-Word" while applying for "Android Developer" job. This mistake is commonly committed by freshers as their limited skills and experience are not sufficient to fill up the page (more tips in next post). And people, with multiple skills, end up mentioning each of them! This "variety" is more of a distraction for a recruiter reviewing the resume.

##Solution:
One's resume has to have an orientation, i.e. it should be "Job Specific", not generic. Remove all the technical skills if you are applying for non-technical job and vice versa. Mention them in your interests, if needed. Keep separate versions of resume for every kind of job you are applying for. Don't mix them. You probably won't be rejected if you lack an unwanted skill.

##Experience:
When I was applying for jobs in my final year, my 3 versions were for "UI Developer", "Software Developer" and "Front End Developer", each of them slightly different from the rest. This demonstrated specialization in better way.
PyCon Latam 2021 🐍 - hablemos de python para IA 🤖
Tags: pylatam, python, ai, techtalks
Published: 2021-09-09 04:27:38

En agosto 2021, volvió el (Python Conference Latam)[https://www.pylatam.org/] 🥳 (virtual), un evento de dos días reuniendo a la comunidad pythonera en charlas de alto nivel, conferencias de otros latinos en tecnología, espacios de discusión, acercamiento a las empresas auspiciadores y sobre todo mucho compartir conocimiento y networking.

Tuve la oportunidad de participar como expositora con la presentación titulada: **"Python 🐍 para empezar a aprender Inteligencia Artificial 🤖"**

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5k1326ih26e6otwuylgk.png)
()[https://twitter.com/FerroRodolfo/status/1431705921680379906]

Qué bueno es saber que Python es una herramienta muy poderosa y bastante usada en el mundo de la Inteligencia Artificial.
Repasando primero los conceptos básicos de Inteligencia Artificial y Machine Learning, y explorar las opciones de proyectos para iniciantes en este mundo (practicar es lo mejor, y python es una herramienta increíble para empezar)

Las diapositivas de mi presentación aquí: https://bit.ly/3tqAUO4
补充一个对象数组去重
Published: 2021-09-09 04:27:17

```
const _ = require('lodash') ;
const arr = [{a:1},{b:1},{c:1},{c:1},{e:1},{a:1}];
const res = _.uniqWith(arr,_.isEqual);
console.log(res);//[ { a: 1 }, { b: 1 }, { c: 1 }, { e: 1 } ]
```
How to access path parameters in angular router
Tags: angular, typescript, codever, snippets
Published: 2021-09-09 04:17:49


At [Codever](https://www.codever.dev) we use Angular extensively, and many time the use navigates to certain routes where dynamically content based on an `id` for example is loaded. To access these **path params** in angular navigation you have two possibilities.

The **first one**, asynchronous, is to subscribe to the `Observable<ParamMap>` observable, which you can access via `paramMap` method of the `ActivatedRoute`. Then use the `get` method with parameter you want to get as argument,  as in the example below in the `ngOnInit` method:

```typescript
// other imports not included for brevity
import { ActivatedRoute } from '@angular/router';
import { switchMap } from 'rxjs/operators';

@Component({
  selector: 'app-public-snippet-details',
  templateUrl: './public-snippet-details.component.html'
})
export class PublicSnippetDetailsComponent implements OnInit {
  snippetId: string;
  snippet$: Observable<Codelet>;

  constructor(
    private publicSnippetsService: PublicSnippetsService,
    private userInfoStore: UserInfoStore,
    private route: ActivatedRoute) {
  }

  ngOnInit() {
    this.snippet$ = this.route.paramMap.pipe(
      switchMap(params => {
        this.snippetId = params.get('id');
        return this.publicSnippetsService.getPublicSnippetById(this.snippetId);
      })
    );
  }

}

```

The **second one**, synchronous, is to the `snapshot` of this route (`ActivatedRoute`), and directly access the parameter from the **paramMap**, `const bookmarkId = this.route.snapshot.paramMap.get('id');`

```typescript
export class BookmarkDetailsComponent implements OnInit {
  // constructor and other details ignored for brevity

  ngOnInit() {
    this.popup = this.route.snapshot.queryParamMap.get('popup');
    this.userInfoStore.getUserInfo$().subscribe(userInfo => {
      this.userData$ = this.userDataStore.getUserData$();
      this.bookmark = window.history.state.bookmark;
      if (!window.history.state.bookmark) {
        const bookmarkId = this.route.snapshot.paramMap.get('id');
        this.personalBookmarksService.getPersonalBookmarkById(userInfo.sub, bookmarkId).subscribe((response) => {
          this.bookmark = response;
        });
      }
    });
  }
}
```
<hr>

> Shared :heart: from [Codever](https://www.codever.dev/snippets/600a76e0ed39cd3a1f10b9a6/details).  :point_right:  use the [**copy to mine**](https://www.codever.dev/snippets/600a76e0ed39cd3a1f10b9a6/details) functionality to add it to your personal snippets collection.
How The Internet Works ?
Tags: internet, internetwork, internetfacts, internetknowledge
Published: 2021-09-09 03:53:04

Yo devs! Ever look at a fancy website and wonder how the internet even works? Don't sweat it, because we're about to break it down nice and easy. Imagine the internet as a giant team effort, with different tools working together to make browsing smooth. Here's the crew:


## <b>The Browser (Your Window to the Web): </b> 
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/smz74g5y93x6erscn76y.png)

This is your everyday app like Chrome, Firefox, or Safari. Browsers let you type in website addresses (URLs) and show you the cool stuff (webpages) they find online. Think of them as translators, taking internet code and turning it into something you can see and use.


## <b>The Domain (The Website's Nickname)</b>

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t9vnq0eakvc663b60bej.png)

Websites have unique codes like phone numbers (IP addresses), but nobody wants to remember those! That's where domains come in – they're short, catchy names like "[invalid URL removed]". The DNS (Domain Name System) acts like a phonebook, looking up these nicknames and finding the actual website code.


## <b>The Hosting (The Website's Home):</b> 
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rw64mdfgtx3yg8lsu8gl.png)

Websites need a place to store all their pictures, videos, and code, just like you wouldn't keep your stuff outside. Hosting companies provide powerful computers (servers) that act as the website's home. With hosting, your favorite websites are always available for you to visit.

## HTTP/HTTPS (The Website Talk):</b> 
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/25zkml20mw00fbgnupb0.jpg)

The internet is like a big party with people from all over. To understand each other, they need a common language – that's HTTP (Hypertext Transfer Protocol). It's the basic way browsers and websites chat and share information. HTTPS is like a special VIP area, adding an extra layer of security for important stuff.

## The DNS (The Super-Fast Phonebook):</b>
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xcukjxcp0ethef4m9dbp.jpg)

Remember how the DNS is like a phonebook? It takes those website nicknames (domains) and finds the actual website code (IP address) for your browser. This happens super fast, so you can see your favorite websites in a flash!

## Putting It All Together: Teamwork Makes the Dream Work!

The internet is a giant network of computers that lets us chat, share information, and build amazing things (like this article!). Here's a simplified example of how it works when you visit a website:

1. You type a domain name (like "[invalid URL removed]") in your browser.
2. The DNS jumps in and translates the domain name into the website's code (IP address).
3. Your browser uses HTTP/HTTPS to talk to the website securely.
4. The website sends its code back to your browser.
5. Your browser interprets the code and shows you the website, ready for you to explore!
Compiled vs Interpreted
Tags: javascript, programming, machinelearning, computerscience
Published: 2021-09-09 03:39:03

Every program is a set of instructions whether it adds two numbers or sends a request over the server. **Compilers and interpreters take human-readable code and convert them into computer-readable machine code.**

Let’s consider an example: Think you’re on a tour in Spain. But you don’t know the Spanish language and that’s why you are facing trouble reading the menu in the restaurant and getting trouble feeding yourself. Ok now this problem has two solutions below:

Note!!! Read the blog carefully to find out the solution………

 
**Compiled Language**: Compiled languages are directly converted into the machine code so that the computer can execute the program. For this specific thing, these programs are way faster than the interpreted language. One of the best benefits is they give the developer control over the CPU and many hardware like RAM etc. It needs to be manually compiled first. So if the developer makes any changes in the code then he/she need to rebuild the program again. 

######First Solution: You need to get someone who knows Spanish and speaks English also very well. So that he/she can read the whole menu for you. And then you get a translated menu, which you can think of as compiled. 

Examples of compiled language: C, C++, RUST, GO, and much more…


**Interpreted Language**: Interpreters run through a program line by line and executes the command. That makes a great developer experience and makes debugging easier. Interpreted languages are so much slower than the compiled language. But with the development of the JIT(Just In Time) compiler, this gap is filling. 

######Second Solution: Another solution is if you have a Spanish friend who is sitting next to you and reading every menu item line by line and you can stop him anytime when you want. Here your friend is the interpreter version of the menu.  

Examples of Interpreted languages: Javascript, Python, PHP, Ruby, and much more….
Pay Calculator
Tags: python, programming, computerscience, functional
Published: 2021-09-09 03:30:20

```python
# pay_calc.py
#   This program takes input of hours worked and hourly rate and calculates
#   the total wages for the week.
# by: Scott Gordon

def main():
    print("***** Welcome to the Pay Calculator *****\n")
    hours_worked = float(input("Enter the amount of hours worked: "))
    hourly_rate = float(input("Enter the hourly rate: "))

    def pay_calculator(hours, pay_rate):
        """Calculates total pay based on the amount of hours worked and pay 
        rate. Time-and-a-half is calculated for any hours worked over 40."""
        if (hours > 0) and (pay_rate > 0):
            if hours <= 40:
                pay = hours * pay_rate
                return f"\nYour pay is ${pay:.2f}"
            else:
                pay = (40 * pay_rate) + ((pay_rate * 1.5) * (hours - 40))
                return f"\nYour pay with overtime is ${pay:.2f}"
        else:
            return "\nYou must enter a number greater than 0 for hours and pay."
    print(pay_calculator(hours_worked, hourly_rate))


if __name__ == '__main__':
    main()

```
Photo by <a href="https://unsplash.com/@sharonmccutcheon?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Sharon McCutcheon</a> on <a href="https://unsplash.com/s/photos/paycheck?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
Solución para restringir el acceso por web en una API en Laravel.
Tags: laravel, api, php
Published: 2021-09-09 03:12:07

Cuando creamos una API en Laravel queremos que nuestra aplicación solo sea accedida mediante peticiones HTTP con formato JSON.

Una de las tantas vias que existe es el manejo de excepciones mediante el fichero Handler de nuestro proyecto de Laravel.Tiene un método **register()**, donde cambiaremos par de lineas de como viene por default cuando se crea la aplicación laravel.

![Imagen de un codigo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ahm6c0mw1t6ws1vy54c8.png)




Pero esta vía no creo que sea la más completa para tratar todos los posibles errores o excepciones, pero funciona.

Ahora le quiero mostrar otra opción y es mediante la creación de un middleware que nos va a evualar las peticiones HTTP,pero lo configuraremos de manera global para que todas las peticiones que se realicen hacia nuestra API cumplan con los requisistos establecidos.

En la imagen de abajo se observa el código del middleware y la configuración que he usado para hacerlo de manera global.
```
class JsonMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        if (!$request->wantsJson()) 
        {
            return response()->json([
                'success'=> 'false',
                'message' => 'Do not have authorization'
            ], 404);   
        }

        return $next($request);
    }
}

```
![Imagen de un codigo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7u5smyfgnrcbbef9zfbq.png)

Aqui vamos analizar que las peticiones que se hagan, sino vienen en formato JSON devolveran una respuesta. Para eso nos apoyamos en el metodo **wantsJson** que devuelve un valor booleano si el request no viene en formato requerido.



Aquí las imagenes de los resultados tanto de un navegador como del cliente HTTP Postman, de las peticiones hechas después de haber configurado nuestro middleware de manera global. Las mismas no cumplen con los requisitos y nuestra API retorna una respuesta con el error.
![Imagen de un codigo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uyssnr7fh4pro7p3p712.png)
![Imagen de un codigo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/60cw0xipe61oc747w3ui.png)
LaTeX & Maths: Aligned Equations
Tags: codenewbie, latex
Published: 2021-09-09 02:46:28

Hello, how are you? :) 

In this post I talk about how to align equations, for example to split a long equation with some tips, let's start!!!

Do you remember that in [this](https://dev.to/latexteada/latex-maths-conditional-expressions-and-multiple-equations-3np8) post I tell you how to align the equations, but this align was centered, not according to some character, to do this you need the `align` environment 

## `align` Environment

This environment is used if you want to align your equations or split a huge equation, the structure is 

```LaTeX
\begin{align}
    My Equations
\end{align}
```
> No blank lines are permitted within the environment

* `\\` creates a new line
* `&` create the *alignment point*

> Do not put `\\` at the end of the last line

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

Produces

![Screenshot from 2021-09-08 21-33-50](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yxgch01tote6ebmf114g.png)

But, wait!!! What if I want to put two columns in the `align` environment, well:

The symbol `&` has multiple purposes
- The first `&` aligns the first column
- The second `&` is a space between columns
- The third `&` aligns the second column

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

Produces

![Screenshot from 2021-09-08 21-42-14](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oipitnyegfr1k047ycnr.png)
  
- Break the formula before a binary relation

This is all for today, thanks for reading

Do not forget to follow me on Twitter `@latexteada`
Greetings :)
My Very First Blog Post
Tags: opensource, firstpost, osd600, student
Published: 2021-09-09 02:14:20


   Hi, I am Suhhee Kim.
I am writing this post as part of my course called OSD600 at Seneca college. This is a course to learn about how to develop code on open source projects. The reason why I took this course is that I met difficulties last year with participating in one of the open-source projects uploaded on Github with my friend. At that time we were not familiar with what is open source and how to develop open-source. Hence, we quitted it after two weeks. And when I try to enroll in the courses for this semester, I saw that there is a course about open source. So, I took it to know more deeply about open source and participate in some open source projects. 

Open source is one of the things that attracts me since started to learn to program. When we are young, parents and teachers are teaching the students that Do not fight with friends, you need to collaborate with them. However, all the quizzes, exams, and even debates have the ones who are good at and not good at it. People are always comparing themselves with each other. But when I heard about open source, it sounds like this is the one I really want to do with people. They are helping and collaborate with each other to develop the same goal. That part really attracted me to participate in Open source.

Currently, I am in Toronto. I am working as Web tester and attending courses in school. After this term, I want to be a person who can participate in open source projects whatever makes me interesting. 
I want to participate in open source projects such as web programming or mobile games. I was researching the trending GitHub repo that makes me interesting. I forked some of the git repos. let me share one of the repositories.

First, one is called "grapesJs", this is an open-source web builder framework that lets people develop a website without doing the coding. I forked this repository. This is because one of the communities that I am involved in needed to develop a website, but, I could not do it because I was so busy with my other projects. Hence, they needed to find a website builder which is really easy to find and well designed. There was one site that fits all the parts they want, but, they needed to pay a lot to use that premium functions. I think this open source project might help people to develop a better website without coding.
Link: https://github.com/artf/grapesjs
AI is still on its way here
Tags: ai, tensorflow
Published: 2021-09-09 02:12:18

So researchers have figured out how to use optical processing power to run tensorflow and achieved huge power improvements. 

Get ready for AI to be more prolific, commonplace, and cheaper to run. Whether we like it or not, here it  comes!

https://bigthink.com/surprising-science/ai-feat-helps-machines-learn-at-speed-of-light-without-supervision?utm_term=Autofeed&utm_medium=Social&facebook=1&utm_source=Facebook#Echobox=1630959833
Linguagem para iniciantes
Tags: beginners, codenewbie
Published: 2021-09-09 01:49:30

Tenho visto por alguns tempo(anos) blogs e posts sempre sobre o mesmo tema, ‘linguagem de programação para iniciar em TI’. Claro, o título varia mas é sempre a mesma narrativa.

Então, após pensar sobre o tema resolvi opinar e talvez ajudar de alguma forma. E tenho dois pontos de vistas:

Primeiro, não se trata de alguém sem conhecimento em programação mas sem experiência na área. Se este é o caso, veja o que área/cidade/região pedi e foque em uma. Aprender varias linguagens é bom, te dará uma boa perspectiva em vários aspectos mas também é ruim, você nunca passará de um bom programador. Digo isto de experiência, aprendi varia e sou apenas bom naquela que estiver utilizando como principal no momento.

Segundo, e importante ressaltá-lo, se tratando de alguém sem nenhuma experiência, contato com a área ou apenas um ligeiro senso de direção. Se você se enquadra nesta descrição então o velho e bom portugol é uma excelente escolha, isto porque o que você precisa é ter uma boa lógica e entendimento de fluxo bem definido. A linguagem por si tem o menor impacto na sua execução, eu geralmente  gosto de dizer o seguinte:

> linguagem de programação é pratica, mas lógica e fluxo é trabalho árduo

Por que disto, é bem simples programar é simples o difícil é saber o que, quando e onde aplicar para resolver os problemas.

Enfim, resumindo tudo. Aprenda em como resolver o problema é a verdadeira habilidade a se conseguir a linguagem de programação é apenas a ferramenta.