
Основные команды Git: шпаргалка с примерами
Основные команды Git с примерами: настройка, add и commit, просмотр истории, ветки и слияние, push и pull, отмена изменений, stash и .gitignore.
Пишу на PHP и JavaScript, дорабатываю интернет-магазины на OpenCart и WooCommerce и делаю для них модули. В свободное время экспериментирую с локальными нейросетями. В статьях делюсь рабочими примерами кода и объясняю их построчно.

Основные команды Git с примерами: настройка, add и commit, просмотр истории, ветки и слияние, push и pull, отмена изменений, stash и .gitignore.

Как в WooCommerce изменить сортировку товаров в магазине и категориях, убрать или добавить варианты сортировки, заменить или убрать знак валюты и поменять текст кнопки «В корзину» и сообщения о добавлении товара. Настройки и фильтры с примерами кода.

Как сделать таймер обратного отсчёта на чистом JavaScript: до заданной даты и времени, на заданное число минут, с сохранением в localStorage, несколько таймеров на странице, точный отсчёт без накопления ошибки и учёт часовых поясов.

Два бесплатных модуля для Opencart 3 от logi.cc: отдельная страница каталога с плиткой категорий и водяной знак на изображениях товаров. Что умеют, как установить и настроить.

Как отправить HTTP-запрос из JavaScript в браузере и Node.js: fetch с async/await, GET и POST, JSON и FormData, заголовки, обработка ошибок, тайм-аут и отмена запроса, Axios и устаревший XMLHttpRequest, CORS.

Как в Opencart 3 и 4 добавить свою позицию для модулей (например, в шапку сайта) и как показать модуль только на одной информационной странице: через переопределение макета без кода или условием в контроллере позиции.

Всё об объектах в JavaScript: литералы и вычисляемые ключи, доступ к свойствам, методы и this, геттеры и сеттеры, перебор через Object.keys и entries, проверка свойств, деструктуризация, поверхностное и глубокое копирование, structuredClone, заморозка, прототипы и классы.
Наибольшее распространение среди динамических структур данных получили списки. Списком называется структура данных, каждый элемен которой содержит ссылку, указывающую на следующий элемент списка.
Давайте посмотрим, как можно использовать динамическую память для хранения больших массивов данных.
Рассмотрим не большой пример по работе с динамической памятью.

Работа с динамической памятью осуществляется с помощью указателей. Указатель – это переменная, в качестве своего значения содержащая адрес ячейки памяти.
Во время работы программы все переменные, объявленные в ней, размещаются в статической области памяти, которая называется сегментом данных.