Как стать автором
Обновить

Все потоки

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Кодекс летописца, или Ода к телеметрии

Блог компании Миландр Программирование *Производство и разработка электроники *

Допустим, ко группе инженеров снизошла задача разработать систему управления чем-нибудь достаточно сложным. Теоретик заточил зубы и приступил к граниту — строит модели объекта и системы управления. Комплексники копают руду компоновки, вопросов климатики, вибрации и спецтребований, кто-то рисует платы/корпуса/кабели, кто-то пишет и тестирует уже определившиеся элементы ПО.

И здесь же, с самого старта, нужен человек, который займется телеметрией: ее формированием, передачей и сохранением. Ибо переоценить важность телеметрии для разработки практически нереально. Когда что-то пойдет не так — а оно пойдет — только телеметрия даст шанс понять, что это, черт возьми, было. Когда все будет так — она станет объективным доказательством успеха. Больше того: иногда, когда внешне все прошло так, она заставит при анализе запуска уронить челюсть и спросить себя и окружающих: «как, черт возьми, всё обошлось?»

А потому исходное положение кодекса, пункт зеро:

Читать далее
Рейтинг 0
Просмотры 21
Комментарии 0

Новости

Ученые обнаружили вероятный второй случай естественного выздоровления от ВИЧ

Здоровье Научно-популярное

30-летняя девушка из Аргентины стала вторым человеком в мире, который излечился от ВИЧ без вмешательства врачей.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 201
Комментарии 0

Samsung AI Forum 2021. День 1

Блог компании Samsung Искусственный интеллект Конференции Машинное обучение *

Хочу поделиться с вами обзором интересных докладов недавно прошедшего Форума искусственного интеллекта Samsung AI Forum 2021. В этом году, как и в прошлом, форум проводился онлайн и транслировался в прямом эфире на канале Samsung Electronics в YouTube. Сегодня – мой обзор первого дня Samsung AI Forum 2021.

 

Читать далее
Рейтинг 0
Просмотры 40
Комментарии 0

Мониторинг скорости интернет каналов в Zabbix

Системное администрирование *Python *
Из песочницы

Всем привет!

Я работаю в крупной компании федеральной компании, у которой более 2000 объектов. Для большинства задач необходим стабильный канал интернета с высокой скоростью. Поэтому нам необходимо было сделать систему, которая позволяет отслеживать скорость работы интернет каналов на этих объектах, и в случае проблем информировала бы нас об этом.

Собрав все инструменты, что у меня есть, я решил сделать мониторинг скорости интернета на базе Zabbix. Для замеров скорости используется утилита iperf3. Весь код сделан на python.

Читать далее
Рейтинг 0
Просмотры 195
Комментарии 0

Полуструктурированные данные в Аналитических Хранилищах

Блог компании OTUS Big Data *Data Engineering *

Привет! На связи Артемий – Analytics Engineer @ Wheely.

В последние годы явным стал тренд на анализ слабоструктурированных данных – всевозможных событий, логов, API-выгрузок, реплик schemaless баз данных. Но для привычной реляционной модели это требует адаптации ряда новых подходов к работе с данными, о которых я и попробую рассказать сегодня.

В публикации:

- Преимущества гибкой схемы и semi-structured data

- Источники таких данных: Events, Logs, API

- Подходы к обработке: Special Data Types, Functions, Data Lakehouse

- Принципы оптимизации производительности

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

Приложение для аудиозвонков с регулировкой звука, как в реальной жизни

Блог компании Питерская Вышка C++ *Qt *Программирование *Разработка систем связи *

Распространенная в пандемию ситуация: общаетесь с друзьями или коллегами по Zoom, несколько человек начинают говорить одновременно и… разобрать хоть что-то не представляется возможным. Эта проблема натолкнула нас на идею написать свое приложение для аудиозвонков, где громкость регулируется весьма необычным образом. У каждого пользователя есть свой аватар — кружок на плоскости, который управляется перетаскиванием. Чем ближе аватары пользователей на экране, тем громче они друг друга слышат. Работает ли это? В целом да. Рассказываем, что у нас получилось.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 177
Комментарии 0

