Pull to refresh

All streams

Show first
Period
Level of difficulty

9 Ways to Fuel Up the Mobile App Developer’s Efficiency

Reading time5 min
Views1.1K
image

In general, the productivity of coding superheroes is measured by the number of lines of code and the quality of the code they write. It means, when the developer churns out the output compared to input, they are declared as productive. Presently, every company wants a productive programmer to accelerate time-to-market and enrich mobile app user’s experience that helps them stand ahead of the competitors.

Alas! All the developers are not productive. Most of them, pull their hairs when the deadline is around the corner, when finding the source of bugs seems a hard nut to crack in, or when the client is complaining about the features not meeting the business needs. The reason behind for not performing to the peak efficiency is they work hard, but not smartly.

The developer’s productivity can be augmented when they work prudently, make the most out of the time, and incorporate the best practices.
Read more →
Total votes 12: ↑11 and ↓1+10
Comments0

Let's help QueryProvider deal with interpolated strings

Reading time5 min
Views1.6K

Specifics of QueryProvider


QueryProvider can’t deal with this:


var result = _context.Humans
                      .Select(x => $"Name: {x.Name}  Age: {x.Age}")
                      .Where(x => x != "")
                      .ToList();

It can’t deal with any sentence using an interpolated string, but it’ll easily deal with this:


var result = _context.Humans
                      .Select(x => "Name " +  x.Name + " Age " + x.Age)
                      .Where(x => x != "")
                      .ToList();

The most painful thing is to fix bugs after turning on ClientEvaluation (exception for client-side calculation), since all Automapper profiles should be strictly analyzed for interpolation. Let’s find out what’s what and propose our solution to the problem.

Read more →
Total votes 12: ↑11 and ↓1+10
Comments0

DynamicData: Dynamic Collections, the MVVM Architecture, and Reactive Extensions

Reading time10 min
Views17K


February 2019 marked the release of ReactiveUI 9 — the cross-platform framework for building GUI applications on the Microsoft .NET platform. ReactiveUI is a tool for tight integration of reactive extensions with the MVVM design pattern. You could familiarize yourself with the framework via a series of videos or the welcome page of the documentation. The ReactiveUI 9 update includes numerous fixes and improvements, but probably the most crucial and interesting one is integration with the DynamicData framework, allowing you to work with dynamic collections in Reactive fashion. Let’s find out what we can use DynamicData for and how this powerful reactive framework works under the hood!

Read more →
Total votes 14: ↑12 and ↓2+10
Comments2

Signing into Azure DevOps using your GitHub credentials

Reading time3 min
Views998

Across all of Microsoft, we are focusing on empowering developers to build better apps, faster. One way we are accomplishing that is by providing a range of products and services covering all stages of the software development lifecycle. This includes IDEs and DevOps tools, application and data platforms on the cloud, operating systems, Artificial Intelligence and IoT solutions, and more. All of these are centered around developers, both as individuals working in teams and organizations, and as members of developer communities.


GitHub is one of the largest developer communities, and for millions of developers around the world their GitHub identity has become a critical aspect of their digital life. Recognizing that, we’re excited to announce improvements that will help GitHub users get started more easily with our developer services, including Azure DevOps and Azure.


GitHub sign in button in Microsoft login page
Read more →
Total votes 12: ↑11 and ↓1+10
Comments0

A selection of Datasets for Machine learning

Reading time5 min
Views7K
Hi guys,

Before you is an article guide to open data sets for machine learning. In it, I, for a start, will collect a selection of interesting and fresh (relatively) datasets. And as a bonus, at the end of the article, I will attach useful links on independent search of datasets.

Less words, more data.

image

A selection of datasets for machine learning:


Read more →
Total votes 12: ↑11 and ↓1+10
Comments0

How to make possible micro-payments in your app

Reading time8 min
Views5.2K

This week I spent coding my very first public pet-app based on Telegram chat bot which acts as a Bitcoin wallet and allows to send and receive tips between Telegram users and other so-called “Lightning Apps”. I assume that you are familiar with Bitcoin & Telegram in general, i’ll try to post short and without deep jump into details. More resources about Bitcoin can be found here and Telegram is simply an instant messenger that allows you to create your custom apps (chat-bots) using their platform.


