teleren/devto huggingface dataset:
Avigma Tech LLC - Digital Marketing Company In Missouri
Tags: seo, digitalmarketing, software, mobile
Published: 2022-12-28 13:17:12



Avigma is not only serving in all kind of software development but also caught a position among top companies for digital marketing in Missouri. Avigma Tech LLC is now serving in digital marketing and  we are setting an example for our well-recognized work which includes all kinds of legitimate marketing strategies to rank your business on the first page of Search results, Not only result your business to get more clients however to provide your business a world-class online presence which can be easily accessible irrespective of any geolocation.

Services we are offering:

1. Search Engine Optimization
2. Email Marketing
3. Pay Per Click
4. Mobile Marketing
5. Social Media Marketing
6. Marketing Analytics
7. Content Marketing
8. Affiliate Marketing
9. Website Marketing

Contact us today for a free quote
avigma.project@gmail.com
Phone: (913) 298-0110
Amazon Interview Experience
Tags: interview, programming, amazon, experience
Published: 2022-12-28 13:14:34

Hi there ,
I am sharing my Interview Experience **at Amazon**. Also I didn't selected but I really enjoy the experience.


So , I applied at Amazon for SDE-1 Role at their Career Portal.
I applied there and after 2 weeks I get mail for Amazon and guess what I am selected for **Round-1** . Normally, the first round is a HackerRank online assessment(70 minutes coding round) which consist of 3 coding questions basically from String , Graph and DP.

**Round 2 : Telephonic Interview (20-30 mins)**

My resume got selected for the telephonic round and they asked me for the free time slot for conducting the first round. Within the next 2–3 days my interview was scheduled.

**Questions:**

First round was basically to check the core concepts of DSA and Computer Science Fundamentals.

The interviewer asked about graph traversal techniques mainly BFS and DFS. He wanted me to explain them in detail with their time and space complexity. Also, he wanted me to explain its implementation in recursive as well as iterative way.
What are Indexes in SQL?
What are heaps and their time complexity for various operations?
He asked me about the most interesting project on which I worked upon. What are the challenges I faced and how do I conquer them?

**Round 2 : Interview Round 1 (60 mins)**

This round basically involved 2 medium-level questions and last 10–15 mins for amazon leadership skill analysis. Amazon has its own platform for conducting coding rounds called AmazonChime. It's a code editor used for amazon hiring.

**Questions :**

Both questions were from leetcode only.

**Question 1 :** https://leetcode.com/problems/maximum-sum-circular-subarray/ 
**Question 2 :** https://leetcode.com/problems/maximum-points-you-can-obtain-from-cards/


**Amazon leadership question :** Mention the most challenging technical use cases you faced in your organization and what steps you took to overcome them.

**Verdict : NOT SELECTED.**
It's okay, I am not selected but I enjoyed the process and all the panel member's are very humble and I know I will not be selected because I have no Idea regarding **Question 2**.

I think I would give more time to learning  and practising DSA.

I hope this Interview will help other's in their Upcoming Interview.
SSO using AWS cognito hosted UI on different domains
Tags: aws, react, singlesignon, awscognitoo
Published: 2022-12-28 12:51:12



I have integrated AWS Cognito Identity JS into a custom UI with all sign in / forgot password / sign out functionality. But now i want to log in to the dashboard by logging in from a different domain and not from the domain where my website is hosted. I am using AWS Cognito but because of limited resources i am not able to find a feasible solution. In my domain where i have hosted my website i a able to login by setting all tokens onto local storage and if there is any object in local storage i am navigating my user to dashboard. My dashboard is a protected route.
UserInterface
Published: 2022-12-26 07:08:37

**UserInterface (UI)**
  

(UI) refers to the way that an app looks and how it presents itself to the user. It includes all of the visual elements of the app, such as buttons, labels, text fields, and other controls, as well as the layout and arrangement of those elements on the screen.

The UI of an iOS app is created using UIKit, a framework provided by Apple that includes a wide range of pre-built UI elements and layout tools. Developers can use UIKit to create a wide variety of user interfaces, from simple, static layouts to more complex, interactive interfaces.

_UIKit provides a number of tools for creating and managing the UI of an iOS app_

- View 

- View controllers

- UI Controles

- Auto Layout

- Animations

there are two ways can create UI components in Xcode

**StoryBoard**
 Storyboards are a visual tool for designing the user interface of an iOS app. They allow you to see the layout and flow of your app's screens in a single place, and create connections between them using segues. Storyboards are a good choice for prototyping and quickly iterating on the design of an app, as they provide a fast and intuitive way to see the changes you make.

