All streams
Search
Write a publication
Pull to refresh

Development

Show first
Period
Level of difficulty

Testing SQL Server code with tSQLt

Reading time20 min
Views2.5K
FYI: this article is an expanded version of my talk at SQA Days #25.

Based on my experience with colleagues, I can state: DB code testing is not a widely spread practice. This can be potentially dangerous. DB logic is written by human beings just like all other «usual» code. So, there can be failures which can cause negative consequences for a product, business or users. Whether these are stored procedures helping backend or it is ETL modifying data in a warehouse — there is always a risk and testing helps to decrease it. I want to tell you what tSQLt is and how it helps us to test DB code.

Read more →

Web Worker easier than you thought

Reading time6 min
Views3.9K

Web Worker easier than you thought


In this article, a DIRTY, unsafe, unstable and scary <em>eval</em> method will be described. So, if you are uncomfortable with that, stop reading right now.


First off, some issues with convenience remained unresolved: in code sent to web web workers, closure can't be used.




All of us like new technologies, and all of us like new technologies to be convenient to use. However, it's not exactly the case with web workers. web workers accept files or links to files, which isn't convenient. It would be good to be able to put any task into web workers, not just specifically planned code.


What do we need to make web workers more convenient to operate? I believe, it's the following:


  • A possibility to launch in web workers any code at any moment
  • A possibility to send to web workers complicated data (class instances, functions)
  • A possibility to receive a promise with a reply from a web worker.
Read more →

SCADA visualization for IoT projects [Free Library]

Reading time6 min
Views5.5K
There’s a lot of IoT SCADA solutions for factories and other manufacturing needs. Yet, there are cases (and quite a lot), when you need to develop your own SCADA system to cover specific needs of your project.

Original article — IoT dashboard library: visualize SCADA at a snap [Free IoT library]

We often use awesome Qt framework for implementing complex IoT solutions. For a bunch SCADA and SCADA-like projects, we came across the need for quick tool for developing device dashboards. That’s why we developed super lightweight unofficial Qt library. The library is open source, customizable, and free to use under MIT license. We also share a small set of developed widgets.
Read more →

How do you choose products in stores?

Reading time4 min
Views1.5K
image

The most important single ingredient in the formula of success is knowing how to get along with people. Theodore Roosevelt

In the previous article I tried to cover the basics of pricing analytics. Now I'd like to talk about something more interesting.

Have you ever thought about why you choose certain products in stores, why you prefer them to other similar ones? Many shopping trips are spontaneous, so it's probably impossible to give a clear answer for all the times you go shopping. But the general idea is obvious: you go shopping for a specific reason (to get food, a gadget, for entertainment, to play blackjack). In this article I'm going to use available data from grocery retailers to talk about how a set of basic logical assumptions and community analysis can help us determine the way customers choose products.
Read more →

Why LLVM may call a never called function?

Reading time11 min
Views7.3K
I don’t care what your dragon’s said, it’s a lie. Dragons lie. You don’t know what’s waiting for you on the other side.

Michael Swanwick, The Iron Dragon’s Daughter
This article is based on the post in the Krister Walfridsson’s blog, “Why undefined behavior may call a never called function?”.

The article draws a simple conclusion: undefined behavior in a compiler can do anything, even something absolutely unexpected. In this article, I examine the internal mechanism of this optimization works.
Read more →

Marketing with ML decision making

Reading time2 min
Views1.6K
Backlog prioritization leads to the choice between strategies. Each one has its metrics. There is a requirement to choose the most important one. ML scoring is a solution when non linearity exists and economy is nonlinear. See introduction here. Two groups are considered. First (I) corresponds to web conversion {bounce rate, micro conversion, time, depth}. Second (II) corresponds to attraction of new visitors from organic channel {visits, viewers, views}. The target function is a number of commercial offers per day. The task is to reduce the dimension to get the optimal simple strategy. In this case online/offline B2B channels can't be separated: market is thin and new customers may have some information about 'the brand' from both channels. Therefore statistical evaluation is closer to reality than direct CJM tracking in this case.
Read more →

Visual Studio tips and tricks

Reading time3 min
Views3.5K
Whether you are new or have been using Visual Studio for years, there are a bunch of tips and tricks that can make you more productive. We’ve been sharing tips on Twitter using the hashtag #vstip for a while, and this is a collection of the best ones so far.

Debugger


Hitting F10 to build, run, and attach debugger instead of F5 will automatically break on the first time your own code is being executed. No breakpoints needed.

image

Supported from Visual Studio 2005

Reattach to process (Shift+Alt+P) is extremely helpful when you have to attach to the same process again and again.

image

Supported from Visual Studio 2017 v15.8

A blue dot in the margin indicates a switch of threads while stepping through debugging.

image

Supported from Visual Studio 2013
Read more →

Porting desktop apps to .NET Core

Reading time5 min
Views2.6K

Since I’ve been working with the community on porting desktop applications from .NET Framework to .NET Core, I’ve noticed that there are two camps of folks: some want a very simple and short list of instructions to get their apps ported to .NET Core while others prefer a more principled approach with more background information. Instead of writing up a “Swiss Army knife”-document, we are going to publish two blog posts, one for each camp:


  • This post is the simple case. It’s focused on simple instructions and smaller applications and is the easiest way to move your app to .NET Core.
  • We will publish another post for more complicated cases. This post will focus more on non-trivial applications, such WPF application with dependencies on WCF and third-party UI packages.

If you prefer watching videos instead of reading, here is the video where I do everything that is described below.


Advantages and Disadvantages of Using Flutter for Mobile Development

Reading time4 min
Views13K


Flutter is a new open source framework created by Google that assists in developing native Android as well as iOS apps with one codebase. It is more than just a framework as it is a full software development kit that has everything you require for building cross-platform apps. This Flutter review will look into the advantages and disadvantages of the tool.
Read more →

Rebuilding an icon: a call for the sharing of open data to help restore Notre-Dame

Reading time2 min
Views668

Since its completion more than 675 years ago, the medieval cathedral of Notre-Dame has captivated millions of people with its incomparable beauty. From its legendary stained glass rose window to its towering spire, it’s widely regarded as one of the most stunning examples of medieval architecture in history.


Read more →

Announcing Windows Vision Skills (Preview)

Reading time1 min
Views1K

Some days ago we announced the preview of Windows Vision Skills, a set of NuGet packages that make it easy for application developers to solve complex computer vision problems using a simple set of APIs.


From left to right, you are seeing in action the Object Detector, Skeletal Detector, and Emotion Recognizer skills.

Figure 1- From left to right, you are seeing in action the Object Detector, Skeletal Detector, and Emotion Recognizer skills.

Read more →

Introducing Time Travel Debugging for Visual Studio Enterprise 2019

Reading time4 min
Views1.4K

The Time Travel Debugging (TTD) preview in Visual Studio Enterprise 2019 provides the ability to record a Web app running on a Azure Virtual Machine (VM) and then accurately reconstruct and replay the execution path. TTD integrates with our Snapshot Debugger offering and allows you to rewind and replay each line of code however many times you want, helping you isolate and identify problems that might only occur in production environments.


Read more →

Google+ is Dead. So what?

Reading time5 min
Views1.7K

Google shut down their social media platform Google+ on April 2, 2019. It’s hard to find some technical article that hasn’t mentioned the end of Google’s social network era. But, a high level of consistency in connectivity within services of the company had received scant attention. In this article I would like to share my thoughts on the internal way of Google services consistency and what it means for Google API users when it comes to a Google+ shutdown.

Read more →

Compilable configuration of a distributed system

Reading time17 min
Views1.5K

In this post we'd like to share an interesting way of dealing with configuration of a distributed system.
The configuration is represented directly in Scala language in a type safe manner. An example implementation is described in details. Various aspects of the proposal are discussed, including influence on the overall development process.


Overall configuration management process


(на русском)

Read more →

.NET Core Workers as Windows Services

Reading time3 min
Views13K
In .NET Core 3.0 we are introducing a new type of application template called Worker Service. This template is intended to give you a starting point for writing long running services in .NET Core. In this walkthrough we will create a worker and run it as a Windows Service.

Read more →