Friday, June 28, 2019

TensorFlow Tutorial for Beginners

Brief Introduction About TensorFlow

Tensor flow is a distributed computing tool, which allows colossus neural networks to train over a distributed server. Tensor flow is a product of the Google brain team, and Google used tensor flow for its internal use. Used in google photos, google search and google cloud speech.

Introduction about Tensorflow

What is Tensor flow?

  • Tensor flow is an open source software library. This library used for data flow programming throughout the scope of tasks.
  • Tensor flow is a symbolic Math library, used for machine learning applications such as Neural Networks.
  • Tensor flow is a machine-learning library, suited for large-scale machine learning.
  • TensorFlow uses computational graphs/ data flow for numerical computations.
  • Google uses TensorFlow for Research and production.

History of TensorFlow

Distbelief is a previous version of tensorflow. Distbelief based on deep learning neural networks. Distbelief released in 2011. After updating the Distbelief, tensorflow come into existence. Tensorflow developed by Google Brain Team for the internal use of Google. TensorFlow released in 2015.

Characteristics of Tensorflow

Following are the characteristics of TensorFlow:
  • Tensor flow has C++ implementations of Machine learning, which is highly efficient. Besides, it has custom C++ operations.
  • Tensor flow runs on primary operating systems like Linux, Windows, and MacOS. Besides, it runs on a mobile operating system like Android, iOS.
  • The TF layers, Pretty tensor and Keras are the high-level API. High-level API’s runs on the top of the tensor flow.
  • For simple training routines, tensor flow provides simple API TF-slim (tensorflow.contrib.slim).
  • For the reduction of a cost function, optimization nodes search for parameters. Tensor flow provides the optimization nodes, which reduces the cost of function.
  • Tensor flow provides AutoDiff (Automatic Differentiating). AutoDiff automatically computes the slopes (gradients) of cost functions.
  • Tensor flow provides the visualization tool, called as TensorBoard. Through TensorBoard, user able to view learning curves and computation graph.
  • For the training of neural networks, tensor flow provides a small Python API called ‘TF.Learn’. It has a few lines of code.

Types of API, which Tensorflow supports

Tensor flow provides two kinds of API such as:
  1. TensorFlow core API
  2. A higher level of API

TensorFlow core API

TensorFlow core API is a low-level of API. This API used in low-level machine learning development. This API gives complete programming control. Besides, it provides a fine level of control. This API is suitable for machine learning Researchers.

A higher level of API

A higher level of API provides tf.layers and tf.contrib.learn API, which is more compact. These API present on the top of the tenser flow. Higher level API is easy to learn and use than TensorFlow core API. It makes the repeated task, smooth and more consistent between different users. The high-level API manages datasets, inference, estimators, and training.

What is Tensor?

A tensor is a central unit of data in tensorflow. Tensors are a generalization of Matrices, vectors, and scalars to an arbitrary number of indices. Matrices have exactly two indices, and vectors have single indices whereas scalars have no index.
Tensors are the inputs, outputs of tensor flow or multidimensional data array.
Mathematically tensor represents a physical entity that describes features by the magnitude and multiple directions.
Usually, tensors contain float values. Moreover, it carries strings in the form of byte arrays. Tensors travel among the nodes of computation graphs.
NumPy used for numerical computations, NumPy is a Python API.

What is TensorBoard?

For the visualization, Tensorflow provides the TensorBoard. This TensorBoard used to visualize the graph, to plot the quantitative metrics of the graph and pass the images through it.

Computational Graph or Data Flow Graph

In the computational graph, tensor flow operations arranged into graphs. Tensor flow builds a graph of ‘program logic’ in memory, that graph known as a computational graph. Tensor Flow uses the Data flow graph to represents the computations.
Computational graphs allow creating large scale neural networks as computing and distributed among several CPUs or GPUs (Graphical Processing Unit) similarly.
Nodes in the graph represent mathematical operations. A node represents the unit of computation. Operator: ‘+’ addition is the mathematical operation.
Edges in the graph represent a multi-dimensional data array called Tensors. Edges represent data consumed or produced by operation/ computation.
Input Tensor: X, Y
Output Tensor: Z
Example: Following tensor flow graph/ data flow graph/ computational graph represents
  1. Single node corresponding addition operator.
  2. Two incoming edges indicate the input to the operation.
  3. The One outgoing edge indicates the output of the computation.