What are the key points of such app?


  • Allows to rate other users ideas and answers with real value instead of
    ‘virtual likes’. This brings online conversation to completely new level
  • Real example of working micro-payment app which can act with other entities
    over internet using open protocol
  • All the modules are open-source projects and can be easy re-used and adjusted
    for your own project. App does not relay on third-party commercial services.
    Even it falls under e-commerce field, which is currently almost closed, the app
    is based on open solutions.

What are the use-cases?


something like this…

image
Read more →
Total votes 12: ↑11 and ↓1+10
Comments0

Indexes in PostgreSQL — 8 (RUM)

Reading time11 min
Views8.4K
We have already discussed PostgreSQL indexing engine, the interface of access methods, and main access methods, such as: hash indexes, B-trees, GiST, SP-GiST, and GIN. In this article, we will watch how gin turns into rum.

RUM


Although the authors claim that gin is a powerful genie, the theme of drinks has eventually won: next-generation GIN has been called RUM.

This access method expands the concept that underlies GIN and enables us to perform full-text search even faster. In this series of articles, this is the only method that is not included in a standard PostgreSQL delivery and is an external extension. Several installation options are available for it:

  • Take «yum» or «apt» package from the PGDG repository. For example, if you installed PostgreSQL from «postgresql-10» package, also install «postgresql-10-rum».
  • Build from source code on github and install on your own (the instruction is there as well).
  • Use as a part of Postgres Pro Enterprise (or at least read the documentation from there).

Limitations of GIN


What limitations of GIN does RUM enable us to transcend?

First, «tsvector» data type contains not only lexemes, but also information on their positions inside the document. As we observed last time, GIN index does not store this information. For this reason, operations to search for phrases, which appeared in version 9.6, are supported by GIN index inefficiently and have to access the original data for recheck.

Second, search systems usually return the results sorted by relevance (whatever that means). We can use ranking functions «ts_rank» and «ts_rank_cd» to this end, but they have to be computed for each row of the result, which is certainly slow.

To a first approximation, RUM access method can be considered as GIN that additionally stores position information and can return the results in a needed order (like GiST can return nearest neighbors). Let's move step by step.
Read more →
Total votes 10: ↑10 and ↓0+10
Comments2

Improvements to Visual Studio App Center Distribution

Reading time2 min
Views1K

Here at Visual Studio App Center, we try to incorporate customer obsession in our day to day. Earlier this year we started an effort for widespread customer outreach to understand our users and guide product prioritization. The effort helped us gain a lot of insight and helped our prioritization last quarter. However, as we continue to grow, we unfortunately don’t have the capacity to reach out to as many customers as we would like.


To continue to engage with as many customers are possible, we created a GitHub repo specifically for this purpose. We’ve been using the repo to track monthly iterations from the team, feature requests, and community interest for certain features. We are making changes to align our priorities for the upcoming quarters based on what our customers are requesting.


I wanted to highlight some of the changes we’ve made to the Distribution service based off what we learned from customer outreach and feedback. All of these changes are available now:


  • Distributing releases to multiple destinations
  • Distribution releases to individual testers
  • Turning off email notification for releases
  • Disabling a release
  • Make releases sortable

Read more →
Total votes 10: ↑10 and ↓0+10
Comments0

7 tips how to deal with remote teams

Reading time6 min
Views1.7K
Originally article was posted here — 7 tips & tricks on how to deal with remote teams

A number of both large corporations and small companies having almost no staff is increasing. This is the impulse of new times that many call “uberization”. The phenomenon was named after Uber — one of the largest public-transportation companies whose drivers all are independent entrepreneurs aka freelancers. Such a structure allows Uber to work all over the planet through operating remote teams of drivers in dozens of cities simultaneously.
Read more →
Total votes 10: ↑10 and ↓0+10
Comments0

What is a coding bootcamp?

Reading time3 min
Views2.7K
A coding bootcamp is a program of technical training teaching the programming skills that employers are looking for. Coding bootcamps allow students with low skills to concentrate on the most significant coding aspects and apply their new coding skills to solve real-world problems.

The goal of many bootcamp coding attendants is to move into a web development career. They do this by learning to build applications at a professional level – providing the foundation they need to build applications that are ready for production and demonstrating the skills they have to add real value to a potential employer.
Read more →
Total votes 10: ↑10 and ↓0+10
Comments2

Blazor now in official preview

Reading time4 min
Views2.2K

With this newest Blazor release we’re pleased to announce that Blazor is now in official preview! Blazor is no longer experimental and we are committing to ship it as a supported web UI framework including support for running client-side in the browser on WebAssembly.


