Password security standards

Password security standards

Some time ago I was looking for the current password security standards to design a good and safe solution according to nowadays recommendations. I was very surprised, that some of them are in conflict with each other. That’s why I decided to prepare a short summary of password security standards from the most popular global standards. There are presented the following standards: OWASP, OWASP ASVS, NIST, PCI-DSS and ISO 27001 with my comments. OWASP Do do not truncate passwords. Make…

Read More Read More

Cypress vs Selenium

Cypress vs Selenium

This article shows you the differences between Selenium library and Cypress framework. Cypress is a modern end to end testing library – a competitor of Selenium. I recommend you to get familiar with the general description of Cypress and description of Selenium problems. I wrote about it earlier (http://www.diwebsity.com/2019/07/16/why-choose-cypress/).  Below is a table with a comparison between these two approaches (libraries) line by line for each category. I tried to be as objective as possible. This table is intended to…

Read More Read More

Why choose Cypress?

Why choose Cypress?

What is it? Cypress (https://www.cypress.io/) is a quite new testing framework. It becomes very popular last year. Mostly among the front-end developers. It is not surprising when we look into the most interesting features of this library: Modern UI with the ability to: preview test execution, time travel in test execution, validate and debug the page during the testing. The integrated mechanism for network call simulations. All in one solution. The new kind of UI is especially interesting because it…

Read More Read More

How to deploy Ionic to Google Play Store?

How to deploy Ionic to Google Play Store?

Do you want to deploy Ionic application to Google Play Store? This article will show you this process step by step. So far I have created a few mobile applications using Ionic framework. It is very easy to develop, using the Ionic and Angular.  However, when we create an application we need to deploy it to one of the mobile store: Google Play or Apple Store. It is also very easy to do, but we need to remember several steps…

Read More Read More

Selenium problems (and how to solve them)

Selenium problems (and how to solve them)

Selenium library is a very popular standard. It has many advantages, but it also has many problems. In this article, I want to list all Selenium problems and try to address them one by one. At first, we need to define, what are the most important problems: Hard to select elements on the web page This problem is not related strictly with the Selenium library. It is related mostly with a poor semantic description of the element on the application…

Read More Read More

How to make an architecture roadmap plan?

How to make an architecture roadmap plan?

Some time ago in my current company, we faced a challenge of preparing the long term architecture roadmap. Strategic planning is a very important part of architect work. We need to know what our destination is before we start a journey. That’s why all the technical work needs to be aligned with a big picture of the technical organization. It is worth to do this at least once a year to keep all the technical goals clear and updated with…

Read More Read More

Secure way to create change email process

Secure way to create change email process

Some time ago I faced a challenge to design secure method for change email process in our authentication service. Every system has an user and usually uses the email address as a login to the systems. Moreover, they use email address for the purpose of communication with the end user. Even if we had an artificial login name in system, we should still care about the way, how we communicate with the user. Additionally systems use email address for forget…

Read More Read More

Obowiązki architekta IT

Obowiązki architekta IT

Co jakiś czas ktoś zadaje mi pytanie: czym właściwie zajmuje się w pracy? Pomyślałem więc, że wartościowe będzie opisanie tutaj, czym właściwie zajmuje się architekt IT.Często ta rola kojarzona jest z dość zamkniętym kręgiem wszystkowiedzących osób, które za zamkniętymi drzwiami podejmują wszystkie “ważne” decyzje w projekcie. Znam też historie architektów, którzy autorytarnie podejmowali decyzje, które nie zawsze wychodziły na zdrowie zespołowi. Myślę, że pojęcie architekta jest dość pojemne i każdy może o tej funkcji myśleć w inny sposób. Postaram Ci się…

Read More Read More

Powrót do pisania

Powrót do pisania

Niedawno dopadło mnie pewne poruszające uczucie, które nawet mnie samego zaskoczyło.Upłynęło już dużo czasu od mojego ostatniego wpisu na bloga. Patrząc na ostatni wpis – aż 2 lata. Potrzebowałem tej przerwy w momencie, gdy przestałem widzieć większy sens w tym, co robię. Spojrzenie wstecz Czas ten był dla mnie bardzo owocny. Zarówno w sferze prywatnej jak i zawodowej. Prywatnie zostałem ojcem, co niesamowicie poszerzyło moje horyzonty, kompletnie zmieniło zwyczajny dzień i nieustannie wymaga coraz lepszej organizacji, aby nadal mieć czas…

Read More Read More

Testing the same behaviour every time

Testing the same behaviour every time

Tests give us an assurance which application works fine. We usually want to execute them on some Continuous Integration servers. It is very convenient because we can configure them to run after each repository commit or once a day.

Continuous integration flow usually works as follows. The application is built on CI server and then it executes all tests. Because all tests run on the same database, it is hard to make all them all independent. However, test independence is a very important principle. The result of one test may affect the correctness of another test. It is especially problematic if we want to run tests in parallel. We can’t be sure what will be the order of execution. It is not only the problem of the database. The browser can also store a state of the application.