teleren/devto huggingface dataset:
Finding a job with no prior experience.
Tags: job, beginners, career, discuss
Published: 2022-12-11 14:31:47

Finding a job with no prior experience can be challenging, as many employers prefer to hire candidates who have already demonstrated their skills and abilities in the workforce. However, it is not impossible to find a job without prior experience. One way to make yourself more appealing to potential employers is to highlight any transferable skills you may have. You can also consider volunteer opportunities to gain experience in your desired field. Networking and reaching out to connections in your industry can also be helpful in finding job opportunities. It may take some extra effort, but with determination and a positive attitude, you can find a job even without prior experience.

Dear Recruiters, There are several reasons why you should consider hiring someone with no prior experience. First, individuals who have no prior experience may bring fresh perspectives and new ideas to your company. They may also be more open to learning and trying new things, which can be beneficial for a company that is looking to innovate or try new approaches. Additionally, hiring someone with no prior experience can also be a cost-effective option, as they may be willing to accept a lower salary than a more experienced candidate. Furthermore, by providing training and support, you can help shape the individual into a valuable asset to your company. Overall, hiring someone with no prior experience can be a valuable addition to your team.

You should give those with no prior experience a chance because everyone has to start somewhere. Lack of experience does not necessarily equate to a lack of potential or ability.
Holisol Hyperlocal Fulfilment Solutions
Tags: hyperlocal, fulfilment, solutions, holisol
Published: 2022-12-11 14:28:46

