Looking for something else? Check the categories of Software engineering:
Programming Testing Web security
If not, below you can find all articles belonging to Software engineering.
Apache Spark is a special library for me because it helped me a lot at the beginning of my data engineering adventure to learn Scala and data-oriented concept. This "learn-from-existent-lib" approach helped me also to discover some tips & tricks about reading others code. Even though I used them mostly to discover Apache Spark, I believe that they are applicable to other JVM-based projects and will help you at least a little bit to understand other Open Source frameworks.
Some time ago during my research about Akka I found a term describing coding philosophy using, among others, by this library. The term itself is quite intriguing and it's the reason why I've decided to deepen it.
The basic Big O measures (O(1), O(n), O(log n)) are understandable quite easily. However they're not the single ones - especially because of Scala collections. Two variations of them, a little bit less unequivocal, exist - amortized and effective constant time.
It's not an enviable experience to arrive to new project team and see methods violating all rules of common sense. Sometimes it's because of programmers ignorance, sometimes because of "yesterday deadline", sometimes because some people like to be irreplaceable (and by producing code maintenable with difficulty, they can achieve that in some way). This post tries to justify why short methods are better than the long ones.
Code coverage is an useful metric tests definition. But it's not the single one metric which can be used. One alternative are mutation tests.
Mocks ? Spies ? These words seem to be clear for the most test-aware developers. They're related to common concept called test doubles.
Pure tests in programming are not a single way to check if the code is correct. Theories are another method, introduced already some time ago.
Automatic garbage collection removes the overhead of allocating and deallocating memory. Even if it's not a magic solution to all problems, it's helpful. And because there are different automatic GC types, it's important to know them.
The possibility to configure Cucumber test cases with @CucuomberOptions annotation is not a single one advanced feature. In Cucumber we can also go further and, for example, read Date objects directly from cases descriptions or group similar tests together thanks to tags.
Cucumber is very popular framework to define BDD tests. Clear division helps to write them quickly and maintain easily. In additionally, it contains some of useful configurable options, such as output formatting or file sources definition.
Does it possible that stealing has a positive meaning ? Maybe in real life no, but in programming work stealing brings more positive than negative points.
When we are young, the pleasure of delivery features are so big that we ignore testing phase. The pleasure of writing tests comes with age when we can see that they help to maintain clean code. One of the most popular acronyms promoting tests is TDD (Test-Driven Development). However, it's not the single one because it has a complementary brother called BDD.
Speaking some language fluently means that we speak without pauses needed to find appropriated words for example. In programming, fluency has almost the same meaning and we'll prove that through this article.
Well decomposed application's code is testable very easily through unit tests. However, unit tests don't guarantee that these code snippets mixed together will work correctly. For this kind of check we should use integration tests. Tests which nobody likes...
Spring Framework is only one example of "programming to interface" rule implementation. Through this article we'll cover this topic in more detailed way.
When we discover object-oriented programming after passing by functional programming, inheritance seems to be revolutionary technique. However, it also can be misused, usually in the case when it should be replaced by composition.
Do you think that having website under https:// is a sufficent protection for the data transmission ? Yes and no because even the smallest mistake can compromise all security measures. One of these "smallests mistakes" is a browser warning, known as mixed content.
Some years ago, a big part of web developers were asking the question : How to make work our application on international environment ? Actually the encoding issues are less present and all thanks to popularization of Unicode Transformation Format, commonly known as UTF.
Every programmer heard about HTTPS as a security layer for HTTP protocol. But HTTPS is not the only security purpose for the most popular web protocol. Another one, known as HSTS, exists too.