Category: Programming

  • Running static analysis tools for PHP

    Running static analysis tools for PHP

    We all write bug free code but analyzing your code is still important part of software development if for some reason there could’ve been some mishap with typing. Here’s a short introduction how to run static analysis for PHP code. Static analysis tools for PHP The curated list of static analysis tools for PHP show…

  • What software and hardware I use

    What software and hardware I use

    There was a discussion in Koodiklinikka Slack about what software people use and that people have made “/uses” pages for that purpose. And inspired by Wes Bos /uses from “Syntax” Podcast here’s my list. Check my /uses page to see what software and hardware I use for full-stack development in JavaScript, Node.js,… Jatka lukemista →

  • Generating JWT and JWK for information exchange between services

    Generating JWT and JWK for information exchange between services

    Securely transmitting information between services and authorization can be achieved with using JSON Web Tokens. JWTs are an open, industry standard RFC 7519 method for representing claims securely between two parties. Here’s a short explanation and guide of what they are, their use and how to generate the needed things. “JSON Web Token (JWT) is…

  • Keep Maven dependencies up to date

    Software development projects come usually with lots of dependencies and keeping them up to date can be burdensome if done manually. Fortunately there are tools to help you. For Node.js projects there are e.g. npm-check and npm-check-updates and for Maven projects there are OWASP/Dependency-Check and Versions Maven plugins. Here’s a short introduction how to setup…

  • Tracking vulnerabilities and keeping Node.js packages up to date

    Tracking vulnerabilities and keeping Node.js packages up to date

    Software evolves quickly and new versions of libraries are released but how do you keep track of updated dependencies and vulnerable libraries? Managing dependencies has always been somewhat a pain point but an important part of software development as it’s better to be tracking vulnerabilities and running fresh packages than being pwned.… Jatka lukemista →

  • Notes of Best Practices for writing Cypress tests

    Notes of Best Practices for writing Cypress tests

    Cypress is a nice tool for end-to-end tests and it has good documentation also for Best Practices including “Cypress Best Practices” talk by Brian Mann at Assert(JS) 2018. Here are my notes from the talk combined with the Cypress documentation. This article assumes you know and have Cypress running.… Jatka lukemista →

  • Automate validating code changes with Git hooks

    What could be more annoying than committing code changes to repository and noticing afterwards that formatting isn’t right or tests are failing? Your automated tests on Continuous Integration shows rain clouds and you need to get back to the code and fix minor issues with extra commits polluting the git history?… Jatka lukemista →

  • Ignoring files and folders in Subversion with propset

    Before committing code to the Subversion repository we always set the svn:ignore property on the directory to prevent some files and directories to be checked in. You would usually want to exclude the IDE project files and the target/ directory. It’s useful to put all the ignored files and directories into a file: .svnignore… Jatka…

  • Best Practices of forking git repository and continuing development

    Best Practices of forking git repository and continuing development

    Sometimes there’s a need to fork a git repository and continue development with your own additions. It’s recommended to make pull request to upstream so that everyone could benefit of your changes but in some situations it’s not possible or feasible. When continuing development in forked repo there’s some questions which come to mind when…

  • Expanding your horizons on JVM with Kotlin

    Expanding your horizons on JVM with Kotlin

    The power of Java ecosystem lies in the Java Virtual Machine (JVM) which runs variety of programming languages which are better suitable for some tasks than Java. One relatively new JVM language is Kotlin which is statically typed programming language that targets the JVM and JavaScript. You can use it with Java, Android and the…