Author: merkushin

  • DI doesn’t always mean IoC

    DI doesn’t always mean IoC

    Dependency injection is sometimes confused with dependency inversion. However, the former is only an implementation detail for both dependency inversion and inversion of control. Dependency injection is a useful technique to introduce dependencies in your code. It might be one class we want to use in another one, or it might be a service from […]

  • PhpStorm Useful Hot Keys (for me)

    PhpStorm Useful Hot Keys (for me)

    Below is my tiny cheat sheet for PhpStorm. Knowing and using hot keys improves productivity significantly. I used to use them before started using IdeaVim, as many of these hot keys conflict with Vim bindings. This post was in drafts here for at least three years, and it bubbled up during my last revision. I […]

  • An alternative for a DI-container in WordPress plugin development

    An alternative for a DI-container in WordPress plugin development

    Briefly, the dependency injection helps us to work with dependencies: makes them observable and enables to substitute them whenever we need it. My choice of preference is to inject dependencies through a constructor. Here, we have both the observability and the replaceability. As a bonus, the object is completely instantiated and ready for future work. […]

  • But these conflict with your requirements or minimum-stability

    Мучился сегодня с обновлением библиотеки в проекте. Сам только что поднял версию этого пакета, и теперь получал постоянно: Problem 1 – The requested package x/yz (locked at 1.2.3, required as ^1.2.4) is satisfiable by x/yz[1.2.3] but these conflict with your requirements or minimum-stability. Вообще ничего понять не мог, потому что изменений со стабильностью не было, […]

  • EFSET English Certificate 79/100

    EFSET English Certificate 79/100

  • 100 Days of Swift

    100 Days of Swift

  • switch (true)

    Недавно столкнулся с необоснованным, на мой взгляд, злоупотреблением конструкцией switch в PHP (язык в этом вопросе — важный момент!). И, кажется, сторонников у меня по этому вопросу особо и нет, как нет и достаточно авторитетного источника, где бы было сказано, чем такое использование плохо. Авторитетным мой бложик не назовёшь, но пусть эта запись станет той […]

  • isset vs. array_key_exists

    Совсем недавно моё невежество привело к тому, что система, к разработке которой я прикладываю свои руки и по возможности голову, на несколько часов оказалась частично непригодна для использования. Несмотря на свой уже достаточно богатый опыт работы с PHP и давнюю сертификацию по этому языку (хотя многие к ней относятся с юморком, всё же это какая-никакая […]

  • Курсы по JavaScript

    JavaScript я использую давно, не могу назвать точную дату. Года с 2000, наверное. Но никогда не пытался особо в нем разобраться. То ли терпения не хватало, то ли мотивации. Довольствовался базовыми знаниями, которых хватало для примитивного решения поставленной задачи. Но недавно понял, наконец, что разработка на backend становится все скучнее, а все большее количество разнообразных […]

  • MySQL 5.6 Developer

    Сегодня я успешно сдал экзамен MySQL 5.6 Developer 1Z0-882. И теперь жду, когда же мне присвоят Oracle Certified Professional, MySQL 5.6 Developer. Трудно точно оценить время, которое потратил на подготовку, так как часто приходилось прерываться на продолжительный срок по независящим от меня причинам. Думаю, суммарно где-то месяц активной подготовки. Сначала прочитал MySQL 5.0 Certification Study Guide […]