**[Holisol](https://holisollogistics.com/)**, a leader in fulfilment logistics is enabling the transformation of hyperlocal commerce by offering tailor-made fulfilment solutions for the fast-growing consumer segments in e-grocery, beauty & personal care, healthcare, fashion & apparel and auto spare parts. With our **[hyperlocal fulfilment solutions](https://holisollogistics.com/hyperlocal-fulfilment-solutions/)**, customers get speed, reach & deeper access to the consumption market, enabling faster and sustainable growth. Having set up 100+ centres across India, Holisol has gained expertise and skills in the faster set-up and management of the hyperlocal fulfilment centres.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/agvcnqp6tkn2e18naryp.jpg)
How to create custom Hooks in React.Js?
Tags: react, javascript, frontend, customhooks
Published: 2022-12-11 14:17:51

React hooks are a new feature published by react team in version 16.8, it's allow you to use the state and other react features.
In simple terms hooks are functions that connect react state and lifecycle features from the function components, don't forget react hooks only work in react functions.
Besides built-in Hooks such as( useState, useEffect, useCallback…), you can build your own hooks.

###So what are custom hooks?🧐

Custom hooks are normal javaScript function that accepts arguments and return outputs but they contain stateful logic.
They are like other hooks so their name starts with 'use' and can be used to call other hooks, we use it in react function and we call it only in the top level of the component


###Why and When to use React Custom Hooks?

We use it any time when we need to share a logic between different components.

###Custom hooks give us some benefits:

- **Reusability**: we can use the same hook again and again, without the need to write it twice.
- **Readability**: separate logic from the component to a custom hook will make the component easier to read.
- **Clean-code**: Fix logic in one place (custom hooks) becomes easier than changing it in more than one.

  

let's see an example make simple API call using Axios 

components/AllPosts.js


![components/AllPosts.js](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t9n1ssjd0d3aor4wpd86.png)

_We send GET request using axios without any headers or body to fetch posts with response as result or error._



components/AddPost.js


![components/AddPost.js](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/in5oou4wttqwilnq5jtr.png)

_Here we send POST request with headers and body of the post using axios._


> Look at the previous examples, you can see that both components above have a very similar logic. They all call API ,The only difference is that they render different UI , different URL when calling API and different request method.

We can reduce the repetition by creating a custom hook for example  _useAxios()_ for reuse as follows:



src/hooks/useAxios.js

![src/hooks/useAxios.js](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fs50tulwjghu748oadqf.png)

_Here we made a reusable hook can accept an argument that contain the request details like (URL, request method, headers and body)_

So let's modify our components 



components/AllPosts.js 

![components/AllPosts.js](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tjkdlkfsdosucf460by8.png)



components/AddPost.js

![components/AddPost.js](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/51i4bvqtejnrkba89avp.png)

---



**Conclusion:**
we have learned the importance of using custom hooks like saving time, make your code clean reusable and readable, also we have  shown real examples from project with an explanation of when we used certain hooks.
8 ruby metaprogramming examples
Published: 2022-12-11 14:11:07

Metaprogramming is a powerful technique in the Ruby programming language that allows developers to write code that can manipulate or generate other code at runtime. Here are ten examples of metaprogramming in Ruby:

Defining methods dynamically: Ruby allows developers to define methods on the fly using the define_method method. This can be useful for creating methods with similar behavior but different names, or for defining methods based on user input.

Using "method missing" to handle undefined methods: Ruby allows developers to define a special method named "method_missing" that is invoked whenever an undefined method is called. This can be used to provide a default behavior for undefined methods, or to implement functionality such as method overloading.

Using "constant missing" to handle undefined constants: Similar to method_missing, Ruby also allows developers to define a "constant_missing" method that is invoked whenever an undefined constant is accessed. This can be used to implement lazy loading or other advanced behavior.

Using "class_eval safe" to define methods on classes: Ruby's class_eval method allows developers to define methods on a class, but it can also be dangerous because it allows arbitrary code to be executed. The class_eval_safe method provides a safer alternative that allows developers to define methods without the risk of executing arbitrary code.

Using "instance_eval" to define methods on instances: The instance_eval method allows developers to define methods on a specific instance of an object, rather than on the object's class as a whole. This can be useful for creating methods that are specific to a particular instance, or for defining methods that use instance variables.

Using "define_singleton_method" to define methods on singleton classes: Ruby allows developers to define methods on the "singleton class" of an object, which is a special class that is associated with a specific instance of an object. This can be useful for creating methods that are specific to a particular instance, or for defining methods that use instance variables.

Using "eval" to execute code dynamically: The eval method allows developers to execute Ruby code that is defined as a string at runtime. This can be useful for implementing features such as a command-line interface or a scripting language within a Ruby application.

Using "send" to invoke methods dynamically: The send method allows developers to invoke a method on an object by name, rather than by statically calling the method. This can be useful for implementing functionality such as dynamic dispatch or method overloading.
Connecting to MongoDB via macOS terminal using atlas cli and mongosh
Tags: database, mongodb, macos, beginners
Published: 2022-12-11 13:54:39

As a beginner and newbie to coding, mongo happens to be the first database service I am exploring and the learning journey has been great by far. In order to learn any new tool, framework or service - it is crucial their documentation is clear enough so you can find your way through it. While mongo team does a great job at it, I had to comb through a few documents to find "how I can connect to the mongoDB cluster without leaving my terminal". To make this easier for anyone who is a lazy ass like myself, here are the steps I followed:

Pre-requisites:

- Install/Update atlas-cli and mongosh. If you haven't already, please refer: https://www.mongodb.com/docs/atlas/cli/stable/install-atlas-cli/
- You already have a mongoDB cluster created
- Your ip is whitelisted to access the cluster

Step 1: Creating a profile

`atlas config init`

- This initiates the profile creation process. All values are optional. If you do not enter the public/private keys or profile name - they keys are auto-generated and profile is set to default.
- I would suggest add the profile name to a preferred short username. The reason being, it can be used as a flag for other cli commands.
- Most importantly, store the details in a secure place especially the dbuser and dbpassword. You'll be frequently needing this information. 
- At any point, you can run a spotlight search for finding the config.toml file. This is where your profile related details are stored.

Step 2: Use atlas to authenticate your profile

`atlas auth login`

- Once your profile is created, you can use the stored credentials to access your mongoDB cluster at any given point.
- The general syntax is `atlas <command> --profile --profileName`
- When you run this command, a browser window opens up to asking for a one-time activation code. 
- I know, I know. This is the only time you've to leave your terminal.
- Paste the authentication code from your terminal into the browser and you're all set.

Step 3: Retrieve your SRV connection string 

`atlas clusters connectionStrings describe <clusterName>`

- this command returns a standard connection string which will look something like mongodb+srv://clusterName.mongodb.net
- Copy this URL to the clipboard

Step 4 & the final one: Run mongosh

`mongosh <connectionString> --username <dbUser>`

- To break it down: mongosh - this is for your mongoDB shell. 
- <connectionString> is the string you were able to fetch during Step 3
- dbUser is the username you must have saved during step 1 and it needs to be added with the flag --username
- Once you run it, the terminal prompts for a password. This is the database password from Step 1. Enter and TADA!

I am confident there are better and shorter ways to connect to your cluster. If I come across any such solution, I'll definitely share it with everyone. In case you know it already, I am all ears!
Is serverless truly... serverless?
Tags: serverless, cloud
Published: 2022-12-11 13:50:36

Serverless technology has become increasingly popular in recent years, but there is still some confusion about what it actually means. Many people believe that the term "serverless" implies that there are no servers involved at all, but this is not the case. In reality, serverless technology simply means that the server infrastructure is managed by a cloud provider, allowing developers to focus on building their applications without worrying about maintaining the underlying servers.

So, is serverless technology truly "serverless"? The answer is both yes and no. On the one hand, developers don't have to worry about managing and maintaining the servers that their applications run on, which can save a lot of time and effort. On the other hand, the servers still exist, and the cloud provider is responsible for managing them.

In many ways, the term "serverless" is a misnomer. It's more accurate to think of serverless technology as a way of abstracting away the underlying server infrastructure, allowing developers to focus on building their applications without worrying about the details of the underlying infrastructure. This can be a great benefit for many organizations, as it allows them to quickly and easily deploy applications without having to worry about the underlying infrastructure.

However, it's important to keep in mind that the servers are still there, and the cloud provider is responsible for managing them. This means that developers still need to consider factors like scalability, reliability, and performance when building their applications. In many cases, this will require careful planning and coordination with the cloud provider to ensure that the underlying infrastructure is capable of supporting the demands of the application.

In conclusion, while serverless technology is not truly "serverless" in the strictest sense of the word, it does provide a number of benefits for organizations that are looking to deploy applications quickly and easily. By abstracting away the underlying server infrastructure, serverless technology allows developers to focus on building their applications without worrying about the details of the underlying infrastructure. While this can be a great benefit, it's important to keep in mind that the servers are still there, and they need to be carefully managed in order to ensure the best possible performance for the application.
5 reasons why you should consider SvelteKit for your next project
Tags: sveltekit, svelte, webdev, frontend
Published: 2022-12-11 13:50:05

SvelteKit is a relatively new front-end framework that has been gaining a lot of popularity among developers. In this blog post, I will discuss five reasons why you should consider using SvelteKit for your next project.

1. SvelteKit is incredibly lightweight and fast. Unlike other frameworks, which add a lot of unnecessary bloat to your code, SvelteKit allows you to write lean and efficient code that runs smoothly and quickly. This is because SvelteKit uses a unique approach to building user interfaces. Instead of using a virtual DOM, as other frameworks do, SvelteKit compiles your code directly to efficient, vanilla JavaScript. This means that your code runs directly in the browser, without the need for any additional libraries or frameworks.

2. SvelteKit is easy to use. If you are familiar with JavaScript, you can start building user interfaces with SvelteKit right away. The framework has a simple and intuitive syntax that is easy to read and understand, even for beginners. This makes it a great choice for developers who are new to front-end development, or for those who are looking to switch to a more modern and efficient framework.

3. SvelteKit offers powerful features that can improve the performance and user experience of your web app. It comes with built-in support for server-side rendering, code-splitting, and lazy-loading, which can help improve the performance and user experience of your web app.

4. SvelteKit has a rich ecosystem of plugins and integrations. This means that you can easily add new features and functionality to your app, without having to write a lot of additional code.

5. SvelteKit is backed by a strong and active community. This means that you can get help and support from other developers who are using the framework, and contribute to the development of the framework itself.

In conclusion, SvelteKit is a powerful, lightweight, and easy-to-use front-end framework that offers a lot of benefits for developers. If you are looking for a framework for your next project, I highly recommend giving SvelteKit a try.
Password Generator
Published: 2022-12-11 13:03:54

Dependencies

 - itertools
 - python3

```python
import string
import itertools

# Define the list of characters that will be used in the password
chars = string.ascii_letters + string.digits + string.punctuation

#Set password length
password_length = 8

# Generates all character combinations with the specified size
combinations = itertools.product(chars, repeat=password_length)

# Prints each generated combination
for combination in combinations:
  password = "".join(combination)
  print(password)
```

<br />

[![Texto alternativo da imagem](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ds4alkts3uxq0dsco0nv.png))](https://www.linkedin.com/in/israel-lopes-419a32189)
Laravel data_get()
Tags: laravel, php, programming, tutorial
Published: 2022-12-11 12:53:16

A função `data_get()` está presente na documentação do **Laravel** desde a versão `5.5` porém talvez você nunca a tenha usado.

A função `data_get()` recupera o valor de um objeto ou matriz usando **"dot"** notation, e o melhor é que caso a chave passada não exista, não retornara erros de exceção, apenas **null** ou o valor default informado.

---

_exemplo:_

```
$data = ['products' => ['desk' => ['price' => 100]]];
 
$price = data_get($data, 'products.desk.price');
 
// 100
 
$price = data_get($data, 'products.desk.total_price');
 
// null
```

_exemplo utilizando request:_

```
$data = $request->all();
        
$price = data_get($data, 'products.desk.price');
 
// 100
```
What's the exact difference between a SOFTWARE and an APPLICATION?
Published: 2022-12-11 12:42:58

These two terms (Software & Application) are often used interchangeably, but what exactly is the difference between them? **If any.**

|

This is what I think:

>_**SOFTWARE** is a set of instructions or data that operates the hardware while **APPLICATION** is a package to perform a specific task._

---

###### What's your view on this?
Use the comment section 💬 if you have something to share or Hit the like button ❤️ if you have ever (or never) thought of this... 🙃
The Secret of Santa's Success: Collaboro and DevOps
Tags: devops, productivity, agile
Published: 2022-12-11 12:40:52

Once upon a time, in the bustling workshop at the North Pole, there was an elf named Collaboro.
Collaboro was a hardworking and dedicated elf, and he was known throughout the workshop for his skill and expertise.
One day, Santa Claus called a meeting of all the elves in the workshop. He explained that he was worried that the toy production process was not running as smoothly as it should. There were delays, mistakes, and misunderstandings, and Santa was concerned that they would not be able to make and deliver all the toys in time for Christmas.

Collaboro stepped forward and offered to help. He explained that the problem was that the elves and the reindeer were not working together effectively. They were each focusing on their own tasks, without much communication or collaboration.
Collaboro suggested that they try a new way of working, called DevOps.

DevOps, he explained, was a philosophy and a set of practices that emphasized collaboration and communication. By working together, the elves and the reindeer could improve the speed and quality of toy production.
The other elves were skeptical at first. They were used to working on their own, and they were not sure that DevOps would be any better. But Collaboro was persuasive, and he convinced them to give it a try.
And it worked! The elves and the reindeer began to work together more closely, sharing ideas and collaborating on projects. As a result, the toy production process became more efficient and effective.
Santa was delighted, and he praised Collaboro for his great idea.

The elves were also satisfied. Many of them had heard the term DevOps before, and many had opinions about it, but only now, after Collaboro explained the background and all work together with this knowledge, did they realize that DevOps was not a specific tool or technology. It was a way of working that helped them collaborate more effectively.
They also learned that DevOps was not a replacement for their traditional methods, but rather a way to improve and enhance them. And they discovered that DevOps was not just for the elves, but for all of the workers in the workshop, regardless of their role or responsibilities.

Thanks to Collaboro and DevOps, the workshop was able to produce more toys in less time, and the town was filled with joy on Christmas morning as the happy children opened their gifts.

And they all lived happily ever after, learning the true meaning of DevOps: that collaboration and communication are key to success.

The end.
5 Simple Things Highly Productive Developers Do
Tags: beginners, codenewbie, productivity, programming
Published: 2022-12-11 12:37:56

I have spent fair share of hours trying to improve my productivity, rather than actually doing the things I wanted to be efficient on.

And then I realized this...

![Ultimate developer hack is saying no](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/250rqwsk5up65rpb23e9.png)

Here are my 5 simple habits that actually boost developer productivity.

Let's get started.

## TL;DR

- [Track Time ⏰](#track-time)
- [Aggressively Prioritize 📌](#aggressively-prioritize)
- [Remove Distractions 🔇](#remove-distractions)
- [Automate Repetitive Tasks ⚙️](#automate-repetitive-tasks)
- [Take Regular Breaks ☕️](#take-regular-breaks)

## Track Time ⏰

Monitoring your time will make you aware of your unproductive habits.

If you constantly wonder where all your time went, this exercise can immensely help.

Create a spreadsheet and for each task log it’s:
- Start time
- End time
- Total time
- Break time

End of day, flag unwanted tasks and delays. Avoid them the next day. 

Repeat this exercise until you are satisfied with your workday.

![Task excel sheet](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yluoaenttg2sfrcw0mxm.png)

## Aggressively Prioritize 📌

Working hard ≠ Working smart

Goal should be to maximize the value of your effort.

Use “Eisenhower Matrix” to create a prioritized todo list.

Categorize tasks into following:
- Urgent and Important → Do them next
- Urgent and not important → Delegate
- Not urgent and important → Schedule
- Not urgent and not important → Eliminate

Focus only on one task at a time.

![Eisenhower Matrix](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f62opjyeywenipcebbb3.png)

## Remove Distractions 🔇

Once distracted, it takes ~23 minutes to regain focus.

Creating a schedule is irrelevant if you don’t protect it.

Some hacks that I use:
- Disable notifications
- Using noise cancellation headphones
- Keep my phone on airplane mode

Notice what is distracting you. Get rid of it while working.

## Automate Repetitive Tasks ⚙️

Automating tedious chores lets you focus on higher value work.

Reflect on your development workflow and ask — “what can I automate?” 

You can set up automation for:
→ Documentation
→ Release notes
→ Code reviews
→ Tests

Choose tools which work best for your tech stack.

## Take Regular Breaks ☕️

You can’t focus for long hours straight. 

Short bursts of work are far more effective.

One technique which is popular among developers is — “Pomodoro technique”

You take:
- 5 minutes break after a 25 minute work session.
- 15-20 minutes break after 4 work sessions.
 
Use [pomofocus.io](https://pomofocus.io) as your pomodoro timer.


![pomofocus.io](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hj49xmuuub0nspc1tsbd.png)

## Wrapping up 📝

Hope these tips will help you in increasing your productivity.

Also, share in comments your best developer productivity tip.

If you liked this post, follow me for more of these 🙂