Think Different. Think Users

Развитие стартапа Управление продуктом *
Перевод
image

Автор — Джессика Ливингстон, соосновательница Y Combinator.

В конце 90-х была известная рекламная кампания Apple под слоганом «Think Different». Это то, что вам нужно сделать как основателю стартапа. Невозможно создать успешный стартап, просто делая то, что делают все остальные.

Это не так уж и просто «Think Different», поэтому редко кто так делает. Существует большое социальное давление, чтобы не делать этого. Люди отвергнут вашу идею или даже высмеют ее. В какой-то момент вам, вероятно, придется бороться с этим встречным ветром. В какой-то момент вам придется сделать что-то, что большинству людей покажется глупым.

Итак, мой первый совет — просто будьте к этому готовы. Это то, через что должны были пройти почти все успешные основатели стартапов. Сейчас нам трудно понять, с какой встречной силой они столкнулись, потому что теперь они, конечно, доказали, что их идеи не были глупыми. Но если вы их спросите, они обычно могут очень отчетливо вспомнить тот скептицизм, с которым столкнулись в первые дни.

Я сама прошла через это. Трудно представить, что сейчас, когда Y Combinator стал таким известным брендом, но когда мы только начинали, он казался таким убогим. Никто не думал, что YC будет что-то из себя представлять. Наши собственные юристы пытались отговорить нас от этой задумки.
Читать дальше →
Всего голосов 5: ↑2 и ↓3 -1
Просмотры 106
Комментарии 0

Подшивка газеты «Комсомольская правда» за 1941—1945 годы опубликована на Викискладе по свободной лицензии

Управление продуктом *Управление медиа *Копирайт Научно-популярное Краудсорсинг

21 ноября военная подшивка газеты «Комсомольская правда» появилась в интернете на сайте Wikimedia Commons — в фотобанке, который обслуживает Википедию и другие проекты фонда «Викимедиа». Выпуски с 22 июня 1941 года по 9 мая 1945 года вышли в свободный доступ. Их можно использовать по лицензии «Creative Commons Attribution ShareAlike». Читайте подробности в интервью, которое дал нам Станислав Козловский.

Нажимая на кнопку, вы соглашаетесь читать!
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 215
Комментарии 0

Spring Cloud Config — обновление конфигурации

Блог компании OTUS Java *Программирование *
Перевод

Spring Cloud Config позволяет хранить настройки конфигурации сервисов в git-репозитории и управлять настройками централизованно.

В этой статье поговорим об обновлении параметров, получаемых с сервера конфигурации.

Читать далее
Рейтинг 0
Просмотры 109
Комментарии 1

Как моллюски создают идеально симметричную жемчужину

Блог компании Cloud4Y Научно-популярное Читальный зал Биология

И почему у них получается лучше, чем у людей, со всеми их технологиями? Делимся выжимкой из нового научного исследования.

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

Туториал по JUnit 5 - Жизненный цикл JUnit 5 теста

Тестирование IT-систем *Java *
Перевод
Tutorial

В JUnit 5 жизненный цикл теста управляется четырьмя основными аннотациями, то есть @BeforeAll, @BeforeEach, @AfterEach и @AfterAll. Вместе с тем, каждый тестовый метод должен быть помечен аннотацией @Test из пакета org.junit.jupiter.api.

Читать далее
Рейтинг 0
Просмотры 160
Комментарии 0

Unity справа налево

Разработка игр *Unity *Локализация продуктов *Продвижение игр *
Из песочницы

Я работаю в локализационной компании Allcorrect. Наша основная деятельность – перевод игр, но часто разработчики обращаются за консультациями по смежным вопросам. Один из таких вопросов – интеграция переведенного текста на читаемый справа налево язык в игру, написанную на движке Unity.