Tensor Flow Graph Computational Graph Data Flow Graph
Data flow programming model has several advantages like compilation, Portability, Parallelism and Distributed execution.
Tensor flow grasps the advantages of data flow while executing the program. Let us study them in brief:

Parallelism:

Explicit edges used to represent the dependencies between operations. The system can easily find out the operations, which executes in parallel.

Distributed Execution:

Edges used to indicate the values/ data set or tensors travel in a graph. Explicit edges used to show the values that flow between operations. Tensor flow partitions the single program code (data flow graph) among multiple devices such as CPUs, GPUs, and TPUs, attached with different machines. Tensor flow provides necessary communication co-ordinations between devices.

Portability:

Data flow graphs are not language dependent. So that the program code represented using, data flow graphs are language independent.
For example: if you build data flow graph in Python and stored in Saved-Model and restore in C++ program.

Compilation:

Tensor flow has XLA compiler. For the generation of the faster code, XLA compiler uses the information present in the data flow graph.  Example: By using together adjacent operations.

What is the Default Computational Graph?

When we are experimenting something, it is very common to run the same commands repeatedly. That will result in default graphs containing in many duplicates nodes especially when we are working with jupyter or Python shell. Solution to this is to restart the jupyter kernel or reset the default graph.

Tensor Flow Program Elements

Let us see the elements of the Tensorflow program.
  1. Constant: The value, which does not change.
  1. Placeholder: The Placeholder allows the value to assigned later.
  1. Variable: A Variable is the value that can change. It’s value is not fix. it may or may not varry.
  1. Session: A Session is an element of tensor flow and session runs to evaluate the nodes.A session called as Tensor flow Runtime.
  1. feed_dict parameter: A feed_dict parameter instructs to the tensor, to pass the actual value to the placeholder.

Phases of Computational Graph

There are four phases of Computational Graphs.
  1. Construction Phase
  2. Execution Phase
  3. Initialization Phase
  4. Initialization and Execution Phase

Products build using TensorFlow

Following some products make using TensorFlow:

1. Teachable Machine

This teachable machine developed by Google Creative Labs. Teachable Machine build using Tensorflow. It uses tensorflow.js that allows the user to use the computer camera and teach live in the browser.

2. Nsynth Super

Nsynth super developed by Google Creative Labs. Nsynth is one of the best projects. This project allows the user to create new music, by using entirely new sounds. Those unique sounds created using the Nsynth algorithm.

3. Giorgio Camthat

Giorgio Camthat project used tensorflow. This project allows the user to create new music just by clicking on the images.

4. Rank Brain

Rank Brain is developed by Google. For the search ranking on the www.google.com, Rank brain deploys the deep neural nets on large-scale.
The rank brain is a part of the search algorithm. It sorts billions of pages and finds the most relevant one.

5. Deep Speech

Deep speech project developed by Mozilla. This model can learn speech from spectrogram. There is another project, which generates strokes based on the user’s handwriting style — moreover, these strokes by using neural networks.

Advantages of Tensorflow

Following points indicates the advantages of Tensorflow:
  1. Responsive Constructs: Tensorflow has responsive constructs. The user can easily visualize every graph. Moreover user able to visualize each part of the graph.
  2. Platform Flexibility/ Cross Platform: Tensorflow is flexible with any platform. A tensorflow is a modular library. Tensorflow has some standalone parts, and some mingle/ consolidated part.
  3. Easily Trainable: For distributed computing, Tensorflow is easily trainable on CPU and GPU.
  4. Auto Differentiation Capability: Tensorflow has auto differentiation capabilities. Auto differentiation capability helps in gradient-based machine learning algorithms. To obtain the graph extension, the user can compute the derivation of values concerning other value. This process results in a graph extension.
  5. Supports to threads, queue, and asynchronous computation: the Tensorflow supports asynchronous calculations. It supports to the concept of threads and queue.
  6. Open source and Customizable: The Tensorflow is an open source library. Tensorflow is customizable means; it can modify any suite or separate task.

Disadvantages of Tensorflow

