Недавно я наткнулся на интересное обсуждение на Full Stack Radio — Bulding Better UI Components with State Machines. Речь шла о том, что концепция машины состояний может помочь при разработке компонентов Vue. Я начал просматривать готовые решения, но они оказались не столь просты, и мне захотелось сделать более простую реализацию, о которой я и хочу рассказать в этой статье. Статья может оказаться полезной не только для тех кто использует Vue, но и для пользователей Angular, React и т.д., а также для программистов других «конфессий».
Читать полностью »
Рубрика «state machine»
Простая машина состояний для VueJS
2019-12-27 в 12:35, admin, рубрики: components, javascript, patterns, state machine, vue.js, vuejsКак не выстрелить себе в ногу из конечного автомата
2018-09-20 в 14:21, admin, рубрики: gameplaykit, restkit, state machine, swift, transitionkit, Блог компании Конференции Олега Бунина (Онтико), конечные автоматы, разработка мобильных приложений, разработка под iOSКонечный автомат редко применяется мобильными разработчиками. Хотя большинство знает принципы работы и легко реализует его самостоятельно. В статье разберемся, какие задачи решаются конечным автоматом на примере iOS-приложений. Рассказ носит прикладной характер и посвящен практическим аспектам работы.
Под катом вы найдете дополненную расшифровку выступления Александра Сычева (Brain89) на AppsConf, в котором он поделился вариантами применения конечного автомата при разработке неигровых приложений.
О спикере: Александр Сычев занимается iOS-разработкой восемь лет, за это время участвовал в создании как простых приложений, так и сложных клиентов для социальных сетей и финансового сектора. В данный момент является техлидом в компании Сбербанк.
Читать полностью »
Cохранение состояний в android приложениях
2018-08-13 в 9:11, admin, рубрики: android, cache, clean architecture, dagger 2, onsavedinstancestate, state machine, разработка мобильных приложений, Разработка под androidСегодня я хотел поделиться с вами еще одним подходом сохранения состояния при разработке android приложений. Не для кого не секрет, что наше приложение в фоне может быть убито в любой момент и эта проблема становится все актуальнее с вводом агрессивного энергосбережения – привет Oreo. Также никто не отменял смену конфигурации на телефоне: ориентация, смена языка и т.д. И чтобы открыть приложение из бэкграунда и отобразить интерфейс в последнем состоянии нам нужно позаботиться о его сохранении. Ох уж этот onSaveInstanceState.
Сколько боли он нам принес.
Читать полностью »
Стейт-машины на службе у MVP. Лекция Яндекса
2018-07-29 в 12:36, admin, рубрики: FSM, model view intent, mvp, state machine, Блог компании Яндекс, конечные автоматы, разработка мобильных приложений, Разработка под android, состояния, Тестирование мобильных приложенийМодель конечного автомата (finite-state machine, FSM) находит применение в написании кода для самых разных платформ, включая Android. Она позволяет сделать код менее громоздким, неплохо укладывается в парадигму Model-View-Presenter (MVP) и поддаётся несложному тестированию. Разработчик Владислав Кузнецов рассказал на Droid Party, как эта модель помогает в развитии приложения Яндекс.Диск.
— Вначале поговорим по теорию. Думаю, каждый из вас слышал и про MVP, и про стейт-машину, но повторим.Читать полностью »
Программирование состояний в UIControl
2016-12-01 в 13:49, admin, рубрики: ios development, objective-c, state machine, statefull, swift, UIControl, разработка под iOS, метки: UIControlОсновная проблема, с которой сталкивается программист при реализации какого-то управляющего элемента — выстраивание правильной логики работы этого элемента.
Читать полностью »
Как делать парсинг текста голым хардвером, без процессора и без софтвера
2016-03-10 в 6:53, admin, рубрики: Altera, altera de0-cv, altera de0-nano, digilent basys 3, digilent nexys 4 ddr, elf, fpga, mips, MIPS microAptiv UP, MIPSfpga, motorola s-records, regular expressions, state machine, turing machine, Verilog, vhdl, xilinx, Анализ и проектирование систем, ненормальное программирование, ПЛИС, программирование микроконтроллеров, Регулярные выраженияКто-то парсирует текстовый файл программой на Питоне, другой пишет скрипт с регулярными выражениями на Перле, Си-программист стыдливо возится с буферами и указателями, иногда применяя Yacc и Lex.
А можно ли парсировать текст голым железом? Вообще без программы?
— А как это?, — спросил меня знакомый, — С помощью Ардуино?
— Внутри Ардуино стоит вполне фон-неймановский процессор и работает программа, — ответил я, — Нет, еще более голое железо.
— А-а-а-а, этот, микрокод?, — догадался мой товарищ и взглянул на меня победно.
— Нет, термин «микрокод» использовался для специфической организации процессоров в 1970-е годы, потом его использование сошло на нет, — ответил я и добавил, — Правда есть еще микрооперации в интеловских процессорах, в которые перекодируется x86, но это тоже другое. Нет, я имею в виду парсинг текста устройством, состоящим из логических элементов И-ИЛИ-НЕ и Д-триггерами, как на картинке ниже.
— Невозможно! — воскликнул мой приятель, — в таком устройстве где-то сбоку должен сидеть процессор и хитро подмигивать!
— Почему это невозможно?, — парировал я, — Вот машину Тьюринга знаешь? Парсирует текст на ленте, а сбоку никакие интелы и ардуино не подмигивают.
— Нуу, машина Тьюринга, — протянул приятель, — это абстракция, типа Демона Максвелла.
— Никакой абстракции, сейчас увидишь работающую схему, парсирующую текст, — сказал я и прибавил, — но сначала расскажу, зачем мне вообще это понадобилось.
Finite State Machine in ReactJS
2015-12-30 в 17:15, admin, рубрики: flux, javascript, ReactJS, state machine, web-разработка, Веб-разработка, интерфейсы, ПрограммированиеПоводом для написания данной статьи явились мои многочисленные наблюдая за разработчиками, которые только начали переходить на React.js с других фреймворков или для которых React.js стал первым фреймворком в его профессиональной деятельности.
Основной вопрос, с которым сталкивается начинающие разработчики на React.js — это что такое state компонента и как его использовать. Многие разработчики в большинстве случаев не правильно его используют, храня в нему кучу ненужных данных, которые впоследствии влияют на вычисления и производительность.
Читать полностью »