2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder. What is the smallest positive number that is evenly divisible by all of the numbers from 1 to n?
00:00 - Introduction 01:30 - Working 08:30 - Solution
-————————————————————————————————————- Project Euler (named after Leonhard Euler) is a website dedicated to a series of computational problems intended to be solved with computer programs. The project attracts adults and students interested in mathematics and computer programming. Since its creation in 2001 by Colin Hughes, Project Euler has gained notability and popularity worldwide. It includes over 700 problems, with a new one added once every one or two weeks. Problems are of varying difficulty, but each is solvable in less than a minute of CPU time using an efficient algorithm on a modestly powered computer. As of 5 April 2020, Project Euler has more than 1,000,000 users, from all over the world, who have solved at least one problem.
NOTE: I am not a teacher by any means, these videos are just to help me improve my understanding.
At 10:10, I meant to say set the HIGHEST value.
We'll create two linear scales to dynamically scale the circles in a scatter plot. We need to create a scale to position our circle on the x axis, as well as another for the y axis, with our min and max values for the domain and SVG dimensions for the range. We'll alter our range to add some padding to ensure extreme values are visible within our SVG area.
Link to challenge : https://www.freecodecamp.org/learn/data-visualization/data-visualization-with-d3/use-dynamic-scales
Concepts:
d3.min(iterable[, accessor])
Returns the minimum value in the given iterable using natural order. If the iterable contains no comparable values, returns undefined. An optional accessor function may be specified, which is equivalent to calling Array.from before computing the minimum value.
Unlike the built-in Math.min, this method ignores undefined, null and NaN values; this is useful for ignoring missing data. In addition, elements are compared using natural order rather than numeric order.
https://github.com/d3/d3-array#min
d3.max(iterable[, accessor])
Returns the maximum value in the given iterable using natural order. If the iterable contains no comparable values, returns undefined. An optional accessor function may be specified, which is equivalent to calling Array.from before computing the maximum value.
Unlike the built-in Math.max, this method ignores undefined values; this is useful for ignoring missing data. In addition, elements are compared using natural order rather than numeric order.
https://github.com/d3/d3-array#max
d3.scaleLinear([[domain, ]range])
Constructs a new continuous scale with the specified domain and range, the default interpolator and clamping disabled. If either domain or range are not specified, each defaults to [0, 1]. Linear scales are a good default choice for continuous quantitative data because they preserve proportional differences. Each range value y can be expressed as a function of the domain value x: y = mx + b.
https://github.com/d3/d3-scale#linear-scales
continuous.domain([domain])
If domain is specified, sets the scale’s domain to the specified array of numbers. The array must contain two or more elements. If the elements in the given array are not numbers, they will be coerced to numbers. If domain is not specified, returns a copy of the scale’s current domain.
https://github.com/d3/d3-scale#continuous_domain
continuous.range([range])
If range is specified, sets the scale’s range to the specified array of values. The array must contain two or more elements. Unlike the domain, elements in the given array need not be numbers; any value that is supported by the underlying interpolator will work, though note that numeric ranges are required for invert. If range is not spe
...
https://www.youtube.com/watch?v=NZKJYwLdPQA
IMPORTANT - You must use Helmet version 2.3.0 to pass this test!
Caching can be useful to improve performance, but we may need to disable it for security updates or development. Helmet's noCache() middleware can set some Headers to disable most types of caching.
Link to Challenge : https://www.freecodecamp.org/learn/information-security/information-security-with-helmetjs/disable-client-side-caching-with-helmet-nocache
Written Guide: https://www.notion.so/ganeshh123/Disable-Client-Side-Caching-with-helmet-noCache-8d8699473b3245cc959d2d76c29d95ad
Full Playlist for this course : https://www.youtube.com/playlist?list=PLhGp6N0DI_1TeEsQOdf1JmV8PnkQfEpQ4
All Writen Guides for this course : https://www.notion.so/ganeshh123/8ba82d9d1ff84c4583d6e9418ebe426b
All My Tutorials can be found at : https://www.notion.so/Tutorials-Ganesh-H-293ea420d34a464f9a1907e0405b5f26
00:00 - Introduction
00:05 - What is Caching?
00:15 - Why might we want to disable Caching?
00:33 - Headers to disable Caching
01:07 - Use Helmet version 2.3.0
01:29 - Setting the Headers - helmet.noCache()
Sets four headers, disabling a lot of browser caching.
https://github.com/helmetjs/nocache
01:55 - Testing
-————————————————————————————————————-
HelmetJS is a type of middleware for Express-based applications that automatically sets HTTP headers to prevent sensitive information from unintentionally being passed between the server and client. While HelmetJS does not account for all situations, it does include support for common ones like Content Security Policy, XSS Filtering, and HTTP Strict Transport Security, among others. HelmetJS can be installed on an Express project from npm, after which each layer of protection can be configured to best fit the project.
freeCodeCamp (also referred to as “Free Code Camp”) is a non-profit organization that consists of an interactive learning web platform, an online community forum, chat rooms, online publications and local organizations that intend to make learning web development accessible to anyone. Beginning with tutorials that introduce students to HTML, CSS and JavaScript, students progress to project assignments that they complete either alone or in pairs. Upon completion of all project tasks, students are partnered with other nonprofits to build web applications, giving the students practical development experience.
freeCodeCamp (also referred to as “Free Code Camp”) is a non-profit organization that consists of an interactive learning web platform, an online community forum, chat rooms, online publications and local organizations that intend to make learning web development accessible to anyone. Beginning with tutorials that introduce students to HTML, CSS and Jav
...
https://www.youtube.com/watch?v=aKkm-ddvxfs
IMPORTANT - Helmet version 2.3.0 is needed to pass this test!
A hacker could trick a user into giving away information by presenting a legitimate site in an iframe, with hidden elements. We can use a helmet middleware to ensure that our express app cannot be presented in iframes on different domains.
Link to Challenge : https://www.freecodecamp.org/learn/information-security/information-security-with-helmetjs/mitigate-the-risk-of-clickjacking-with-helmet-frameguard
Written Guide: https://www.notion.so/ganeshh123/Mitigate-the-Risk-of-Clickjacking-with-helmet-frameguard-031cdeb73bf34205953dff557d67e7dc
Full Playlist for this course : https://www.youtube.com/playlist?list=PLhGp6N0DI_1TeEsQOdf1JmV8PnkQfEpQ4
All Writen Guides for this course : https://www.notion.so/ganeshh123/8ba82d9d1ff84c4583d6e9418ebe426b
All My Tutorials can be found at : https://www.notion.so/Tutorials-Ganesh-H-293ea420d34a464f9a1907e0405b5f26
00:00 - Introduction
00:04 - What is Clickjacking?
Clickjacking (classified as a User Interface redress attack, UI redress attack, UI redressing) is a malicious technique of tricking a user into clicking on something different from what the user perceives, thus potentially revealing confidential information or allowing others to take control of their computer while clicking on seemingly innocuous objects, including web pages
https://en.wikipedia.org/wiki/Clickjacking
01:39 - Use Helmet version 2.3.0
02:02 - Preventing iframe Access - helmet.frameguard()
helmet.frameguard sets the X-Frame-Options header to help you mitigate clickjacking attacks.
https://github.com/helmetjs/helmet/tree/master/middlewares/x-frame-options#x-frame-options-middleware
03:33 - Testing the Frame Guard
04:02 - Explanation of Solution
-————————————————————————————————————-
HelmetJS is a type of middleware for Express-based applications that automatically sets HTTP headers to prevent sensitive information from unintentionally being passed between the server and client. While HelmetJS does not account for all situations, it does include support for common ones like Content Security Policy, XSS Filtering, and HTTP Strict Transport Security, among others. HelmetJS can be installed on an Express project from npm, after which each layer of protection can be configured to best fit the project.
freeCodeCamp (also referred to as “Free Code Camp”) is a non-profit organization that consists of an interactive learning web platform, an online community forum, chat rooms, online publications and local organizations that intend to make learning web development accessible to anyone. Beginning with tutorials that introduce students to HTML, CSS and JavaScript, students progress to project assignments that the
...
https://www.youtube.com/watch?v=IJ_PcaM1cDg
To create a registration form, in the POST route, we should create the user's document in the database if it doesn't exist, and then authenticate them using their new details.
Link to Challenge : https://www.freecodecamp.org/learn/quality-assurance/advanced-node-and-express/registration-of-new-users
Written Guide: https://www.notion.so/ganeshh123/Registration-of-New-Users-95c5dde654c44bc0b84596b0ded5c59a
Full Playlist for this course : https://www.youtube.com/playlist?list=PLhGp6N0DI_1RL9djhgSH65pZhJ6xSyKX8
All Writen Guides for this course : https://www.notion.so/ganeshh123/ccf6039186334f83a54c1c9216f30e3c
All My Tutorials can be found at : https://www.notion.so/Tutorials-Ganesh-H-293ea420d34a464f9a1907e0405b5f26
00:00 - Introduction
00:16 - Registration Form
01:08 - POST Route
01:25 - 3 Steps to Registering a User
01:44 - Getting Form Data - bodyParser.urlEncoded()
Returns middleware that only parses urlencoded bodies and only looks at requests where the Content-Type header matches the type option. A new body object containing the parsed data is populated on the request object after the middleware (i.e. req.body).
https://github.com/expressjs/body-parser#bodyparserurlencodedoptions
02:18 - Middleware for Database Work
02:38 - Check if User Already Exists - db.collection.findOne()
Returns one document that satisfies the specified query criteria on the collection or view. If multiple documents satisfy the query, this method returns the first document according to the natural order which reflects the order of documents on the disk.
https://docs.mongodb.com/manual/reference/method/db.collection.findOne/
04:34 - Creating a User Document in the Database - db.collection.insertOne()
Inserts a single document into MongoDB. If documents passed in do not contain the _id field,
one will be added to each of the documents missing it by the driver, mutating the document.
http://mongodb.github.io/node-mongodb-native/3.6/api/Collection.html#insertOne
06:40 - Logging in the New User - passport.authenticate()
This function returns a middleware which runs the strategies. If one of the strategies succeeds, this will set req.user. If you pass no options or callback, and all strategies fail, this will write a 401 to the response.
https://github.com/jwalton/passport-api-docs#passportauthenticatestrategyname-options-callback
07:32 - Redirecting the User to their Profile
08:40 - Testing the Registration
10:30 - Challenge Solution
16:06 - Explanation of Solution
-————————————————————————————————————-
Node.js is an open-source, cross-platform, JavaScript runtime environment that executes JavaScript code outside a web browser. Node.js lets developers use JavaScript to write command line tools and for
...
https://www.youtube.com/watch?v=APQKQEbZm0M
Implement an algorithm to determine if a string has all unique characters. What if you cannot use additional data structures?
00:00 - Problem Introduction
01:10 - Brute Force Solution
07:45 - Optimizations
09:10 - Manual Method
10:32 - Optimal Solution - HashMap Optimization
19:08 - Implementation
22:42 - Testing
25:08 - Part B Optimal Solution - Sorting
31:46 - Part B Implementation
33:16 - Part B Testing
34:20 - Summary
————————————————————————————————————
Written Guides & Tutorials: https://tutorials.gn3.sh
NOTE: I am not a teacher by any means, these videos are just to help me improve my understanding.
Thanks for Watching!
...
https://www.youtube.com/watch?v=GxDmv-EeWIg
I KNOW IT CAME OUT IN 2001
[Welcome to my first review! I will be reviewing windows xp. Please don't be too harsh as this is my first time doing this.]
Windows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base. The name "XP" is short for "eXPerience", highlighting the enhanced user experience.
Made by GaneshPC
Comment, Like, Share, and Subscribe.
...
https://www.youtube.com/watch?v=qBYeUVH6a-A
We can apply inline CSS styles from d3 using the style() method. It takes in two arguments, a key which represents the CSS property, followed by a value, both as strings. We call this method on selections
Link to challenege : https://www.freecodecamp.org/learn/data-visualization/data-visualization-with-d3/add-inline-styling-to-elements
Concepts:
selection.style(name[, value[, priority]])
If a value is specified, sets the style property with the specified name to the specified value on the selected elements and returns this selection. If the value is a constant, then all elements are given the same style property value; otherwise, if the value is a function, it is evaluated for each selected element, in order, being passed the current datum (d), the current index (i), and the current group (nodes), with this as the current DOM element (nodes[i]). The function’s return value is then used to set each element’s style property. A null value will remove the style property. An optional priority may also be specified, either as null or the string important (without the exclamation point).
If a value is not specified, returns the current value of the specified style property for the first (non-null) element in the selection. The current value is defined as the element’s inline value, if present, and otherwise its computed value. Accessing the current style value is generally useful only if you know the selection contains exactly one element.
https://github.com/d3/d3-selection/blob/v1.4.1/README.md#selection_style
-————————————————————————————————————-
D3.js (also known as D3, short for Data-Driven Documents) is a JavaScript library for producing dynamic, interactive data visualizations in web browsers. It makes use of Scalable Vector Graphics (SVG), HTML5, and Cascading Style Sheets (CSS) standards.
freeCodeCamp (also referred to as “Free Code Camp”) is a non-profit organization that consists of an interactive learning web platform, an online community forum, chat rooms, online publications and local organizations that intend to make learning web development accessible to anyone. Beginning with tutorials that introduce students to HTML, CSS and JavaScript, students progress to project assignments that they complete either alone or in pairs. Upon completion of all project tasks, students are partnered with other nonprofits to build web applications, giving the students practical development experience.
Thanks for Watching!
...
https://www.youtube.com/watch?v=kz_8bgurE7Y
C++ can store some characters, using only 1 byte of memory. It does this by storing its numerical ASCII value.
Written Guide and Source Code : https://www.notion.so/ganeshh123/How-Chars-are-Stored-into-Memory-17bd38db97a24f95873676cd3c971e33
Full Playlist: https://www.youtube.com/playlist?list=PLhGp6N0DI_1TzGLCbiF0oYxbckUR9mXra
C++ Written Guides : https://www.notion.so/ganeshh123/723a5a8dc0e04461b75b58a50e490024
All My Tutorials can be found at : https://www.notion.so/Tutorials-Ganesh-H-293ea420d34a464f9a1907e0405b5f26
00:00 - Declaring a Character
00:19 - char: Allocates 1 Byte of Memory
00:28 - firstLetter : Storing Memory Address with the Variable
00:39 - ='a' : Storing the ASCII value into Memory
01:16 - What the Memory will look like
01:39 - Retrieving the Data as a Character
02:34 - Demonstration of Character Storage
-————————————————————————————————————-
C++ is a general-purpose programming language created by Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significantly over time, and modern C++ now has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation. It is almost always implemented as a compiled language, and many vendors provide C++ compilers, including the Free Software Foundation, LLVM, Microsoft, Intel, Oracle, and IBM, so it is available on many platforms.
C++ was designed with a bias toward system programming and embedded, resource-constrained software and large systems, with performance, efficiency, and flexibility of use as its design highlights. C++ has also been found useful in many other contexts, with key strengths being software infrastructure and resource-constrained applications, including desktop applications, video games, servers (e.g. e-commerce, Web search, or SQL servers), and performance-critical applications (e.g. telephone switches or space probes).
NOTE: I am not a teacher by any means, these videos are just to help me improve my understanding.
Thanks for Watching!
...
https://www.youtube.com/watch?v=pKIqtpF_fB0
Similar to how the tilde we learned about in the last challenge allows npm to install the latest PATCH for a dependency, the caret (^) allows npm to install future updates as well. The difference is that the caret will allow both MINOR updates and PATCHes.
Link to challenge : https://www.freecodecamp.org/learn/apis-and-microservices/managing-packages-with-npm/use-the-caret-character-to-use-the-latest-minor-version-of-a-dependency
Written Guide : https://www.notion.so/ganeshh123/Use-the-Caret-Character-to-Use-the-Latest-Minor-Version-of-a-Dependency-b654b36ba1ae44d9bb373f879d40b5d8
Full Playlist for this course : https://www.youtube.com/playlist?list=PLhGp6N0DI_1RO7qDtCW9Cn9FyRJ1Dk6xk
All Writen Guides for this course : https://www.notion.so/ganeshh123/4d5e59dbe72940aeb68fe6f38ebf28e1
All My Tutorials can be found at : https://www.notion.so/Tutorials-Ganesh-H-293ea420d34a464f9a1907e0405b5f26
Concepts:
Caret Ranges
Allows changes that do not modify the left-most non-zero digit in the [major, minor, patch] tuple. In other words, this allows patch and minor updates for versions 1.0.0 and above, patch updates for versions 0.X more than 0.1.0, and no updates for versions 0.0.X.
https://docs.npmjs.com/misc/semver#caret-ranges-123-025-004
Semantic Versioning
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards compatible manner, and
- PATCH version when you make backwards compatible bug fixes.
https://semver.org/
package.json
All npm packages contain a file, usually in the project root, called package.json - this file holds various metadata relevant to the project. This file is used to give information to npm that allows it to identify the project as well as handle the project's dependencies. It can also contain other metadata such as a project description, the version of the project in a particular distribution, license information, even configuration data - all of which can be vital to both npm and to the end users of the package. The package.json file is normally located at the root directory of a Node.js project.
https://nodejs.org/en/knowledge/getting-started/npm/what-is-the-file-package-json/
-————————————————————————————————————-
The Node Package Manager (npm) is a command-line tool used by developers to share and control modules (or packages) of JavaScript code written for use with Node.js.
freeCodeCamp (also referred to as “Free Code Camp”) is a non-profit organization that consists of an interactive learning web platform, an online community forum, chat rooms, online publications and local organizations that intend to make learning web development acce
...
https://www.youtube.com/watch?v=UiJF0LeVg90