Search
Write a publication
Pull to refresh
23
0
SinTeZoiD @SinTeZoiD

User

Send message

Telegram WebApps. Как встроить веб-приложения в чат-бота?

Reading time5 min
Views128K

Относительно недавно команда Telegram выпустила обновление, с которым появилась возможность встраивать в мессенджер веб-приложения. Эта статья — обзор основных моментов внедрения веб-приложениий в телеграм-ботов.

Читать далее

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

Reading time6 min
Views27K

Часть 1. От практики к теории.

Как и все поколения будущих инженеров, в ВУЗе я делал лабораторные и курсовые, что-то рассчитывал, чертил годографы и казалось, что понимал теорию и был готов применять ее на практике. По окончанию университета, попав инженером АСУТП на нефтеперерабатывающий завод, увидев реальную установку, контроллеры, датчики, клапаны, я был в некотором недоумении: как связать теорию САР с поддержанием в колонне уровня скворчащей горячей жидкости при посредстве дрожащего буйкового уровнемера и гудящего замазученного клапана. Да и описание регулятора в документации на ПЛК сильно отличалось от схемы в лекциях по САУ. Со временем, поняв опытным путем и процессы в колоннах и аппаратах, и подходы к практическому построению контуров регулирования, освежив в памяти теорию удалось более осознано связать теорию САР с реальным процессом. Но каждое следующее поколение инженеров, попадая после ВУЗа на реальное производство, задавалось теми же вопросами.

Почитав еще раз лекции и пересмотрев множество материалов по «практической реализации ПИД-регуляторов», я не нашел грамотного и доступного для понимания описания как самого ПИД-регулятора, так и процесса регулирования. Поэтому решил написать свою статью «про велосипед автоматизации».

Читать далее

Это не тот ЦОД, к которому вы привыкли. Чем аттестованный сегмент отличается от классического?

Reading time9 min
Views3.5K

Сегодня у компаний есть несколько вариантов размещения своих приложений в зависимости от задач и требований регуляторов. Аттестованный сегмент ЦОД занимает выгодную позицию с точки зрения возможности масштабирования и гибкости оплаты по сравнению с on-premise инфраструктурой. При этом сохраняет почти такой же уровень контроля за безопасностью.

Но чем отличается аттестованный сегмент от обычного? И как организована работа с серверами А-ЦОД в Selectel? Разбираемся вместе с руководителем отдела разработки и сопровождения сервисов ИБ Антоном Ведерниковым. Подробности под катом.
Читать дальше →

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

Reading time6 min
Views51K

А дело было так - я ловил пескарей пару недель назад я решил начать искать работу.

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

Заголовок статьи не оставляет простора для интриги, в нём, в общем-то, максимально сжато выражена суть нижеследующего повествования - но я всё-таки рискну отнять пару минут вашего времени, расписав более подробно мои соображения на эту тему.

Нам нужен девопс

Гидропоника для балкона? Почему бы и да

Reading time9 min
Views24K
Картинка: kartinkin.net

Скоро лето и хочется чего-нибудь эдакого, связанного с природой, чего-нибудь зелёненького, может быть даже цветущего… Если вас мучают те же самые мысли, что и меня, то вполне можно попытаться объединить реализацию этих мыслей и свои технические навыки для создания небольшой домашней фермы по выращиванию чего-нибудь своего.
Читать дальше →

Осваиваем LaTeX за 30 минут

Reading time14 min
Views369K

Это руководство нацелено на первое знакомство с LaTeX и предварительных знаний о нем от вас не потребует. К его завершению вы уже напишете свой первый документ и получите представление о ряде базовых возможностей этого инструмента.
Читать дальше →

Архитектура программного обеспечения переоценена, простой и понятный дизайн — недооценен

Reading time10 min
Views47K
image

Вашему вниманию предлагается перевод поста Гергелия Ороса, занимающего должность Engineering Manager в Uber. В нем он делится своим взглядом на проектирование крупномасштабных систем, основанном на собственном практическом опыте работы в Uber и Microsoft. В сочетании с комментариями на Hacker News, которые добавляют весомые контр-аргументы и дополняют точку зрения автора, его статья стала одним из самых интересных постов недели. В статье используется термин «дизайн кода» для сравнения с традиционной «архитектурой» — о нем подробнее можно прочитать здесь.

На мою долю выпало достаточно опыта в проектировании и создании крупномасштабных систем. Я принимал участие в переписывании распределенной системы платежей в Uber, проектировании и релизе Skype на Xbox One и выпуске в открытый доступ RIBs — мобильного архитектурного фреймворка, созданного в Uber. Все эти системы имели тщательно продуманный дизайн, прошли через несколько итераций, с ними связано множество совещаний, проведенных у маркерной доски, и других обсуждений. Затем придуманный дизайн сводился к дизайн-документу, который распространялся среди других разработчиков для сбора дополнительной обратной связи, который продолжался до тех пор, пока мы не переходили к разработке.

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

Как я пишу конспекты по математике на LaTeX в Vim

Reading time9 min
Views132K
Некоторое время назад на Quora я отвечал на вопрос: как успевать записывать за лектором конспект по математике на LaTeX. Там я объяснил свой рабочий процесс по конспектированию в LaTeX с помощью Vim и Inkscape (для рисунков). Но с тех пор многое изменилось, так что я хочу опубликовать несколько постов в блоге с описанием нового процесса. Это первая из статей.

Я начал использовать LaTeX для конспектирования во втором семестре курса математики, и с тех пор написал более 1700 страниц. Вот несколько примеров, как выглядит конспект:


Читать дальше →

Kubernetes monitoring от простого к сложному (Николай Храмчихин)

Reading time12 min
Views20K


Разберём как при помощи VictoriaMetrics замониторить kubernetes. Откуда собирать метрики и как автоматически обнаруживать новые цели. Черная магия релейблинга и как она работает. Аннотации для мониторинга приложений и что делать когда их гибкости не хватает

Читать дальше →

TDD: Что пошло не так?

Reading time5 min
Views16K

Эта статья является переводом материала «TDD: What went wrong or did it?».

В сфере разработки программного обеспечения уже давно хвалят Test Driven Development (TDD, разработка через тестирование). Однако в последнее время было сказано много резких слов в адрес TDD, поскольку его обвиняют в плохом проектировании программного обеспечения и невыполнении многих своих обещаний. Кульминацией этой тенденции стал пост Дэвида Хайнемайера Ханссона «TDD is dead. Long live testing.» (TDD мертв. Да здравствует тестирование).

Как это возможно, что одна и та же техника, которая так выгодна для стольких разработчиков, так губительна для других? В этой статье Владислав Кононов расскажет о трех заблуждениях, которые могли бы объяснить это явление.

Читать далее

Теория тестирования ПО просто и понятно

Reading time13 min
Views364K

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

Читать далее

Экономика бессерверных вычислений

Reading time19 min
Views4.1K

Наша исходная задача заключалась в том, чтобы попытаться ответить на ряд актуальных вопросов, в частности: когда целесообразнее использовать AWS Lambda, а когда сервисы AWS EC2. А самое главное — разобраться, какие параметры играют в данном случае наибольшую роль.

Читать перевод далее

Дефицит есть, а денег не дают. Почему?

Reading time27 min
Views301K

Мы уже выяснили, что у нас есть дефицит рабочих рук во всех отраслях. На примере СССР увидели, что дефицит легко закрывается деньгами и плюшками, что сейчас и происходит в IT. Однако при дефиците рабочих рук в остальных отраслях зарплаты остаются на уровне Румынии и никак не подтягиваются. Почему?

Читать далее

Какой вклад внесло функциональное программирование в современные языки?

Reading time10 min
Views19K

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