Оказывается, на Ближнем Востоке и в Северной Африке тоже любят видеоигры. Согласно исследованию, в 2020 году только в Саудовской Аравии, Иране и Объединенных Арабских Эмиратах в сумме оказалось больше 68 млн геймеров, а размер рынка видеоигр в этих странах составил внушительные 2 млрд долларов! Однако знанием английского языка жители ближневосточных государств похвастаться не могут: по классификации EF EPI их средний уровень оценивается как «низкий» или даже «очень низкий». Что ж, у разработчиков и издателей видеоигр есть хороший повод задуматься над тем, чтобы локализовать свои проекты для этого региона.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 296
Комментарии 0

Электронная медицинская карта-собираем анализы

Python *
Tutorial

Небольшой пост о том, как собрать в единый pdf все записи о сданных анализах в поликлинике из электронной медицинской карты. Данные располагаются на сайте (https://lk.emias.mos.ru/medical-records), однако пользоваться ими неудобно, так как на сайте все свалено в несколько pdf куч. И, чтобы посмотреть, все позиции по анализам, сданным, например, в один день, необходимо заходить в каждую из этих куч и смотреть только эту одну позицию. Итого можно посмотреть до 15 pdf с анализами, сданных в один день. А уж если хочется за несколько дней посмотреть результаты анализов, умножай на n и затем вручную сравнивай!
В качестве опции также будет осуществлен вывод табличных данных из pdf в excel.

Читать дальше →
Рейтинг 0
Просмотры 349
Комментарии 2
👻 Don't panic — рейтинги скоро пересчитаются

Половой отбор с точки зрения программиста

Читальный зал Научно-популярное Мозг Здоровье Биология

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

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

Читать далее
Всего голосов 10: ↑6 и ↓4 +2
Просмотры 1.6K
Комментарии 13

Поиск проблемных промисов в JavaScript

Блог компании RUVDS.com Разработка веб-сайтов *JavaScript *
Перевод
JavaScript — это фантастический язык для серверного программирования, так как он поддерживает асинхронное выполнение кода. Но это ещё и усложняет его использование.

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

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



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

Эти соединения что-то захватывало.

Речь идёт о кодовой базе в миллионы строк кода, которой в течение нескольких лет занимались десятки программистов. Может — проблема заключается в неразрешённых промисах? Я решил исследовать этот вопрос.
Читать дальше →
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 545
Комментарии 0

Доводим распределённые действия до конца с использованием простейшего паттерна Saga

Блог компании Ozon Tech Анализ и проектирование систем *Go *Распределённые системы *Микросервисы *

Привет! Меня зовут Иван, я занимаюсь бэкенд-разработкой в Ozon: пишу микросервисы на Go для личного кабинета продавца. В прошлом году мы запустили новый процесс регистрации продавцов, в котором задействовано сразу несколько микросервисов. В нём стало больше шагов, при этом каждый из них выполняется в разных микросервисах. Поэтому мы задались вопросом: «А что будет, если один из шагов упадёт?».


В микросервисной архитектуре давно известен инструмент решения подобных проблем — это паттерн Saga. Мы решили взять его на вооружение и немного упростить под нашу задачу. Я расскажу о том, как мы это сделали, и покажу, что Saga может быть простой. Так что если вы давно хотели попробовать реализовать Saga, но вам казалось, что это сложно — читайте дальше.


image

Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 788
Комментарии 1

Атака не клонов, или Генерация и анализ тестовых данных для нагрузки. Часть 3

Блог компании Конференции Олега Бунина (Онтико) Высокая производительность *Тестирование IT-систем *PostgreSQL *SQL *

Итак, мы разобрались с генерацией данных и мне осталось рассказать об инструменте для получения  детальной статистики по базе данных, которую 85% разработчиков считает самым узким местом в системе. И о том, как с помощью анализа статистики ускорить эту самую систему, но не попасть в ловушку.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 157
Комментарии 0

Обращение к Javascript сообществу: перестаньте писать квадраты

JavaScript *Алгоритмы *

Пост про то, почему стоит, как минимум избегать квадратичной сложности в тех местах, где на это нет никаких причин. Если вы широко используете .concat в .reduce эта статья для вас. В ней я попытаюсь разобрать на пальцах почему это может быть очень плохим решением, и как это исправить.

Read more
Всего голосов 56: ↑56 и ↓0 +56
Просмотры 5.7K
Комментарии 21