Что общего между стиральной машиной, CPU и микросервисами? Все они выигрывают от «конвейеризации» (англ. pipelining).
Рубрика «pipeline»
Конвейеризация: универсальный способ повышения пропускной способности
2024-12-02 в 19:15, admin, рубрики: golang, latency, pipeline, throughput, архитектура приложений, архитектура процессоров, архитектура систем, конвейер, микросервисы, пропускная способностьЗапуск I2S Трансивера на Artery [часть 2] (DMA, FSM, PipeLine)
2024-08-17 в 16:41, admin, рубрики: artery, DMA, FSM, hi-load, i2s, pipeline, wm8731, конвейер, конечные автоматыПролог
В этом тексте вы узнаете, что общего между I2S трансивером и оладьями. Да... Именно так. Зачем программисту микроконтроллеров конвейеры и цифровые фильтры.
В этом тексте изложено как источать звук при помощи I2S DMA.
В чём проблема?
Pipelining & Composing: улучшаем читаемость кода. Реализация на TypeScript
2024-08-12 в 9:42, admin, рубрики: compose, function, javascript, pipeline, TypeScriptКак часто вам приходилось видеть что-то подобное в коде?
const result = fnD(fnC(fnB(fnA(...))));
Чтобы получить результат, нужно последовательно выполнить каждую функцию, начиная с самой внутренней. Это требует визуального "разворачивания" функций, что усложняет понимание логики кода. Когда мы сталкиваемся с таким кодом, то сразу осознаем, что его чтение и поддержка могут стать настоящим испытанием.
Экспорт Google Forms + загрузка Google Script через REST API (Python)
2020-01-28 в 11:47, admin, рубрики: api, exporter, Google API, google apps script, Google Cloud Platform, Google Docs, Google Forms, google script api, Google Sheets, pipeline, python, rest api
У нас было две гугл-формы, 75 вопросов в каждой, 5 бизнес-пользователей, которые активно правили эти формы, а еще гугл-скрипт, экспортирующий форму в JSON. Не то что бы его было сложно каждый раз запускать руками, но раз начал автоматизировать свою работу, то иди в этом увлечении до конца.
В официальной документации сам черт ногу сломит, поэтому под катом мы подробно рассмотрим удаленную загрузку и запуск Google Apps Script через REST API, используя Python.
Читать полностью »
Непрерывная интеграция в Unity: как сократить время сборок и сэкономить ресурсы + пайплайн в подарок
2020-01-16 в 11:09, admin, рубрики: ci/cd, continuous deployment, continuous integration, Gamedev, github, nexus, pipeline, teamcity, unity, Блог компании Pixonic, геймдев, мобильнве игры, непрерывная интеграция, разработка игр, разработка мобильных приложений, системы сборки
Всем привет, на связи Александр Панов, техлид из Pixonic. В компании я отвечаю за межпроектные решения и околопроектную периферию и сегодня хочу поделиться своим опытом и наработками.
Платформы непрерывной разработки и интеграции, или CI/CD, сейчас используются повсеместно в тех отраслях, где решающую роль играет итеративность и отлаженность технических процессов. В этой статье речь пойдёт о CI/CD для реализации наших Unity-проектов для мобильной геймдев-разработки: с какими проблемами мы столкнулись, как их удалось решить, каких улучшений мы добились и как прописан наш пайплайн сборок билдов.
Сразу договоримся, что в качестве сервера CI мы используем TeamCity от JetBrains, в качестве хранилища Git-репозиториев ― GitHub, для хранения артефактов сборки ― Nexus.
Читать полностью »
Еще раз про усложненность архитектуры и порог входа
2019-12-30 в 13:42, admin, рубрики: pipeline, автоматизация, архитектура Android-приложений, заказная разработка, мнение, мобильная разработка, порог входа, Проектирование и рефакторинг, процесс разработки, разработка мобильных приложений, Разработка под androidВ данной статье я коснусь вопроса порога входа в проект с устоявшейся архитектурой и дам несколько вариантов ответа на очень часто возникающий вопрос: почему так сложно?
Такой вопрос частенько возникает у новичков, которые приходят на проект. Или же бывают ситуации, когда проект уходит на поддержку и развитие в новые руки, и у нового разработчика также появляется этот вопрос. И редко кто из них пытается разобраться в реальных причинах, почему здесь так, а не иначе. Это может привести к печальным последствиям для бизнеса, например, новый разработчик может настоять на том, чтобы переписать все приложение с нуля.Читать полностью »
Stop the line или прокачай свой pipeline, йоу
2019-07-16 в 14:49, admin, рубрики: continuous delivery, continuous integration, Dodo IS, Dodo Pizza Engineering, dodois, dodopizzaio, lean, pipeline, release, release management, Блог компании Dodo Pizza Engineering, Программирование, Разработка веб-сайтов, управление проектамиЕсли ваши релизы быстры как молния, автоматизированы и надежны, можете не читать эту статью.
Раньше наш процесс релиза был ручным, медленным и напичканным ошибками.
Мы проваливали спринт за спринтом, потому что не успевали сделать и выложить фичи к следующему Sprint Review. Мы ненавидели наши релизы. Часто они длились по три-четыре дня.
В этой статье мы опишем практику Stop the Line, которая помогла нам сфокусироваться на устранении проблем конвейера выкладки. Всего за три месяца нам удалось увеличить скорость деплоя в 10 раз. Сегодня наш деплой полностью автоматизирован, а релиз монолита занимает всего 4-5 часов.
Читать полностью »
Жизненный цикл ML в боевых условиях
2019-07-04 в 12:09, admin, рубрики: data science, gitlab, pipeline, usedataconf, xgboost, Анализ и проектирование систем, Блог компании Конференции Олега Бунина (Онтико), высокая производительность, машинное обучение, ПрограммированиеВ реальном внедрении ML само обучение занимает от силы четверть усилий. Остальные три четверти — подготовка данных через боль и бюрократию, сложный деплой часто в закрытом контуре без доступа в интернет, настройка инфраструктуры, тестирование и мониторинг. Документы на сотни листов, ручной режим, конфликты версий моделей, open source и суровый enterprise — все это ждет data scientist’а. Но такие «скучные» вопросы эксплуатации ему не интересны, он хочет разработать алгоритм, добиться высокого качества, отдать и больше не вспоминать.
Возможно, где-то ML внедряется легче, проще, быстрее и одной кнопкой, но мы таких примеров не видели. Все, что выше — опыт компании Front Tier в финтехе и телекоме. О нем на HighLoad++ рассказал Сергей Виноградов — эксперт в архитектуре высоконагруженных систем, в больших хранилищах и тяжелом анализе данных.
RedisPipe — вместе веселее
2019-01-29 в 13:51, admin, рубрики: Go, open source, pipeline, redis, Блог компании Joom, высокая производительность, ПрограммированиеКогда я думаю о том, как работают наивные RPC клиенты, мне вспоминается анекдот:
Суд.
— Подсудимый, за что вы убили женщину?
— Еду я в автобусе, подходит кондуктор к женщине, с требованием купить билет. Женщина открыла сумочку, достала кошелочку, закрыла сумочку, открыла кошелочку, достала кошелек, закрыла кошелочку, открыла сумочку, положила туда кошелочку, закрыла сумочку, открыла кошелек, достала деньги, открыла сумочку, достала кошелочку, закрыла сумочку, открыла кошелочку, положила туда кошелек, закрыла кошелочку, открыла сумочку, положила туда кошелочку.
— И что?
— Контролер ей дал билет. Женщина открыла сумочку, достала кошелочку, закрыла сумочку, открыла кошелочку, достала кошелек, закрыла кошелочку, открыла сумочку, положила туда кошелочку, закрыла сумочку, открыла кошелек положила туда билет, закрыла кошелек, открыла сумочку, достала кошелочку, закрыла сумочку, открыла кошелочку, положила туда кошелек, закрыла кошелочку, открыла сумочку, положила туда кошелочку, закрыла сумочку.
«Возьмите сдачу», раздался голос контролера. Женщина… открыла сумочку…
— Да убить её мало, — не выдерживает прокурор.
— Так я это и сделал.
Интеграция Cake и TeamCity
2018-12-11 в 13:50, admin, рубрики: C#, cake, pipeline, teamcity, ПрограммированиеCake — замечательный инструмент для создания конвеера доставки для ваших приложений. Я люблю его, поскольку он позволяет мне писать этот конвеер на языке C#, который я знаю хорошо. Прекрасным свойством Cake, PSake и дургих подобных фреймворков является то, что они создают скрипт, который можно выполнять как на локальной машине разработчика, так и на CI серверах. Здесь я объясню, как организовать взаимодействие скрипта Cake с TeamCity.