All streams
Search
Write a publication
Pull to refresh

Development

Show first
Rating limit
Level of difficulty

Small things that pollute your code

Reading time4 min
Views2.4K
I'm not going to discuss global things like design patterns and so on, as there's enough literature on that topic. Instead, I'd like to attract your attention to some small things that still affect lucidity and maintainability of a code.

Polluting code with 'test-only' methods or access modifiers


First of all, if you give access to something that shouldn't be used in production code, it gets used sooner or later. Just because it exist. The argument that it's an internal stuff doesn't work as it absolutely shouldn't be matter, writing you a library or isolated project! Treat people who will add anything to your internal codebase the same way as if they use your existing code as a different library.

Thus, if for some reason in test, you need to call something that should not be called on prod — use reflection or whatever else but do not expose it in production code! And there's no reason to afraid of reflection for test proposes, at the end, you using Mockito, shouldn't it be bad in that case as well?
Read more →

Hire PHP Developers: Cost & Procedure

Reading time5 min
Views1.3K
image

PHP has surely become the most ubiquitous language for the world today. Being around for a while, PHP is ruling the market, with expectations to dominate for years to come. Therefore, irrespective of the size of a business, PHP remains the first choice to get a sturdy and customizable website created.

However, It is important to understand that PHP is an art (Scripting language), you need to hire an artist (developer) to yield the best from it.

Choosing the best from the pool of more than 5 million PHP developers is a tedious task. Even more when you’re a noob into this industry. Apart from language skills, there are multiple other factors, such as budget, skills, experience that influence the decision to hire a particular remote PHP team.
Read more →

PVS-Studio and Continuous Integration: TeamCity. Analysis of the Open RollerCoaster Tycoon 2 project

Reading time8 min
Views682

One of the most relevant scenarios for using the PVS-Studio analyzer is its integration into CI systems. Even though a project analysis by PVS-Studio can already be embedded with just a few commands into almost any continuous integration system, we continue to make this process even more convenient. PVS-Studio now supports converting the analyzer output to the TeamCity format-TeamCity Inspections Type. Let's see how it works.
Read more →

Free CRM with PBX

Reading time3 min
Views2K
Why do you need a CRM system? Well, it’s at least more convenient than keeping your client database in Excel. Why do you need CRM with VoIP? If you have ever interacted offline, you know you cannot do it without telephony (orders, delivery, support etc.).

But what prevents 80% of companies from trying out a CRM tool? If prices is the matter, we are offering a free CRM system integrated with the phone system and free PBX.

To anticipate questions about installation difficulty, CRM setup and contact import doesn’t take more than 5 minutes.


Read more →

Beyond the “contact tracing” app

Reading time5 min
Views825
As a mathematician, it amazes me how much computing power fits on our mobile phones today. Like other «Gen Z» digital natives, I grew up watching people dream up and build technologies that have transformed our social lives, work lives and everything in between.

Yet in a time when humanity desperately needs innovation more than ever, the application of mobile technologies in the fight against COVID-19 has been weak and fragmented. We have technology literally at our fingertips that could be utilized to help us through this pandemic, but governments around the world have barely managed to develop even a contact tracing app.

image
Read more →

Objects Representations for Machine Learning system based on Lattice Theory

Reading time5 min
Views1.4K

This is a fourth article in the series of works (see also first one, second one, and third one) describing Machine Learning system based on Lattice Theory named 'VKF-system'. The program uses Markov chain algorithms to generate causes of the target property through computing random subset of similarities between some subsets of training objects. This article describes bitset representations of objects to compute these similarities as bit-wise multiplications of corresponding encodings. Objects with discrete attributes require some technique from Formal Concept Analysis. The case of objects with continuous attributes asks for logistic regression, entropy-based separation of their ranges into subintervals, and a presentation corresponding to the convex envelope for subintervals those similarity is computed.


got idea!

Read more →

The Code of the Command & Conquer Game: Bugs from the 90's. Volume two

Reading time13 min
Views3.5K
image1.png

The American company Electronic Arts Inc (EA) has opened the source code of the games Command & Conquer: Tiberian Dawn and Command & Conquer: Red Alert publicly available. Several dozen errors were detected in the source code using the PVS-Studio analyzer, so, please, welcome the continuation of found defects review.
Read more →

Mathematics of Machine Learning based on Lattice Theory

Reading time7 min
Views2K

This is a third article in the series of works (see also first one and second one) describing Machine Learning system based on Lattice Theory named 'VKF-system'. It uses structural (lattice theoretic) approach to representing training objects and their fragments considered to be causes of the target property. The system computes these fragments as similarities between some subsets of training objects. There exists the algebraic theory for such representations, called Formal Concept Analysis (FCA). However the system uses randomized algorithms to remove drawbacks of the unrestricted approach. The details follow…
Areas of Formal Concept Analysis

Read more →

Machine Learning CPython library 'VKF'

Reading time14 min
Views1.4K
Previous article describes a web server for Machine Learning system 'VKF' based on Lattice Theory. This paper is an attempt to explain details of using the CPython library directly. We reproduce working sessions of experiments on datasets 'Mushroom' and 'Wine Quality' from UCI Machine Learning repository. The structures of input files are discussed too.


Read more →

Yii news 2020, issue 5

Reading time4 min
Views1.9K

Hello, community!


It is time for another Yii news issue. Both Yii 2 and Yii 3 are doing well.


I've finally updated the team page on the website to reflect the current state of things.


Konstantin Sirotkin is back and actively taking care of ElasticSearch Yii 2 extension.


Yii 3 main team was formed (actually happened late 2019). Likely you know the names because most were mentioned in previous Yii news issues.


Also, we have partially moved to GitHub actions. Experience is great so far, so we can definitely recommend that. We're adding phan static analysis
and running tests with Infection to make code quality even better.

Read more →

10 Best Email Scraping Tools for Sales Prospecting in 2020

Reading time3 min
Views2.2K
We all know how hard it is to build an email sales list from scratch, especially for small companies. There left no options due to limited resources. In fact, many companies even buy preset profiled lists from the third party and send identical mass emails. It can put your business in a vulnerable position ascribed into the low quality of the email lists. However, there is a better way to build a highly targeted email list with email scraping tools.

Email scraping can help you collect email addresses shown publicly using a bot. What makes this great is that you have control over where to get the email lists from, and who can opt-in. Moreover, you don’t have to rely on the second-hand source. I profiled a list of best 10 email scraping tools for sales prospecting. Let’s take a look.

1. Zoominfo

A full-featured email scraping platform with a comprehensive database. You can directly search for titles and companies within their platform. It is more like a directory system that covers professionals in all industries with contact information. Email lists are the assets. That said, it comes with a price tag. It is worth to invest if you are looking for accurate sales leads. Zoominfo is an excellent option for enterprise-level sales prospects.

image
Read more →

How to find an English teacher. Part 2

Reading time4 min
Views953
image

This is a continuation of story about using Data Science for finding an English teacher. If you have not read it yet - there is an opportunity to become familiar with it

Briefly  -  we had information about language teachers and tried to apply some basic ideas using pandas and our expectations. Unfortunately we got stuck on the third step, because there is not enough information for resolving our the last requirements  -  we need not more 3 candidates at the end.

Disclaimer
It is an approach based on my own experience and can be unsuitable to your point of view, ideas, or principles.

PVS-Studio is now in Compiler Explorer

Reading time4 min
Views1.2K
image1.png

Not so long ago, a landmark event has happened: PVS-Studio appeared in Compiler Explorer! Now you can quickly and easily analyze the code for errors right on the godbolt.org site (Compiler Explorer). This feature opens up a large number of new possibilities – from quenching curiosity about the analyzer's abilities to being able to quickly share check results with a friend. This article will cover the topic on how to use these features. Caution – large GIFs!
Read more →

Web server for Machine Learning 'VKF-solver'

Reading time20 min
Views1.6K
Nowadays most people identify Machine Learning with training of various kinds of neural networks. At the beginning there were fully connected networks, then convolutional and recurrent networks replace them, now there exist a quite exotic variants of networks such that GAN and LTSM networks.

Their training requires constantly increasing volume of samples, and they also do not be able to explain why a particular decision was made. Structural approaches to Machine Learning avoiding these drawbacks exist, the software implementation of one of which is described in the article. This is an English translation of original post by the author.


Read more →

How to find an English teacher. Part 1

Reading time5 min
Views1.7K


In the modern world, here and there ideas are arising about using data science for an extra benefit. For instance, Google can use a history of watched videos for providing recommendations about new ones. Online shops are using a recommendation system for increasing your receipt. However… if companies use the data for their benefit, could we do the same for own needs such as looking an online English teacher?


Disclaimer

It is an approach based on my own experience and can be unsuitable to your point of view, ideas, or principles.

Critical Transcendence: .NET SDK and Apache Spark

Reading time5 min
Views898

When Alex Garland’s series Devs (on FX and Hulu) came out this year, it gave developers their own sexy Hollywood workup. Who knew that coders could get snarled into murder plots and love triangles just for designing machine learning programs? Or that their software would cause a philosophical crisis? Sure, the average day of a developer is more code writing than murder but what a thrill to author powerful new program.


Read more →

How the PVS-Studio analyzer began to find even more errors in Unity projects

Reading time7 min
Views742
image1.png

When developing the PVS-Studio static analyzer, we try to develop it in various directions. Thus, our team is working on plugins for the IDE (Visual Studio, Rider), improving integration with CI, and so on. Increasing the efficiency of project analysis under Unity is also one of our priority goals. We believe that static analysis will allow programmers using this game engine to improve the quality of their source code and simplify work on any projects. Therefore, we would like to increase the popularity of PVS-Studio among companies that develop under Unity. One of the first steps in implementing this idea was to write annotations for the methods defined in the engine. This allows a developer to control the correctness of the code related to calls of annotated methods.
Read more →

Making a Tarantool-Based Investment Business Core for Alfa-Bank

Reading time10 min
Views1.9K

A still from «Our Secret Universe: The Hidden Life of the Cell»

Investment business is one of the most complex domains in the banking world. It's about not just credits, loans, and deposits — there are also securities, currencies, commodities, derivatives, and all kinds of complex stuff like structured products.

Recently, people have become increasingly aware of their finances. More and more get involved in securities trading. Individual investment accounts have emerged not so long ago. They allow you to trade in securities and get tax credits or avoid taxes at the same time. All clients coming to us want to manage their portfolios and see their reporting on-line. Most frequently, these are multi-product portfolios, which means that people are clients of different business areas.

Moreover, the demands of regulators, both Russian and international, also grow.

To meet the current needs and lay a foundation for future upgrades, we've developed our Tarantool-based investment business core.
Read more →
12 ...
50