Как стать автором
Обновить
0
0
Отправить сообщение

Основные типы распределений вероятностей в примерах

Уровень сложности Средний
Время на прочтение 15 мин
Количество просмотров 8.8K

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

Читать далее
Всего голосов 51: ↑51 и ↓0 +51
Комментарии 10

Самое понятное объяснение Специальной теории относительности

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 89K

Специальная теория относительности - удивительная теория, которая опровергла многие представления о мире, в которых человечество не сомневалось всю историю своего существования.

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

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

Для иллюстраций я написал интерактивный визуализатор СТО, работающий в браузере. Ссылка на него и исходники проекта в конце статьи.

Читать далее
Всего голосов 379: ↑379 и ↓0 +379
Комментарии 387

Деплой Flutter-приложений и особенности платформ

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

Всем привет! Меня зовут Александр Омельяненко, я Flutter-разработчик в AGIMA. Сегодня расскажу про релиз приложений в сторы. И поскольку работаю с кросс-платформой, речь пойдет как про Android, так и про iOS. Уверен, каждый участник команды должен понимать, что происходит с приложением, когда оно готово. Поэтому всё объясняю подробно: какие сторы использовать, каких подводных камней ожидать, что делать, если релиз отклонили.

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 2

Жизненный цикл приложения на Flutter

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 4.4K

Всем привет! Сегодня с вами я, Александр Чаплыгин, Flutter dev Amiga. Расскажу вам одну  интересную тему — отслеживание состояния приложения: в фоне, закрыто или оно не активно. Вы поймете, как обрабатывать переходы в новое состояние. Также  рассмотрим 2 подхода к реализации, которые могут выручить в той или иной ситуации.

Читать далее
Всего голосов 11: ↑7 и ↓4 +3
Комментарии 0

Основы компьютерных сетей. Тема №9. Маршрутизация: статическая и динамическая на примере RIP, OSPF и EIGRP

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


Всем привет! Спустя продолжительное время возвращаемся к циклу статей. Долгое время мы разбирали мир коммутации и узнали о нем много интересного. Теперь пришло время подняться чуть повыше и взглянуть на сторону маршрутизации. В данной статье поговорим о том, зачем нужна маршрутизация, разберем отличие статической от динамической маршрутизации, виды протоколов и их отличие. Тема очень интересная, поэтому приглашаю всех-всех к прочтению.
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 1

Протоколы «бесшовного» резервирования PRP и HSR

Время на прочтение 12 мин
Количество просмотров 30K
В промышленности требования к ЛВС становятся все более серьезными, т.к. АСУ ТП берут на себя все больший функционал, и потери данных могут повлечь серьезные издержки.

Например, в энергетике, если на терминал РЗА не попадут вовремя данные от измерительных преобразователей, то это может быть чревато распространением короткого замыкания на смежные участки электросети, что скажется убытками гораздо более серьезными, нежели в случае своевременного отключения участка с КЗ. Поэтому часто в проектах энергетики можно встретить требование «Время восстановления менее 1 мс».
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 4

Немного про ПИД-регуляторы или «велосипед автоматизации». Часть 3

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

Часть 3. Реализация регулятора – вот теперь регулятор.

продолжение практической реализации ПИД-регулятора

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 4

Создаем federated plugin для Flutter-проекта

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 1.5K

Всем привет! Это Мурат Насиров, Flutter-разработчик в Friflex. Мы разрабатываем высоконагруженные мобильные приложения для бизнеса и специализируемся на Flutter. В этой статье я рассказываю о том, как создать federated plugin для Flutter-проектов.

В мае 2022 года на Google I/O был представлен урок по созданию federated plugin в Flutter. Federated plugin — это способ разделения функционала в рамках одного плагина на разные платформы. Он позволяет сегрегировать функционал на зоны ответственности для каждой из платформ. 

К примеру, если мы создаем плагин для работы с bluetooth, тогда нужно будет создавать пакеты отдельно для каждой платформы, то есть: flutter_bluetooth (как пакет flutter), flutter_bluetooth_android, flutter_bluetooth_ios и flutter_bluetooth_platform_interface (интерфейс для работы с платформами). 

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

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

Что нужно знать о gRPC системному аналитику

Уровень сложности Простой
Время на прочтение 14 мин
Количество просмотров 18K

Всем привет! Я Ирина Матевосян, системный аналитик в направлении продуктового и системного анализа в отделе Tinkoff Mobile Core. Мы разрабатываем общие библиотеки, которые используют все мобильные приложения экосистемы Тинькофф. 

Расскажу о протоколе gRPC. На Хабре много статей о тонкостях реализации, рассчитанных на разработчиков, я же хочу познакомить с ним своих коллег. Разберем, как работает протокол и как написать контракт так, чтобы вас поняли, но не будем погружаться в тонкости программной реализации, а скорее расширим кругозор. Возможно, для кого-то gRPC станет крутым решением в работе.

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

Как изучать китайский язык / 怎样学习汉语? Пошаговая инструкция

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 36K

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

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

