📜 ⬆️ ⬇️

Some interesting and useful things for web developer # 44

Good day, dear habravchane. Recently, I saw some interesting and useful tools / libraries / events that I want to share with Habr.

ExpandJS



A huge project where the specification of web components is used to its fullest. ExpandJS is a collection of over 80 components and over 350 different functions for working with them. And all this is available as a frame, but also in the trendy Material Design style.

<!-- Import elements --> <link rel="import" href="../mat-content.html"> <link rel="import" href="../mat-drawer.html"> <link rel="import" href="../mat-header-panel.html"> <link rel="import" href="../mat-shell.html"> <!-- Application scaffold --> <mat-shell theme="..."> <mat-drawer>...</mat-drawer> <mat-header-panel> <mat-header>...</mat-header> <mat-content>...</mat-content> </mat-header-panel> <mat-drawer right>...</mat-drawer> </mat-shell> 


Globalize


I would like to immediately emphasize that this is a project from the jQuery team, intended for the internationalization and localization of your projects. Using this library, formatting and parsing dates, currencies and the content itself will become much more convenient. All data is provided in Unicode CLDR JSON format. And the written code will be modular, separate from i18n.
')
 .dateParser({ skeleton: "GyMMMd" })( "Nov 30, 2010 AD" ) // > new Date( 2010, 10, 30, 0, 0, 0 ) .messageFormatter( "like" )( 3 ) // > "You and 2 others liked this" .numberFormatter({ minimumFractionDigits: 2 })( 10000 ) // > "10,000.00" .currencyFormatter( "USD", { style: "code" })( 69900 ) // > "69,900.00 USD" 


Vault



Vault is a very cool thing on Go that allows you to store and manage (leasing, updating, deactivating) passwords, tokens, certificates, API and other secrets. Another great thing is that the developers have created a simple and clear online training course on working with Vault. The project gathered more than 2,000 stars on GitHub.

Clusterize.js


Library for competent rendering of a huge amount of data. If you need to display a table with several hundreds of thousands of lines, you will be awaited by the problem of the browser hanging Clusterize.js solves it completely, by splitting the elements into clusters, which are shown at a specific scrolling position and creating artificial indents from the top and bottom. Limitations:
  var data = ['…', '…', …]; var clusterize = new Clusterize({ rows: data, scrollId: 'scrollArea', contentId: 'contentArea' }); 


oriDomi



Stunning independent JavaScript library that turns any element or image into a sheet of paper that can be folded and displayed differently in perspective with many different variations. "The web is flat, but now you can fold it up."

 var folded = new OriDomi('.paper', { vPanels: 5, // number of panels when folding left or right (vertically oriented) hPanels: 3, // number of panels when folding top or bottom speed: 1200, // folding duration in ms ripple: 2, // backwards ripple effect when animating shadingIntesity: .5, // lessen the shading effect perspective: 800, // smaller values exaggerate 3D distortion maxAngle: 40, // keep the user's folds within a range of -40 to 40 degrees shading: 'soft' // change the shading type }); 


By the way, I will mention Paperfold just in case of fire.

Western thoughts or what would translate to Habré:




They say and show domestic IT resources:




Finally:




For help in preparing the material I express my deep gratitude to Alexander Maslov drakmail .

Friends backenders! I think everyone knows that I am doing my compilations entirely on altruism. I always went through a bunch of websites to make it always convenient to work. And at one point I decided to share the material found. Over time, collections have gained some popularity and significantly expanded in terms of content. From now on, I will clearly structure the “Finally” block so that people do not have to look for what they need. In order for the sections not to be bare and always filled with relevant information, I need your help. And the problem is not only in time, but also in competence. In terms of backend, I am rather a theorist than a practitioner.

Pkhshshnik, rubist , pythonist, goschik , if you already monitor GitHub Trending, Reddit, HackerNews or Twitter in search of interesting and useful things on your topic, if you find it definitely has value, but does not deserve the attention of the whole post, if it's not difficult for you once a week / in two weeks, depending on the material to share a pair of kilobytes of reference mass, then write me in a personal or any social. network from profile. Scribble in the main section as desired. The name or contacts of volunteers in each post will be indicated.

Previous selection (Edition 43)

I apologize for any typos. If you notice a problem - please write in a personal.

Thank you all for your attention.

Source: https://habr.com/ru/post/258977/


All Articles