geschrieben von
am 23. Januar 2017 - 19:32
Magento's response to the uiElement Observable Cloning Problem:

One of the first responses in Magento 2’s GitHub issues that hasn’t injured my eyes from the eye rolls. More like this please.

geschrieben von Fabian Schmengler
am 23. Januar 2017 - 9:00
Dies ist mein wöchentlicher Kata Post. Lies den ersten um zu erfahren, worum es hier geht.

Letzte Woche: Prime Factors

Zunächst bin ich den Schritten in den PowerPoint Slides gefolgt, außer dass ich eine einfache Funktion geschrieben habe, statt einer Klasse mit statischer Methode. Das ist schließlich PHP und nicht Java:

namespace PrimeFactors; function generate($n) { $primes = []; for ($candidate = 2; $n > 1; $candidate++) { for (;$n % $candidate == 0; $n /= $candidate) { $primes[] = $candidate; } } return $primes; }

Beim nächsten Mal habe ich einen objektorientierten Ansatz probiert (die Funktion einfach nur in eine Klasse verfrachten, macht sie noch nicht objektorientiert) und habe außerdem yield genutzt, um die temporäre Variable $primes loszuwerden.

class Number { private $n; public function __construct(int $n) { $…
geschrieben von
am 21. Januar 2017 - 4:21
This entry is part 1 of 1 in the series Accelerated Mobile Pages. This is the first post in the series. I’m working on a few articles related to Google’s AMP format, and I’ve noticed one of the big gripes people have with AMP, as well as the AMP CDN that serves content for the Google News carousel, is how it’s “impossible” to find the original article’s URL. This makes the undernourished semantic web fan in my head a little sad. One of the goo* things about the AMP standard is it requires every article to contain a <link rel="canonical" […]
geschrieben von Roman Glushko
am 20. Januar 2017 - 15:57

It is always good when you can test your features fast. But sometimes it’s literally hard and takes a lot of time to test something in Magento. When you make one little change in code and want to test it, it can take much more time to test it rather than make the change itself. Nevertheless it’s a common situation taking into account the complexity of Magento.

There is also a good news. Magento is a modular system and we can power it up with almost anything that we want. By default, Magento Core Team has created a complex store. Many lines of code are executed after every user request. Which is not very useful when creating and testing new functionality. We, developers, can build something much smaller that runs fast and can help us create and test features in no time. We can create our own developer sandbox!

There is a high probability that you’ve already met scripts like this one in Magento 1 projects or even used one:

<?php…
geschrieben von Covos
am 19. Januar 2017 - 17:38
Aufgrund einiger Anfragen haben wir nun eine Erweiterung der „Baseprice„-Extension erstellt, die es ermöglicht den Grundpreis auch bei Mengenrabatten (Tierprices) anzeigen zu lassen. Es muss bereits die o.g. Grundpreis-Extension im Shop installiert sein und sie muss natürlich eingerichtet sein und … Weiterlesen →
geschrieben von
am 17. Januar 2017 - 20:40
How to Respond to and Fix A Bug:

Here’s a small highlight from pestle’s issue tracker. A user ran into a situation I hadn’t considered when I created a command. I wrote my command assuming there wasn’t already a di.xml file in place, or if there was that it would already have a certain set of nodes. This user already had a di.xml file they’d created manually.

Key parts of this response

  • Respond as quickly as possible to acknowledge you’ve received the issue. Do this in a human way, not a robotic way. Even if the issue’s going to be something you can’t fix, acknowledging the effort with a human response is key if you want future participation of this user.

