ionic cordova coursera

Ура — немного с запозданием — но все же можно поздравить: закончил курс и получил сертификат по Ionic and Cordova от Coursera. Мои первые шаги на пути к мобильным приложениям 🙂 В честь этого, вводный обзор и впечатления по курсу. Об чем речь? Ionic — фреймворк для разработки гибридных кроссплатформенных приложении, аля Xamarin. Пишите на одном языке — получаете приложение на Android, iOS, Windows. Если для Xamarin используется С#, то для Ionic всеми знакомый HTML, JS. Js не ванильный, а Angular + Typescript.

Хочу поделиться одним видео, в котором хорошо объясняется «Что такое Observable». Автор пошагово, с нуля создает свой прототип Observable. По мере роста кода и функции, видно какие цели может решать Observable. К сожалению, название видео очень плохо передает его суть, точнее очень плохо индексируется и ищется в поисковике. Само видео нашел случайно в комментариях к одному из видео, в которых автор, обычно, пересказывает официальную документацию. Поэтому, было решено оставить у себя в заметках, а также помочь в продвижении этого выступления. Observable, точнее библиотека RxJs очень плотно интегрирована в Angular. Так что если будете смотреть код Angular точно столкнетесь c Observable. Кажется, что все запросы в Angular, которые могут вернуть ответ …

How to Create a Bootable Windows 10 USB in Linux

Линукс как всегда удивляет своей «дружелюбностью». Если в винде, чтобы создать загрузочный диск, нужно просто скачать программу Rufus и запустить ее, то Линуксе пришлось потратить несколько часов на чтение и поиск, а если учесть тестирование, то целых два дня, чтобы найти верный способ. Сналала о способах, которые НЕ работают. Все действия выполнялось на Linux Mint Cinnamon. Один индуский друг на сайте https://itsfoss.com/bootable-windows-usb-linux/ советует программу Disks для создания загруочной флешки. Так вот создания загруочной флешки Windows 10 через встроенную программу Disks НЕ работает. Следующий способ через встроенную программу Usb Image Creator. Вердикт — Не работает. Вызвать эту программу можно выбрав iso образ -> нажть на ПКМ -> make bootable usb Далее, …

Самым популярным инструментом для анализа кода PHP является Codesniffer. Установить его можно как глобально, так и локально. Через композер выглядит это так:

Запуск через:

Настройка Codesniffer это отдельная тема, сейчас пойдет речь про авто запуск этой команды. Чтобы не запускать каждый раз перед коммитом или пушем, можно привязать запуск на git webhooks. Все хуки лежат в папке .git\hooks. Возьмем к примеру файл pre-commit.sample, событие вызывается до коммита. Этот хук легче всего тестировать локально, так что и другие скрипты, необходимые для других хуков, можно потренировать «на кошках» Для начала нужно переименовать или создать новый файл с именем pre-commit. Вставить туда вот такой код

Подведение итогов года 2019

Под конец года принято писать про итоги и произошедшие события за год. Что ж, даже несмотря на то, что все эти «топы и итоги» окутаны хайповостью и кликбейстностью, опутаны бородатостью и пахнут вермутом бьянко, и моя натура, относящаяся с критическим мышлением к таким вещам, не хотела вливаться в этот поток. Но пульсирующая мысль, корнем, которого было где то невпопад прочитанная: «Что не записано, того не было», не давало покоя. Кажется, это высказывания великого римского историка. Или высказывание моей одноклассницы, постоянно ведшая дневник и писавшая любую мелочь туда. Хотя… больше похоже на девиз бухгалтеров.

Переписал проект Gitlab Webhooks + Redmine, интеграция с помощью вебхуков на Lumen. Основная идея — посмотреть отличия между проектом на чистом PHP и проектом на известном фреймворке. Из побочных эффектов — возможность использования Dependency Injection в тестах. С помощью Laravel Service Container and PHPUnit сделать это легко. Исходный код лежит в репозиторий: https://github.com/Carsak/GitlabWebhookExample

Gitlab webbhooks + Redmine

Задача — при создании мерж реквеста(pull request) в Gitlab обновлять задачу в Redmine. Например, обновить описание задачи, добавив ссылку на мерж реквест, или отредактировать любое другое поле. Стандартная интеграция из под коробки Gitlab не позволяла это сделать. Было решено делать это через веб хуки. Алгоритм работы: после каждого открытия мерж реквеста отправляется событие на кастомный endpoint. Будет отправляться имя ветки из MR, projectCode-issueId-task-description, откуда будет парситься ID задачи Redmine. Пример имени ветки wh-123456-add-webhooks, где 123456 — это ID задачи.

Список прочитанных книг за осень

Заметка о том, что удалось прочитать за квартал, за эту осень. За три месяца было прочитано четыре книги «Предметно-ориентированное проектирование (DDD)» Эрика Эванса, «Использование Docker» Моуэт Эдриен и «Проект Феникс. Роман о том как DevOps меняет жизнь» авторов Ким Джин, Спаффорд Джордж, Бер Кевин, также книга Mastering Gitlab 12 Packt Publishing Общие впечатления о книгах.

install gitlab on windows 10

Как установить Gitlab в Windows? Первая же ссылка в поисковике дала ответ: Самый легкий способ установить Gitlab в Windows-е — это установить виртуальную машину Linux и уже там установить Gitlab. Пост был опубликован на официальном форуме Гитлаба. Автор кажется не шутить? Хм… А есть ли все таки способ?