Access to data in multi-user applications

Access to data in multi-user applications The issue of restricting access to data arises in the development of multi-user systems almost always. The main scenarios are as follows:
 
 
 
restriction of access to data for users not authenticated
 
restriction of access to data for authenticated but not possessing the necessary privileges of users
 
prevention of unauthorized access through direct calls to API
 
filtering data in search queries and list elements UI (tables, lists)
 
preventing the change of data belonging to one user by other users
 
 
Scenarios 1-3 are well described and are usually solved using built-in framework tools, for ...
+ 0 -

Consulo UI API from the idea to the prototype

Consulo UI API from the idea to the prototypeHello everyone, I have not written an article about the life of the project on a hub for a long time, I decided to correct it and start perhaps with what I'm working on right now, namely the Consulo UI API.
 
Consulo - This is the IntelliJ IDEA Community Edition fork, which has support for .NET (C #), Java
Research . It was a test of my abilities in this part. At first I used only GWT - to get the information I used the built-in RPC.
 
There was a simple goal - the project was already open, it was only necessary to display
Project Tree
+
Editor Tabs
. At the same time everything should ...
+ 0 -

Principles of software development

Principles of software development
 
Good time of day,% habrauser%! I want to share a short article on the most famous principles of software development. The article will be useful sooner for novice developers, because experienced people are unlikely to find here something new. But newcomers also need to read something.
 
CODE BLOG  Good time of day,% habrauser%! I want to share a short article on the most famous principles of software development. The article will be useful sooner for novice developers, because experienced people are unlikely to find here something new. But newcomers also need to read something.  CODE BLOG ...
+ 0 -

Controversy of design thinking

Hello, Habr! I present to your attention the translation of the article " The divisiveness of design thinking of the author " Jon Kolko.
 
 
Design thinking is "like syphilis," writes Lee Vinsel of the Stevenson Institute of Technology in his recent popular article (1). Other common views on design thinking - Natasha Jen: "Design thinking is nonsense" (2) and, as early as 201? Bruce Nussbaum: "Design thinking is an unsuccessful experiment. What next? "(3).
 
 
If you are not familiar with design thinking, here is the definition from Tim Brown, CEO of the IDEO design consulting firm, "This is ...
+ 0 -

How to choose a prototyping tool in 2018?

Hello, Habr! My name is Sasha the Valiant, I work for the Digital Business Platform team of Sberbank and Sberteha, and I design mobile applications and web projects. Most of my work consists of assembling prototypes of varying degrees of detail for different purposes. New tools and services for design and prototyping are published and updated every day. I conducted a thorough and in-depth study of the tools presented on the market today, and I'll help them figure it out.
 
 
I divided the list into three large groups of functionality and I will analyze each one separately:
 
 
How to choose a prototyping tool in 2018? ...
+ 0 -

Create a calculator with

Create a calculator withmeasurement units.Once I needed to implement a calculator for folding and converting physical quantities. I then had no time limits, so I solved the problem at a high level of abstraction and, accordingly, for a wide range of tasks. I propose to your court my decision.    Imagine that you need to write a calculator that can not just read numbers, but operate with physical (measurable) quantities - add length, convert the amount of something from one unit of measure to another, etc. First of all, let's designate the task a little more specific. We will have these features:  The calculator must support conditionally ...
+ 0 -

As the update to Rust ??? speeded up my code in more than three times

I want to share a small story about the power of LLVM and the advantages of high-level languages ​​over the assembler.
 
 
I work for Parity Technologies, which supports client Parity Ethereum . In this client, we need fast 256-bit arithmetic, which has to be emulated at the software level, because no hardware supports it hardware.
 
 
For a long time we parallelly do two implementations of arithmetic: one on Rust for stable assemblies and one with built-in assembler code (which is automatically used by the nightly version of the compiler). We do this because we store 256-bit numbers as arrays ...
+ 0 -

How to pack three large banks in one site

Until recently, the site vtb.ru fully met the requirements of VTB Bank. But after the accession of the Bank of Moscow and VTB2? it began to cover only a small segment of the expanded array of products and services. Own sites of the Bank of Moscow and VTB24 were to eventually cease to exist. So we had to figure out how to connect all the information so that the user could clearly understand what was happening on his display. In this post we will tell you how to solve this problem and came to the updated vtb.ru, launched in the beginning of the year.
 
 
How to pack three large banks in one site ...
+ 0 -

Figma - we make the system design

Figma - we make the system design
 
 
Greetings to you colleagues! My name is Dmitry Volkov and I have been working in the profession for more than ten years. I decided to write an article for those who create web and mobile design in modern programs.
 
 
Very often there is a problem when the designer made a source code, with which it is hard to work as a developer, and to another designer.
 
 
Therefore, I will share my personal experience in the development of interface design using the example of the popular editor of Figma.
 
 
I will not tell you about Figma, since there are already many articles on this topic. I just want to draw ...
+ 0 -

Common errors that developers allow in UX

I hold the position of a UX consultant for one of the partners of Mendix , and I often have to work with small self-organized teams that create excellent applications for solving internal problems. My task is to improve UX in these applications.
 
 
Common errors that developers allow in UX
 
 
The best moments in my work are when I am completely taken aback by the originality and creativity of approaches to problem solving and I have to explain why some seemingly logical practices are in fact a bad idea.
 
 
All the solutions that I propose here are not the only ones that are true, in each case there are exceptions; consider everything ...
+ 0 -