Как стать автором
Обновить
1
0
Юрий Федоров @fedorov97

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

Отправить сообщение

Писать код для компьютеров сложно, ещё сложнее — писать код для людей

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

Писать код для компьютера и так достаточно сложно: вы берёте что-то большое и неопределённое, какую-нибудь крупную расплывчатую цель бизнеса, которой нужно достичь. Затем рекурсивно разбиваете её на части и продумываете все сценарии, пока не получите чёткие логические конструкции, которым сможет следовать компьютер. Компьютеры очень хорошо справляются с выполнением логических конструкций.

А теперь немного усложним задачу. Будем писать код для людей!

Объясню, что я имею в виду: я говорю о коде, с которым смогут взаимодействовать другие люди. В частности, я имею в виду искусство создания удобных фреймворков, библиотек, API, SDK, DSL, встроенных DSL или даже языков программирования.

Писать такой код гораздо сложнее, потому что ты не только говоришь компьютеру, что делать, но и вступаешь в борьбу с ментальной моделью твоего кода в глазах другого пользователя. Это в равной степени computer science и психология мышления. Как сделать так, чтобы этот человек понял твой код?

Ричард Фейнман как-то сказал: «Представьте, насколько сложнее была бы физика, если бы электроны имели чувства». Он говорил это в другом контексте, но мне кажется, это частично описывает и программирование для людей. У человека, интерпретирующего твой код, есть чувства!

Давайте поговорим о том, как упростить ему задачу.
Читать дальше →
Всего голосов 37: ↑35 и ↓2+53
Комментарии6

Самый экономичный способ управления двигателями – преобразователь частоты

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

В промышленности свыше 60% электроэнергии потребляется асинхронными электроприводами – в насосных, компрессорных, вентиляционных и других установках. Это наиболее простой, а потому дешевый и надежный тип двигателя.

Технологический процесс различных производств в промышленности требует гибкого изменения частоты вращения каких-либо исполнительных механизмов. Благодаря бурному развитию электронной и вычислительной техники, а также стремлению снизить потери электроэнергии появились устройства для экономного управления электродвигателями различного типа. В этой статье как раз и поговорим о том, как обеспечить максимально эффективное управление электроприводом. Работая в компании «Первый инженер» (группа компаний ЛАНИТ), я вижу, что наши заказчики всё больше внимания уделяют энергоэффективности

Читать дальше →
Всего голосов 44: ↑41 и ↓3+48
Комментарии24

«Да» — расписаниям, «нет» — спискам дел

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

Представьте, что вы купили новый телефон. Но, несмотря на то, что его только достали из коробки, ежедневно, в конце дня, его операционная система даёт катастрофический сбой. Продолжали бы вы пользоваться таким вот дефектным телефоном? Нет, конечно. Вы отнесли бы его обратно в магазин, пожаловались бы и взяли бы новый аппарат.

Однако же, жизни многих людей работают на сбойных операционных системах. Они называются «списками дел». Встречался вам кто‑нибудь, кто управляет временем, используя списки дел, и реально завершает все запланированные на день задачи? Я таких людей не видел.

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

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

Корпоративный OpenVPN, или как сделать тигра из кошки

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

Говорят, из кошки не сделать тигра, но сегодня мы попробуем добавить «корпоративности» очень простому и популярному ВПН-решению. OpenVPN Community Edition является решением с открытым кодом, очень популярным в мире и довольно безопасным. В корпоративной среде его использование часто бывает проблематично – отсутствуют важные функции, позволяющие разворачивать решение большому количеству пользователей с минимальными затратами.

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

NFC-видеотека для моих детей

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

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

У меня двое пацанов, старшему разрешается посмотреть полчаса телевизор с утра и ещё полчаса вечером. Обычно он точно знает, что хочет посмотреть, но ему приходится ждать, пока кто-то из родителей возьмёт пульт и откроет нужное приложение.

Это заставило меня задуматься: почему бы не объединить новое и старое? Я хотел, чтобы у сына была более активная роль в выборе того, что он хочет посмотреть, несмотря на цифровой формат.

