1/Блог

Laravel. Ищем сходства с YII для быстрой адаптации 📅 04.10.2020, 13:01

Laravel. Ищем сходства с YII для быстрой адаптации

В жизни надо всегда учиться чему то новому, будь то в бытовой сфере, либо в рабочей. Совсем недавно я принял решение написать своё первом мобильное приложение, полноценное, ни какое то подобие на технологии PWA...Для этого я изучил вопрос и наткнулся на фреймворк Flutter, который в свою очередь потребовал знаний языка Dart. В последние дни я отдавал своё свободное время изучению и практике на языке Dart, но необходимо сделать паузу...По работе появился новый проект, в рамках которого существовал...

Путь к первому мобильному приложению. Часть 1.14 - Изучаем язык Dart: Кратко о потоках 📅 03.10.2020, 09:54

Путь к первому мобильному приложению. Часть 1.14 - Изучаем язык Dart: Кратко о потоках

Основная информация по языку Dart усвоена, безусловно это поверхностный беглый осмотр, но в целом всё очень даже доступно. Остаётся крайне интересное для меня направление - это потоки, которыми заняться смогу немного позже...

Путь к первому мобильному приложению. Часть 1.13 - Изучаем язык Dart: Асинхронное программирование, async/await 📅 02.10.2020, 08:20

Путь к первому мобильному приложению. Часть 1.13 - Изучаем язык Dart: Асинхронное программирование, async/await

В программировании традиционно код выполняется синхронно, т.е. одна операция выполняется после завершения другой.Асинхронность подразумевает что операция может выполняться параллельно, то есть не блокировать остальные операции.При Future функция встаёт в очередь на выполнение и возвращает незавершённый объект Future. После окончания операции Future вернётся с каким-то значением или ошибкой...

Путь к первому мобильному приложению. Часть 1.12 - Изучаем язык Dart: ООП. Generics, перечисления и другое 📅 01.10.2020, 08:50

Путь к первому мобильному приложению. Часть 1.12 - Изучаем язык Dart: ООП. Generics, перечисления и другое

Generics это обобщения позволяющие добавить Вашему коду гибкости и не привязываться жёстко к типам данным.

В языке программирования Dart имеется возможность переопределять в классах стандартные операции, которые по сути над ними недоступны, но есть возможность задать правила их реализации...

Путь к первому мобильному приложению. Часть 1.11 - Изучаем язык Dart: ООП. Интерфейсы и миксины (mixin) 📅 30.09.2020, 08:48

Путь к первому мобильному приложению. Часть 1.11 - Изучаем язык Dart: ООП. Интерфейсы и миксины (mixin)

Наследование в языке Dart ограничивает возможность класса наследоваться от нескольких других классов. Для этого необходимы интерфейсы. И в отличии от других языков программирования в Dart интерфейс это не отдельная сущность, а тот же класс, который может выступать классом объекта и реализовывать интерфейс для другого класса. Для реализации интерфейса используется ключевое слово implements...

Путь к первому мобильному приложению. Часть 1.10 - Изучаем язык Dart: ООП. Статические элементы класса, абстрактные классы и методы 📅 29.09.2020, 08:21

Путь к первому мобильному приложению. Часть 1.10 - Изучаем язык Dart: ООП. Статические элементы класса, абстрактные классы и методы

Статические поля и константы определяются также как и обычно, только в начале указывается ключевое слово static. Разница лишь в том, что статическое поле мы можем изменить извне обратившись к нему через класс. Статические методы относятся ко всему классу и обычно высчитывают значения которые не влияют на внутренние поля класса...

DataLife Engine адаптируем к MySQL 8 📅 28.09.2020, 18:10

DataLife Engine адаптируем к MySQL 8

CMS DLE (DataLife Engine) оказалась абсолютно не готовой к тенденциям развития MySQL. Часть кода оказалась неработоспособной и потребовало внесение правок.

В частности в запросах используются подобные структуры category regexp '[[:<:]]($catid)[[:>:]]' которые в MySQL 8 недопустимы. Вариантом решения проблемы может быть такой запрос category regexp '^((.*),)?($catid)(,(.*))?$'

Соответственно наша задача заменить во всех местах где используется устаревший код на более новый...

Путь к первому мобильному приложению. Часть 1.9 - Изучаем язык Dart: ООП. Методы, геттеры (get) и сеттеры (set) 📅 28.09.2020, 08:36

Путь к первому мобильному приложению. Часть 1.9 - Изучаем язык Dart: ООП. Методы, геттеры (get) и сеттеры (set)

Методы являются элементами класса, обращение к ним происходит как и к полям через точку, но дополнительно указываются скобки в конце с возможной передачей параметров...

Путь к первому мобильному приложению. Часть 1.8 - Изучаем язык Dart: ООП. Конструкторы и элементы экземпляра 📅 27.09.2020, 09:33

Путь к первому мобильному приложению. Часть 1.8 - Изучаем язык Dart: ООП. Конструкторы и элементы экземпляра

Вот и подошли к одной из интересных тем - ООП. Принципы здесь как и во многих других языках программирования.

Путь к первому мобильному приложению. Часть 1.7 - Изучаем язык Dart: Исключения 📅 26.09.2020, 10:02

Путь к первому мобильному приложению. Часть 1.7 - Изучаем язык Dart: Исключения

Для предотвращения критических ошибок в коде программы необходимо использовать исключения. Конструкция try...on...catch...finally идеально подходит для этого...

Путь к первому мобильному приложению. Часть 1.6 - Изучаем язык Dart: Коллекции 📅 25.09.2020, 08:53

Путь к первому мобильному приложению. Часть 1.6 - Изучаем язык Dart: Коллекции

Коллекции в Dart это массивы различных типов: List - Список - [value], Set - Множество - {value}, Map - Словарь - {key:value}

Путь к первому мобильному приложению. Часть 1.5 - Изучаем язык Dart: Условные конструкции и циклы 📅 24.09.2020, 08:29

Путь к первому мобильному приложению. Часть 1.5 - Изучаем язык Dart: Условные конструкции и циклы

if...else позволяет выбрать какое условие выполнять в зависимости от условия, либо группы условий. Проверка идёт по порядку указания в коде от if ( ) до else (если есть выполняется при непопадании в ранее указанные условия) проверяя все указанные варианты if else ( )...

Путь к первому мобильному приложению. Часть 1.4 - Изучаем язык Dart: Операторы и проверка типов 📅 23.09.2020, 08:52

Путь к первому мобильному приложению. Часть 1.4 - Изучаем язык Dart: Операторы и проверка типов

Операторы бывают следующих типов: арифметические, сравнения, типовых проверок, присваивания, логические ,побитовые и операторы сдвига, условные, каскадные и другие...

Путь к первому мобильному приложению. Часть 1.3 - Изучаем язык Dart: Видимость переменных, const и final 📅 22.09.2020, 08:35

Путь к первому мобильному приложению. Часть 1.3 - Изучаем язык Dart: Видимость переменных, const и final

Область видимость переменных в Dart определяется компоновкой кода...

Путь к первому мобильному приложению. Часть 1.2 - Изучаем язык Dart: Функции 📅 21.09.2020, 08:45

Путь к первому мобильному приложению. Часть 1.2 - Изучаем язык Dart: Функции

Функции в Dart можно записывать как в стандартном представлении, так и используя краткую форму описания (если позволяет код). Также как и других языках функции могут содержать позиционные и именные параметры, среди которых могут быть необязательные и с заданными значением по-умолчанию.

Путь к первому мобильному приложению. Часть 1.1 - Изучаем язык Dart: Основы и типы данных 📅 20.09.2020, 09:55

Путь к первому мобильному приложению. Часть 1.1 - Изучаем язык Dart: Основы и типы данных

Dart - это объектно-ориентированный язык программирования, созданный компанией Google. Функция main ( ) { ... } является входной точкой и именно с неё начинает своё выполнение все программы на Dart, по-умолчанию возвращает тип void...

Путь к первому мобильному приложению. Часть 0 - Вступление и цель 📅 19.09.2020, 10:00

Путь к первому мобильному приложению. Часть 0 - Вступление и цель

Мобильные технологии занимают важную роль во взаимодействии с окружающим нас миром: будь то сходить в магазин за покупками, либо элементарно для коммуникации с другими людьми. В плане проведения спортивных мероприятий также необходимы улучшения... Есть множество аспектов которые могли бы значительно упростить мобильные решения. Одно из таких это фиксация участников судьями на контрольных пунктах в соревнованиях по радиоспорту. Это просто самый тривиальный пример...

YII2: Храним ссылку на страницу сущности в свойствах её модели, а получаем по запросу через метод 📅 06.09.2020, 11:00

YII2: Храним ссылку на страницу сущности в свойствах её модели, а получаем по запросу через метод

За время использования YII2 вывод ссылок на ту или иную страницу привязанную к модели у меня прогрессировал дважды. На примере записи в блоге продемонстрирую как бы это выглядело у меня...

YII2: Автоматизируем выставление в input полях ActiveForm атрибутов min и max 📅 05.09.2020, 20:11

YII2: Автоматизируем выставление в input полях ActiveForm атрибутов min и max

Очень часто некоторые новые действия мы делаем на ощупь пытаясь сделать по аналогии со знакомым функционалом.Так было со мной когда мне потребовалось вывести значения атрибутов min и max в полях ActiveForm фреймворка YII2. Первая мысль сделать по аналогии с maxlength. Но не тут то было, в коде значения из валидатора не подставлялись. Как оказалось в функционале фреймворка такой фишки нет. Решение...

Сапожник без сапог 📅 05.09.2020, 12:05

Сапожник без сапог

Пословица "Сапожник без сапог" в современной жизни имеет нейтральный смысл, который заключён в том, что кто-то делает что-либо для других, но не делает (не имеет возможности сделать) это же для себя. Проще говоря, завален работой. В моей жизни данная пословица в сфере IT приобрела вполне негативный характер и причем в те времена, когда делал что-либо без коммерческой составляющей, т.е. до 2017 года. Это были те времена, когда знакомым, либо знакомым знакомых нужен был "сайтик" и что...