Around IT in 256 seconds

Podcast for developers, testers, SREs... and their managers. I explain complex and convoluted technologies in a clear way, avoiding buzzwords and hype. Never longer than 4 minutes and 16 seconds. Because software development does not require hours of lectures, dev advocates' slide decks and hand waving. For those of you, who want to combat FOMO, while brushing your teeth. 256 seconds is plenty of time. If I can't explain something within this time frame, it's either too complex, or I don't understand it myself.

By Tomasz Nurkiewicz. Java Champion, CTO, trainer, O'Reilly author, blogger

Kategorie:
Technologia

Odcinki od najnowszych:

#67: Version control systems: auditing source code, tracking bugs and experimenting
2022-01-25 23:39:00

Version control systems, like git, serve two purposes. First of all, they allow collaborating on the same code by multiple developers. Collaboration is needed for any non-trivial project. Secondly, they keep the history of changes. Modification history allows tracking bug fixes and regressions. That, and many other applications of version control, will become obvious in a second. Read more: https://nurkiewicz.com/67 Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

Version control systems, like git, serve two purposes. First of all, they allow collaborating on the same code by multiple developers. Collaboration is needed for any non-trivial project. Secondly, they keep the history of changes. Modification history allows tracking bug fixes and regressions. That, and many other applications of version control, will become obvious in a second.

Read more: https://nurkiewicz.com/67

Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

#66: Aspect-oriented programming: another level of code modularization
2022-01-18 08:59:10

DRY, or don’t repeat yourself is a common principle in pSpring AOP riddlerogramming. That’s why we invented functions and objects. But some sources of duplication are really hard to get rid of. Well, sometimes it’s even hard to realize there’s duplication in the first place! Common examples are logging, validation, checking security, starting a transaction. Often, these are one-liners that are too simple to extract. Too mundane too bother. And too ubiquitous to forget. Read more: https://nurkiewicz.com/66 Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

DRY, or don’t repeat yourself is a common principle in pSpring AOP riddlerogramming. That’s why we invented functions and objects. But some sources of duplication are really hard to get rid of. Well, sometimes it’s even hard to realize there’s duplication in the first place! Common examples are logging, validation, checking security, starting a transaction. Often, these are one-liners that are too simple to extract. Too mundane too bother. And too ubiquitous to forget.

Read more: https://nurkiewicz.com/66

Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

#65: Zero Downtime deployment: If it hurts, do it more often
2022-01-10 23:48:14

Remember the days when deploying a new version of your application required downtime? If your application is particularly important, you might have had to schedule a maintenance window. Or perform the deployment in the middle of the night to avoid disruption. Today’s tools and DevOps practices allow deploying tens or even hundreds of times per day. With no downtime, and no noticeable disruption. Sometimes every commit is deployed automatically to production within minutes. How’s all this possible? Read more: https://nurkiewicz.com/65 Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

Remember the days when deploying a new version of your application required downtime? If your application is particularly important, you might have had to schedule a maintenance window. Or perform the deployment in the middle of the night to avoid disruption. Today’s tools and DevOps practices allow deploying tens or even hundreds of times per day. With no downtime, and no noticeable disruption. Sometimes every commit is deployed automatically to production within minutes. How’s all this possible?

Read more: https://nurkiewicz.com/65

Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

#64: TypeScript: will it entirely replace JavaScript?
2022-01-03 23:49:22

TypeScript is a programming language, a superset of JavaScript. This means any valid JavaScript program is also valid TypeScript. But not vice-versa! TypeScript adds a ton of features, addressing the shortcomings of JavaScript. The most important one is optional static typing, including null -safety. The fact that you can take any JavaScript code and turn it into TypeScript by simply changing a file extension is crucial. It means you can gradually start using TypeScript’s features without rewriting your whole application. Read more: https://nurkiewicz.com/64 Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

TypeScript is a programming language, a superset of JavaScript. This means any valid JavaScript program is also valid TypeScript. But not vice-versa! TypeScript adds a ton of features, addressing the shortcomings of JavaScript. The most important one is optional static typing, including null-safety. The fact that you can take any JavaScript code and turn it into TypeScript by simply changing a file extension is crucial. It means you can gradually start using TypeScript’s features without rewriting your whole application.

Read more: https://nurkiewicz.com/64

Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

#63: Logging libraries: auditing and troubleshooting your application
2021-12-27 23:45:15

You can’t look at your application all the time. Instead, it should leave some sort of persistent trace. Such an audit log can be examined later on. However, it’s the responsibility of the application itself to log appropriately. But more importantly, the data it logs for later must be well-structured. Simply printing random words to a console is no longer sufficient. Read more: https://nurkiewicz.com/63 Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

You can’t look at your application all the time. Instead, it should leave some sort of persistent trace. Such an audit log can be examined later on. However, it’s the responsibility of the application itself to log appropriately. But more importantly, the data it logs for later must be well-structured. Simply printing random words to a console is no longer sufficient.

