Pull to refresh

Development

Show first
Period
Level of difficulty

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 →

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 →

Key factors of a Successful Team Enablement

Reading time11 min
Views797

The enablement team plays a key role in the initial and ongoing success of employees. When training is set up properly, the company starts receiving value from the new employee much sooner.


So what are the key factors that have directly affect how quickly and efficiently new team members get onboarded? For a first-person account, we decided to speak with Adler Chan, the head of the Customer Enablement team at Wrike.


image

Read more →

Announcing .NET Core 3.0 Preview 6

Reading time8 min
Views1.2K

Today, we are announcing .NET Core 3.0 Preview 6. It includes updates for compiling assemblies for improved startup, optimizing applications for size with linker and EventPipe improvements. We’ve also released new Docker images for Alpine on ARM64.



Read more →

Introducing GitHub Package Registry

Reading time2 min
Views2.3K

Today, we’re excited to introduce GitHub Package Registry, a package management service that makes it easy to publish public or private packages next to your source code.


GitHub Package Registry is fully integrated with GitHub, so you can use the same search, browsing, and management tools to find and publish packages as you do for your repositories. You can also use the same user and team permissions to manage code and packages together. GitHub Package Registry provides fast, reliable downloads backed by GitHub’s global CDN. And it supports familiar package management tools: JavaScript (npm), Java (Maven), Ruby (RubyGems), .NET (NuGet), and Docker images, with more to come.


You can try GitHub Package Registry today in limited beta. It will always be free to use for open source—more pricing details will be announced soon.


Sign up for the beta


Announcing GitHub Package Registry

Read more →

Python in Visual Studio Code – April 2019 Release

Reading time3 min
Views4K

We are pleased to announce that the April 2019 release of the Python Extension for Visual Studio Code is now available. You can download the Python extension from the Marketplace, or install it directly from the extension gallery in Visual Studio Code. You can learn more about Python support in Visual Studio Code in the documentation.


In this release we made a series of improvements that are listed in our changelog, closing a total of 84 issues including:


  • Variable Explorer and Data Viewer
  • Enhancements to debug configuration
  • Additional improvements to the Python Language Server

Keep on reading to learn more!  


Read more →

Quality as Team's responsibility. Our QA experience

Reading time7 min
Views2.1K

Disclaimer: This is a translation of an article. All rights belongs to author of original article and Miro company.


I'm a QA Engineer in Miro. Let me tell about our experiment of transferring partially testing tasks to developers and of transforming Test Engineer role into QA (Quality assurance).


First briefly about our development process. We have daily releases for client side and 3 to 5 weekly releases of server side. Team have 60+ people spitted onto 10 Functional Scrum Teams.


I'm working in Integration team. Our tasks are:


  • Integration of our service into external products
  • Integration of external products into our service
    For example we have integrated Jira. Jira Cards — visual representation of tasks so it's useful to work with tasks not opening Jira at all.

    image

How the experiment starts


All starts with trivial issue. When someone of Test Engineers had sick leave then team performance was degraded significantly. Team was continued working on tasks. However when code was reached testing phase task was hold on. As a result new functionality didn't reach production in time.


Going onto vacation by Test Engineer is a more complex story. He/she needs to find another Test Engineer who ready to take extra tasks and conduct knowledge sharing. Going onto vacation by two Test Engineers at the sane time is not an applicable luxury.

Read more →

Getting Ready for macOS’s Hardened Runtime and Notary

Reading time2 min
Views1.3K

With macOS Mojave, Apple introduced support for Hardened Runtime and Notary service. These two services are designed to improve application security on macOS. Recently Apple has stated:


“Beginning in macOS 10.14.5, all new or updated kernel extensions and all software from developers new to distributing with Developer ID must be notarized in order to run. In a future version of macOS, notarization will be required by default for all software.”



Today will help you to understand new rules from the Xamarin point of view.
Read more →

Configure Visual Studio across your organization with .vsconfig

Reading time2 min
Views1.3K

As application requirements grow more complex, so do our solutions. Keeping developers’ environments configured across our organizations grows equally complex. Developers need to install specific workloads and components in order to build a solution. Some organizations add these requirements to their README or CONTRIBUTING documents in their repositories. Some organizations might publish these requirements in documents for new hires or even just forward emails. Configuring your development environment often becomes a day-long chore. What’s really needed is a declarative authoring model that just configures Visual Studio like you need it.


In Visual Studio 2017 Update 15.9 we added the ability to export and import workload and component selection to a Visual Studio installation configuration file. Developers can import these files into new or existing installations. Checking these files into your source repos makes them easy to share. However, developers still need to import these to get the features they need.


Automatically install missing components


New in Visual Studio 2019: you can save these files as .vsconfig files in your solution root directory and when the solution (or solution directory) is opened, Visual Studio will automatically detect which components are missing and prompt you to install them.

Read more →