teleren/devto huggingface dataset:
The Power Of breakfast !
Tags: healthydebate, health, webdev
Published: 2022-12-10 15:27:31

`It is proved by countless types of research and it has been repeatedly stated that the importance of breakfast in the morning is important and necessary throughout the day, not only for children or women but for men and women of all ages. It should never be ignored. For working professionals, its importance and need increase a bit [Read More](https://pakijobsalrt.blogspot.com/2022/12/the-power-of-breakfast-healthy-toned.html)
Rust lang in 2023
Tags: rust
Published: 2022-12-10 15:14:41

As we enter 2023, the programming language Rust continues to gain popularity among developers. Known for its focus on performance and safety, Rust has become a popular choice for building high-performance systems and applications.

One of the key reasons for Rust's growing popularity is its focus on safety. Unlike many other programming languages, Rust uses a strict type system and a borrow and ownership model to prevent common programming errors such as null or dangling pointer references. This makes it easier for developers to write correct and reliable code, which is particularly important for building critical systems.

Another major advantage of Rust is its focus on performance. The language is designed to be statically typed and compiled, which means that it can be optimized for performance at compile time. This allows Rust to produce highly efficient machine code that can match or even outperform other languages in many cases.

In addition to its safety and performance, Rust also offers a number of other benefits for developers. It has a growing ecosystem of libraries and tools, making it easy to find solutions to common programming tasks. The language also has a friendly and supportive community of users who are always willing to help others learn and improve their Rust skills.

Despite its many strengths, Rust is not without its challenges. For one, the language can be somewhat difficult to learn, especially for developers who are accustomed to more dynamically typed languages. Additionally, the strictness of Rust's type system can sometimes make it difficult to write code that is both correct and expressive.

Overall, however, the future looks bright for Rust in 2023 and beyond. As more and more developers discover the language's unique combination of safety, performance, and convenience, we can expect to see it continue to grow in popularity and usage. So, it can be a good choice for the developers who want to build high-performance and reliable systems.
AWS IAM / Identity Access Management - Basics
Published: 2022-12-10 15:06:53

Let's learn about AWS IAM - Identity Access management basics.

With IAM you can define who or what can access services and resources in AWS. For each person you should create a separate user. Users can be grouped, but groups can't contain other groups.

You can create **policies** which define permissions for users or groups in a JSON document. Always keep in mind the principle of least privilege. The user should only get as many rights as needed. Inline policy is a policy that only applies to one user.

Here is an example of a policy from the AWS website:

```json

{
  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "1",
    "Effect": "Allow",
    "Principal": {"AWS": ["arn:aws:iam::account-id:root"]},
    "Action": "s3:*",
    "Resource": [
      "arn:aws:s3:::mybucket",
      "arn:aws:s3:::mybucket/*"
    ]
  }]
}

```

Version is the version of the policy language that you want to use. Sid is an optional identifier, the effect can be Allow or Deny. The principal is the user, role or account that the policy shall apply to. Action lists the actions that are allowed or denied. Resource lists the resources and there can also be conditions that specify when the policy is applied. In the example above we don`t have a condition.

### MFA
There is the possibility to use Multi-Factor-Authentication which is strongly recommended. Apply it for the root account and all IAM users. You can use a virtual MFA device, like e.g. the app Authy or a physical MFA device. One possible physical MFA device is a universal 2nd factor(U2F) security key, e.g. the YubiKey.

### Access AWS
There are three ways to access AWS:

1. AWS Management Console
1. AWS CLI/ Command Line Interface
1. AWS Software Development Kit (SDk)

For the options 2 and 3 you need to generate an access key, which you can do in the AWS Console.

### IAM role
An IAM role is a permission that you can assign to an AWS service to enable the service to perform an action. An example is the Lambda Function role.

### Security tools
With the **IAM credentials report** you can list all the users of your account and check the status of their credentials.
To check the service permissions of your users and when the services were last accessed, use the **IAM access advisor.**

Learn more: [AWS IAM documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)
Becoming a Self-Learner - Tips and Strategies for Personal and Professional Growth
Tags: selflearning, productivity, growthmindset, selfimprovement
Published: 2022-12-14 14:40:53

