@PTPPAction · Post #198 · 16.01.2023 г., 11:40
#dev#Rhilip#merged fix(ci): build pre-release with tag wrong branch
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #884 · 5.10
Роскосмос пару дней назад опубликовал отчёт о том, почему упала "Луна-25". Там конечно канцелярит, но можно примерно понять, что двигатель коррекции получил неверные данные от акселерометра: из-за возможного попадания в один массив данных команд с различными приоритетами их исполнения прибором Это очень похоже на программную ошибку, а это моя сфера, и я решил над ситуацией поразмыслить. Хейтеры сразу стали строчить комментарии в стиле "Ололо, наняли каких-то идиотов, которые простейшие тесты не провели". Тут обычно справедливо вспоминают аварию с европейской ракетой Ариан-5 в 1996 году. Там буквально из-за пары строчек кода в результате неправильного приведения числовых типов ракета за 7 млрд баксов развалилась на куски в воздухе. Бывает. Что касается Роскосмоса, при всей его сомнительной репутации, объяснение "Дураки не провели тесты" звучит лично для меня неправдоподобно. На мой личный взгляд возможны два варианта: 1. Если в описании ошибки слово "приоритет" обозначает какой-то признак внутри объекта команды, значит, на входе в приёмный модуль эти команды не были отфильтрованы. Выглядит как грубая ошибка, целый логический блок упущен. Вряд ли этот блок вообще не написан, скорее всего он не выполнился. Такое бывает, если в тестовой среде есть какое-то условие, которого нет в рабочей, и именно это условие отвечает за выполнение участка кода. Сталкивался с таким миллион раз. Самое дикое из последнего: код парсит эксель-таблицу с числами. Разработчик написал, запустил проверил, прогнал тесты, всё ок. Отправляем в прод — все числа будто бы рандомно меняются на другие. Запускаем снова — у всех разработчиков функционирует нормально, а в проде на сервере нет. Таблица одна и та же. Можете подумать, почему так. Ответ: у разработчиков стоит русская локаль и десятичный разделитесь это запятая, а на проде в докере точка. При парсинге на проде запятая уже интерпретируется как разделитель тысячных разрядов. 2. Куда вероятнее, что слово "приоритет" в описании ошибки обозначает время, а, значит, список команд просто не был отсортирован, и в обработчик уже после актуальных значений попали какие-нибудь начальные нулевые данные, сбившие логику. По косвенному описанию проблемы очень похоже именно на это. Значит, на тестах всегда порядок возникновения команд соответствовал порядку их прихода, а в реальности перестал соответствовать. Вообще, работать с железом очень сложно. Какую-нибудь схемку заглючило от холода, она задержала ответ от датчика на миллисекунду, и всё. Никто не знал, что такая проблема возможна, пока она не возникла. Мне рассказывали о таком случае: юзер логинится на сайт и иногда логин проходит, а иногда нет. Логин и пароль те же самые. Просто в случайные моменты времени ему возвращают токен авторизации, а в другие моменты времени ошибку 403. Никакой закономерности нет вообще. Нет зависимости от времени суток и даты. Сервер точно работает стабильно и не падает все 100% времени. Почему так может быть? Ответ: у сервиса авторизации два инстанса, перед которыми балансировщик нагрузки. В одном инстансе данные для авторизации есть, в другом нет. Балансировщик при примерно одинаковой нагрузке включает просто случайный выбор между ними. В общем, программисты иногда допускают такие косяки, что какая-то мелочь может привести к серьёзной аварии. Это я вам говорю как программист, который пишет для атомных станций :) #dev
Hashtags
Общо глобално търсене
@PTPPAction · Post #198 · 16.01.2023 г., 11:40
#dev#Rhilip#merged fix(ci): build pre-release with tag wrong branch
@PTPPAction · Post #173 · 09.01.2023 г., 11:40
#dev#Rhilip#merged ci: bump version to 1.6.1 closed #1293
@PTPPAction · Post #138 · 03.01.2023 г., 02:00
#dev#Rhilip#merged fix(ci): action for pr should pass build crx
@PTPPAction · Post #85 · 24.12.2022 г., 16:30
#dev#Rhilip#merged ci: allow firefox xpi auto_update
@PTPPAction · Post #79 · 24.12.2022 г., 15:00
#dev#Rhilip#merged wip: allow firefox xpi to be autoupdate
@PTPPAction · Post #47 · 19.12.2022 г., 13:10
#dev#Rhilip#merged fix: support Flood 4.x (aka jesec/flood ) It's BC break, Since legacy flood (aka Flood-UI/flood) is archived and deprecated, so we no longer support it in patch version. closed #715
@clockstackwheels · Post #374 · 06.06.2022 г., 10:39
Много новых людей пришло, расскажу ещё историю из бытия фрилансером. Делали мы как-то с другом проект для одной большой конторы (в своей области самой крупной в городе, миллиардные обороты). И вот там на старте нужно было подписаться в техзадании. А техзадание это такая увесистая папка страниц на сто. И подписаться мне, как руководителю проекта, нужно было на каждой странице. Когда проект запустился, ядро мы собрали быстро. Полный план был что-то типа полгода, но в конечном итоге заняло полтора, потому что после сборки ядра мы практически непрерывно занимались правками и замечаниями. Каждый месяц мы приезжали к заказчику и показывали, что сделали. А нам составляли список из 10-20 новых пунктов. За доработки доплачивали, но в какой то момент стало понятно, что мы в некотором смысле работаем на аутсорсе, хотя подписывались на один конкретный проект. А оставались мы работать, потому что проект не был введён в эксплуатацию, и бросать его без запуска не хотелось. Заказчик в итоге не переставал заваливать правками, шли месяцы. Впоследствии директор компании сменился, новому проект был без надобности, он заплатил нам остаток, который должен был, и проект остался навечно похоронен. Как так вышло: огромное и очень подробное техзадание, но всё равно непрерывные правки и замечания? Я позже рефлексировал этот момент и пришёл к таким выводам: 1. Заказчик описал в техзадании конечную систему, которую хотел бы видеть. Нам была нарисована практически каждая кнопка будущей софтины: очень детально и подробно. При этом результат, который требовался заказчику, был описан только в общих чертах (ещё и менялся по ходу дела). ТРИЗ учит нас обращать внимание на результат, а не на способ его достижения. 2. Заказчик не был готов ничего менять со своей стороны. Представьте, я прихожу в спортзал к тренеру и говорю, что вот вам деньги, а я хочу мускулистое тело. Мне тренер предлагает программу занятий. Но я заявляю, что нет, мне некогда, у меня нет времени и возможности ходить. Вообще для меня слишком дорого будет перестроить процессы в своей жизни. Так что нет, никаких походов на занятия. Я же плачу деньги, в конце-концов. Давайте, заплачу ещё больше, если требуется. Дам тренеру больше времени. Так же и тут: в компании были не готовы перестраивать процессы, обновлять софт и железо, обучать персонал. Поэтому новую систему пытались интегрировать со старой, а в интерфейсе использовать не лучшие решения, а привычные. #dev#freelance
Hashtags
@clockstackwheels · Post #7 · 14.02.2021 г., 17:38
Я регулярно участвую в хакатонах и конкурсах для разработчиков. При всей прелести основной работы, в ней частенько не хватает творческой активности, поэтому меня спасают конкурсы с относительно свободными задачами. Там можно не только выиграть ценные призы, но и поделать что-то нестандартное. А это и приятно само по себе и полезно для программиста, как источник новых знаний и нового опыта. В этот раз мы с командой приняли участие в хакатоне от Яндекса и Великого Новгорода. Цель была такая: создать навык (то есть голосового чат-бота) для «Алисы», который будет интересен гостям и жителям этого города. Подробнее в статье. #dev#hacks https://teletype.in/@clockstackwheels/novgorod-hack
@clockstackwheels · Post #5 · 31.01.2021 г., 23:44
В фантастике часто встречается сюжет о сверхмощном компьютере, который обрабатывает внутри себя симуляцию мира (вселенной, планеты, города). В 6-й серии 10-го Доктора Кто инопланетяне создают симуляцию Земли, чтобы понять, как её захватить. В сериале Devs герой делает виртуальную копию вселенной, чтобы знать всё прошлое и будущее. Нередко искусственный интеллект продумывает все варианты развития человечества, чтобы подсказывать людям лучший выбор (начиная от Мультивака Айзека Азимова и заканчивая третьим сезоном Westworld). Порассуждал с точки зрения программиста о том, почему это, скорее всего, принципиально невозможно. #scifi#dev https://teletype.in/@clockstackwheels/computer-prediction
@clockstackwheels · Post #8 · 13.03.2021 г., 08:45
Почти месяц не было статей — это не специально, а потому что запланированная статья про умные колонки отложена из-за неготовности некоторых помещений в квартире. Но stay tuned, а пока расскажу про не менее забавную вещь — голосовую платформу Сбера и устройство SberBox, которое ко мне попало. #gadgets#dev#tech https://teletype.in/@clockstackwheels/sberbox
@PTPPAction · Post #2499 · 26.12.2024 г., 16:12
#dev#bright#merged 推荐下载 fix(jptv): correct script path commit fix(jptv): correct script path
@clockstackwheels · Post #1125 · 06.07.2025 г., 19:19
Финал#interview#dev Собственно, да. Выбор не единогласный, но вполне очевидный, и вы это тоже показали голосованием. Я два дня прокручивал в голове варианты, спрашивал у друзей и родственников их мнение, и в итоге не стал дожидаться преоффера. Написал Т-Банку отказ, а 2ГИС согласие. Вот завтра уже выхожу, первый рабочий день. Так что, сколько денег бы предложили в Т-Банке, мы так и не узнаем. Спросили, могут ли вернуться через год, если что. Конечно, пообщаться я всегда за. Кстати, в 2ГИС много акцента делали на простую и понятную систему повышения дохода, и она как раз через год должна будет себя показать. В целом, конечно, наша современная система найма в айти сфере — никуда не годится. Собственно, нашумевший на днях случай с индусом по имени Сохам Парекх говорит сам за себя. Но кроме вероятности нанять шарлатана, есть и обратный эффект: не нанять нормального спеца. Я уже говорил, что без подготовки не прошёл бы даже на мидла нигде, хотя за счёт подготовки как специалист я не стал лучше, не получил никакого нового профессионального опыта. В чём заключалась подготовка: 1. DeepSeek. Очень круто объясняет. Ты прямо ему задаёшь вопросы, которые в книгах затронуты поверхностно. Можно задавать максимально стыдные вопросы. Например, вот один из моих вопросов: Я: — Что является узлами кучи, в которой хранятся ссылочные типы в C#? Куча это отсортированное дерево, но я не понимаю, что такого можно извлечь из ссылочных объектов, чтобы по этому сортировать. И зачем. DeepSeek: — Понимаю вас, но здесь есть путаница в именовании. Куча (Heap), как структура данных — это не то же самое, что Куча (Heap) , как область памяти в C#, Java и других языках. Они называются одинаково, но имеют разное устройство и поведение... ... 2. Книги. Целиком я ни одну не прочитал, но погрузился в: • Крис Ричардсон, «Микросервисы». Собственно, это один из авторов идеи микросервисов, хорошо объясняет, как и зачем. • Алекс Сюй, System Design. Это просто книга с шаблонными примерами для шаблонной же секции. • Ганс-Юрген Шёниг, PostgreSQL. Описаны, пожалуй, все существующие функции и особенности СУБД, но без разъяснения. В целом я делал так: узнавал у Шёнига о существовании чего-то и шёл в дипсик уточнять. 3. Видео • Мок-собеседования. Некоторые компании даже прям свои собесы выкладывают на ютуб, удобно. • Доклады, в основном с DotNext. Кстати, я в программе на эту осень, приходите слушать :) Верно ли говорить, что от твоих настоящих умений вообще никак не зависит прохождение современных собеседований? Скажу так: к сожалению, софт-скиллы очень сильно решают. Если ты уверенно говоришь, обладаешь хорошим словарным запасом, активен, не делаешь больших пауз, то это даёт тебе огромный буст. Но полное прохождение на одних софтах это всё равно скорее запредельный случай. Ещё хочу упомянуть, что нигде не спросили ничего по солюшен-архитектуре. Хотя от умения разработчика её выстраивать зависит, например, поддерживаемость его кода. Да и процент ошибок тоже. ______________________ Вижу, что многие подписались в разгар историй о собеседованиях. Конечно же, эти истории не могли продолжаться вечно. Но, если вам нравится мой слог, предлагаю попробовать остаться и почитать два-три следующих поста. Если потом поймёте, что не заходит, и отпишетесь, я не обижусь. Обычно на этом канале я рассказываю о гиковых хобби: фантастика, 3D-печать, DIY, настольные игры. Иногда высказываю своё восприятие айти-новостей и технологий. Вот для примера мой типичный обзор на фантастическую книгу, а вот электронное устройство. И ещё я очень люблю организацию пространства, много этим занимаюсь, поэтому друзья в шутку прозвали такие посты «ОКР-контент», так что я добавил специальный тег #окр. Типичные примеры вот и вот. Stay tuned )
Hashtags