Pull to refresh
13
0
Тимур Евгажуков @evgajukov

Пользователь

Send message

Погружение в мир адаптивной верстки с Flutter

Level of difficultyMedium
Reading time12 min
Views10K

Я Магин Максим, Flutter-разработчик агентства мобильной разработки Instadev. Поговорим о таком понятии как “адаптивная верстка”. Разберем, для чего она нужна, чем отличается от других видов верстки и какие подводные камни могут встретиться при использовании.

Каждый разработчик так или иначе сталкивался с вопросом - как сделать качественный UI, который будет хорошо себя показывать на различных устройствах. Даже среди смартфонов существует большое разнообразие размеров – одни шире, другие – длиннее. Понятное дело, что для каждого устройства уникальный код не напишешь. А что делать, если среди устройств необходимо учесть еще и планшеты, где действуют уже другие правила расположения и масштабирования элементов? Есть ли универсальное решение? Но обо всем по порядку.

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

Существует 4 основных подхода к верстке: фиксированный, резиновый, адаптивный и отзывчивый. Каждый из этих подходов имеет свои плюсы и минусы. Разберем их чуть подробнее.

Фиксированный подход

Его суть  заключается в том, чтобы задать жесткие размеры и расстояния для всех элементов, отображаемых на экране. Иными словами мы “фиксируем” положение каждого виджета на экране. Преимущество очевидно – мы всегда знаем величину того или иного используемого элемента. С другой стороны, если мы возьмем устройство, которое хоть немного отличается размером от того, на котором мы производим тесты, все наши расчеты оказываются неподходящими для него: в лучшем случае, может появиться больше пустого пространства или, наоборот, элементы сильно прижмутся друг к другу, в худшем – мы получим ошибку рендеринга. Это говорит нам о том, что в чистом виде данный подход лучше не использовать.

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments4

Использование node-cron для запуска запланированных заданий в Node.js

Level of difficultyMedium
Reading time3 min
Views6.6K

Использование node-cron для запуска запланированных заданий в Node.js. CRON позволяет повторять задачу через определенный интервал времени. Могут быть повторяющиеся задачи, такие как ведение журнала и создание резервных копий, которые необходимо выполнять ежедневно, еженедельно или ежемесячно.

Читать далее
Total votes 2: ↑1 and ↓10
Comments11

Как я сделал табличку, которая является готовой инвестиционной стратегией

Level of difficultyEasy
Reading time8 min
Views23K

В этом посте я расскажу, как я придумал себе инвестиционную стратегию, которая очень эффективно работает вот уже шестой год. Я также попытаюсь разобраться, с чем связан "феномен таблички": почему сделанный на коленке инструмент вдруг начали использовать тысячи человек, а я (как автор) вдруг стал популярным в узких кругах. Начнём по порядку...

Читать далее
Total votes 30: ↑24 and ↓6+24
Comments40

Оцениваем процессы в команде разработки на основе объективных данных

Reading time24 min
Views25K
Разработка софта считается плохо измеримым процессом, и кажется что, чтобы ей эффективно управлять, нужно особое чутье. А если интуиция с эмоциональным интеллектом развиты не очень, то неизбежно будут сдвигаться сроки, проседать качество продукта и падать скорость поставки.

Сергей Семёнов считает, что это происходит в основном по двум причинам.

  • Нет инструментов и стандартов для оценки работы программистов. Менеджерам приходится прибегать к субъективной оценке, что в свою очередь приводит к ошибкам.
  • Не используются средства автоматического контроля за процессами в команде. Без должного контроля процессы в командах разработки перестают выполнять свои функции, так как начинают исполняться частично или попросту игнорироваться.

И предлагает подход к оценке и контролю процессов на основе объективных данных.

Ниже видео и текстовая версия доклада Сергея, который по результатам зрительского голосования занял второе место на Saint TeamLead Conf.
Total votes 44: ↑41 and ↓3+38
Comments30

Домофон, который знает, как вас зовут — своими руками

Level of difficultyMedium
Reading time12 min
Views12K
image

В мире современных технологий, где мы можем управлять многими устройствами через мобильный телефон или голосового ассистента, удивляет присутствие примитивных элементов, таких как неприятно пищащие зуммеры. Ведь они были изобретены еще в 1831 году! Я решил привнести некоторые современные функции в систему управления доступом (СКУД), которая является ключевой частью любого домофона. Мой проект направлен на создание более интуитивной и приятной для слуха системы управления доступом.
Читать дальше →
Total votes 29: ↑28 and ↓1+34
Comments36