---
title: Becoming a Self-Learner - Tips and Strategies for Personal and Professional Growth
published: true
date: 2022-12-10 15:01:28 UTC
tags: #selflearning, #productivity, #growthmindset, #selfimprovement
canonical_url: https://blog.timdehof.dev/becoming-a-self-learner-tips-and-strategies-for-personal-and-professional-growth
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iu081s023ojjwi9riaox.png
---

Are you looking to grow and develop your skills, but feeling stuck or unsure of how to make progress? One key to unlocking your potential as a learner is to make the choice to be a self-learner. Here are a few strategies to help you get started:

- Set specific, challenging goals that push you to improve and provide a clear roadmap for your learning journey. For example, aim to improve by at least 1% each day and track your progress over time.
- Identify when you are most productive and give yourself dedicated time to study during those times. For instance, if you find that you are most focused and energized in the morning, set aside a dedicated block of time for learning first thing each day.
- Adopt a growth mindset and reframe obstacles as opportunities for growth and learning. Instead of seeing failures as setbacks, view them as valuable learning experiences that bring you closer to your goals.
- Take advantage of available resources, such as online courses, books, podcasts, and mentors, to supplement your learning and gain new perspectives.
- Practice self-reflection and regularly evaluate your progress to identify areas for improvement and adjust your approach as needed.

By implementing these strategies and making the choice to be a self-learner, you can unlock your potential and achieve your goals. So, what are you waiting for? Take the first step towards becoming a self-learner and start shifting your focus to long-term learning today. With the right mindset and approach, the sky's the limit for your personal and professional growth!
UX is not about computers
Tags: ux
Published: 2022-12-10 14:59:23

Yes, you read the title and it’s true. UX is not about computers. It’s always been true, even before I chose to write this article.

UX is not really about technology. It’s not about computers. In two senses, UX is about people. First and foremost, it’s inherent in the very name “User Experience” that is about the users. And the most important point about users is that they are humans with very different characteristics than the computers they’re using.
![UX bridge the gap between humans and these technologies](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7qhywq2xaqfjggt1mdst.jpeg)
That is why a specific discipline is required to bridge the gap between these humans and these technologies. To create effective user interfaces, we must first understand human traits. Yes, we must understand computers, but it is the people who are most essential.

It’s tempting to believe that the primary point about UX is technology, because we’re constantly building every user interface to be given through a certain technology. But it doesn’t really matter if we’re building a graphical user interface for a PC, a cloud-based online service, or a phone app.

Yes, the icons will appear different. Slider controllers, for example, will be slightly different depending on the technology. However, the most significant effect on the usability of the design will be things like our workflow design and whether it meets human requirements, as well as the interaction architecture and UX writing of everything from labels to menu items to instructions.

The second aspect in which UX is People is that it is all about us. The UX specialists, as well as our work procedures and approaches. UX lives through us as we strive to create better products, and any UX advise must take into account how humans function in teams and organizations.

So UX is about aligning design to human features as well as developing techniques that allow human designers to produce these user experiences effectively. In other words, user experience is about people.

If you made it this far, kindly give this article a clap and follow me for more 💌💌💌
VIM-code-editor
Tags: vim, webdev, tutorial, cloud
Published: 2022-12-10 14:52:10

## 🧑‍💻 VIM Code Editor
Vim is a “modal” text editor based on the vi editor written by Bill Joy in the 1970s for a version of UNIX.

## 💳 What is modal?
When you’re using most word processors and text editors, the alphanumeric keys (i.e., a through z, 1 through 9) are only used to input those characters unless they’re modified by a control key. In Vim, the mode that the editor is in determines whether the alphanumeric keys will input those characters or move the cursor through the document.

## 📖 The Basics of Moving in Vim
h ⇒ moves the cursor one character to the left.
j ⇒ moves the cursor down one line.
k ⇒ moves the cursor up one line.
l (L) ⇒ moves the cursor one character to the right.
0 ⇒ moves the cursor to the beginning of the line.
$ ⇒ moves the cursor to the end of the line.
w ⇒ move forward one word.
b ⇒ move backward one word.
G ⇒ move to the end of the file.
gg ⇒ move to the beginning of the file.
`. ⇒ move to the last edit.

## 📝 Editing Vim Style
d ⇒ starts the delete operation.
dd ⇒ One line delete or cut
dw ⇒ will delete a word.
d0 ⇒ will delete to the beginning of a line.
d$ ⇒ will delete to the end of a line.
dgg ⇒ will delete to the beginning of the file.
dG ⇒ will delete to the end of the file.
u ⇒ will undo the last operation.
Ctrl-r ⇒ will redo the last undo.

## 🔎 Searching and Replacing
/text ⇒ search for text in the document, going forward.
n ⇒ move the cursor to the next instance of the text from the last search. This will wrap to the beginning of the document.
N ⇒ move the cursor to the previous instance of the text from the last search.
?text ⇒ search for text in the document, going backwards.

## 📑 Copying and Pasting
yy ⇒ To Copy a line
dd ⇒ To cut a line
p/P ⇒ Paste a line

## 📚 Saving and Quitting
:q ⇒ Quite
:q! ⇒ Quite and not save
:w ⇒ Save
:wq ⇒ Save and Quite
:wq! ⇒ To save Read only File (If have permission)
:x ⇒ Save and Quite {Not Recommended} 😳

## 🧑‍💻 Contributors
Abrar Mehedi 👉 Follow me on [Github](https://github.com/abrarmehedi)
Tailwind CSS tutorial #32: Screen Readers
Published: 2022-12-10 14:51:16

In the article, we will go into detail on how to use `Screen Readers`.

## Screen Readers

**Format**
> `sr-only`

| Tailwind Class | CSS Property |
| ------ | ------ |
| `sr-only	` | `{position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0;}`|
| `not-sr-only` | `{position: static; width: auto; height: auto; padding: 0; margin: 0; overflow: visible; clip: auto; white-space: normal;}`|

# Basic usage
## Screen-reader-only elements
Use sr-only to hide an element visually without hiding it from screen readers:

## Undoing screen-reader-only elements
Use not-sr-only to undo sr-only, making an element visible to sighted users as well as screen readers. This can be useful when you want to visually hide something on small screens but show it on larger screens for example:

## **Code**
```html
<ul class="container mx-auto divide-y divide-gray-400 divide-dotted" style="font-family: Raleway">
  <li class="flex items-center justify-between px-4 py-2">
    <div class="flex flex-col items-center justify-center">
        <div class="w-1/2">
          <img class="w-24" src="http://pixelprowess.com/i/powship.svg" alt="POW Logo">
          <p class="sr-only lg:not-sr-only text-gray-500 text-2xl text-blue-300 leading-none">Lorem ipsum dolor sit amet consectetur adipisicing elit impedit officia fugiat mollitia alias ex quas modi.</p>
          <p>Voluptatibus ad distinctio, modi sed praesentium nobis quas non aperiam, recusandae illum, animi sit labore cumque in obcaecati cum laboriosam voluptas consectetur. Voluptate voluptates porro aliquid ut maiores, quidem rem!</p>
        </div>
    </div> 
    <div class="ml-5 text-right">
      <div class="text-xs font-semibold inline-block font-mono whitespace-nowrap px-2 py-1 rounded text-white bg-pink-500 rounded-2 mb-1">sr-only</div>
      <div class="text-xs font-semibold inline-block font-mono whitespace-nowrap px-2 py-1 rounded text-white bg-pink-500 rounded-2">not-sr-only</div>
    </div>
  </li>
</ul>

```
**Full code:**
The overall code will be attached to [repo ](https://github.com/codewithshubhi/learn-tailwind-css/blob/main/Screen%20Readers)link.

**Overall Output**
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/76ft0mbs583cbapr7xip.png)


**Resources:**
[tailwind.css](https://tailwindcss.com/docs)

Thank you for reading :), To learn more, check out my blogs on [Flex Direction](https://dev.to/shubhicodes/tailwind-css-tutorial-13-flex-direction-i8j), [Hackathons](https://dev.to/shubhicodes/all-about-hackathons-how-to-find-participate-win-42kk) and [Flex Wrap](https://dev.to/shubhicodes/tailwind-css-tutorial-14-flex-wrap-kee).
If you liked this article, consider following me on [Dev.to](https://dev.to/shubhicodes) for my latest publications. You can reach me on [Twitter](https://twitter.com/heyShubhi).

Keep learning! Keep coding!! 💛
🤔 For what prototype??
Tags: javascript
Published: 2022-12-10 14:50:13

## what is prototype?
simply put, special property in object

For example
```javascript
function Worker(name, age) {
  this.name = name
  this.age = age
}

// ⭐ prototype !!
Worker.prototype.msg = function() {
  console.log('I am ' + this.name)
}

const maria = new Worker('Maria', 20)
const kaziu = new Worker('Kaziu', 27)
const jhon = new Worker('Jhon', 37)

maria.msg() // I am Maria
kaziu.msg() // I am Kaziu
jhon.msg() // I am Jhon 
```

▼ But we could write like that
```javascript
function Worker(name, age) {
  this.name = name
  this.age = age
  // ⭐ like this ####################
  this.msg = function() {
    console.log('I am ' + this.name)
  }
  // ###########################
}

const maria = new Worker('Maria', 20)
const kaziu = new Worker('Kaziu', 27)
const jhon = new Worker('Jhon', 37)

maria.msg() // I am Maria
kaziu.msg() // I am Kaziu
jhon.msg() // I am Jhon
```

> 🤔 So for what we use prototype ??
😎 One of the reason is memory management

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

If you don't use prototype, each instance would create new function on new memory preference when each time instance is created


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

Otherwise function doesn't create each time when instance is created as you see in image.
Each instance just look for preference of prototype (= instances look for memory place of prototype function)

ref. [from this course](https://www.udemy.com/course/javascript-essence/)
Everything you should know about var, const, and let
Tags: javascript, var, const, variables
Published: 2022-12-10 14:42:53

I am into JavaScript for more than a year now and this language keeps surprising me even with the topics I thought I already knew. One such is the difference between var, const, and let. After reading the book **JavaScript: The Definitive Guide by David Flanagan**, I could jot down the difference to three points, and voila! using this I answered many interview questions I gave after reading the book. In this blog, let's explore the three simple points, and upon understanding, you could solve many questions in JavaScript.

- Block scope
- Redeclaring
- Hoisting

**Block scope**

if, for loop, while loop are blocks in JavaScript. var is function scoped whereas const and let are block scoped. That means if we declare any variable using let or const inside an if statement or for loop or while loop, then we cannot access them outside these blocks. If we declare a variable using var inside a block we can access it anywhere in the program since it is function based. That is variables declared using var inside a function cannot be accessed outside the function. This holds true for let and const since they are block-scoped and the function can also be considered to be a block. Let us first explore how the declaration of variables works in a function.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0ckub4al7d6mg66gwqo1.PNG)

It throws a warning saying usage of undeclared variable. Since the scope of variables starts when they are declared and ends when we close the function. We can return the declared variable value but cannot use the variable itself. Let's see how it works in loops and if statements.

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

It works similarly in for and while loops. Hence the scope of the variable declared using var extends outside the block but is restricted till a function.

**Redeclaring**

We can redeclare variables using var with the same name but cannot be possible for let and const. We can change the value of the declared variable with both var and let. But we cannot change the value of a variable that is const. Hence var can be redeclared and reassigned, let cannot be redeclared but can be reassigned and const cannot be redeclared and cannot be reassigned.

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

**Hoisting**

Hoisting is a very important concept in JavaScript and we can see this in variables as well. It simply means lifting up the state to the top of the program even though it is defined somewhere in between the program. In the case of var, let, and const: var is hoisted but let and const are not.

Understanding hoisting in var:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ipr0m2su92eo51388gr.PNG)

let and const variables can be used only when they are declared.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/anvjgvx3s55281c2whnk.PNG)
Forget about migrations and use SQLSugar
Tags: python, sql, sqlalchemy, migrations
Published: 2022-12-10 14:41:43

Managing your database can be a laborious and time-consuming chore for a developer working on a small project or prototype. To aid with this, I created a tiny project called [SQLSugar](https://github.com/Teemu/sqlsugar).

SQLSugar is a library that makes it easy to use a real database without spending time on generating migrations. This might be extremely helpful for running quick prototypes for ideas or tiny side projects. You can easily add new tables, columns, and indexes to your database without worrying about managing migrations.

## How it works?

To use SQLSugar, you simply define your database schema using SQLAlchemy's models, and then pass that schema to SQLSugar's migrate function. SQLSugar will then use Alembic to autogenerate the difference between your defined schema and the actual database, and execute the necessary operations to make the two match.

For example, if SQLSugar finds a new column in your code that is missing from your database, it will create the column automatically. This saves you the time and effort of manually creating and running migrations, allowing you to focus on building your project.

## Usage

Installing:

```python
pip install sqlsugar
```

First, define models with SQLAlchemy:

```python
import logging