Парадигма программирования — это в первую очередь стиль мышления: то, как программист думает о представлении данных и процессе их обработки. Другими словами, парадигма живёт в голове программиста, а не является свойством языка. Разные языки могут в той или иной степени поддерживать определённую парадигму. Если сейчас зайти на Википедию и начать читать про самые популярные ЯП, мы увидим, что многие из них заявлены как "мультипарадигменные": на них можно писать в разных стилях, но какие-то из них использовать будет удобнее.



В своей недавней статье мы рассказывали о практических применениях Лиспа и упомянули, что он сильно повлиял на развитие других языков программирования, но не стали вдаваться в детали. Пришло время более подробно раскрыть эту тему и разобраться, какой вклад функциональное программирование в целом (не только Лисп!) внесло в развитие других языков. Поскольку мы используем Haskell как основной язык разработки, и наша команда разработчиков состоит из ФП-энтузиастов, мы не смогли пройти мимо такой темы.


В этом посте рассмотрим несколько механизмов, которые либо зародились в ФП-языках, либо нашли в них наибольшее применение и были ими популяризованы, и в итоге появились в языках, изначально не функциональных.

Читать дальше →

Объяснение физической сущности явления «Подъёмная сила Крыла» без использования уравнения Бернулли

Reading time93 min
Views126K
Монин Илья Алексеевич, к.т.н., МГТУ им.Баумана., imoninpgd@gmail.com

Критика существующего Теоретического объяснения Подъёмной Силы на крыле самолёта


Прослушав курс лекций МФТИ Факультет аэромеханики и летательной техники (ФАЛТ) «Введение в Аэродинамику» и прочитав несколько разных ВУЗовских учеников по «Аэродинамике» [1-3], я был озадачен рядом явных противоречий в объяснениях физики процесса обтекания потоком воздуха (газа или идеальной жидкости) различных твёрдых предметов и формирования подъёмной силы на крыле.

  1. Основной тиражируемой Версией образования подъёмной силы на крыле заявляется разность скоростей течения воздуха (жидкости) над крылом и под крылом, и вследствие этого возникает перепад давления согласно Закону Бернулли. При этом однозначно связывают через закон Бернулли расчётную скорость потока на поверхности крыла с инструментально регистрируемым давлением на крыло, игнорируя другие возможные объяснения на основе не менее базовых законов физики.
  2. При анализе обтекания идеальной невязкой жидкостью профилей в плоских течениях удивительным образом получали кратное повышение скоростей потока в сравнение с базовой скоростью V0. То есть опровергается закон сохранения энергии, так как энергия на разгон потока берётся ниоткуда, кратно превышая энергию набегающего на крыло потока. При этом игнорируется постулат гидродинамики, что по тому же закону Бернулли при истечении струи из-под уровня скоростной напор однозначно ограничивается сверху статическим напором в сосуде, то есть скоростной напор струи после разгона на крыле не может превысить статического давление сжатой при торможении среды.
Читать дальше →

Go, локдаун и новый MPD-клиент — встречайте Ymuse

Reading time4 min
Views9.4K

Уже лет десять моим основным медиаплеером на компьютере является MPD, Music Player Daemon — фоновый сервис, воспроизводящий музыку.


Чтобы с этим сервисом как-то взаимодействовать, нужна программа-клиент. Таких программ существует не один десяток, но до недавнего времени я никак не мог найти ту, которая меня бы полностью устраивала — поэтому в один прекрасный день я решил написать свою (тут и локдаун кстати подвернулся).


Предлагаю вашему вниманию краткий обзор (сравнительно) нового MPD-клиента для Linux/GTK под названием Ymuse, версию 0.16 которого я недавно выпустил.

Читать дальше →

Предельно дешёвая видеоаналитика для детских футбольных школ

Reading time9 min
Views21K


Привет, Хабр! Ещё до продажи Мосигры мы полезли в образование. Там оказалось чуть интереснее, чем могло показаться сначала, и на сегодня мы успели открыть 124 футбольных школы, киберспортивные секции, танцы, шахматы и всё такое. Карантин слегка подрезал нам работу до 70 активных точек. Тут надо сказать, что с учётом опыта розницы, в ДНК проекта сразу закладывали очень быструю масштабируемость, чтобы по возможности построить межгалактическую сеть дополнительного образования. А один из самых больших вопросов в такой ситуации — как контролировать качество этого самого образования.

Вот футбольные тренировки. С одной стороны, конечно, у нас есть методология, которая частично на базе испанской, а потом нам её очень сильно доработали умные дядьки в РГУФК. По идее, она даёт некий стандарт, как и чему тренеры будут учить детей, но этого мало. Каждый тренер — яркая индивидуальность. Это круто, но опасно: нужно как-то следить за прогрессом. Более того, это не только наша хотелка как организации, но и прямая хотелка родителей.

Родители в образовании обычно не чувствуют прогресса ребёнка. Есть, конечно, всякие турниры, отчётные концерты и годовые экзамены, но обратная связь длиной в полгода — плохой план. Мы решили, что нужно автоматически генерировать отчёты с каждой тренировки. И вот тут мы подходим к тому, что обычно делается руками для профессиональной футбольной команды — видеоаналитике действий игроков на поле. Садится человек и примерно за 50-100 долларов за час расшифровывает происходящее. Схема не масштабируемая: вот у нас в январе 2020 занималось 165 групп в среднем по 9 раз в месяц – это будет от 75 до 150 тысяч долларов в месяц.

Но, поскольку мы живём в веке свёрточных нейросеток, можно сделать всё с дешманской камерой (но всё же fullHD 30 FPS) прямо на школьной тренировке. И, более того, мы это уже сделали до стадии беты.
Читать дальше →

Антипаттерны Vim

Reading time4 min
Views22K
Когда вы находитесь в состоянии потока, Vim серьёзно ускоряет редактирование, будь то написание кода, поэзии или прозы. Но поскольку кривая обучения слишком крута для текстового редактора, то очень легко сохранить вредные привычки с тех времён, когда вы только осваивали редактор. Vim настолько ускоряет работу, что искоренить эти привычки особенно трудно, ведь их можно даже не заметить. Но это того стоит. Перечислю некоторые из наиболее распространённых антипаттернов.
Читать дальше →

Тестирование не для начинающих

Reading time5 min
Views14K
Я большой фанат тестирования. Я пишу об этом в блог и почтовую рассылку, я обсуждаю это c другими разработчиками в свободное время, я зашел так далеко, что даже создал обучающий курс по тестированию в Go.

Но несмотря на всю мою любовь к тестированию, я не рекомендую его новичкам.

Звучит дико, правда? В этой статье я собираюсь пояснить свою точку зрения более детально, но весь смысл, в итоге, сводится к двум пунктам:

  1. Начинающим не хватает знаний, чтобы писать что-либо кроме самых простых тестов. Это неизбежно приводит к следующему пункту…
  2. Пытаться тренировать навыки, необходимые для написания реалистичных тестов, одновременно с обучением программированию крайне тяжело

Я понимаю, что это, в принципе, один пункт. В любом случае, я разбил его на два для того, чтобы было проще понять.

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

Стажёр Вася и его истории об идемпотентности API

Reading time11 min
Views262K

Идемпотентность — звучит сложно, говорят о ней редко, но это касается всех приложений, использующих API в своей работе.


Меня зовут Денис Исаев, и я руковожу одной из бэкенд групп в Яндекс.Такси. Сегодня я поделюсь с читателями Хабра описанием проблем, которые могут возникнуть, если не учитывать идемпотентность распределенных систем в своем проекте. Для этого я выбрал формат вымышленных историй о стажёре Васе, который только-только учится работать с API. Так будет нагляднее и полезнее. Поехали.


image

Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity