teleren/devto huggingface dataset:
Understanding REST & CRUD Operations
Tags: webdev, javascript
Published: 2021-12-28 11:29:18

**What is CRUD?**

CRUD stands for create, read, update, and delete in computer programming which represents the four basic operations you can do on any data. We simply create something new, can read or view the newly created data, even edit or update the data and finally the option to delete the data using CRUD operation. We can find CRUD on almost any application.

**CRUD vs. REST: What’s the Difference?**

CRUD and REST can sometime be confusing to new developers. 
Different programming languages and protocols may use different name for CRUD operations but the idea is the same. For example SQl language calls the four functions Insert, Select, Update, and Delete
On the other hand REST  is a popular architectural style for web API design used by many developers.


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

The confusion between CRUD and REST architecture arises  from the fact that interacting with REST applications usually involves the use of CRUD-like functions. As we know in REST applications client and server interact in a uniform / predictable way.
Rest APIs communicate with clients using the HTTP protocol, which uses its own set of methods for data manipulation. These are known as http verbs : GET, POST, DELETE, PUT, and PATCH, are some known HTTP verbs . And this  can overlap with CRUD functions like following:


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

Even though they look the same they don't map exactly to one another like PUT and POST may both correspond to CREATE in CRUD operation. But both Put and Post have their own use cases.  

- . PUT can only replace data even if that data doesn’t exist in the system. However POST usually adds a new resource. They can both be used to Create new resources, but PUT is mainly used to Update existing resources.
- . PATCH is used to Update part of a data, whereas PUT is only used to Update a resource by replacing the whole data.
Why is My Epson Printer Offline, and How to Bring It Online?
Tags: epsonprinter, epsonprintersaysoffline, printeroffline
Published: 2021-12-28 11:27:46

Epson, if the name seems familiar to you, it's not a surprise. The wildly famous brand has made a name for itself for its state of the art printers that it manufactures and provides. Epson is preferred, for both personal and professional uses, thanks to its smooth functioning, next to nil crashes, crystal clear printing, and unmatched customer service. Yet, even after carrying out extremely stringent checks, few errors still slip through the crevices. One such error is when the Epson printer says offline.
Starting my Journey to contributing to Python
Tags: python
Published: 2021-12-28 11:22:31

Hey Devs.
So I've been using Python for quite a long time now. I have used it in a variety of projects, some open source while other proprietary, all ranging from graphics, to web, to data science and many other sectors in IT.
I'm mainly a freelancer at this point, so that's why I get to work on a wide range of projects.

However, this month I decided to take a big step and try to contribute to CPython. CPython is the most common implementation of python for those that don't know it, other implementations include PyPy, IronPyton and Jython, you can look them up if you wanna know more about them. We're here to talk about CPython mainly and how to get started. 

Rest assured, other than using the language itself, I generally have no idea how CPython is implemented, and I'm also not 100% good at Python itself, I'd give myself 85%. So I'm gonna start documenting my journey through a series of blog posts that I'm gonna be making here. I hope by the end of this journey, I'd have achieved my goal of contributing to CPython, and I hope we move together in this awesome Journey.

So now where I'm starting from you wonder? Well, I started where everyone who wishes to contribute to python starts from, the python devguide https://devguide.python.org/ and I read through it quite carefully.
Second, I needed to learn how python works on the inside, and for that I purchased my copy of CPython Internals by Anthony Shaw, this is quite a great book I might say.
Thirdly, I had to get myself a copy of the CPython source code from GitHub, which I downloaded as a zip from here https://github.com/python/cpython .I downloaded the recent Python 3.10 source. I did not want to clone the python 3.11 project because it is continuously changing and I wouldn't be able to keep up with the changes.
Fourthly, I needed to find a community of developers where I can ask questions when I face a challenge. Thankfully, I landed on the Python discussions site https://discuss.python.org/ . This is the place where core developers and New users sit back and talk python all day (that's if they got time to talk).

Well, I think my ingredients are set. Since the year is coming to a close, I guess there's not much I can do this year. However, before this year ends, I realized that It's important to learn how to embed and extend python and also learning the Python-C API. This is very useful to learn as it gives you a glimpse into the internals of CPython and also has a wide range of applications in cases where you wanna add extra functionality to your python interpreter.

Alright, that's it for me for now. Next up, learning the Python-C API and how to extend python with some C code. If you wanna follow along, you can find the Python-C API documented in the python docs. Happy learning, and let's start off with the journey.
array
Published: 2021-12-28 11:15:06

add new element to array : 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3687nsig3v5eku8pum3f.png)

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

number of elements in array :
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rqxqbajkvurztiy2on45.png)
Make a wallpaper app [react-native]
Tags: reactnative, react, firebase, android
Published: 2021-12-28 11:10:35


### Intro
In Nov 2020, I release the first version of an android wallpaper application called ‘Adorn’ which is written in java. Today I am changing the stacks! After almost one year it's like I don’t know how to develop native android apps😂 (maybe I have to revise when I will work on it again 😅). I have re-released this app as an open-source project which is now built with react-native and have to say that it’s a really good option to build an app with react-native which doesn’t include many core functionalities of android or ios.

### About the App
this app has a unique UI (Design inspiration taken from [this dribble shot](https://dribbble.com/shots/7074294-Wallpaper-App?utm_source=Clipboard_Shot&utm_campaign=olefir&utm_content=Wallpaper%20App&utm_medium=Social_Share&utm_source=Clipboard_Shot&utm_campaign=olefir&utm_content=Wallpaper%20App&utm_medium=Social_Share)). On the home page, You will find three sections- Newest, Categories, Popular now. Scroll through the walls, find your choice, tap & set the wall or go through categories! Also, there is a favorites page where you find all your liked wallpapers.

[Click here](https://play.google.com/store/apps/details?id=com.adorn) to checkout the app😃.



### For the devs👨‍💻 around
Talking more about app development things, this includes the use of firebase authentication (Google Sign in), firestore, and firebase storage. For the state management, I have used redux-toolkit (it may be possible without redux also, I just use it to try out redux-toolkit😄). To set the wallpaper I have created a native module for android devices. This app also shows the use case of list-reordering animation in react-native through the use of the react-spring library.

### Admin Panel
To add wallpaper and categories there is an admin panel built with react-js. As of now it only includes adding functionality. Maybe in the future, I will work on edit and delete functionalities as well.

### Source code
As a learning purpose of react-native and to improve previous app which is written in java, I worked on this app again. As a beginner or who wants to create a wallpaper app, it’s your chance to go & code!

Here are the links to the source code:

Adorn app:
[https://github.com/vishaltailors/Adorn-RN](https://github.com/vishaltailors/Adorn-RN)

Adorn admin-panel:
[https://github.com/vishaltailors/Adorn-Admin-RN](https://github.com/vishaltailors/Adorn-Admin-RN)
Job and Salary of a Medical Lab Technician

Tags: laravel
Published: 2021-12-28 11:07:36

For those who are wondering, medical laboratory technicians work in a medical setting and are responsible for gathering samples by performing different lab tests. The purpose of these tests is to be able to analyze the condition of a patient so that doctors can diagnose them better. Even if this occupation can be difficult at times, individuals working this job are rewarded greatly with a very decent medical laboratory technician salary.

Lab technicians are supervised by [mybkexperience survey](https://infotainmentlab.com/mybkexperience-survey/) lab technologists and managers. Basically they are given the responsibility to do certain tests and procedures that are requested by physicians. Getting samples from patients is the first thing that has to be accomplished. After this, a technician would have to test drug levels in a patient's blood, look for parasites, bacteria, and microorganisms, match a donor's blood to that of a patients, and determine chemical content along with other processes.

Those looking to become a lab technician will need to earn an associate's degree program that includes science subjects and clinical lab courses. At the very least, a 2-year program is needed for individuals to apply for this position.
Difference between HTML and HTML5
Published: 2021-12-27 13:48:17

HTML or HyperText Markup Language is viewed as the center part of the web as it permits us to make the essential design of sites. Delivered for the time in 1993, HTML has turned into the standard markup language of the advanced web.

Be that as it may, as all the other things in the realm of tech got an update, exactly the same thing occurred with HTML also. Assuming you are into web advancement, you should be comfortable with or possibly found out about HTML5, which is the most recent variant of HTML. HTML5 was dispatched in 2014, yet did it roll out any improvements to run of the mill HTML? Indeed, in this article we will contrast HTML and HTML5 with discover What is the distinction among HTML and HTML5.

![HTML vs HTML5](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ofr5k3cfscjdwngnkld.png) 

### Where Can You Use HTML?

1. Web Development
2. Responsive Images
3. Client-side Storage
4. Game Development

### Advantages of HTML

1. HTML is Easy to Use
2. HTML is Free
3. HTML is Search Engine Friendly
4. HTML is Simple to Edit
5. HTML is Lightweight

## What is HTML5?

HTML5 is the updated form of HTML and it packs more highlights. It is a coding language that is utilized for the creation and alteration of site pages.

HTML5 tells programs like Chrome, Safari, Explorer how to show the components of a website page. Moreover, it will likewise advise the program where to put the text and pictures inside the website page. Most current sites use HTML5 as their essential markup language.

### Where Can You Use HTML?

1. It is Futureproof
2. Consistency Across Platform
3. Simplified Coding
4. Easy to Adapt

### Advantages of HTML

1. Accessibility
2. Video and Audio Support
3. Smart Storage
4. Mobile Development

## [Difference Between HTML and HTML5](https://webhostingprime.com/difference-between-html-and-html5/):

![HTML vs HTML5](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ipcuicg9476jtwz4ddp9.png)
![HTML vs HTML5](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/027zar5t37gclsfkjrc1.png)
  
## Conclusion

For new age web engineers, HTML5 will be a top pick as it holds extraordinary potential contrasted with HTML. The W3C has effectively said that new changes are reasonable going to occur in the center usefulness of HTML5, and the center will be protection apparatuses. 

The majority of the progressions that will happen are interoperable; accordingly, adding them to your code won't expect designers to master additional abilities.
Object 
Published: 2021-12-28 11:00:46

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

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

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/agrr8vowwkhjn66wlezy.png)
5 Common HTML Mistakes you should avoid.
Tags: javascript, webdev, beginners, html
Published: 2021-12-28 10:44:57

## 1. Semantic Header and Footer
Divs have no semantic structure. Instead of using divs to create headers or footer structures, use "header" and "footer" elements.

Don't do this
```html
<div id="header">
...
</div>
<div id="footer">
...
</div>
```

Do this
```html
<header>
...
</header>
<footer>
...
</footer>
```

## 2. Use Figure Element 
If you need to add a caption to your image, use the "figure" element combined with the "figcaption" element.

Don't do this
```html
<img src="image url" alt="image description" />
<p> Lorem Ipsum Description </p>
```
Do this
```html
<figure>
<img src="image url" alt="image description" />
<figcaption>
         <p> Lorem Ipsum Description </p>
</figcaption>
</figure>
```

## 3. Don't use bold or italic tags
The "b" and "i" tags are used for bringing attention to and for idiomatic text respectively, and have no semantic meaning. But browsers still give them the bold and italics stylings for historical purposes. Change the font-weight/font-style in the CSS or use the "strong" or "em" element.

Don't do this
```html
<b>Bold</b>
<i>Italics</i>
```
Do this
```html
<strong>Bold</strong>
<em>Italics</em>
```

## 4. Using descriptive links
A link’s text should be explicit and convey where is redirecting the user to, both users and search engines can more easily understand your content and how it relates to other pages.

Don't do this
```html
<a href="url">
Check our pricing...
</a>
```
Do this
```html
Check our <a href="url"> pricing </a>
```

## 5. Using inline styles
Writing inline styles violates the principle of having the structure (HTML) separate from the presentation (CSS). Instead write the styles in a stylesheet.

Don't do this
```html
<h1 style="font-size: 24">
 Header
</h1>
```

Do this
```css
h1 {
font-size: 24
}
```

### Thank you for reading

If you liked this post, subscribe to our newsletter to never miss out on our blogs, product launches and tech news.

[Subsribe to Visualway's newsletter](https://tinyletter.com/visualway)

Thanks for reading!!
how to make pansponder worked with scorllView's contentView in Android platform
Tags: react, android
Published: 2021-12-28 10:16:54

    const injectAnim = (Global.experGroup.hotelHighLights && hasGuestShow) ? this.panResponder.panHandlers : {};

<Animated.ScrollView 
      scrollEnabled={this.state.scrollEnabled}
        disableScrollViewPanResponder={true}
        bounces={false}
        nestedScrollEnabled={false}
        overScrollMode="never"
        style={
          {
            backgroundColor: 'transparent'
          }
        }
        onMoveShouldSetResponder={this.scrollViewOnMoveShouldSetResponder}
        onTouchStart={() => {
          console.log('点击开始:');
          this.setState({
            scrollEnabled: true
          })
        }}
      >
        <Animated.View
        style={[
          this.pan.getLayout(),
          {
            opacity: this.state.baseInfoOpacity
          }
        ]}
        {...injectAnim}
        >
        </Animated.View>
</Animated.ScrollView>

  the panResponder is work when scrollEnabled=false, but it's not work when scrollEnabled=true and call onPanResponderTerminate method
someone will help me?
Running Jupyter in Docker
Tags: jupyter, docker, remote, python
Published: 2021-12-28 10:05:13

> " This article is published using [Lamento](https://www.lamento.in/)🍋

🐬Docker is like an isolated operating system where you can build and run all your development needs in a docker environment and we are going to install and run jupyter notebook from docker. Jupyter starts up a local Python server to serve these apps to your web browser.

---

### 1 (Get Image) 🖼️:
Get the Docker image of jupyter notebook from [here](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html)

They have a list of different docker images for various needs 
* jupyter/base-notebook
* jupyter/minimal-notebook
* jupyter/r-notebook
* jupyter/scipy-notebook
* jupyter/tensorflow-notebook
* jupyter/datascience-notebook
* jupyter/pyspark-notebook
* jupyter/all-spark-notebook
![Image Relationships](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/94huhw8zh2mj8zfmtm49.jpg)
 
> If you are just here to test things out you can try [`minimal-notebook`](https://hub.docker.com/r/jupyter/minimal-notebook/tags/) it has the basic jupyter notebook features in small image size.
You can try [`jupyter/all-spark-notebook`](https://hub.docker.com/r/jupyter/all-spark-notebook/tags/) which has access to all the features but in cost to its larger image size. It depends upon your need but the steps are going to be the same for all.

For this post, I am using [``jupyter/scipy-notebook``](https://hub.docker.com/r/jupyter/scipy-notebook/tags/)
First, we will pull the docker jupyter image to your local machine.
```
docker pull jupyter/scipy-notebook:latest
```

---

### 2 (Run Container) 🏃:
Next, we will run the image in a docker container.
```
docker run -it --name scipy-notebook -p 8080:8888 jupyter/scipy-notebook:latest
```

This will start a container that contains our jupyter scipy notebook image or whatever image you used.

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

---

### 3 (Navigate) 🧭:
navigate to your browser localhost port 8080 [http://localhost:8080/](http://localhost:8080/) to access jupyter notebook in a browser.

---

### 4 (Bonus) ✨:
> If you see any password or token required page in jupyter follow the step below else you can close this tab and play with jupyter notebook in docker.

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

Open your current running docker container which contains the image of the jupyter notebook and type:
```
jupyter notebook list
```

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/47d3qp4duse7lz9y0qhh.jpg)
which will list out the current running notebook servers copy the token listen in the CLI and paste it in the jupyter token required page else scroll below and you can set a password with your token.

### Finally 🥂 :
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5svx35ab9i0wnall2zdz.jpg)
Operator Precedence and Associativity
Tags: javascript, beginners, programming, webdev
Published: 2021-12-28 10:02:42

If you have never heard of Operator Precedence and Associativity, or if you never truly understood that concept, that article is made for you !

---


In algebra, you all know that multiplication and division have a **higher precedence** than addition and subtraction. 

With the expression **1 + 2 * 3**, you must first multiply **2 * 3** and then add **1** to the result.

Well, in **Javascript**, this concept is also **valid**, it is simply called **Operator Precedence**.

## Example

Precedence range from 1 to 19 :

- Multiplication has a precedence of **13**.
- Addition has a precedence of **12**.
- Grouping (putting the expression between parenthesis) has **the highest precedence**. (19)

```javascript
console.log(1 + 2 * 3);
// The multiplication is done first, the expression turns into
console.log(1 + 6)
// The addition is then evaluated, the result is 7

console.log((1 + 2) * 3);
// The grouped expression is read first, the expression turns into
console.log(3 * 3)
// The multiplication is then evaluated, the result is 9
```

The order of evaluation is also influenced by the **operator associativity**.

**Associativity** is the direction in which the expression is evaluated : **right to left** or **left to right**.

## Example
Assignment operators are **right-associative**, which means they are read from right to left :

```js
a = b = 5
//is the same as
a = (b = 5)
```

## Exception
❗ Grouped expressions are **not always** read first.
If you use conditional evaluations, **the condition will be checked first**, then the expression between parenthesis will be evaluated.

```js
a || (b * c);
//'a' is evaluated first, then (b * c) is evaluated if 'a' is false
a && (b < c);
//'a' is evaluated first, if 'a' is true (b * c) is evaluated
```

---


Originally posted on my [blog](https://blog.ludivineachouri.com/). Check out my [instagram ](https://www.instagram.com/la.dev/)account to learn more about web development.
Ian Murdock : the father of Debian : Death Anniversary
Tags: docker, linux, ubuntu, devops
Published: 2021-12-28 09:52:14

28th December is death anniversary of Late Ian Murdock.

He is behind Debian , a Linux based operating system. The most common distro Ubuntu is also Debian based.

Ian Murdock hanged himself today in 2015 and was then part of Docker team.


You can read more about this wonderful man here:

https://en.m.wikipedia.org/wiki/Ian_Murdock


Bye !!!
Manish Srivastava