Welcome to TechScreen

Welcome to the TechScreen site. This side shall support the exchange of knowledge in the domain of Web Engineering and related aspects. As a side effect, this side is used for research on knowledge management technologies. User can pose challenges in the problem domain and can participate in quizzes. Further a bibliography about arcticles in different related domains is continously extended. Finally, questionnaires on different issues are provided. To be able to participate you need an account and a password from TU Wien's TISS system.

Using joins (mySQL) in a query

Actually in a web application performance has a huge influence on usability. So I often use joins in my queries to provide compact sql queries. But queries with many joins have a bad performance and the user have to wait for a long time. Is there a better opportunity to provide a better performance?

HTTP error code when session token expires

After login to the web site there is a token valid for 15 minutes. In this time you are able to work on the side. After this 15 minutes the session token gets invalid. Which HTTP error code is correct? Actually we are using the 404 error code is this correct?

Performance monitoring of a cloud deployment

An application go-live took a wrong turn - a dozen of connected clients took a cloud system down, that should cope with thousands of them.

Broken caching in a web application

In a Spring Boot Java Web App we had caching set up for several computationally expensive methods. After some time I discovered that the mechanism was apparently broken for those methods, but implementing a new cached method in a completely new service class worked. At first I tried to exclude simple errors as culprits. Method signatures of the cacheable methods were simplified, the @Cacheable method annotation was moved between interface and implementation methods as well as between data repositories and service classes.

Setting up a CI/CD pipeline with centralized logging

An application developed by two engineers began to grow and more developers should be onboarded. What previously worked for two people (simple manual deployment on a webserver and searching through textfile logs when problems arise) wouldn’t work for a bigger team and multiple instances of the product deployed in the cloud. On a mission to cope with that as a new developer in the team I started by simplifying the deployment and packaging the application with a web server into a docker container.

Understanding Floats in CSS

I started programming for about 20 years now. Back in the days CSS was new and very exceiting for me. Coding web pages via the builtin tags to create different visual output (excatly webdesign) was pretty hard, there was a lot of code copy. A little bit later, web pages was built around the 'table' tag, so every webpage was with nested tables, which was extremely hard to manipulate and the overview over the whole document was loose. With CSS (Cascading Style Sheets) everything was new and different, finally you could split code from design and vise verca.

User schooling / training

Everyone learns about simple user interfaces and 'stupid' users. In an online platform with several hundred users, I worked under the assumption that the user interface has to be as clean and simple as possible and the workflow has to be self-explanatory. The problem is, you absolutely cannot imagine the degree of 'creativity' of a user that is not in the field of IT! The platform has some complexity, but the design is well thought out and planned.

Optimizing SQL Queries

In a typical university course, performing an SQL query was always a fast thing. However, when you are working on a project that grows over time, you at first might not give the performance of a query much thought. As the project grew, I had complex queries and lots of records in the database, distributed over many tables. What I didn't expect, was that from one day to another, the performance of the page went from zero complaints to constant user complaints (the page loads too slowly). As I found out way later, the bottleneck comes suddenly. It does not build up.

PHP's mail() vs PHPMailer

As I had to build an online platform that started as a very small project, I was not concerned with using anything other than PHP's built in mail() function to send simple e-mails to the users - and it worked great! However, as the platform got larger, the requirements got larger too. Before long I was messing around with headers in the php mail() function to include attachments in e-mails etc. Turns out, adding the PHPMailer functionality makes the whole process a lot cleaner and easier to maintain as the project grows.

Building frontend fails with various (function undefined, etc.) errors

Now happening already two times in my career and spending some time with it, I find it worth telling my problem in this topic. After coming into a new company or to a new (existing) project you try to build the source code to start working on new features. A lot of times it happens that you receive error messages which do not happen on the colleagues work stations. Usually long working employees also fail to detect the root cause of this error. It actually comes from a differend node/npm version and errors from the build are very misleading.

Pages

Subscribe to TechScreen Revised RSS