Read more: https://nurkiewicz.com/63

Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

#62: Object-relational mapping: hiding vs. introducing complexity
2021-12-20 22:51:59

Object-relational mapping, ORM for short, simplifies access to relational databases. Such frameworks help with developing applications without writing SQL. SQL was supposed to be easy to use for non-programmers. That’s part of the reason why SQL is so verbose. However, writing complex joins by hand is hard. Also, typically, once you fetch data from your database, you immediately translate it to objects. So why not build a universal framework for such mapping? Like, object-relational mapping? Read more: https://nurkiewicz.com/62 Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

Object-relational mapping, ORM for short, simplifies access to relational databases. Such frameworks help with developing applications without writing SQL. SQL was supposed to be easy to use for non-programmers. That’s part of the reason why SQL is so verbose. However, writing complex joins by hand is hard. Also, typically, once you fetch data from your database, you immediately translate it to objects. So why not build a universal framework for such mapping? Like, object-relational mapping?

Read more: https://nurkiewicz.com/62

Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

#61: Spring framework: 2 decades of building Java applications
2021-12-15 22:19:46

Spring framework is probably the most popular and most successful application framework for Java. Writing a server or a web application before Spring was cumbersome. And it required an insane amount of boilerplate. Even in already bloated Java language. This framework was created sort of as a by-product for a book by Rod Johnson, back in 2003. He wanted to build an alternative to heavyweight Enterprise Java Beans standard. What was just an idea sparked to be one of the largest ecosystems for Java. Read more: https://nurkiewicz.com/61 Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

Spring framework is probably the most popular and most successful application framework for Java. Writing a server or a web application before Spring was cumbersome. And it required an insane amount of boilerplate. Even in already bloated Java language. This framework was created sort of as a by-product for a book by Rod Johnson, back in 2003. He wanted to build an alternative to heavyweight Enterprise Java Beans standard. What was just an idea sparked to be one of the largest ecosystems for Java.

Read more: https://nurkiewicz.com/61

Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

#60: Haskell: purely functional and statically typed programming language
2021-12-08 00:17:22

Haskell is a purely-functional programming language. It is also statically and strongly typed. Haskell takes these characteristics to the extreme. For example, doing any input/output is considered impure from a functional programming point of view. So in some books, a simple “ Hello, world ” example appears as late as in chapter… 9. Read more: https://nurkiewicz.com/60 Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

Haskell is a purely-functional programming language. It is also statically and strongly typed. Haskell takes these characteristics to the extreme. For example, doing any input/output is considered impure from a functional programming point of view. So in some books, a simple “Hello, world” example appears as late as in chapter… 9.

Read more: https://nurkiewicz.com/60

Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

#59: How compilers work: from source to execution
2021-11-29 21:36:20

A compiler is an application that turns text into an executable program. It’s quite extraordinary how much work these complex pieces of software are doing. Pretty much every compiler works by executing several phases. Each phase takes the input of the previous ones to finally produce the runnable code. Let’s take a journey through the compiler internals. Read more: https://nurkiewicz.com/59 Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

A compiler is an application that turns text into an executable program. It’s quite extraordinary how much work these complex pieces of software are doing. Pretty much every compiler works by executing several phases. Each phase takes the input of the previous ones to finally produce the runnable code. Let’s take a journey through the compiler internals.

Read more: https://nurkiewicz.com/59

Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

#58: Consumer-driven Contracts: TDD between services
2021-11-22 21:54:08

Consumer-driven Contracts is an approach to testing integration between services. In a distributed system, many components talk to each other. Typically via request/response protocols or message queues. The client must know and understand the API provided by the server. What kind of endpoints are available, what formats, request/response schema. Without consumer-driven contracts (CDC for short), we are often reckless when it comes to testing. Maybe we have a bunch of smoke tests against a mocked server. Maybe we copy-paste typical responses from the server’s documentation. But both client and server can evolve, breaking the integration in unexpected ways. CDC attempts to codify the API without explicit schema and coordination. Read more: https://nurkiewicz.com/58 Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

Consumer-driven Contracts is an approach to testing integration between services. In a distributed system, many components talk to each other. Typically via request/response protocols or message queues. The client must know and understand the API provided by the server. What kind of endpoints are available, what formats, request/response schema. Without consumer-driven contracts (CDC for short), we are often reckless when it comes to testing. Maybe we have a bunch of smoke tests against a mocked server. Maybe we copy-paste typical responses from the server’s documentation. But both client and server can evolve, breaking the integration in unexpected ways. CDC attempts to codify the API without explicit schema and coordination.

Read more: https://nurkiewicz.com/58

Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

Informacja dotycząca prawa autorskich: Wszelka prezentowana tu zawartość podkastu jest własnością jego autora

Wyszukiwanie

Kategorie