Руководство по запуску автоматизации с Appium и Pytest

Level of difficultyEasy
Reading time9 min
Views7.6K

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

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments3

Улучшаем возможности PM2 с помощью дополнительных модулей автоскейлинга и мониторинга

Level of difficultyEasy
Reading time6 min
Views4K

Всем привет. Сегодня я бы хотел рассказать о том, с какими трудностями пришлось столкнуться при работе с менеджером node.js процессов PM2, и как нам пришлось расширить его возможности для того, чтобы его было можно использовать эффективнее.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments2

Topics API — как персонализированная реклама может работать без cookie

Level of difficultyMedium
Reading time7 min
Views2.3K

Отказ от third‑party кук уже не за горами. Однако в попытке уберечь пользователя от «слежки» браузеры рискуют по дороге отправить в могилу индустрию персонализированной рекламы (и не только, но сегодня про нее). Могу только представить, что испытывает Google, разрываясь между желанием сохранить лояльность пользователей Chrome и стремлением продолжить зарабатывать на рекламе сотни миллионов долларов ежедневно. В качестве решения проблемы, в рамках инициативы Privacy Sandbox, Google предлагает использовать Topics Api, как инструмент доступа к «интересам» пользователя без возможности его отслеживания.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments0

Четыре способа оптимизации ПО

Level of difficultyMedium
Reading time13 min
Views15K

Преждевременная оптимизация может оказаться корнем всех зол, а запоздалая — корнем безысходности. Каким бы быстрым ни становилось аппаратное обеспечение, мы находим способы писать медленные программы. И зачастую проявляется это не сразу. Пользователи могут годами не обращать внимания на проблему в производительности ПО, пока она не становится очевидной, что порой происходит в течение одного дня.
Читать дальше →
Total votes 44: ↑39 and ↓5+57
Comments12

Деревья ltree в PostgreSQL – простым языком

Level of difficultyMedium
Reading time5 min
Views11K

Привет, Habr! Меня зовут Оля Плюта, я продуктовый аналитик маркетплейса Uzum Market. В этой статье я расскажу об иерархических деревьях ltree в PostgreSQL. Статья вводная, поэтому я постаралась сделать её максимально понятной и наглядной.

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments4

Добавление WebAuthn в веб-приложение

Level of difficultyMedium
Reading time4 min
Views8.2K

Привет! В этой статье мы научимся добавлять WebAuthn в веб‑приложения со стороны frontend‑разработчика. WebAuthn представляет собой новый метод аутентификации, который обеспечивает более высокий уровень безопасности, заменяя устаревшие пароли и SMS‑подтверждения на аутентификацию на основе публичных ключей.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments1

Дизайн-система Gravity UI: как легко построить свой интерфейс

Level of difficultyEasy
Reading time7 min
Views45K

Всем привет, я Алексей Сизиков, руководитель отдела User Experience в Yandex Cloud. В этой статье я хочу поделиться новостью: мы выпустили нашу дизайн-систему и библиотеку компонентов Gravity UI в опенсорс. 

Под катом — рассказ, зачем мы сделали Gravity UI, как его используем, в чём особенности и преимущества нашего подхода и как мы планируем развивать его дальше. А ещё — как настроить разные цветовые схемы в своих проектах и почему у нас четыре темы вместо двух стандартных.

Читать далее
Total votes 66: ↑64 and ↓2+67
Comments27

Моя б̶е̶з̶умная колонка или бюджетный DIY голосового ассистента для умного дома

Level of difficultyEasy
Reading time7 min
Views35K

В свете широкого внедрения систем домашней автоматизации возникает потребность в более естественном взаимодействии с «умным домом». Как средство натурального взаимодействия между человеком и машиной, голосовой интерфейс заслуженно занимает высокую популярность. В данной статье я поделюсь своим опытом создания бюджетного автономного голосового ассистента для систем умного дома.
Читать дальше →
Total votes 87: ↑87 and ↓0+87
Comments40

ESP32 снимает показания водяных счетчиков и сам передает их «куда надо»

Level of difficultyEasy
Reading time7 min
Views37K

В сети сотни статей про использование ESP32 для съема показаний приборов учета, но практически все из них про интеграцию с «умным домом». Мой вариант реализации решает практическую задачу - просто сам передает показания, снимая с меня эту задачу.

