Pull to refresh

All streams

Show first
Period
Level of difficulty

Our Small Contribution to Avalonia UI's Fight for Fewer Platforms

Reading time11 min
Views992

Рисунок 2

This article is a review of the bugs found in the Avalonia UI project with the static analyzer PVS-Studio. Avalonia UI is an open-source cross-platform XAML-based UI framework. This is one of the most technologically significant projects in the history of .NET as it enables developers to create cross-platform interfaces based on the WPF system. We hope the project's authors will find this article helpful in fixing some of the bugs, and convincing enough to make static analysis part of their development process.
Read more →

Announcing .NET Core 3.1

Reading time6 min
Views3.5K
We’re excited to announce the release of .NET Core 3.1. It’s really just a small set of fixes and refinements over .NET Core 3.0, which we released just over two months ago. The most important feature is that .NET Core 3.1 is an long-term supported (LTS) release and will be supported for three years. As we’ve done in the past, we wanted to take our time before releasing the next LTS release. The extra two months (after .NET Core 3.0) allowed us to select and implement the right set of improvements over what was already a very stable base. .NET Core 3.1 is now ready to be used wherever your imagination or business need takes it.

You can download .NET Core 3.1, for Windows, macOS, and Linux:


ASP.NET Core and EF Core are also being released today.

Visual Studio 2019 16.4 was also released today and includes .NET Core 3.1. It is a required update to use .NET Core 3.1 with Visual Studio. For Visual Studio 2019 users, we recommend simply updating Visual Studio to 16.4 and instead of separately downloading .NET Core 3.1.

Visual Studio for Mac also supports and includes .NET Core 3.1, in the Visual Studio for Mac 8.4 Preview channel. You will need to opt into the Preview channel to use .NET Core 3.1.

Release notes:



Read more →

MVCC in PostgreSQL-3. Row Versions

Reading time13 min
Views8.8K
Well, we've already discussed isolation and made a digression regarding the low-level data structure. And we've finally reached the most fascinating thing, that is, row versions (tuples).

Tuple header


As already mentioned, several versions of each row can be simultaneously available in the database. And we need to somehow distinguish one version from another one. To this end, each version is labeled with its effective «time» (xmin) and expiration «time» (xmax). Quotation marks denote that a special incrementing counter is used rather than the time itself. And this counter is the transaction identifier.

(As usual, in reality this is more complicated: the transaction ID cannot always increment due to a limited bit depth of the counter. But we will explore more details of this when our discussion reaches freezing.)
Read more →

How to Choose the Right 3D Printing Filament?

Reading time4 min
Views1.3K
image

Are you ready to get started with 3D printing but just aren’t sure about what filament you’re using? You’re definitely not alone because with the multitude of different filaments out there it can really get complicated. You find yourself overwhelmed while you’re trying to research because it seems like everyone has a different idea of what the best option is and it can easily seem like you’re being pulled in different directions. So, let’s take a closer look at how you can make the right decision.
Read more →

.NET Core with Jupyter Notebooks Preview 1

Reading time3 min
Views1.9K
When you think about Jupyter Notebooks, you probably think about writing your code in Python, R, Julia, or Scala and not .NET. Today we are excited to announce you can write .NET code in Jupyter Notebooks.

Try .NET has grown to support more interactive experiences across the web with runnable code snippets, interactive documentation generator for .NET core with dotnet try global tool, and now .NET in Jupyter Notebooks.

Read more →

Authenticate me. If you can…

Reading time14 min
Views7.9K


I frequently hear questions like "How to implement authentication in an Android app?", "Where to store a PIN?", "Hey man, will I be secure if I implement an authentication feature in such a way?" and a lot of the kind. I got really tired answering these questions so I decided to write all my thoughts about it once to share with all questioners.

Read more →

MVCC in PostgreSQL-2. Forks, files, pages

Reading time11 min
Views5.9K
Last time we talked about data consistency, looked at the difference between levels of transaction isolation from the point of view of the user and figured out why this is important to know. Now we are starting to explore how PostgreSQL implements snapshot isolation and multiversion concurrency.

In this article, we will look at how data is physically laid out in files and pages. This takes us away from discussing isolation, but such a digression is necessary to understand what follows. We will need to figure out how the data storage is organized at a low level.

Relations


If you look inside tables and indexes, it turns out that they are organized in a similar way. Both are database objects that contain some data consisting of rows.

There is no doubt that a table consists of rows, but this is less obvious for an index. However, imagine a B-tree: it consists of nodes that contain indexed values and references to other nodes or table rows. It's these nodes that can be considered index rows, and in fact, they are.

Actually, a few more objects are organized in a similar way: sequences (essentially single-row tables) and materialized views (essentially, tables that remember the query). And there are also regular views, which do not store data themselves, but are in all other senses similar to tables.

All these objects in PostgreSQL are called the common word relation. This word is extremely improper because it is a term from the relational theory. You can draw a parallel between a relation and a table (view), but certainly not between a relation and an index. But it just so happened: the academic origin of PostgreSQL manifests itself. It seems to me that it's tables and views that were called so first, and the rest swelled over time.
Read more →

New Dark Theme Available on Visual Studio App Center

Reading time1 min
Views1.9K
We are committed to building Visual Studio App Center for you. Thanks to you taking the time to request features via our Github repo, we are excited to announce that dark theme is available in App Center.

In the next few screens, you can get an idea of how App Center’s dark theme looks:


App Center Distribute in Dark theme


App Center Test in Dark theme
Read more →

Geolocation and geoposition — mega-tool

Reading time5 min
Views2.9K

Introduction


Today, geolocation and geo-positioning have turned into a state that we did not dream about 60 years ago, during the first thoughts about creating an Internet network.

This article was prepared thanks to the IPGeolocation.io

Cartography has turned into a miracle — from insanely large sheets of paper to what fits in the palm of your hand.

Today, maps are used not only to search for a cultural center in Paris, but to be able to find everything:

  • nearest hotel
  • pharmacy or hospital
  • grocery store
  • university or school
  • Pink Concert venue in San Francisco

The transformation of technology will not stop there. It will be better and more accurate than ever.

Evolution in time


Let's see how the evolution of geolocation began. The journey of this phenomenon begins in ancient times.

Excursion into the past
Read more →

Modern Presentation Format?

Reading time7 min
Views3.4K

Nowadays, when VR helmets have become part of our reality and Tesla cars fly in space, you can use all the power of browser engines to create truly interactive, cross-platform and stylish presentations, rather than make a set of PPTX pages or, even worse, a PDF document in "illustrative material for explanatory and calculation report" style.



Since 2015, I have been trying to find the optimal presentation format for myself (apart from graduation projects). And now I think I have almost succeeded. It all started with PowerPoint, and ended with web frameworks based on JavaScript.


There are several JavaScript engines which can be used to create cool presentations: Marp, Reveal, landslide, hacker-slides, slidify and others. In some engines, you can use Markdown, some are embedded in an IDE, and some have their own editors. I have tried the first two engines.


As a demonstration, slide examples and video are available.

Read more →

How to receive data from Google Analytics using R in Microsoft SQL Server

Reading time9 min
Views3.3K

In this article I want to show in detail how you can use R in Microsoft SQL Server to get data from Google Analytics (and generally from any API).


The task — we have MS SQL server and we want to receive data in DWH by API


We will use googleAnalyticsR package to connect to Google Analytics (GA).


This package is chosen as an example due to its popularity. You can use another package, for example: RGoogleAnalytic.
Approaches to problem solving will be the same.

Read more →

Security and censorship circumvention: 5 VPN and proxies for Google Chrome

Reading time2 min
Views3.2K
Nowadays, privacy and censorship are the top problems for internet users. There are hackers who want to steal your data, governments, and corporations, which imply block and restrict freedom. Here is the list of five tools to protect your web browsing and circumvent censorship.
Read more →

PHP microservice framework — Swoft

Reading time3 min
Views5K


Swoft is a PHP high performance microservice coroutine framework. It has been published for many years and has become the best choice for php. It can be like Go, built-in coroutine web server and common coroutine client and is resident in memory, independent of traditional PHP-FPM. There are similar Go language operations, similar to the Spring Cloud framework flexible annotations.


Github

Read more →

On the way to durable applications with PSKOV static site generator as an example

Reading time4 min
Views1.4K

Pskov's veche


Hi, my name is Michael Kapelko. I have been developing software professionally for more than 10 years. I develop games and game development tools in my spare time.


This article describes my first durable application for desktop PCs: PSKOV static site generator.


Durability


A durable application is an application that functions without a single change on operating systems released in years 2010-2030. In other words, a durable application has backward compatibility of 10 years and has the stability to run for 10 years. Actually, PSKOV runs even under Windows 2000, so PSKOV has backward compatibility of 19 years.

Read more →

How to use PHP to implement microservices?

Reading time8 min
Views14K

Swoft


Why should talk service governance?


With the increasing popularity of the Internet, the traditional MVC architecture has become more and more bloated and very difficult to maintain as the scale of applications continues to expand.


We need to take actions to split a large system into multiple applications according to business characteristics. For example, a large e-commerce system may include user system, product system, order system, evaluation system, etc., and we can separate them into multiple individual applications. The characteristics of multi-application architecture are applications run independently and they are unable to call each other.

Read more →

Configuration file htaccess

Reading time8 min
Views11K
Let’s begin from a far distance with the goal that the novices can see how the file described in the article works. To work the website on the Internet, you need not just a PC and access to the network, yet additionally, extraordinary programming introduced on it, which gives access to information utilizing the HTTP and HTTPS conventions. This product is the web server. There are different sorts of web servers, however, the most widely recognized is Apache. It is based on the open-source code, free, is continually being improved and enhanced, compatible with many scripts, and works on almost all platforms, including Windows, Linux, Netware 5.x.
Read more →

Evolution of every developer's most popular tool (in Visual Studio)

Reading time2 min
Views9.3K
Every development environment has a tool called «Output». There is no need to describe what it does, since all developers without exception use it in their work on a daily basis. It is simple and conservative. 

It has remained essentially unchanged for decades, and to this day looks something like this:


Text, text, and more text. Lots of text...

Even in this tiny example the line containing the error is not immediately apparent. Finding it takes time and effort. Simply because one has to read through the text and search for the words «error», «exception» or «warning». The programmer has to search, and the client has to pay for the time spent searching.
Read more →

Dynamically generating robots.txt for ASP.NET Core sites based on environment

Reading time3 min
Views1.9K

I'm putting part of older WebForms portions of my site that still run on bare metal to ASP.NET Core and Azure App Services, and while I'm doing that I realized that I want to make sure my staging sites don't get indexed by Google/Bing.


I already have a robots.txt, but I want one that's specific to production and others that are specific to development or staging. I thought about a number of ways to solve this. I could have a static robots.txt and another robots-staging.txt and conditionally copy one over the other during my Azure DevOps CI/CD pipeline.


Then I realized the simplest possible thing would be to just make robots.txt be dynamic. I thought about writing custom middleware but that sounded like a hassle and more code that needed. I wanted to see just how simple this could be.


Read more →