И как же?
Всего голосов 26: ↑17 и ↓9 +8
Комментарии 39

Как легко сделать подмену данных на вебе?

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 11K

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

Хочу поделиться интересным приложением, которое значительно упрощает процесс веб-тестирования.

В роли QA-инженера, активно тестирующего веб, я часто сталкиваюсь с необходимостью изменения запросов/ответов API, статус кода ответа и других параметров. Иногда возникают ситуации, когда фронт готов, но доработки с бэка еще предстоит дождаться.

Тут на помощь приходит Requestly! 

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

Паттерны проектирования в Dart. Часть 2

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

В первой части статьи мы рассмотрели основные и порождающие шаблоны и особенности их реализации на Dart. Теперь пришло время поговорить о структурных шаблонах и о их реализации с использованием синтаксических конструкций языка Dart и возможностей стандартной библиотеки. Мы будем стараться исключать возможности, предоставляемые такими сущностями языка как символы и рефлексия (пакет dart:mirrors), поскольку они не поддерживаются во Flutter (но обозначим возможные их применения при использовании Dart для бэкэнда), предпочитая использовать кодогенерацию во всех ситуациях, где это возможно.

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

Кодогенерация в Dart. Часть 1. Основы

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

Известно, что для программиста очень хорошо быть ленивым, потому что делать больше с меньшими затратами — ключ к прогрессу. Никто не любит делать одно и то же снова и снова. Это утомительно, скучно, да и совсем не креативно. Повторяя одно и то же действие мы часто делаем ошибки, но, к счастью, есть те, кто действительно хорош и эффективен в выполнении однотипных задач. И это КОМПЬЮТЕРЫ!


https://yougottobekidding.wordpress.com/2012/02/18/geeks-and-repetitive-tasks/


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


В мире Android разработки такие инструменты хорошо известны каждому разработчику. Это и Retrofit, и Dagger, и Room. А как насчет Dart? И не менее важный вопрос: что нам нужно, чтобы создавать собственные инструменты для кодогенерации?

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

Кодогенерация в Dart. Часть 2. Аннотации, source_gen и build_runner

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

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


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

Разработка мультиплеерной игры на Dart+Flutter

Уровень сложности Простой
Время на прочтение 14 мин
Количество просмотров 5K

Разработка простой мультиплеерной игры с использованием языка программирования dart на сервере и flutter+flame на клиенте. Небольшой гайд от любителя игростроя.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 2

Разработка мультиплеерной игры на Dart+Flutter. Часть 2

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 1.8K

Разработка простой мультиплеерной игры с использованием языка программирования dart на сервере и flutter+flame на клиенте. Небольшой гайд от любителя игростроя. Часть 2

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

Как мы WASM в PWA на Flutter прикручивали

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

— Парни, у нас PWA тормозит! — в голосе Димы чувствовались нотки интриги.

Вообще-то мы разрабатываем на Flutter кроссплатформенное приложение для мобильных устройств, но коль уж фреймворк позволяет, на сдачу запустили и веб-версию. Поначалу с PWA мы отхватили немало проблем, но со временем большую часть из них победили. Только вот производительность (из песни слов не выкинешь) так и осталась ахиллесовой пятой приложения — даже на достаточно мощных устройствах нет-нет, да проскакивали микрофризы.

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

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 10

Использование Provider, Riverpod, Bloc(Cubit), Redux, MobX на одном простом примере

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 7.8K

Управление состоянием – это фундаментальная концепция всех фреймворков для разработки приложений, и Flutter не является исключением. Существует несколько техник и инструментов, которые можно использовать, и выбор наиболее подходящего из них часто зависит от сложности и требований приложения, которое вы создаете. В этой статье рассмотрено несколько отличных способов управления состоянием – (с помощью) Provider, Riverpod, Bloc(Cubit), Redux, Mobx.

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

System Design для самых маленьких. Reference к интервью

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 17K

Эта статья-инструкция по построению высоконагруженных распределенных систем. Описанный подход может быть полезен как reference при подготовке к интервью по system design в FAANG и не только.

Читать далее
Всего голосов 19: ↑17 и ↓2 +15
Комментарии 3

Dart для бэкэндеров. Часть 1

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 5K

Идея создавать полный стек веб или мобильного приложения с использованием одной технологии не является новой. Этим путем уже прошел Javascript (JS + React/Native + Node.JS), Python (cowasm + kivy) и даже Go (go/wasm, gomobile) и Dart тоже не исключение (web для него естественная среда обитания, поскольку язык создавался для замены JavaScript, также поддерживается компиляция в Wasm с включенным экспериментом wasm gc, для мобильной разработки существует фреймворк Flutter). Кроме того, приложение на Dart может компилироваться в исполняемый файл и это может дать прирост производительности для высоконагруженных систем. В этой статье мы рассмотрим несколько решений для создания бэкэнда на Dart, в первой части обсудим общие вопросы архитектуры и создадим простой сервер без фреймворка и с использованием Shelf, а во второй части статьи речь пойдет о Frog и Conduit.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 11

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность