Как стать автором
Обновить
24
0
Иван Горохов @Dead_Angel

PHP программист

Отправить сообщение

Правила компоновки во Flutter, которые должен знать каждый

Время на прочтение14 мин
Количество просмотров73K


Когда новичок во Flutter спрашивает, почему какой-то виджет с width: 100 не ширины 100 пикселей, обычно ему отвечают, что надо обернуть этот виджет в Center, верно?


Не надо так делать


Если так отвечать, то к вам будут возвращаться снова и снова, спрашивая, почему какой-то FittedBox не работает, почему этот Column переполнен или как работает IntrinsicWidth.


Сначала объясните, что Flutter компоновка очень отличается от HTML компоновки (особенно, если говорите с веб-разработчиком), а затем скажите, что необходимо запомнить следующее правило:


Ограничения для виджетов объявляются в родителях. Размеры (желаемые) задаются в самом виджете. Позиция виджета на экране устанавливается родителем

На мой взгляд, это правило нужно изучить, как можно раньше, так как без него по-настоящему понять компоновку во Flutter нельзя.

Всего голосов 25: ↑25 и ↓0+25
Комментарии6

Детальное сравнение WordPress и October CMS

Время на прочтение28 мин
Количество просмотров31K
Меня зовут Павел Ловцевич, я сооснователь и CTO веб-студии LOVATA. Одной из основных платформ, на которой мы разрабатываем проекты для наших заказчиков, является October CMS, с которой мы работаем уже почти 6 лет.

Эта CMS несколько опередила свое время и не сразу снискала заслуженную популярность. Однако в последние пару лет она переживает своего рода ренессанс, свидетельством чему является множество упоминаний о ней в англоязычной среде разработчиков.

С целью поддержать эту волну данным переводом я начинаю серию статей об этой прекрасной CMS.


Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии61

Master SCADA 4D. Есть ли жизнь на ARMе?

Время на прочтение6 мин
Количество просмотров23K
image


Имея достаточно большой опыт работы в области промышленной автоматизации, мы вечно находимся в поиске оптимальных вариантов для решения своих задач. В зависимости от технического задания заказчика, приходилось останавливаться на той или иной программно-аппаратной базе. И если не было каких-то жестких требований по установке оборудования Siemens в связке с TIA-portal`ом, то, как правило, выбор падал на MasterSCADA 3.XX. Однако ничто не вечно под луной…

О своём опыте перехода на MasterSCADA 4D, предпосылках, особенностях её работы на встраиваемых компьютерах архитектуры ARM под катом данной статьи.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+2
Комментарии33

Использование примесей (mixins) в Dart

Время на прочтение5 мин
Количество просмотров15K

Несколько раз от коллег звучал вопрос о том, что не понятно, зачем вообще нужны mixin'ы (примеси) в языке Dart. Я решил посмотреть, что есть на просторах Интернета по этому вопросу. К великому огорчению в статьях, которые удалось найти в основном говорится о том, как использовать примеси, но не дается разъяснений зачем они нужны, в каких случаях их использование более предпочтительно, чем обычное наследование или реализация интерфейсов. Эта статья является попыткой восполнить этот пробел.

Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии23

Интеграционные тесты на Flutter — это просто

Время на прочтение6 мин
Количество просмотров7.7K

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

Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии7

Laravel. Локализованный роутинг

Время на прочтение15 мин
Количество просмотров9.2K

КДПВ


Привет, Хабр!


UPD
На этом ресурсе актульность статьи может оказаться умноженной на ноль одним комментарием. Задача описанная в статье может быть с меньшей болью решена библиотекой mcamara/laravel-localization.
За наводку спасибо DExploN!

Кат приподнят. Умноженное на ноль — снизу.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии10

STM32 + CMSIS + STM32CubeIDE

Время на прочтение4 мин
Количество просмотров114K
Здесь я расскажу как создать минимальный проект на CMSIS с использованием «родной» IDE для микроконтроллеров STM – STM32CubeIDE.

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


Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии57

STM32 fast start. Часть 2 Hello World на HAL, отладка в Atollic TrueSTUDIO

Время на прочтение3 мин
Количество просмотров26K
В прошлый раз мы осваивали создание нового проекта при помощи STM CubeMX первую часть можно найти здесь.

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



В данной части напишем простейший пример Hello World на HAL, посмотрим как запускать и пользоваться отладчиком, ну и выясним, сколько же памяти кушает наша программа, которая в этой части будет написана на HAL.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии78

[По докам] Flutter. Часть 2. Для iOS разработчиков

Время на прочтение22 мин
Количество просмотров13K
После длительного перерыва я продолжу рассказывать о популярном фреймворке Flutter в формате «вопрос — ответ». Первую статью для Android-разработчиков вы можете найти здесь, а сегодня будет полезный материал для разработчиков под iOS.

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



Flutter. Часть 1. Для Android-разработчиков
Flutter. Часть 2. Для iOS-разработчиков
Flutter. Часть 3. Для разработчиков React Native
Flutter. Часть 4. Для веб-разработчиков
Flutter. Часть 5. Для Xamarin.Forms-разработчиков
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии10

Flutter: рисуем текст вдоль окружности

Время на прочтение5 мин
Количество просмотров7.4K

Понадобилось мне тут на днях в одном мини-проекте (проект, можно сказать, экспериментальный, сделан на Flutter Web) реализовать такого вида штуку:


Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии6

Extension в Dart (Flutter)

Время на прочтение4 мин
Количество просмотров15K
В недавном релизе языка Dart 2.6 в языке появилась новая функция, static extension или статические методы расширения, который позволяет вам добавить новые методы к существующим типам. Зачем вообще нужны extension? Как их использовать и на что они годятся?



Введение


Начнём с того что такое вообще extension? Extension — это синтаксический сахар, который расширяет существующий класс в месте, отличном от модуля объявления класса.

В программировании методы расширения существуют уже достаточно давно, вот они добрались и до dart. Extension активно используется в таких языках как C#, Java via Manifold, Swift, Kotlin и во множестве других.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии11

Пишем чат на Python и Django

Время на прочтение9 мин
Количество просмотров46K
Добрый день, друзья. В преддверии старта курса «Web-разработчик на Python» традиционно делимся с вами полезным переводом.




Вы видите перед собой руководство, которое расскажет, как создать приложение-чат на Python, Django и React.

В отличие от других руководств, я не использую Python и Django для WebSocket-соединений. Несмотря на то, что это звучит круто с технической точки зрения, работает это довольно вяло и само по себе затратно, особенно, если у вас приличное количество пользователей. Такие языки, как C++, Go и Elixir намного лучше справляются с ядром чата.
Читать дальше →
Всего голосов 24: ↑16 и ↓8+8
Комментарии3

График в браузере для Arduino и STM32

Время на прочтение2 мин
Количество просмотров9.6K
Всем привет.

Продолжаю развивать свой проект по визуализации трендов данных, добавил возможность просмотра в браузере в реальном времени. Кому интересно прошу.

Всего голосов 18: ↑16 и ↓2+14
Комментарии3

PHP-Дайджест № 167 (22 октября – 4 ноября 2019)

Время на прочтение4 мин
Количество просмотров14K

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4.0 RC5, Xdebug 2.8, критическая уязвимость в PHP-FPM, новости из PHP Internals, порция полезных инструментов, подкасты, стримы и многое другое.

Приятного чтения!


Читать дальше →
Всего голосов 65: ↑64 и ↓1+63
Комментарии7

Redux — Не нужен! Заменяем с помощью useContext и useReducer в React?

Время на прочтение6 мин
Количество просмотров42K

image


Доброго времени суток, Хабровчане!


Хочу рассказать о том, как я недавно узнал о неких "хуках" в React. Появились они относительно недавно, в версии [16.8.0] от 6 февраля 2019 года (что по скоростям развития FrontEnd — уже очень давно)


Прочитав документацию я заострил свое внимание на хуке useReducer и сразу же задал себе вопрос: "Эта штука способна полностью заменить Redux!?" потратил несколько вечеров на эксперименты и теперь хочу поделиться результатами и своими выводами.

Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии11

Новое в PHP 7.4

Время на прочтение5 мин
Количество просмотров79K
Новая версия PHP хоть и является минорной, но уже несёт множество новых, без преувеличения, крутых возможностей как для синтаксиса языка, так и для его производительности. Список новшеств не окончательный, но основные изменения уже внесены и приняты. Релиз планируется на декабрь 2019 года.
 

 
Ключевые изменения грядущей версии:

  • Типизированные свойства классов
  • Предзагрузка для улучшения производительности
  • Стрелочные функции для короткой записи анонимных функций
  • Присваивающий оператор объединения с null (??=)
  • Ковариантность/контравариантность в сигнатурах унаследованных методов
  • Интерфейс внешних функций, открывающий новые возможности для разработки расширений на PHP
  • Оператор распаковки в массивах

Подробнее об этих и других изменениях читайте под катом.
Узнать обо всех изменениях
Всего голосов 74: ↑71 и ↓3+68
Комментарии99

PHP-Дайджест № 166 (7 – 21 октября 2019)

Время на прочтение3 мин
Количество просмотров13K

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4 RC4 и другие релизы, новости из PHP Internals, порция полезных инструментов, стримы, видео с конференций, подкасты и многое другое.

Приятного чтения!


Всего голосов 58: ↑58 и ↓0+58
Комментарии8

React + IndexDb + автообновление = почти AsyncRedux

Время на прочтение18 мин
Количество просмотров9.6K
В данной заметке по шагам расскажу как приготовить IndexDB (база данных, которая встроена в любой современный браузер) для использования в проектах, написанных на ReactJS. В результате Вы сможете использовать данные из IndexDB так же удобно, как если бы они находились в Redux Store вашего приложения.

IndexDB — это документоориентированная СУБД, удобное средство для временного хранения относительно небольшого объёма (единицы и десятки мегабайт) структуированных данных на стороне браузера. К стандартной задаче, для которых мне приходится использовать IndexDB относится кэширование данных бизнес-справочников на стороне клиента (названия стран, городов, валют по коду и прочее). Скопировав их на сторону клиента потом можно лишь изредка загружать с сервера обновления этих справочников (либо целиком — они же небольшие) и не делать это при каждом открытии окна браузера.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии0

Простые эксперименты с микроконтроллером STM32F103 («Голубая таблетка»)

Время на прочтение6 мин
Количество просмотров34K
image

Часть 2 < — Часть 1

Продолжим эксперементировать с микроконтроллером STM32F103C8T6, подключим некоторые датчики/дисплеи с интерфейсом I2C к «голубой таблетке».

Реализована поддержка популярных дисплеев I2C:

  • LCD 1602
  • SSD1306

Реализована поддержка следующих датчиков:

  • BH1750 — датчик освещенности
  • BME280 — датчик температуры, давления, влажности
  • CCS811 — датчик СО2, ЛОВ ( Летучие Органические Вещества )
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии33

Создание бэкенд приложения для онлайн чата Apollo, Node.js

Время на прочтение3 мин
Количество просмотров7.9K
Некоторое время назад я работал над мобильным приложением, функционал которого включал в себя удобный онлайн-чат. И теперь я решил написать статью с краткой инструкцией, как создать чат, используя apollo server и node.js на бэкенде, а так же react native и apollo client на клиентской части.

Статья разбита на две части для удобства прочтения. В первой части содержится гайд по созданию бэкенд приложения, а во второй — гайд по созданию фронтенд приложения.

Если вам лень читать, можно сразу посмотреть код в Github’e здесь и здесь.

В качестве основных технологий для реализации я выбрал node.js фреймворк koa, базу данных postgresql, а так же GraphQL сервер — apollo-server-koa.

Первым делом, был сгенерирован пустой koa2 проект, для этого я использовал простой koa-generator, выполнив в терминале команду: 

$ koa <project name>
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии2
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Рубцовск, Алтайский край, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Web Developer
Middle
PHP
MySQL
Redis
Laravel
Docker
Git