  • Interact with the user to get a reproducible test case. Do not give up if the user seems to be unhelpful – not everyone works on systems software all day.…

geschrieben von Fabian Schmengler
am 16. Januar 2017 - 9:00
Dies ist mein wöchentlicher Kata Post. Lies den ersten um zu erfahren, worum es hier geht.

Letzte Woche: String Calculator

Die Kata war eine Übung in regulären Ausdrücken, auch wenn das nicht wirklich die Intention ist. Was interessanter ist, ist sich Grenzfälle zu überlegen, um die Tests fehlschlagen zu lassen. Mein Data Provider für valide Daten sah am Ende so aus, als ich die Kata das erste Mal in PHP gemacht habe:

public static function dataValidAddInput() { return [ 'empty_string_returns_zero' => ['', 0], 'single_number_returns_self' => ['1', 1], 'two_numbers_separated_by_comma' => ['1,2', 3], 'more_numbers_separated_by_comma' => ['4,2,5,6,8,10,0', 35], 'numbers_separated_by_newline' => ["1\n2", 3], 'numbers_separated_by_newline_and_comma' => ["1\n2,3", 6], '…
geschrieben von Covos
am 13. Januar 2017 - 14:00
Standardmäßig ist der Übersicht der Rechnungen im Backend die Spalte „Zahlart“ nicht enthalten. Man kann sie nun aber manuell hinzufügen. Einen generellen Hinweis, wie man Spalten mit Informationen in den Admingrids hinzufügt, gibt es bereits HIER. Hier soll es nur … Weiterlesen →
geschrieben von Fabian Schmengler
am 11. Januar 2017 - 9:34

Bist du ein PHP Entwickler der gerne mit Unit Testing anfangen würde? Willst du meinen wöchtentlichen TDD Kata Posts folgen, weißt aber nicht, wie du anfangen sollst? Hier ist eine Schritt für Schritt Anleitung, bis zum ersten Test.

Lies den ersten Kata Beitrag um herauszufinden, worum es hier geht.

Voraussetzungen
  • PhpStorm IDE
  • Lokale PHP installation (am besten PHP 7)

Kata Projekt erstellen
  1. Erstelle ein neues Projekt vom Typ “PHP Empty Project”
geschrieben von Covos
am 10. Januar 2017 - 14:28
Wir haben aufgrund von Serveranpassungen gerade eine PHP-Versions-Umstellung gehabt. Es wurde von PHP-Version 5.6 auf 7 umgestellt -ohne Unterstützung der alten Versionen. Im ersten Augenblick zeigt Magento (Version 1.9.1.1) dann nur noch dies: Fatal error: Uncaught Error: Function name must … Weiterlesen →
geschrieben von Fabian Schmengler
am 9. Januar 2017 - 9:00
Dies ist mein wöchentlicher Kata Post. Lies den ersten um zu erfahren, worum es hier geht.

Letzte Woche: The Bowling Game

Siehe letzter Post: TDD Kata 01: The Bowling Game

Meine persönlichen Ziele diese Woche:
  • Die Kata in Ruby ausprobieren
  • Sie auch in PHP durchführen, mit Knapsack Collections

Ich habe in meiner Komfortzone angefangen, PHP mit PHPUnit. Ich habe die Abschnitte (first test, second test, …) wie beschrieben befolgt. Ich habe Knapsack Collections benutzt, so dass mein Test Data Provider am Ende so aussah:

public static function dataGame() { return [ 'gutter game' => [0, repeat(0, 20)], 'all ones' => [20, repeat(1, 20)], 'one spare' => [16, values([5, 5, 3])->concat(repeat(0, 17))], 'one strike' => [24, values([10, 3, 4])->concat(…
geschrieben von Covos
am 6. Januar 2017 - 17:28
Magento bringt im RWD Theme (ab Magento CE 1.9) unter anderem auch einen Social Media Footer mit. In diesem werden die Links zu den verschiedenen Portalen wie Facebook, Twitter etc. nett mit Icons versehen. Um diesen Footer zu nutzen kann … Weiterlesen →
geschrieben von Fabian Schmengler
am 4. Januar 2017 - 15:09

If you consider a developer as a user, reading a book about usability engineering is mind-blowing, related to your code.

— Tobias Zander (@airbone42) 14. Februar 2015

Dieser Tweet Anfang 2015 hat mir die Augen geöffnet. Ich hatte ein wenig über das Design interaktiver Systeme und die Psychologie dahinter gelernt, so dass ich ihn direkt nachempfinden konnte. Er hat mich zu einem Vortrag “Usability für Programmierer” bei der WebCon Aachen inspiriert, der leider nie öffentlich wurde, weil das Event abgesagt wurde. Ich warte noch immer auf eine passende Gelegenheit, ihn zu präsentieren.

Ich finde das Thema allerdings zu interessant, um länger damit hinterm Berg zu halten, also ist hier nun ein Blog Post!

Weiterlesen auf Englisch (Folien auf deutsch am Ende des Beitrags)

geschrieben von Alexander Steireif
am 4. Januar 2017 - 14:09

In den letzten Wochen und Tagen vor dem Livegang eines Magento E-Commerce Projektes wird es in der Regel noch mal richtig stressig. Kunden liefern noch Content nach. Das Frontend erhält den Feinschliff. Zusätzliche Bezahlarten sollen noch integriert und Cross-Sell-Regeln angepasst werden. Damit in diesem Trubel die Basics nicht vergessen werden, haben wir eine kleine Checkliste zur

The post Checkliste Qualitätssicherung: Was ist vor dem Livegang zu beachten? appeared first on Regalsprecher.

geschrieben von Fabian Schmengler
am 2. Januar 2017 - 9:00

Eins meiner Ziele für 2017 ist es, TDD Katas zu einem Teil meiner täglichen Routine zu machen. Was eine Kata ist? Genau wie in der Kampfkust geht es um Training durch Wiederholung, die selbe Übung wieder und wieder zu machen, bis man sie im Schlaf beherrscht.

Einige würden sagen, es ist der einzige Weg, TDD zu lernen. Das macht aus mehreren Gründen Sinn: Man beginnt in einem kleinen, abgeschlossenen Bereich und kann reine testgetriebene Entwicklung anwenden. So kann man die neue Denkweise (den red-green-refactor Zyklus) ohne Frustration trainieren. Es bedeutet, nicht gleichzeitig um die Eigenarten eines Frameworks herum arbeiten zu müssen.

TDD Tip #49: Focus on building good habits to make TDD your default behaviour #101TddTips pic.twitter.com/…

geschrieben von Fabian Schmengler
am 1. Januar 2017 - 16:02

Wie jedes Jahr seit meinem Blog-Relaunch beginne ich das Jahr mit einer kleinen Retrospektive und Ausblick.

Blog Stats


Die Besucherzahl hat sich über das Jahr nicht groß geändert. Es gibt nur eine Spitze im September, durch ein paar mehr Artikel.

Jan Feb Mär Apr Mai Jun Jul Aug Sep Okt Nov Dez 1 4 5 6 1 3 3 4 9 3 0 4

Die Top-Quellen sind auch ähnlich geblieben:

# Quelle Besucher Besucher 2015 1 Google 10759 10011 (+0) 2 direkt 6811 5997 (+0) 3 Twitter 1411 772 (+1) 4 StackOverflow 1120 985 (-1) 5 habrahabr.ru 635 162 (+3)

Ein Blick auf…

geschrieben von
am 30. Dezember 2016 - 20:29
This entry is part 12 of 12 in the series Magento 2 UI Components. Earlier posts include Magento 2: Introducing UI Components, Magento 2: Simplest UI Component, Magento 2: Simplest UI Knockout Component, Magento 2: Simplest XSD Valid UI Component, Magento 2: ES6 Template Literals, Magento 2: uiClass Data Features, Magento 2: UI Component Data Sources, Magento 2: UI Component Retrospective, Observables, uiElement Objects, and Variable Tracking, Magento 2: uiElement Features and Checkout Application, and Magento 2: Remaining uiElement Defaults. This is the most recent post in the series. As the year wraps up we’ve got another quickies meta-post for […]
geschrieben von
am 30. Dezember 2016 - 20:12

In [two](http://magento-quickies.alanstorm.com/post/147052601955/magentos-knockoutjs-templates-arent-knockoutjs ) previous articles, we talked a bit about Magento’s remote Knockout.js template files, and their customer tags/attributes.

I’ve been doing a bit more exploring around this feature, and I’ve discovered the previous list of custom tags and attributes was incomplete. In addition to the tags and attributes listed in the “Design Problems” article, we’ve also got the following tags

<scope args="..."/> : <!-- ko scope: ... --><!-- /ko --> <translate args="..."/…
geschrieben von
am 29. Dezember 2016 - 21:27
Tips for Running Magento 2's Test Suite:

A quick writeup of some issues you’ll run into if you’re trying to run Magento’s test suite.

geschrieben von Mariana Lashch
am 29. Dezember 2016 - 16:58

The first association with the term remote work is a dream-like work, while lying in a hammock at the sea side. We take it as a holiday, rather than usual daily responsibilities at an office. But when you start your remote job, you soon figure out that your table, a chair (or a hammock) and your laptop become your work place for a full busy day. The same as an office with a slight difference that it’s not necessary to wake up early and commute, or having a chance to escape to any warm place from a soul-crushing winter and work from anywhere you want. Because what matters in the long run is the result.

While you can easily maintain high-quality work and be a professional at your office desk, it takes some extra skills, to be a good remote employee. As Atwix is a distributed company, and I personally work remotely, it is essential to know how to be a good remote worker. What does it take to be a good one? In order to reach high-quality results, a self-organization…