The Udacity "Version Control with Git course" is magnificent. So satisfied with the way of explanation and materials presentation! Learngitbranching.js.org visualization of Git's most recently used operations, especially branching, provided a much easier perception of such complicated topics. Applaud! Quite excited to see further tutorials:)
- Linux commands, especially which dedicated to printing;
- HTTP methods such as TRACE, HEAD;
- HTTP headers and their usage ;
- Details about the way of how does the caching mechanism work and its validation.
- Websites typically use Basic Authentication.
- Methods and status codes for developing reliable RESTful API;
- Authentication and its mechanisms (MD5, SHA) in conjunction with SSL and TLS;
- Caching for improving the experience on the web by the usage of caching headers, which also provide optimization of bandwidth usage and save time expenditures.
- How the collaboration with other developers happens;
- The difference between the forked repo and the source one and its syncing;
- The king of commits management aka
rebase
; - Tools for the rapid finding of the necessary information in commits history (previously used git log and piped it to grep).
- The power of
git rebase
and its user-friendliness provided by the interactive mode.
Seems like I've become invincible after that task! Just kidding:) More practice is vitally necessary.
- Work with code published in remote repo's;
- Develop on shared repo's;
- Collaborate with people around the globe;
- Keep commits history well-tended.
- Several semantic tags and purposes of their usage;
- Typography details such as the addition of
word-spacing
property value to the default spacing; - Certain information about particularities of grid layouts implementation.
- Making of layouts with grids and flex boxes can be so comfy and even that much flexible. Now I'm 1000% sure that they earned their title!
- Application of tags attributes alongside semantic tags in the markup for gaining higher search engine ranking and as assistance for people with disabilities;
- Creation of responsive web pages' layouts with such PRO techniques as CSS Grid and Flexbox.
- Implementation of CSS animation as a lightweight solution for developing interactive pages.
- Tips for making responsive data tables;
- RWD patterns: Column Drop, Layout Shifter, Mostly Fluid, Off Canvas;
- Average width of the index finger is in the range 16 - 20 mm for most adults, therefore buttons and all "clickable" targets have to be not less than 45 pixels (or have enough space around them) for being finger-friendly;
- Peculiarities of working with viewport and perception of DIP.
- Actually, it's not quite obvious that making the website layout in reverse order (from mobile to desktop) can save you a lot of time and nerves. Thank u for recommending that course!
- Creation of responsive websites for any kind of device with both major and minor breakpoints to fit the need of even the most exacting users and give it a perfect look.
The Responsive Web Design Fundamentals course referred to that course on one of its stages, which provides extremely valuable information on the optimization of images.
Hooli-style Popup can be found here. 🔔
Task sources available here.
ES6 brought happiness to my life by providing such features as:
const
andlet
as an appropriate way of defining variables with limited scope peculiarities that make code much stable;- Arrow functions with their concise syntaxis allowing to omit near a half of function's syntaxis constructions in its declaration;
- Template literal strings in conjunction with interpolation (totally in love with it);
- Built-in module system capable of easily
import
andexport
any necessary code; - Incredibly powerful and flexible spread operator
...
- To what extent ES6 and functional programming(FP) facilitate developers' lives by offering the great opportunities mentioned above.
- Development of easily maintainable, stable code with high performance by using the ES6 standard and FP approaches.
JavaScript DOM task demo can be found here.
Task sources available here.
- Methods of DOM manipulation, DOM's structure, and how it can be accessed;
- Ways of creating content and adding it to the DOM;
- Peculiarities of page rendering with reflow and repaint and ways of its optimization while adding new content;
- Phases of events, how it influences of listeners invocation;
- Events delegation model for the avoidance of redundant events listeners creation.
- The concurrency model presented by event loops and the whole scheme defining how events performed.
- Unlimited abilities! Let's start from the usage of JavaScript for creating pages with dynamic data and manipulating its content.
Object Oriented JS task demo can be found here. Enjoy! 🎅
Task sources available here.
- Scopes and closures;
This
such a great thing which allows you easily referencing the certain object for manipulation and what it is considered to be due to the invocation context;- Super- and subclasses themselves and their usage for duplication reduction
- Inheritance chaining model presented by prototype and how it influences on the end objects
- Creation of flexible code that can be easily reused and extended
OOP task demo can be found here.
Task sources available here.
Gaining benefits from incremental learning 😌
The information that definitely needs absorbing.
- Service Workers API, SWs lifecycle
- Browser cache, its structure, and how to interact with it
- IndexedDB and how it can be used for providing offline-first web app
- The fact that Service Workers act as proxies, therefore any request can be responded with custom content
- To perform any operation with DB you have to start a transaction
- Creation of offline web applications for better UX by applying Service Workers API means, caches, and built-in DB, for instance, IndexedDB
Sincerely hope that these tips will help someone to run the Wittr project much faster than I did (tested with Linux):
- Install
nvm
to manage the different node version. Installation instructions can be found here. - Important! Install node v10.17.0.
- If you've several versions of node installed, don't forget to switch to the correct one via
nvm use v10.17.0
. - To check which node version you are using try
node -v
. - Fix problems with node packages via installing missed one with
npm i packageName@version
. The whole list of packages versions is available here.
If you are feeling totally oppressed, check this one.
P.S. If there are no images after running the application, add this code to your /server/Server.js
file.
Memory pair game can be found here.
Task sources available here.
Enjoy training your memory! 👾
Friends app can be found here. 👬
Task sources available here.