A little over a year ago we started the Blazor experimental project with the goal of building a client web UI framework based on .NET and WebAssembly. At the time Blazor was little more than a prototype and there were lots of open questions about the viability of running .NET in the browser. Since then we’ve shipped nine experimental Blazor releases addressing a variety of concerns including component model, data binding, event handling, routing, layouts, app size, hosting models, debugging, and tooling. We’re now at the point where we think Blazor is ready to take its next step.


Blazor icon
Read more →
Total votes 10: ↑10 and ↓0+10
Comments0

The effectiveness of the marketing funnel AARRR

Reading time5 min
Views2.5K
AARRR stand for:

• Acquisition.
• Activation.
• Retention.
• Revenue.
• Referral.

AARRR (also called the Pirate Metrics) describes the sales funnel. At the top of the funnel are visitors who only saw your application, or just downloaded it and still do not know how they will interact with it. Next, visitors are registered — of course, if it is provided by the functionality of the application.

Now they (you can start calling them users) reach the moment when they have to understand the value of the product and decide to remain its user, i.e. start buying some services, recommend the application to your friends and, in general, constantly return to the application for any purpose, or delete it from mobile device.

You will not have another chance to impress the user!

The AARRR framework forces developers to measure their sales funnel numerically. At every stage.
Read more →
Total votes 12: ↑11 and ↓1+10
Comments2

Disposable pattern (Disposable Design Principle) pt.3

Reading time15 min
Views3.9K


Multithreading


Now let’s talk about thin ice. In the previous sections about IDisposable we touched one very important concept that underlies not only the design principles of Disposable types but any type in general. This is the object’s integrity concept. It means that at any given moment of time an object is in a strictly determined state and any action with this object turns its state into one of the variants that were pre-determined while designing a type of this object. In other words, no action with the object should turn it into an undefined state. This results in a problem with the types designed in the above examples. They are not thread-safe. There is a chance the public methods of these types will be called when the destruction of an object is in progress. Let’s solve this problem and decide whether we should solve it at all.


This chapter was translated from Russian jointly by author and by professional translators. You can help us with translation from Russian or English into any other language, primarily into Chinese or German.

Also, if you want thank us, the best way you can do that is to give us a star on github or to fork repository github/sidristij/dotnetbook.
Read more →
Total votes 12: ↑11 and ↓1+10
Comments0

7 Interesting startups in IoT

Reading time9 min
Views2.6K
The “winner takes all” principle seems to be less relevant to a startup business model than to a corporate business. Why so? The thing is that a cumulative advantage inherent in a contemporary globalized economy when the bigger you are the more chances you have for a further growth works beyond poorly regulated environments to which startups belong. The startup phenomenon in general and the IoT startups in particular are too immature in terms of a business-model history. In contrast to corporations, startups feel good in a Black-Swan-friendly uncertainty of emerging innovations. They operate in risky fields, they gamble oftentimes. But an immense focus on their own topics is what helps them survive. Indeed, dedication is an antidote to risks.

Originally article was posted here — 5 IoT startups in Logistic
Read more →
Total votes 10: ↑10 and ↓0+10
Comments0

Memory and Span pt.2

Reading time9 min
Views3.2K


Span<T> usage examples


A human by nature cannot fully understand the purpose of a certain instrument until he or she gets some experience. So, let’s turn to some examples.


ValueStringBuilder


One of the most interesting examples in respect to algorithms is the ValueStringBuilder type. However, it is buried deep inside mscorlib and marked with the internal modifier as many other very interesting data types. This means we would not find this remarkable instrument for optimization if we haven’t researched the mscorlib source code.


What is the main disadvantage of the StringBuilder system type? Its main drawback is the type and its basis — it is a reference type and is based on char[], i.e. a character array. At least, this means two things: we use the heap (though not much) anyway and increase the chances to miss the CPU cash.


Another issue with StringBuilder that I faced is the construction of small strings, that is when the resulting string must be short e.g. less than 100 characters. Short formatting raises issues on performance.


This chapter was translated from Russian jointly by author and by professional translators. You can help us with translation from Russian or English into any other language, primarily into Chinese or German.

Also, if you want thank us, the best way you can do that is to give us a star on github or to fork repository github/sidristij/dotnetbook.
Read more →
Total votes 12: ↑11 and ↓1+10
Comments0