from sqlalchemy import Column, Integer, String, create_engine
from sqlalchemy.orm import Session, declarative_base

from sqlsugar import migrate

logging.basicConfig(
    format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=logging.INFO
)

Base = declarative_base()

class Cat(Base):  # type: ignore
    __tablename__ = "cat"

    id = Column(Integer, primary_key=True)
    name = Column(String)
```

You can then use the SQLSugar's migrate command to automatically get your database up-to-speed.

```python
from sqlsugar import migrate

# You only need this command to handle creating tables & running migrations
migrate(engine.connect(), Base.metadata)
```

## Limitations

While my project is a great solution for rapidly prototyping ideas, it does have limitations. It does not support renaming columns, or dropping columns. As your project grows, you should switch to using more mature solution like [Alembic](https://github.com/sqlalchemy/alembic).
Solution Architect - Frontex - Warsaw, Poland
Published: 2022-12-10 14:36:23

Would you like to be a part of the European Border and Coast Guard Agency (known as Frontex, “Frontières extérieures” for “external borders”) and work on one of its projects? We have a unique opportunity for you.
We are looking for an Enterprise Architect & a solution architect to work on one of the Frontex confidential projects.
Location: Warsaw, Poland
Solution Architect Responsibilities 
•Establish criteria for design, development, quality, and testing
•Design and communicates system architecture
•Design interoperability and interfaces with other systems
•Gather needs, analyze requirements
•Transfer business, users, and technical needs into architectures
•Map business goals, project benefits, priorities, components, and system features and analyze available systems.
•Identify options for potential solutions
•Keep track of architecture throughout the lifecycle of systems
•Estimate and size software development works
•Contribute to systems design, testing, quality assurance, and change management - Prepares system documentation and provides presentations
•Lead development teams and development processes
•Select and evaluates technologies
•Collect and interprets system metrics
•Optimize the system's quality, security, and performance.
Requirements
•Master’s degree in software development or in the architecture of software and solutions 
•3 years+ of hands-on experience in architecting software systems
•Minimum 5 years of IT-relevant professional experience 
•Excellent technical knowledge about databases, application servers, communication middleware, web servers, GIS services, directory services, systems security on Microsoft platforms, business intelligence, concepts, systems integration, and Integrated Development Environments.
•Experience as a key architect in the development of at least 2 software systems
•Experience in systems architecting in the domain of the Lot and in designing in UML
•Experience in designing enterprise-level software systems, and planning capacity and security of the systems.
•Experience in software development methodologies, lifecycles, and artifacts like RUP, ISO12207, and agile methodologies
•Proficiency in using systems modeling tools like Sparx Enterprise Architect, Aris Architect, or others
•Excellent communication, leadership, and problem-solving skills
•Minimum English Level: C1, must hold or be willing to take certification testing.
Check out this link to know more:https://lnkd.in/eFDbNs87
Or send us your CV: career@hr-champ.com
#techcareers #warsaw #polandjobs #software #architecture #enterprisearchitect #solutionarchitect #togaf #cbap #iiba #omg #uml #itilv4 #RUP #ISO12207 #agilemethodologies
#Sparx #Aris #GIS