-->

Welcome to our Coding with python Page!!! hier you find various code with PHP, Python, AI, Cyber, etc ... Electricity, Energy, Nuclear Power

Monday 27 September 2021

React - The Complete Guide with React Hook Redux 2021 in 4hr

All about Agile, Ansible, DevOps, Docker, EXIN, Git, ICT, Jenkins, Kubernetes, Puppet, Selenium, Python, etc
Free Coupon Discount - Learn how to create high performance web app with react. Hooks, Redux, React Routing, useContext, Fireabase and more | Created by Kim Chen

complete-react-course-w-hooks-react-router-redux-usecontext

Students also bought

  • React js. From the beginning. w/ Redux and React Router
  • Modern React with Redux [2020 Update]
  • Node with React: Fullstack Web Development
  • Complete React Developer in 2020 (w/ Redux, Hooks, GraphQL)
  • React, Redux, & Enzyme - Introducing Apps & Tests
  • Preview this Udemy Course GET COUPON CODE

    Description
    In this course you will learn to get start with React 16.8+ including what is JSX, how to use props to pass data to the children components, using the React hook useState and also styled component. We will not use more than 40 hours to talking to the same things again and again. You will learn all the react essential things within 4 hours.

    Since this course is the mix of knowledge base and the project base. If you just want to learn the React knowledge fast, 4 hours is enough!!

    After that we will also provide project to consolidate your understanding with react, and how to interact with backend like Firebase.

    Which companies are using React now and why you need to learn?

    Facebook

    Instagram

    Twitter

    Netflix

    Yahoo! Mail

    WhatsApp

    Dropbox

    Atlassian

    Salesforce

    New York Times.

    Reddit

    Cloudflare

    Tesla

    BBC

    GitHub

    PayPal

    Uber

    Zendesk and more...

    The above list of big companies taking huge leaps to embrace React, which signifies the extent to which the technology has raised its bars.

    What you will learn in this course?

    Es6

    React components

    Jsx

    Functional component

    Props

    State

    List

    Styled component

    Redux

    UI framework like Reactstrap, Materializecss

    Firebase

    Who this course is for:
    Anyone who want to start a career with React
    Anyone who want to take the web development skills to the next level
    Anyone who are interested in learning the most update technology

    100% Off Udemy Coupon . Free Udemy Courses . Online Classes

How to generate new concepts by the #AGI system?

All about Agile, Ansible, DevOps, Docker, EXIN, Git, ICT, Jenkins, Kubernetes, Puppet, Selenium, Python, etc

New concepts are formed by the AGI system when detecting repeating sequences of events, when detecting cause-effect relationships and when detecting stable structures in a dynamic model of a situation. The detection of structures, like cause-and-effect relationships, is based on generating hypotheses with their subsequent confirmation or refutation. The hypothesis of structure` presence is reduced to the assumption of the existence of quantitative invariants (the arguments of which are the attributes of the objects of the dynamic model of the situation).

Cheat Sheets for AI, Neural Networks, Machine Learning, Deep Learning & Big Data

All about Agile, Ansible, DevOps, Docker, EXIN, Git, ICT, Jenkins, Kubernetes, Puppet, Selenium, Python, etc

Over the past few months, I have been collecting AI cheat sheets. From time to time I share them with friends and colleagues and recently I have been getting asked a lot, so I decided to organize and share the entire collection. To make things more interesting and give context, I added descriptions and/or excerpts for each major topic.

This is the most complete list and the Big-O is at the very end, enjoy…

>>> Update: We have recently redesigned these cheat sheets into a Super High Definition PDF. Check them out below:

Neural Networks Cheat Sheet

>>> If you like this list, you can let me know here.<<<

Neural Networks Graphs

Neural Networks Graphs Cheat Sheet

Machine Learning Overview

Machine Learning Cheat She

Machine Learning: Scikit-learn algorithm

This machine learning cheat sheet will help you find the right estimator for the job which is the most difficult part. The flowchart will help you check the documentation and rough guide of each estimator that will help you to know more about the problems and how to solve it.

Machine Learning Cheat Sheet
more details




The major difference between #BigData and #CloudComputing

All about Agile, Ansible, DevOps, Docker, EXIN, Git, ICT, Jenkins, Kubernetes, Puppet, Selenium, Python, etc
The major difference between #BigData and #CloudComputing 
#Analytics #DataScience #ML #Python #RStats #TensorFlow #JavaScript #ReactJS #IIoT #IoT #CloudComputing #Serverless #DataScientist #Linux #Jupyter #CyberSecurity #Programming #Coding #DL #NLP #R #devops #100DaysofCode #AI


Sunday 26 September 2021

CODING: 3 MANUSCRIPTS IN 1: Everything You Need To Know to Learn PROGRAMMING Like a Pro. This Book includes PYTHON, JAVA, and C ++

All about Agile, Ansible, DevOps, Docker, EXIN, Git, ICT, Jenkins, Kubernetes, Puppet, Selenium, Python, etc

 


Write your own programs. https://amzn.to/2KEFy9a #Python #Java #C #Tech #100DaysOfCode #DEVCommunity #Dev #ML #CS #DataScience #Cloud #Automation
 #Book #Reading #AmReading #Kindle

(R)EVOLUTION JAVA 8 TO 16

Many companies are still using Java 8, although various exciting innovations have been added in versions 9 to the current 16. Why is that? And what could you be missing out on?

The loyalty to Java 8 can probably be explained by the fact that, when many companies were considering switching to Java 9, Oracle announced a six-monthly release strategy. In addition, many were afraid of the complications in the new module system introduced with Java 9. The uncertainty grew when a new licensing policy was introduced with Java 11. Since this release, Java (Oracle’s JDK) is no longer free for commercial use.

In this article, I want to show you that despite these obstacles, there is a lot in Java versions 9 to 16 worth discovering. And by the end, you should have a pretty good overview of the many new features in them.

The new features start with useful simplifications to the syntax, go on to include some handy extensions to the APIs, and finish with the possibility of clean structuring and subdivision of Java applications into individual modules. But one thing at a time. Let’s start with a quick run-through of the main changes and then focus on some outstanding features.

CONCURRENCY

Major changes have been happening in the area of concurrency. No one wants to program directly with low-level concepts with Threads and Runnables anymore, never mind trying to do this easily and correctly. To utilize multi-core processors better, concurrency should move away from the rather primitive but also complex approaches with threads. Instead, the new APIs make it easier to stay high-level. Here, Doug Lea has made an enormous contribution, inventing Executors, the Fork-Join framework, the great CompletableFuture class (though with a slightly overloaded API), and the Reactive Streams.

HTTP/2-API

Recently, HTTP/2 has become established and is slowly but surely replacing HTTP 1.1. For a long time, there was no support for it in the JDK. But with Java 11 HTTP/2-API was fully integrated into the JDK and offers a comprehensible programming model. This API uses concepts such as request and response of an HTTP communication instead of low-level constructs.

Syntax and API Enhancements

In JDK 9 to 16, there have been extensive enhancements to the APIs in process control, in the Stream API, in Optional, and many other areas. There is a lot to discover. The last versions in particular i.e. JDK 12 to 16, have included various innovations to the syntax. Some were initially provided as preview features to gather feedback and make the final version as practical as possible. I would particularly like to highlight the new, much clearer syntax for switch and the multi-line strings, named Text Blocks. One particular highlight is the possibility to concisely define data container classes using the “record” keyword.

MODULARIZATION

Last but not least, Java 9 introduced a new feature – “modularization”. Modularization helps better control the complexity and dependencies of the software, especially when programs become more complex. This can be achieved by subdividing a program into individual components in the form of modules, which should be as independent of each other as possible. Such clean structuring is also desirable for the JDK itself. However, what is sorely missed for common acceptance and later migrations is relevant support from IDEs and tools, which unfortunately only offer rudimentary help for creating new modules.

EXAMPLE 1: CONCURRENCY

The Future interface has been available in the JDK since Java 5 and it offers a get() method, which often leads to blocking code. As of JDK 8, a remedy is provided by the CompletableFuture class, which enables the definition of asynchronous processing on a higher semantic level compared to Runnable or Callable.

Let’s assume we wanted to parallelize the following method, which first reads data from a server, then processes it in three different ways and finally merges the pieces into one result:

1
2
3
4
5
6
7
8
9
10
11
public void execute()
{
List data = retrieveData();
 
Long value1 = processData1(data);
Long value2 = processData2(data);
Long value3 = processData3(data);
 
String result = calcResult(value1, value2, value3);
System.out.println("result: " + result);
}

As a rule of thumb one should first – as in this example – encapsulate the business functionality properly in methods that can be tested on their own before considering parallelization. If we tried to parallelize the whole thing at a low level, we wouldn’t want to go through all the hassle of thread synchronization, coordination of tasks, and so on. Better yet, we don’t have to do all this because CompletableFuture allows us to work at a much higher level of abstraction. It’s only necessary to suitably wrap the original method calls with invocations of CompletableFuture to achieve parallel execution. CompletableFuture then takes care of all the tedious details, which would normally need attention.

The version with added parallelization could look like this:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public void execute() throws InterruptedException, ExecutionException
{
CompletableFuture&lt;List&gt; cFData =
CompletableFuture.supplyAsync(() -&gt; retrieveData());
 
// execute in parallel
CompletableFuture cFValue1 =
cFData.thenApplyAsync(data -&gt; processData1(data));
CompletableFuture cFValue2 =
cFData.thenApplyAsync(data -&gt; processData2(data));
CompletableFuture cFValue3 =
cFData.thenApplyAsync(data -&gt; processData3(data));
 
// merge subresults synchronously
String result = calcResult(cFValue1.get(),
cFValue2.get(), cFValue3.get());
System.out.println("result: " + result);
}

Since Java 9, you can also add timeouts and exception handling and provide fallback values, as shown below:

1
2
3
4
5
6
7
CompletableFuture&lt;List&gt; cFData =
CompletableFuture.supplyAsync(() -&gt; retrieveData()).
exceptionally((throwable) -&gt; Collections.emptyList());
 
CompletableFuture cFValue3 =
cFData.thenApplyAsync(data -&gt; processData3(data)).
completeOnTimeout(7L, 2, TimeUnit.SECONDS);

 

EXAMPLE 2: HTTP-2 + OPTIONAL + STREAMS + DATE AND TIME API + VAR

Conveniently, many APIs can be profitably combined, as in this example with the
HTTP/2 API, Stream API, and Optional.

Imagine you are supposed to calculate the exchange rates for a period of a few months. Via REST call at http://data.fixer.io we can retrieve the desired exchange rates free of charge (but we need a key—there is an example below). For this task, the HTTP-2 API is a good choice, and so we write a performGet() method for the REST call. To define the period of time, we use the method datesUntil(), which allows us to create a Stream. By utilizing a TemporalAdjuster we jump to the end of each month and then execute the GET call. Below we also can see the new feature of using var instead of a concrete type. Finally, Optional provides the ifPresentOrElse() method so that we can perform an action in both positive and negative cases:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
public static void main(String[] args) throws Exception
{
// HTTP-2-API + Date and Time API
HttpClient httpClient =
HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(5)).build();
 
// Date and Time API =&gt; Stream with monthly steps
LocalDate startDay = LocalDate.of(2021, Month.JANUARY, 1);
LocalDate endDay = LocalDate.of(2021, Month.MAY, 1);
Period stepOneMonth = Period.ofMonths(1);
 
// datesUntil()
startDay.datesUntil(endDay, stepOneMonth).forEach(localDate -&gt;
{
// TEMPORALADJUSTERS
LocalDate endOfMonth =
localDate.with(TemporalAdjusters.lastDayOfMonth());
 
// var and HTTP/2-API
var optResponseBody = performGet(httpClient, endOfMonth);
 
// OPTIONAL
optResponseBody.ifPresentOrElse(
(value) -&gt; System.out.println(endOfMonth + " reported " + value),
() -&gt; System.out.println("No data for " + endOfMonth));
});
}
 
private static Optional performGet(HttpClient httpClient,
LocalDate desiredDate)
{
try
{
var httpRequest =
HttpRequest.newBuilder().GET().uri(URI.create(
"http://data.fixer.io/" + desiredDate + "?symbols=CHF" +
"&amp;access_key=51b26ac4e9ec53f00ad3aae88ea45be9")).build();
 
var response = httpClient.send(httpRequest, BodyHandlers.ofString());
String responseBody = response.body();
 
return Optional.of(responseBody);
}
catch (Exception ex)
{
// LOG
}
return Optional.empty();
}

Executing the above program will result in the Swiss franc to euro exchange rates from January 2021 to May 2021 being printed out, approximately as follows:

1
2
3
4
2021-01-31 reported {"success":true,"timestamp":1612137599,"historical":true,"base":"EUR","date":"2021-01-31","rates":{"CHF":1.080718}}
2021-02-28 reported {"success":true,"timestamp":1614556799,"historical":true,"base":"EUR","date":"2021-02-28","rates":{"CHF":1.09705}}
2021-03-31 reported {"success":true,"timestamp":1617235199,"historical":true,"base":"EUR","date":"2021-03-31","rates":{"CHF":1.107039}}
2021-04-30 reported {"success":true,"timestamp":1619827199,"historical":true,"base":"EUR","date":"2021-04-30","rates":{"CHF":1.09715}}

EXAMPLE 3: SWITCH

In modern Java, there are switch expressions that greatly simplify the specification of case distinctions and provide an intuitive syntax:

1
2
3
4
5
6
7
8
9
DayOfWeek day = DayOfWeek.FRIDAY;
 
int numOfLetters = switch (day)
{
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
};

From this example, we can recognize some syntactic innovations: in addition to the obvious arrow instead of the colon, multiple values can now be specified for one case. Conveniently, a break is no longer needed. Each of the statements noted after the arrow are executed only for the case. So, with this syntax, there is no fall-through. In addition, switch can now return a value, which avoids the definition of auxiliary variables.

A terrific simplification – only one question remains: “Why only now?”

EXAMPLE 4: TEXT BLOCKS

The Java community has long waited for the possibility to define multi-line strings easily. This feature, called “Text Blocks”, has finally been included and now allows multiple lines of strings without tedious concatenations. Even better, you can also avoid error-prone escaping. This makes it easier to handle for example SQL commands, and to define JavaScript or JSON in Java source code. After their definition, Text Blocks are regular strings so that you can call all usual string methods.
Let’s first look at the syntax for Text Blocks’ before looking at some possible examples of their use.

Basic syntax
Text blocks describe multi-line strings. These begin and end with three quotes each. The actual content starts on a new line:

1
2
3
4
System.out.println("""
-I am a-
-text block-
""");

Let’s look at the output and its indentation:

1
2
-I am a-
-text block-

How does the indentation of only two spaces result when there are some initial spaces before the two lines of text in the println() call? The answer is quite simple: the lower three quotes determine the start of the indentation. In addition, the last line will also have a new line added to it, resulting in an extra blank line.

Text Blocks in action
The following is also possible:

1
2
3
4
5
System.out.println("""
First 'line' simple quotes
Second "line" double quotes
Third line \""" three quotes
Fourth line no quotes, just \\ :-)""");

How about some JSON?

1
2
3
4
5
6
7
8
String jsonObj = """
{
"name" : "Mike",
"birthday" : "1971-02-07",
"comment" : "Text blocks are nice!"
}
""";
<pre>

EXAMPLE 5: RECORDS

Modern Java offers a feature called “records”. This allows users to create data container classes in a highly compact way. Records may be beneficial in various use cases, such as returning multiple values, defining compound keys for maps, and acting as DTOs, parameter value objects. Let’s consider a simple definition:

1
record MyPoint(int x, int y) { }

This results in a class where the attributes are implicitly derived from the constructor parameters. This is also true for the necessary implementations of the read-only accessor methods. Further, the implementations of equals() and hashCode() are generated automatically and, above all, in conformity with their contracts. The same applies to a suitable constructor and also the toString() method.

Let’s take a look at how much source code would have to be written to achieve equivalent functionality with the existing Java language capabilities:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public final class MyPoint
{
private final int x;
private final int y;
 
public MyPoint(int x, int y)
{
this.x = x;
this.y = y;
}
 
@Override
public boolean equals(Object o)
{
if (this == o)
return true;
if (o == null || getClass() != o.getClass())
return false;
 
MyPoint point = (MyPoint) o;
return x == point.x && y == point.y;
}
 
@Override
public int hashCode()
{
return Objects.hash(x, y);
}
 
@Override public String toString()
{
return "MyPoint[x=" + x + ", y=" + y + "]";
}
// ...
}

Other data containers can be created that are useful either to pass parameters or to return them, for example, the following:

1
2
record ColorAndRgbDTO(String name, int red, int green, int blue) { }
record IntStringReturnValue(int code, String info) { }

CONCLUSION

Java versions 9 to 16 contain a multitude of sensible and practical innovations and additions. Many everyday programming tasks can be realized a little more elegantly and more briefly than if you stick with Java 8. In this article, I have provided a useful overview of these changes but for those who want a more detailed introduction to then, feel free to delve into to my book «Java – die Neuerungen in Version 9 bis 14».

The innovations in Java releases 10, 12, 13, 15, 16, and even the LTS version of Java 11 are fairly manageable. However, Java 14 was a big, exciting step forward, especially with the syntax changes with switch and Text Blocks. But what’s even more exciting is the introduction of the “records” feature, which simplifies the definition of DTO classes, of parameter value objects and tuples for combined return types.

Let’s look briefly at the most substantial innovation, which Java experienced in version 9: modularization. Java finally has a module system, but unfortunately, it has not been well received by either the Java community or tool vendors. This has generated a negative feedback loop and so its distribution is still relatively low.

However, you don’t have to use the module system since a compatibility mode exists. Therefore, you can enjoy all the advantages of the syntax innovations and API extensions to the fullest.

Overall, the new Java versions are worthy successors to Java 8 and should make Java programming attractive for many developers and companies in the future. Personal users in particular have benefited from the fast release c

Rank

seo