Category: Development

  • Developing with Accessibility in mind

    Developing with Accessibility in mind

    Accessibility is often one part of the software development process which is “an additional” feature just like adding unit and integration tests later on which should be taken into account from the start. It’s not enough that it works or that it looks nice if the user  doesn’t know how to use it or even…

  • Jailbreak detection with jail-monkey on React Native app

    Jailbreak detection with jail-monkey on React Native app

    Mobile device operating systems often impose certain restrictions to what capabilities the user have on the device like which apps can be installed on the device and what access to information and data apps and user have on the device. The limitations can be bypassed with jailbreaking or rooting the device which might introduce security…

  • Automated End-to-End testing React Native apps with Detox

    Automated End-to-End testing React Native apps with Detox

    Everyone knows the importance of testing in software development projects so lets jump directly to the topic of how to use Detox for end-to-end testing React Native applications. It’s similar to how you would do end-to-end testing React applications with Cypress like I wrote previously. Testing React Native applications needs a bit more setup especially…

  • Using CASL and roles with persisted permissions

    Using CASL and roles with persisted permissions

    How do you implement user groups, roles and permissions in a multitenant environment where you have multiple organizations using the same application and each have own users and groups and roles? There are different approaches to the issue and one is to implement Attributes-based access control (ABAC) in addition with roles (RBAC).… Jatka lukemista →

  • Notes from Microsoft Ignite Azure Developer Challenge

    Notes from Microsoft Ignite Azure Developer Challenge

    Microsoft Azure cloud computing service has grown steadily to challenge Amazon Web Services and Google Cloud Platform but until now I hadn’t had a change to try it and see how it compares to other platforms I’ve used. So when I came across the Microsoft Ignite: Cloud Skills Challenge November 2021 I was sold and took the opportunity to…

  • Create secure code with Secure Code Bootcamp

    Create secure code with Secure Code Bootcamp

    Software development contains many aspects which the developer has to take care and think about. One of them is information security and secure code which affects the product and its users. There are different ways to learn information security and how to create secure and quality code and this time I’ll shortly go through what…

  • Starting with React Native and Expo

    For some time I’ve wanted to experiment with React Native and mobile development outside native iOS but there has always been something on the way to get really started with it. Recently I had time to watch React Europe 2020 conference talks and “On Expo and React Native Web” by Evan Bacon got me inspired.……

  • Linting GraphQL Schema and queries

    Analyzing code for compliance with guidelines is one part of the code quality assuarance and automating it with tools like ESLint and binding the checks with build process is common and routine operation. But what about validating GraphQL schema and queries? Here are some pointers to tools you can use to start linting your GraphQL…

  • Automate your dependency management using update tool

    Automate your dependency management using update tool

    Software often consists of not just your own code but also is dependent of third party libraries and other software which has their own update cycle and new versions are released now and then with fixes to vulnerabilities and with new features. Now the question is what is your dependency management strategy and how do…

  • Visual Studio Code Extensions for better programming

    Visual Studio Code Extensions for better programming

    Visual Studio Code has become “The Editor” for many in software development and it has many extensions which you can use to extend the functionality for your needs and customize it. Here’s a short list of the extensions I use for frontend (React, JavaScript, Node.js), backend (GraphQL, Python, Node.js, Java, PHP, Docker) and database (PostgreSQL,…