**Code**
  you can create complex layouts and animations that may be difficult to achieve with a storyboard. It also allows you to reuse components of your user interface in different parts of your app, by creating custom views and view controllers. However, manual code can be more time-consuming to write and maintain, as you'll need to manually manage the layout and behaviour of your user interface elements.

the choice between using a storyboard and manual code will depend on the specific needs of your app and your personal development style. Some developers prefer the visual and rapid prototyping capabilities of storyboards, while others prefer the flexibility and control of manual code.
Git Vs Mercurial
Tags: vcs, git, mercurial, svn
Published: 2022-12-28 12:41:00

Git and Mercurial are both decentralized version control systems, meaning that each developer has a complete copy of the code-base and its history on their own machine. However, there are several key differences between the two systems.

Git was created by `Linus Torvalds` in 2005 and is now the most popular version control system in the world. It is known for its fast performance, powerful branching and merging capabilities, and flexibility. Git is used by millions of developers for projects of all sizes, from small open-source projects to large enterprises.

Mercurial, on the other hand, was created in 2005 by `Matt Mackall` as an alternative to Git. It is a simpler and more lightweight version control system that is known for its ease of use and reliability. Mercurial is particularly popular among developers who value simplicity and a clean design.

One of the main differences between Git and Mercurial is the way they handle branching and merging. Git is known for its powerful branching and merging capabilities, which allow developers to create multiple versions of the code and easily merge them together. Mercurial, on the other hand, has a more straightforward branching and merging system that is less powerful but easier to use.

Another difference between the two systems is the way they store and manage data. Git uses a distributed model, which means that each developer's copy of the code-base is a complete and independent repository. Mercurial, on the other hand, uses a centralized model, where each developer's copy of the code-base is a copy of the central repository.

Overall, both Git and Mercurial are reliable and widely-used version control systems. Which one is the best choice for your project will depend on your specific needs and preferences. Git is generally considered more flexible and powerful, but Mercurial is known for its simplicity and ease of use.

We have explored Version control systems up to this point next up on the line i will give you hints on how to select a VCS and tips on how to be productive while using a VCS of your choice. Stay Tuned
Se aventurando em eletrônica #7
Published: 2022-12-28 12:30:16

## Tipos de materiais
### Condutores
 Baixa oposição a passagem de corrente ou seja baixa resistência
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8usblfhh8zuerzhdx7hg.jpg)


### Isolantes
 Alta oposição a passagem de corrente portanto alta resistencia
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fkvwpjeznd1h2e7mom9v.jpg)

### Semi condutores
 O potencial elétrico precisa superar o potencial químico para determinar se o material se comportará como condutor ou isolante então esse material possui resistencia variável
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9wumwbryma51zd3rpwh8.jpg)

## Referências
https://www.youtube.com/watch?v=Vt3NFmQ4TE4&list=PL1K59X-jJdij0r-2FJ3XdnNNrfRrxGv0D&index=6
https://www.educamaisbrasil.com.br/enem/fisica/semicondutores
Conheça o NGROK
Published: 2022-12-28 12:25:23

---
title: Conheça o NGROK
published: true
description: 
tags: 
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/obbehr7deuq4swuaowmo.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2022-12-27 12:26 +0000
---

O ngrok é uma ferramenta de desenvolvimento que permite expor serviços locais na Internet. Ele é muito útil quando você está desenvolvendo uma aplicação que precisa ser acessada remotamente, mas não tem um endereço IP público ou não quer configurar um servidor para testes.

Com o ngrok, você pode facilmente expor um serviço local, como um servidor Web ou um servidor de banco de dados, para a Internet. Isso é útil, por exemplo, para testar uma aplicação Web em um dispositivo móvel ou para permitir que outras pessoas acessem sua aplicação durante o desenvolvimento.

Para usar o ngrok, basta baixá-lo e instalá-lo em sua máquina local. Em seguida, basta executar o comando ngrok com o número da porta do serviço que você deseja expor. O ngrok fornecerá um endereço público que pode ser usado para acessar o serviço local a partir de qualquer lugar da Internet.

O ngrok é uma ferramenta muito útil para desenvolvedores, pois permite testar facilmente aplicações em dispositivos móveis e compartilhá-las com outras pessoas durante o desenvolvimento. Além disso, ele é fácil de usar e não requer configuração de servidores ou endereços IP públicos.

Aqui está um passo a passo de como usar o ngrok para expor um serviço local na Internet:

1.Baixe e instale o ngrok: Acesse o site do ngrok (https://ngrok.com/) e faça o download da última versão para o seu sistema operacional. Em seguida, descompacte o arquivo e instale o ngrok seguindo as instruções fornecidas.

2.Inicie o serviço local: Inicie o serviço local que você deseja expor na Internet. Por exemplo, se você estiver desenvolvendo uma aplicação Web, inicie o servidor Web local.

3.Execute o ngrok: Abra um terminal e execute o comando ngrok com o número da porta do serviço que você deseja expor. Por exemplo, se você estiver expondo um servidor Web na porta 80, execute o comando "ngrok 80".

4.Anote o endereço público: O ngrok fornecerá um endereço público que pode ser usado para acessar o serviço local a partir de qualquer lugar da Internet. Anote esse endereço e compartilhe-o com as pessoas que desejar acessar o serviço.

5.Teste o acesso remoto: Abra um navegador e acesse o endereço público fornecido pelo ngrok. Se tudo estiver configurado corretamente, você deverá ser capaz de acessar o serviço local a partir da Internet.

Observe que o ngrok só estará disponível enquanto o terminal em que ele foi iniciado estiver aberto. Se você fechar o terminal, o ngrok parará de funcionar e o serviço local não estará mais acessível na Internet. Para mantê-lo funcionando de forma contínua, você pode configurá-lo como um serviço ou usar uma solução de hospedagem na nuvem.
5 Years of Coding Interview Lessons — in 2 Minutes
Tags: career, programming, algorithms
Published: 2022-12-28 12:15:08


![Career tip for developers](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sng45rv1gw4qzxp6qp8r.png)



In the last 5 years I have given **20+ coding interviews**.

As a result my approach to prepare and give them has significantly changed.

Reflecting on my mistakes, I have documented my learnings in *28 lessons* that I wish I had known sooner. 🥲

These will help you in leveling up for programming interviews.

Let's go :rocket:

1. You only get better by solving more problems.

2. Pick only ONE programming language you are extremely familiar with.

3. Biggest mistake you can make is ignoring the fundamentals.

4. Learn and practice topics in order of importance.

5. Prioritize practicing the most popular and frequently asked interview questions.

6. Look for key patterns that help you solve multiple problems.

7. Revising questions is underrated. That’s how you really internalize topics.

8. Gather maximum detail about the interview beforehand.

9. Understanding the problem is the primary step of problem solving.

10. Clarify the question even if it’s clear to you.
![Clarify question](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iw2msbimqz4rd4o28cc6.png)

11. Come up with more examples to test your understanding.

12. Break down complex questions into small independent questions.

13. Think of multiple solutions before committing to one.

14. It’s ok to take notes during the interview.

15. Whenever stuck, start with a brute force solution.

16. Explain the solution approach before writing code.

17. Solution first. Optimization later.

18. Let your interviewer know before optimizing the solution.

19. Prioritize optimizing repeated, overlapping or redundant computation.

20. For complex algorithms, write pseudo code first.

21. Explain your thought process while writing code.
![Coding](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jd42wuwbpfhi6ngd7puc.png)

22. Your solution is as good as how well you communicate it.

23. Step through the code like a debugger to catch bugs.

24. Show your code works by testing it with sample inputs.

25. Discuss how your provided solution can be improved.

26. Prepare well for self introduction and final questions.

27. Mock interviews are a great way to make gaps in your preparation visible.

28. Irrespective of the result, reflect on your interview experience.

That's it!

I hope you find these lessons helpful.

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

Also, share a coding interview lesson that you learnt the hard way in comments 👇
Here’s how and which apps and tools tech teams all over the world used in 2022
Published: 2022-12-28 12:10:41

Hey yo

My name is Arsen and I'm building companies.tools – it's where tech teams share which apps they use to build their product. 

As the year is coming to an end I decided to do a year recap, showcase which apps were the most popular, what is the size of an average app stack and things like that. 

If you find that interesting, you can check it out here: [recap.companies.tools](https://recap.companies.tools)
Design Pattern list
Tags: programming, javascript, react
Published: 2022-12-28 12:09:27

## Gang of Four Design Patterns

Creational Design Patterns
- Abstract Factory
- Builder
- Prototype
- Singleton

Structural Design Patterns
- Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy

Behavior Design Patterns
- Chain of Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer event
- State
- Strategy
- Template Method
- Visitor

## Concurrency Patterns
- Active Object
- Balking
- Binding Properties
- Double-Checked Locking
- Event-Based Asynchronous
- Guarded Suspension
- Join
- Lock
- Monitor
- Proactor
- Reactor
- ReadWrite Lock
- Scheduler
- Thread Pool
- Thread-Local Storage

## Architectural Pattern
- Front Controller
- Interceptor
- MVC
- MVP
- n-Tier
- Specification
- Publish-Scribe
- Service Locator
- Active Record
- Identity Map
- Data Access Object
- Data Transfer Object
- ADR
- Inversion Of Control
Fast, Persistent key/value store based on bitcask paper written in Ruby
Tags: tutorial, programming, database, educational
Published: 2022-12-28 11:59:17

An attempt to understand and build our persistent key/value store capable of storing data enormous than the RAM. This, in any way, is not intended for production. For simplicity, implementation has ignored a few specifications from the paper.

https://github.com/dineshgowda24/bitcask-rb
Construction Digitization: How to Successfully Streamline Projects with Digital [Case Study]
Tags: constructiondigitization, digitaltransformation, transformationinconstruction, constructiondigitalization
Published: 2022-12-28 11:55:13

How to capture the true value of digital for your business with construction digitization initiatives? Read the case study of how we streamlined construction projects with custom-built tools.
[More here.](https://apiko.com/blog/streamlining-projects-with-construction-digitization/)
Get Notified when your favourite product on amazon gets to a lower price than what you want
Published: 2022-12-28 11:43:56

I chose to do this topic because it helped me a lot.
There are a lot of things on amazon that I want , but I cant always keep track of the sales and discount going on amazon.
So I created a python program that helps me to know when a particular product I want gets to a lower price than what I would like.
This has saved me a lot of time and money.

You will get a mail on your gmail account whenever the price drops.

This type of thing will help everyone who uses Amazon.

You can see the whole code here:
https://pythonsandbox.dev/53teohn5f7wm
I helped a startup ... customers from ... in one day (40k persons) + I made $50k
Tags: python, programming, tutorial, opensource
Published: 2022-12-28 11:37:50

How did it start?

I remember when I launched my first SaaS. I didn't know how to get down to selling it. I searched the Internet for information on how I could build a list of potential customers.

I went through some tedious tutorials and some difficult tools, but they all boiled down to one thing... Ready-made databases. I needed small to medium-sized New York casting agencies. No tool was able to provide me with contact information.

I decided to take a few days and write a soft myself that would allow me to thoroughly research the market and at the same time provide data to potential clients. It worked!!!

I described my story to several community groups and managed to earn a total of $9,000 from this solution. I helped several companies. Every now and then I returned to this topic. What surprised me was that still, no one offered a similar service, and it had been lying to me for several months!

Therefore, after hours, I decided to further develop the tool, but already with a different technology and with many more features that even the top tools did not offer, they still do not.

In agreement with myself, I decided to publish more code and help the company continue to attract prospects in an innovative way. To help startups create fresh customer bases relative to location. It also works! I get a lot of responses and suggestions. Open source, it's a beautiful thing.

Some time ago I was able to help one company find as much as 40k of data in one day. Great time!

Source code: https://github.com/LeadBrowser/app

Video presentation: https://www.youtube.com/watch?v=QuLQ615UDo0
Git Vs Subversion
Tags: vcs, git, mercurial, svn
Published: 2022-12-28 11:35:00

Git and Subversion (also known as SVN) are two of the most popular version control systems. Git is a decentralized version control system, while Subversion is a centralized system.

Git was created by Linus Torvalds, the creator of the Linux kernel, in 2005. It was designed to be a fast, flexible version control system that could handle the needs of large, complex projects like the Linux kernel. Git is now used by millions of developers around the world for projects of all sizes.

Subversion, on the other hand, was released in 2000 and is a centralized version control system. It was designed to be a more user-friendly alternative to CVS, a popular version control system at the time. Subversion is widely used by a variety of organizations and is known for its stability and reliability.

One of the main differences between Git and Subversion is the way they handle version control. Git is a decentralized system, which means that each developer has a complete copy of the code-base and its history on their own machine. This allows developers to work offline and commit their changes whenever they want, without the need for a central server.

In contrast, Subversion is a centralized system that relies on a central server to store all versions of the code. Developers commit their changes to the central server, which keeps track of every version of the code. This can make it easier for developers to collaborate, as all changes are stored in a single location.

Another key difference between Git and Subversion is the way they handle branching and merging. Git is known for its powerful branching and merging capabilities, which allow developers to create multiple versions of the code and easily merge them together. This is especially useful for large projects with many developers, as it allows them to work on different parts of the code simultaneously without affecting the main code-base.

Subversion also has branching and merging capabilities, but they are not as powerful as those in Git. Subversion uses a centralized repository, which means that branches are created by copying the entire code-base into a new location. This can be slower and more cumbersome than Git's branching and merging system.

Overall, Git and Subversion are both reliable and widely-used version control systems. Which one is the best choice for your project will depend on your specific needs and preferences. Git is generally considered more flexible and powerful, but Subversion is known for its simplicity and stability.