Несколько лет назад я увидел, как кто-то распечатал любимые музыкальные альбомы с NFC-меткой внутри, и решил сделать что-то подобное для своих детей.
Читать дальше →
Всего голосов 49: ↑49 и ↓0+64
Комментарии26

Как в Яндексе 16 человек управляют 1800 переговорками по всему миру

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

Привет! Меня зовут Данила Елагин. Я — технический менеджер проектов и продуктов во внутреннем подразделении ИТ Яндекса. Мы занимаемся не только техподдержкой сотрудников, но и вместе со смежными подразделениями выстраиваем и обслуживаем ИТ‑инфраструктуру.

Некоторое время назад я перешёл в отдел продуктового развития и получил в качестве подшефного продукта внутренний сервис — Паспорт переговорных. Его основная задача — позволить нашей компактной команде ВКС легко и эффективно управлять огромным парком переговорных: от больших залов до кабин, рассчитанных на пару человек. Кстати, помимо переговорок в Room Passport «живут» кабинеты массажистов и врачей, коворкинговые столы и даже спортзалы. Всего получается 1800 помещений в 125 офисах в 12 странах.

Как мы управляемся с таким количеством переговорок? Все ответы под катом.

Читать далее
Всего голосов 27: ↑22 и ↓5+21
Комментарии14

Алгоритм управления доставкой по расписанию и динамичесий прайсинг. Как мы сделали это в Купере

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

Привет! Меня зовут Юрий Беляков, я старший ML-инженер в Купере. Сегодня предлагаю вместе разобраться, что такое плановая доставка и как устроен алгоритм управления слотами в Купере. Обсудим, как проходило тестирование и масштабирование от одного магазина до всех гипермаркетов, на какие грабли мы наступили и как на той же базе реализовать динамическое ценообразование.

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

Разгадываем тайну цифрового скоростемера от ушедшего в историю метропоезда

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров5.4K
Приветствую всех!
Давным-давно, больше года назад, я рассказывал о подключении блока индикации скорости от метровагона «Яуза». Но тогда, несмотря на то, что я почти полностью разобрал протокол, у меня возникли проблемы: при попытке обновить показания табло гасло. И что-то совершенно не давало мне покоя, отчего я решил, что девайс надо заставить работать во что бы то ни стало.



Итак, в сегодняшней статье узнаем, как же на самом деле работает данный прибор. Попутно заставим его отображать что-нибудь полезное. Традиционно будет много интересного.
Читать дальше →
Всего голосов 42: ↑42 и ↓0+59
Комментарии12

Уроки, извлеченные из масштабирования до многотерабайтных датасетов

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

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

Я разделил статью на две части: первая посвящена масштабированию на отдельной машине, вторая — масштабированию на множестве машин. Наша цель — максимизировать доступные ресурсы и как можно быстрее выполнить поставленные задачи.

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

P2P общего назначения

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

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

Стремительное развитие производительности чипов и удешевление железа привело к революции персональных компьютеров. Однако опережающий рост вычислительных потребностей запустил развитие на новый круг. Сейчас найдется немного компаний и организаций, которые обходятся исключительно персональными компьютерами и сервисами в локальной сети. Когда-то диковинные IaaS, PaaS, SaaS, распределенные вычислительные технологии плотно вошли в жизнь. Доступ к удаленным системам — обыденная потребность не только для администраторов и программистов. Все знают о протоколах ssh, rdp, vnc, многие пользуются TeamViewer, AnyDesk, Remmina, X2Go и т. п. Ввиду того, что IPv4 сети и порожденный ими NAT пока еще более чем актуальны, не каждое из перечисленных средств позволяет подключиться к машине, находящейся за NAT, если у вас нет возможности пробросить порты.

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

Композим иконки. Улучшаем семантику и скорость отрисовки

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

Привет! Меня зовут Алексей, я работаю Android-разработчиком в Облаке Mail. Наша команда отвечает за возвращаемость пользователей в сервис. Чтобы сделать использование Облака приятным и удобным, мы проводим редизайн приложения, переписывая старый пользовательский интерфейс на Jetpack Compose по новым макетам. Для упрощения создания новых экранов мы разрабатываем UI Kit с готовыми Composable-компонентами.

Во время работы над новыми экранами мне часто приходилось использовать множество различных иконок, разбросанных по всему проекту. Это навело на мысль: было бы здорово собрать все иконки в UI Kit в единственном экземпляре и использовать их только оттуда — по аналогии с тем, как это делают дизайнеры в Figma. И тогда я вспомнил об одной особенности Jetpack Compose.

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

UX-редактура: Как писать связный текст. Тема и рема

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

Каждый автор вкладывает в текст определённый смысл, как он его понимает. Однако читатели не всегда этот смысл улавливают.
Как аккуратно погрузить пользователя в тему, разъяснить, что делать и провести по сценарию? Занимаемся синтаксисом.

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

Как заставить ChatGPT не только писать код, но и исполнять его

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

Приведу минималистичный пример как заставить условный ChatGPT (или Llama и т.п.) не только писать код но выполнять его. Модель научится адекватно отвечать на вопросы типа:
User: Сколько дней до нового года ?
GPT: 130
или
User: Сделай пинг моего сервера 45.хх.хх.57 он отвечает?
GPT: Сервер 45.хх.хх.57 отвечает

Читать далее
Всего голосов 12: ↑2 и ↓10-8
Комментарии14

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

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

Привет, Хабр! Меня зовут Александр Абрамов и я ML Lead продукта в SberDevices. Эта статья — про обучение core-моделей retrieval-based диалоговых систем, поговорим про хинты для ускорения обучения и сходимости, также затрону тему общей схемы inference и оптимизации её компонентов. Речь пойдёт о ML с позиции пайплайнов и продакшена виртуального ассистента Салют.

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

Как работает протокол HLS

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

Вот уже несколько недель я разрабатываю серверную поддержку коротких видео для компании Bluesky.

Основное назначение этой фичи – обеспечивать потоковый показ небольших (максимум 90 секунд) видеороликов. Показ должен быть бесплатным и при этом не слишком накладным для нас.

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

Притом, что такая CDN – это полнофункциональный продукт, мы не хотели чрезмерно замыкаться на конкретном производителе и поэтому решили внести в нашу потоковую платформу некоторые улучшения, тем самым расширив спектр предлагаемых на ней услуг и творчески подойти к реализации протоколов потокового видео.

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

LIBRA: Long Input Benchmark for Russian Analysis

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

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

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

Не любой In-context learning одинаково полезен

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

Промпт-инжиниринг (Prompt engineering) - широко используемая техника для улучшения качества генерации LLM. Few-shot learning и Chain-of-thought - основные техники современного промпт-инжиниринга.

Оказывается, не любые Few-shot prompting и Chain-of-thought одинаково полезны и могут принести свои биасы в генерацию модели и испортить всю магию от их применения. 

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

Создание полного Fast-API сервиса с фронтендом и деплоем за полчаса

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

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

После этого мы выполним деплой этого приложения, чтобы любой пользователь мог им воспользоваться.

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

OpenSource на поле против OpenAI:  Function Calls здесь и сейчас для самых маленьких… ресурсов

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

Вызов функций на локально развернутых LLM возможен. Прочитайте статью и узнайте, как это можно реализовать и насколько хорошо это работает!

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

Замедление YouTube с технической стороны: ограничение и обход

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

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

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

Сразу скажу, что буду говорить обо всём, что известно на данный момент. Понятно, что с этим разбирался далеко не один я: огромное спасибо обывателям ntc party форума за проделанный ресёрч.

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

UPD 10.08.2024 Многие жалуются на недоступность ютуба в целом: не грузит домашнюю страницу. Переживать не стоит, оно обрабатывается всё тем же ТСПУ по всё той же стратегии, обходы должны работать.

Читать далее
Всего голосов 540: ↑540 и ↓0+631
Комментарии437
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Новочеркасск, Ростовская обл., Россия
Дата рождения
Зарегистрирован
Активность