TensorFlow has some limitations:
  1. GPU memory conflicts: TensorFlow has some memory conflicts. These conflicts occurred only in GPU (Graphical Processing Unit) memory when Theano imported in the same scope. When imports in other scope conflicts do not occur.
  1. No Support for OpenCL : Tensorflow does not support for OpenCL.
  1. Need to have prior knowledge of Machine Learning, advanced Calculus and linear algebra: For understanding the concepts of tensorflow, the user must have a good understanding of Google Machine Learning. Moreover, the user must be clear with the ideas of advanced calculus and linear algebra.

Applications of TensorFlow

Following are the applications of Tensorflow:
  • Speech Recognition System
  • Image/ Video Recognition
  • Self-Driving Cars
  • Text Summarization
  • Sentiment Analysis
  • Google translate

Monday, January 28, 2019

A Beginners Guide to Java JDBC

Introduction to JDBC in Java

Java Database Connectivity is a standard Java API used to connect Java application with Database. Java JDBC is used to communicate with the different type of Databases like Oracle, MS Access, My SQL and SQL Server. JDBC can also define as the platform-independent interface between a relational database and Java programming. It allows a java program to execute the SQL statement and retrieve the result from the database. JDBC uses drivers to connect with database. 

Different Types of JDBC Driver in Java 

Java JDBC

1. JDBC-ODBC Bridge Driver
2. Natïve Driver
3. Network Protocol Driver
4. Thin Driver

Why should we use JDBC?

There is some critical point which explains why we should use JDBC.

1. JDBC API is Standard API. We can communicate with any Database without
revising our Application, i.e. it is Database Independent API.
2. JDBC Drivers developed in Java, and hence JDBC Concept is applicable for any
Platform. i.e., JDBC is Platform Independent Technology.
3. By using JDBC API, we can perform basic CRUD Operations very efficiently.
C ➔ Create (Insert)
 R ➔ Retrieve (Select)
 U ➔ Update (Update)
 D ➔ Delete (Delete)
4. We can also perform Complex Operations like inner joins, Outer joins, calling
Stored Procedures, etc. very quickly by using JDBC API.
5. JDBC API supported by many vendors and they developed multiple Products
based on JDBC API.

Advantages of JDBC:

1. Provide present enterprise information.
2. Automatically Creates an XML structure of data from the database.
3. No content conversion required.
4. Query and Stored procedure supported.
5. We can use JDBC for both Synchronous and Asynchronous processing.
6. Supports modules.
7. Zero Configuration for Network Computers.
8. Full Access to Metadata.
9. Database Connection Identified by URL.
10. It does not require an installation.

Monday, January 21, 2019

How Java Servlet Works?

Features of Java Servlet

There are 5 Features of Servlet are as Follow:
Portable: Servlet uses Java Programming language, and as we know java is portable language, so servlet is also portable.
Efficient: Servlets invocation is highly skilled as compared to any CGI programs.
Robust: JVM manages Servlet. That’s why Servlet is robust.
Performance: Servlet creates a thread for each request, so the performance of servlet is better than CGI.
Secure: Because it uses java language, so servlet is safe.

How Servlet Works?

Whenever a request comes, it received by the servlet, and then they forward the request to the web container. A Web container is responsible for handling the request by creating the new thread. Container creates multiple threads to execute various requests.

How Java Servlet Works?


Let’s understand the working of Servlet –
1. The User sends a request by clicking a link for a servlet.
2. Then, the container finds the servlet and Create two instances.
  a.HttpServletRequest
  b.HttpServletResponse
3. After this, the container creates a thread for executing the request. So they call the servlet’s service() method and passes the instances as arguments.
4.Based on the HTTPRequest method sent by client, service( ) method decides which servlet method, doGet() or doPost() to call. 
5. Then, to respond to the client, servlet uses response instance to write the response.
6.After the service( ) method is completed, container call the destroy( ) method. And the request and response instance are prepared for garbage collection.

Servlet API

there are 2 packages of java servlet API are as follow:

1.javax.servlet

This package contains several classes and interfaces that describe and define bonds between a class and environment for an object.

Interface: -

ServletResponse
ServletRequest
RequestDispatcher
ServletConfig
Servlet

Class: -

GenericServlet
ServletRequestWrapper
ServletResponseWrapper
ServletInputStream
ServletOutputStream

Exception

ServletException
UnavailableException

2.javax.servlet.http

This package contains several classes and interfaces that describe and define bonds between a servlet class running under HTTP protocol and environment for an object.

Interface:- 

HttpServletRequest
HttpServletResponse
HttpSession
HttpSessionContext
HttpSessionListener

Class: -

Cookie
HttpServlet
HttpServletRequestWrapper
HttpServletResponseWrapper
HttpSessionEvent




Thursday, January 17, 2019

16 Best On-Page SEO Techniques for Improve Search Ranking

16 On Page SEO Activities for Improve Search Ranking

On Page SEO including proper headings, proper keyword placement, ensuring content quality, and paying attention to many other factors.
16 On-Page SEO Techniques That'll Boost Your Rankings

1) website structure:

A website’s technical structure plays a central role in determining its success or failure. SEO professionals can develop content and customer-centric websites that are also accessible and attractive to search engines.


2) Meta Title:

Meta title is very important role play in search engine optimization. The title length should be 50 to 65 characters. Meta title display SERP.

3) Post Permalink Structure:

Your URL is displayed is one of the most important factors of On-page SEO. It is important to correctly display your URL with use of target keyword and should also avoid using special characters, symbols, brackets, commas, etc. within the actual URL.

4) Heading Tags:

Heading tags are mainly used to highlight various headings, sub-headings, and important Loading Word-press, the title tag is set at H1. You are not supposed to use any more than H1 tags anywhere in the article.

5) Keyword Density:

Your keyword density should be around 1.5% percent with a mix of LSI keywords. You need to keep one thing in priority that your first and last paragraph should contain your main keyword.

6) Meta Tags:

Your each web page must need to have unique and relevant meta description because that is one of the most effective On-page SEO. Along with search engines' pick up on keywords, user’s click on the post is equally important. Your meta descriptions need to be more user-friendly and relevant to the post.

7) Images:

Attractive and relevant Images are effective part to drive traffic to your post from image searches. To make your blog post more focused and targeted, you can add keywords in the “image title” and the “alt text” too. As much as your image can stick more users around you, that is more liking to increase your overall rank.

8) Original Content:

Your content should be original and use your main keywords in your content. Not over-optimized the content and take care of keyword density, keyword proximity, keyword prominence.

9) Internal liking:

To make your reader spend more time on your blog, you can generate interlinking of blog posts and it can also lead other pages of your site to the high rank. Internal links that are relevant to the original post show search engines that you are providing extra information beyond what is being displayed in the content.

10) External Linking:

Along with internal linking, external linking is also a great idea for generating more traffic to your website. You are only supported to generate external link building when the external website is relevant to your post. Always choose the trusted website for external linking.

11) XML and Html sitemaps: 

The XML Site map is used to identify our web site pages are index or not. XML site map google understand but does not understand the user. User understandable site map is HTML site map.

12) Robots.txt: 

Robots main aim is to read our website data and stored in the search engine database. When search engine crawlers come to your site it will be looking for some special file. i.e, call roboat.txt file. This file tells to search engine spiders which pages of your site should be index and which pages of your site should be ignored.

13) Move to HTTPS:

Move to HTTPS due to security reason and Google also considers it as a ranking factor and give you the better rankings to competitive keywords early.

14) Mobile Friendly:

This time is mobile time so your website should be mobile friendly and open easily on mobile. So make sure website should be mobile friendly.

15) Fast Loading Speed:

Your website should be loading fast. Because the user likes a fast loading website. If your website loading fast then you can gain more visitors. If you want to check your speed then use tools like GTMetrix, Google Developer tools.

16) Google analytics and webmasters:


Google analytics main aim is a track record of website like how many visitors visit from the site by using which keyword, which landing page and also identify what type of users visits from the site linkage group, gender etc and also identify which country of user visit from the site like USA, Canada, India etc.

Google Webmasters is used to checking crawl errors, index status searches queries and also identify how many backlinks to your site, internal links to your sites and also identify search queries, clicks, impressions etc.

10 Best OFF Page SEO Techniques 2019

Latest OFF Page SEO Activities


Off-page SEO indicates all the things that you do directly to your website to help you rank higher, such as social networking, article submission, forum, blogging, community creation & blog marketing, etc.
Here are some most effective off-page activities which help you to increase your page ranking :
Off Page SEO Activities

1) Social Networking Sites:

Social networking sites are becoming more acceptable these days! Social networking sites allow you to extend your online network by connecting and interacting with your friends and other interested people, to share things with each other, and most importantly to promote your website/blog and help build your online reputation. There are some top social networking sites -be it Facebook, Twitter, Instagram, Pinterest, google+, etc.

2) Blogging:

A blog represents your work, services. Blogging also helps search engines to crawl your site more frequently, as they have to update your latest blog post entries, which ultimately helps you rank higher in search engine results pages (SERPs).

3) Blog Marketing:

Posting comments on other blogs within the same niche as yours, Where you can add a link in the comments section. These links will be crawled by search engines, benefitting point for them towards your site.

4) Forum Marketing:

Make a list of forums online, that are related to your sites niche and get involved with that community. Take participation in the community and reply to threads, answer peoples questions, offer advice, etc. This involvement can help you to build up your online reputation.

5) Social bookmarking:

Bookmark your site and blog to promote your website on social bookmarking sites. You can Submit your latest blog posts and pages to the most popular bookmarking sites, like StumbleUpon, Digg, Delicious, Reddit, etc.

6) Article Submission:

Here you need to make articles about your website and submit them to high PR Article Submission Sites like; Ezine, Go Articles, Now Public, etc. You can also give links to your site.

7) Business Reviews and Rating sites:

You can submit reviews about other businesses or ask your friends/clients to write a review of your business in major business review sites like Glassdoor, Mouthshoot, RateitAll, Shvoong, Kaboodle, Stylefeeder, etc.

8) Infographics Submission:

Infographics are the most appropriating way of presentation! Where you can make and submit your infographics on infographics submission websites and also give reference links to your web page or blog.

9) Image And Video Submission:

If you want to make your videos and images popular, head to popular video and image submission sites. Give a proper title, description, title tags, and reference links. Using this way of submission you can get quality backlinks because all video and image submission websites have high PR.

10) Question And Answer:

Question and Answers is one of the most effective ways to get more traffic to your website. Your answers to the relevant questions can help you to build up an online reputation of your website. You can also place a link to your website so that people can easily find your website.

Saturday, January 12, 2019

How to do SEO For E-Commerce Website?

A Beginners Guides to Optimization of an E-Commerce website

SEO: Search Engine Optimization

SEO Strategy

Search Engine Optimization, every websites backbone, is the tool that can make or break any website. Optimization of an e-commerce website is more critical and complicated than doing SEO for any other website. It is because your e-commerce site can have many more hundreds or even thousands of product listings that require you to follow best practices ensuring the performance of your website at an optimum level.

Strategy

Forgetting to the top of Google search results there should be little margin or room for errors while conducting SEO for your e-commerce website. It is because ideally, you must be looking to be within top three positions to tremendously increase the traffic for your website.
The number one ranked result receives the search of 31.24 clicks. The number two gets half of it around 14.04 clicks and so on coming down for rest three ranked searches. These statistics show the importance of time spend and resource utilization required for your eCommerce website to win the SEO battle on Google ranking.

Auditing

SEO Audit

You need proper research and study for the audit of your website to identify the SEO loopholes of your website. Pay keen attention to your product listing by unfolding the pages while analyzing your eCommerce site. This is the area where most of the mistakes occur and it’s the most vital feature of your website’s performance. Use the effective tools to ascertain the errors, duplicate content, missing tags and many more errors impacting the SEO performance of your site.

Keyword Research

Keyword Research
This is the most important aspect of the SEO puzzle and wins over it. Wrong keyword search can lead you to low-quality traffic and minimal sales of your product. By strategically working on right keywords implementation on your product pages can reap you in attracting immense reputed consumers with huge sales targets achieved altogether. Perform on creating long-tail keywords (searches containing three or more words) research depicting an eye catchy relevance of the products. This eventually generates high feasibility of attracting and converting a consumer to buy your product which in turn gives you a solid reputation and higher ranking.

Internal Linking

The next step is internal linking. You might not have heard of this before, but I’m sure you know what it is. This is when you link pages of your website to other pages on your website.
Internal linking in seo

Mobile Version of Website

Do you know how hot mobile shopping is becoming? Many people are not only browsing the web, but also making purchases through mobile devices, which means it’s really important to have a mobile-friendly version of your site.

Customer Reviews

According to Internet Retailer, you can increase your e-commerce conversion rate by 14-76% by adding product reviews to your online store. Jupiter Research also found that 77% of consumers read reviews before purchasing online.

To Obtain more Customer Review

In addition to increasing conversions, customer reviews also positively impact your SEO because more reviews = more content, and frequent reviews = fresh content, which Google loves to see.

To obtain more customer reviews, you can use a reward-based plugin like WooTheme’s Review for a Discount option.

You also can send an email out a few days after you know a customer has received a product asking if they need any assistance, and, if not, would they please leave a review. Simple tricks like this will really help your SEO!


Track of Other Websites

seo competitor analysis

Always keep your eyes and ears open in evaluating and compiling the list of keyword search your counterpart sites seems to use in their SEO strategy. And then insight about which keyword is providing the best quality output. Figure out by trying to reach out to the best one by researching yourself. Focus on the product page review of the other websites to give yourself a better idea of organizing your SEO navigation search.

Thursday, January 10, 2019

10 Difference between C++ and C# Programming Language

What is the Difference Between C++ and C#?

difference between C++ and C# | C++ vs C sharp




No.
C++
C#

1.
C++ is a low-level language.
C# is a High-level Language.

2.
It supports the multiple inheritances.
It does not support multiple inheritances.

3.
In C++, you require to manage memory manually.
C# automatically manages Memory.

4.
In C++, after compiling code changed into machine code.
In C#, after compiling code is changed into an intermediate language code.

5.
C++ used for developed console applications.
C# programming used for Windows, mobile, and console applications.

6.
for Each loop is not supported in C++.
for Each loop support in C#.

7.
C++ does not support garbage collection.
C# supports garbage collection.

8.
C++ Does not support bound checking of arrays.

C# Support bound checking of arrays.
9.
Using this language can create a standalone application.

Using this language cannot create a standalone application.
10.
In C++, you can use pointer anywhere in the programme.

In C#, Only in Unsafe mode, you can use a pointer.

Sunday, December 30, 2018

Control Statement in PHP with Example

PHP Control Statement

What is Control Statement in PHP?

A block of code which decide the execution way of programme according to the value of the given condition.
PHP Control Statement with Example

There are some control statements that PHP supports.

1. PHP if Statement

If a given condition is true, only then if statement will execute.
Syntax:
if(condition) {
block1 of code;
}

if Statement Example: 
<?php
if ($15 > $10)
echo “15 is greater than 10”;
?>

Output:
15 is greater than 10

2. PHP if…else Statement

In PHP, if a statement is executed only when a specified condition is true. It evaluated to its Boolean values. If the condition is FALSE, it’ll ignore it.
Syntax:
if(condition) {
block1 of code
}else {
block2 of code
}

if - else Statement Example: Find a largest number between two numbers using if else statement;
<?php
$first_value = 5;
$second_value = 10;
if($first_value > $second_value) {
echo “$first_value is greater than $second_value”;
} else {
echo  “$second_value is greater than $first_value”;
}
?>
Output:
10 is greater than 5

3. PHP if….elseif….else Statement 

With this statement, you can select one of several blocks of code to be executed.
Syntax:
if (condition)
first blockto be executed if condition is true;
elseif (condition)
Second block to be executed if condition is true;
else
final block to be executed if condition is false;
if -else if else statement Example:
<?php
$d = date("D");
if($d == "Thu"){
echo "Have a nice weekend!";
} elseif($d == "Sun"){
echo "Have a nice Sunday!";
} else{
echo "Have a nice day!";
}
?>

Output:
Have a nice day!

4. PHP Switch Statement

It is like IF statements. If you want to select one of several blocks of code to be executed, use the Switch statement.
Syntax:
switch ( )
{
case1
break;
case2
break;
default:
default code
break;
}
?>

PHP Switch case Statement Example:
<?php
         $d = date("D");

         switch ($d){
            case "Mon":
               echo "Today is Monday";
               break;

            case "Tue":
               echo "Today is Tuesday";
               break;

            case "Wed":
               echo "Today is Wednesday";
               break;

            case "Thu":
               echo "Today is Thursday";
               break;

            case "Fri":
               echo "Today is Friday";
               break;

            case "Sat":
               echo "Today is Saturday";
               break;

            case "Sun":
               echo "Today is Sunday";
               break;

            default:
               echo “which day is this ?";
         }
      ?>

Output:
Today is Wednesday