Development Donderdagen #20

Interessante artikels

IntelliJ, uw vriend (15 min)

De derde Early Access Preview van IntelliJ 2016 toont enkele handige nieuwe features. Zo kan je met een simpel Alt+Enter commando de ‘oude’ for- en foreach-loops omtoveren in Java 8 streams en lambda’s. Voor voorbeelden en meer info over wat er allemaal mogelijk zal zijn, check de volgende link:

https://blog.jetbrains.com/idea/2016/09/intellij-idea-2016-3-eap-helps-migrate-to-java-8s-stream-apis/

Eclipse, waar ging het mis? (15 min)

In 2012 gebruikte 62% van alle Java ontwikkelaars de Eclipse IDE. Tegenwoordig is dat nog slechts 41%. Bekijk daarentegen het marktaandeel van IntelliJ dat de voorbije vier jaar steeg van 24% naar 46% en het is duidelijk waar dit verhaal heengaat. Het verval heeft Eclipse vooral aan zichzelf te danken, alhoewel de lancering van IntelliJ’s gratis Community Edition de concurrerende IDE’s ook geen goed heeft gedaan. Voor een gedetailleerdere analyse van Eclipse’s teloorgang, check volgende link:

http://movingfulcrum.com/the-fall-of-eclipse/

Talk of the week: Trishe Gree – Refactoring to Java 8 (51 min)

Java 8 is al een tijdje uit, maar veel codebases gebruiken nog steeds veel structuren uit het pre-Java 8 tijdperk. Trisha Gree geeft enkele tips om deze code te moderniseren zonder daarbij bugs te introduceren of de performantie van je systeem onderuit te halen.

https://www.youtube.com/watch?v=dlzMV83RTtw

  • Why refactor to Java 8
    • Its easy to parallellize
    • It has speed improvements in regards to Map etc
    • Do more in fewer lines of code
    • Less chance for NullPointerExceptions (eg by using Optionals)
  • Before refactoring, try to do the following to reduce the risks:
    • Good test coverage (including performance tests where performance is important)
    • Decide what youre trying to achieve by refactoring
    • Don’t refactor everything at once (limit the scope)
  • Lambdas and streams
    • Anonymous inner classes like Predicate or Runnable are lambdas in disguise. Their apply functions are basically filters
    • Abstract classes with a single method can be refactored to a FunctionalInterface. Usages of these FunctionalInterfaces as an anonymous inner class can then be replace by a lambda
    • For loops can be refactored to collect() or to forEach()
      • if statements can be transformed into filter()

Dictionary.put()

Naast technical debt is er ook zoiets als knowledge debt. Gezien de hoeveelheid technologieën die we dagelijks gebruiken en de complexiteit van al deze componenten is het logisch dat we van sommige gebruikte technologieën niet exact weten hoe ze werken. Het is oké om op bepaalde vlakken kennis te ontbreken. Weet echter dat je deze kennis ooit zal moeten opdoen om te kunnen blijven werken met een bepaalde technologie. Dit gebrek van kennis op korte termijn heet Knowledge Debt. Of zoals onderstaande site het mooi definieert:

You should, intentionally and tactically, decide which piece of information you can do without, for now. But you should also, intentionally and strategically, decide when to pay back that debt.

http://amir.rachum.com/blog/2016/09/15/knowledge-debt/

 

Technologie in de kijker: Jenkins Blue Ocean

Blue Ocean brengt een betere user experience naar Jenkins. De verhoogde gebruiksvriendelijkheid laat zich vooral voelen bij het visualiseren van pipelines en het tonen van de juiste delen van de logs wanneer er zich ergens een fout voordoet tijdens een job. Daarnaast kan elke gebruiker zijn eigen lijstje van favoriete jobs maken die door Blue Ocean op de meest logische manier worden gerangschikt.

https://dzone.com/articles/blue-ocean-a-better-ux-for-jenkins-users?utm_medium=feed&utm_source=feedpress.me&utm_campaign=Feed:%20dzone

finally {

Na het Internet of Things is nu ook het Internet of Clothes op komst. Door kledingstukken uit te rusten met RFID tags, kan je bijvoorbeeld snel opzoeken welke items in kleerkast je vaak en welke je haast nooit draagt. Via een instelling kan je je verwaarloosde kledij na een bepaalde tijd automatisch te koop laten aanbieden op een veilingsite.

De technologie kan je ook helpen om snel een matchende outfit samen te stellen of je een passende outfit aanraden gebaseerd op de weersverwachtingen voor een bepaalde dag. Tenslotte kan je ook makkelijker afleiden in welk land een bepaald stuk werd gefabriceerd en hoeveel de arbeiders per uur betaald krijgen.

https://dzone.com/articles/a-new-wardrobe-the-internet-of-clothes?utm_medium=feed&utm_source=feedpress.me&utm_campaign=Feed:%20dzone

 

}

Eén gedachte over “Development Donderdagen #20”

  1. Het artikel over Knowledge Debt, is zeer interessant! Mijn favoriet stukje:

    I believe knowledge debts is what separates mediocre programmers from great programmers. Great programmers don’t settle on not knowing; but they are also not obesessed about learning right now. They are in a continuous cycle of taking on debt, noting it and coming back to it when the time is right.

    Zeker iets om te onthouden 🙂

    Geliked door 1 persoon

Plaats een reactie