Основное отличие моего решения, от тех что я видел, заключается в максимальной автономности и легкости контроля и управления. ESP32 самостоятельно общается с сайтом который принимает показания приборов учета посредством встроенного http клиента. Процесс контролируется и управляется встроенным в ESP32 telegram ботом.

Читать далее
Total votes 22: ↑20 and ↓2+24
Comments86

Делаем свой телеканал

Reading time7 min
Views32K


Вы, возможно, удивитесь, но телевидение всё ещё живо. Да, аудитория поредела и «состарилась», а технологии приумножились и помолодели (IPTV, SmartTV, различные приставки), но всё-таки жизнь есть не только в YouTube и TikTok. Мало того, сейчас сделать свой телеканал можно при достаточно небольших инвестициях времени и финансов. В 2017 году мой брат (Ruler-ufa) попросил меня о помощи с технической реализацией нового музыкального телеканала на башкирском и татарском языках. О том, что у нас получилось, и пойдёт речь в этой статье. Сразу оговорюсь, что нюансов подбора контента, оформления эфира и подобных тем здесь не будет, т.к. я занимался исключительно технической частью. Кроме того, задача была сделать все максимально просто и дёшево, т.к. бюджет был ограничен, поэтому некоторые вещи можно было сделать по-другому — правильнее, но гораздо дороже.
Total votes 26: ↑26 and ↓0+26
Comments15

Создание сервиса авторизации через систему ЕСИА

Level of difficultyMedium
Reading time18 min
Views9K

Всем привет. Меня зовут Динис, я старший разработчик в БФТ-Холдинге.

В данной статье приведен план по созданию сервиса авторизации через систему ЕСИА. Тема будет интересна тем, кто внедряет такой сервис для своего приложения. В статье я собрал ключевые выдержки из документации с частями кода, а весь код вы можете найти в конце статьи по ссылке на GitHub.

Что такое ЕСИА?

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

Читать далее
Total votes 9: ↑8 and ↓1+8
Comments14

Реактивные формы во Flutter: как делать формы с меньшими трудозатратами

Level of difficultyMedium
Reading time7 min
Views4.7K

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

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments5

Чем на самом деле занимается Chief Technical Officer?

Level of difficultyEasy
Reading time18 min
Views15K

В 2017 году я впервые почувствовал себя в роли CTO (Chief Technical Officer, технический директор). Я присоединился к маленькому стартапу в роли разработчика‑сеньора, и не успел опомниться, как оказалось, что я держу в руках бразды правления технической командой. Если сказать кому о том, что я занимаю пост технического директора, прозвучало бы это впечатляюще, но на самом деле моя должность больше соответствовала роли технического руководителя проекта. Я трудился в маленькой компании, в состав которой входило человек десять сотрудников, и плотно занимался разработкой продукта этой компании. Мои дни были наполнены программированием, отладкой и постоянной борьбой с новыми багами и проблемами клиентов. Я, кроме того, был ответственным за то, чтобы наша команда выполняла бы обязательства перед инвесторами и клиентами. Это было не только время непростых задач, но и время мощного обучения, и время профессионального роста.

И ещё — то было время постоянного стресса. Но это — уже совсем другая история.

Перенесёмся в наши дни. Сегодня я — сооснователь цифрового агентства, которое находится в Швейцарии. В нём я занимаю должность CTO. Мы одновременно работаем над несколькими проектами, задействуя в каждом из них универсальные команды. Наше агентство, со времён его создания, немного подросло. Теперь в нём работает почти 50 человек. Эволюционировала и та роль, которую я в нём играю. Я больше не занимаюсь только программированием и отладкой. Теперь я управляю ресурсами, занимаюсь планированием, принимаю стратегические решения. Сейчас передо мной стоят другие непростые задачи. Но я, как и раньше, прямо‑таки наслаждаюсь, решая разного рода проблемы, и понимая, что я — тот, кто формирует техническое видение компании.

Читать далее
Total votes 11: ↑9 and ↓2+16
Comments1

Web Workers в JavaScript: Параллельные вычисления и улучшение производительности

Level of difficultyMedium
Reading time8 min
Views15K

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

Есть случаи, когда эту проблему можно решить с помощью Web Workers, про них я и расскажу вам далее!

Бустануть производительность
Total votes 15: ↑14 and ↓1+18
Comments6

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity