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

программист

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

Backblaze: надёжность жёстких дисков падает год от года. Это актуально для HDD большинства производителей

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

Компания Backblaze, провайдер облачных сервисов, регулярно публикует отчёты о выходе из строя жёстких дисков, находящихся у неё в эксплуатации. HDD — сотни тысяч, поэтому статистика получается интересной. Правда, обычно такие отчёты выглядят более-менее одинаково: какие-то модели дисков выходят из строя чаще, какие-то реже.

А вот сейчас ситуация иная: согласно данным провайдера за 2023 г., надёжность жёстких дисков разных моделей от любых производителей снизилась. Есть и исключения, но в целом это так. Подробности — под катом.

Читать далее
Всего голосов 48: ↑47 и ↓1+67
Комментарии130

IOptions и его друзья

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

Во время разработки часто возникает потребность для вынесения параметров в конфигурационные файлы. Да и вообще — хранить разные конфигурационный константы в коде является признаком дурного тона. Один из вариантов хранения настроек — использования конфигурационных файлов. .Net Core из коробки умеет работать с такими форматами как: json, ini, xml и другие. Так же есть возможность писать свои провайдеры конфигураций. (Кстати говоря за работу с конфигурациями отвечает сервис IConfiguration и IConfigurationProvider — для доступа к конфигурациям определенного формата и для написания своих провайдеров)


image


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

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

Время есть отношение бытия к небытию. Немного слов про Time-to-event analysis

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

Всем доброго дня!

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

Сегодня мы поговорим о таком подходе как анализ выживаемости (survival analysis) или, как его еще называют, анализ времени до наступления события (time-to-event analysis, ТТЕ). Звучит немного зловеще; и действительно: лично я познакомилась с этой методикой, занимаясь оценкой эффекта различных видов терапии на выживаемость пациентов с онкологическими заболеваниями. Забегая вперед, скажу, что сфера применения ТТЕ значительно шире, поэтому ее понимание может пригодиться широкому кругу специалистов. Данная статья освящает наиболее базовые концепции TTE, однако в конце искушенный читатель найдет список более исчерпывающих трудов.

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

Разница между Modbus и Profibus

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

Протоколы связи являются важной частью автоматизации. В настоящее время даже простые датчики имеют встроенные коммуникационные порты для обмена данными, не говоря уже о ПЛК. В этой связи стоит рассмотреть два старейших, но до сих пор широко используемых протокола связи – Modbus и Profibus. Оба звучат одинаково, но имеют свои особенности. В чем между ними разница?

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

Удаленка схлопывается? Как сохранить для себя этот режим работы

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

Во время и сразу после ковида удаленка была на подъеме - компании массово отказывались от офисов, аналитики публиковали исследования, согласно которым все внезапно стали эффективными. Сейчас тренд сменился на противоположный. Сотрудников, в том числе из ИТ, возвращают в офис. Почему это происходит и можно ли как-то сохранить для себя работу из дома? 

Читать далее
Всего голосов 66: ↑45 и ↓21+34
Комментарии432

Некоторым языкам программирования десятки лет — и они ещё в ходу. 5 старых, но актуальных ЯП

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

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

Читать далее
Всего голосов 37: ↑30 и ↓7+36
Комментарии196

Как нефункциональные требования влияют на архитектуру

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

Привет, Хабр, меня зовут Светлана Уварова, я — ведущий системный архитектор в МТС.

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

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

Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра

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

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

Так уж повелось, что любой уважающий себя работодатель перенимает передовые^✻ методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность.

Читать далее
Всего голосов 187: ↑185 и ↓2+212
Комментарии77

BJJ как средство от выгорания

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

TLDR. Автор не является профессиональным медиком и это всего лишь субъективное мнение, основанное на опыте коллег и его собственном за многие годы. Статья предназначена для разработчиков 35-40 лет, которые заметили падение концентрации и производительности и думают, что бы с этим можно сделать.

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

Будет ли пенсия у родившихся в восьмидесятых?

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

Сразу извиняюсь за большую стену текста. Но тема сложная и важная, так что по-другому никак. В самом конце поста есть выжимка, содержащая суть публикации в 6 предложениях.

Читать далее
Всего голосов 226: ↑218 и ↓8+263
Комментарии987

Мониторинг температуры Windows. Создание метрик, настройка InfluxDB и Grafana

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

Всем привет! Мониторинг температуры, нагрузки и других показателей системы всегда актуален, специалисты в области ИТ применяют разные подходы для реализации этой задачи, чтобы в конечном итоге визуализировать и наблюдать динамику полученных данных в максимально удобном формате. Существует много готовых решений для построения системы мониторинга, например, Zabbix, где уже из коробки присутствует огромная библиотека шаблонов по сбору данных из различных систем и визуализация в виде графиков, которые можно отобразить без излишних настроек, хотя обычно, этого недостаточно. Также часто бывают ситуации, когда требуется получить специфические показатели, их так же нужно где-то хранить и визуализировать, я же попытаюсь показать полный путь от получения таких метрик до конечной визуализации на примере сбора информации датчиков температуры Windows в минимально возможной конфигурации, чтобы сложилась общая картина данного процесса. Так как работаю администратором Windows систем, и на протяжении нескольких лет ежедневно использую PowerShell в работе, буду применять именного его (вы так же можете найти много полезных заметок по данному языку в моем репозиториями на GitHub). Для начале получим нужные нам метрики, настроим отправку этих метрик в базу данных InfluxDB, создадим службу Windows и отобразим датчики температуры на панели в Grafana.

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

Как математика улучшает геосервисы и помогает быстрее сориентироваться

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

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

В этой статье эксперт отдела перспективных исследований российской компании «Криптонит» Игорь Нетай рассказывает о способе ускорить обнаружение объектов, принадлежащих одному географическому региону с произвольно заданными размерами. Материал станет частью научной работы о перспективах применения H-кривых в геохешинге.

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

Координаты одной строкой

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

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

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

Итак, вы думаете, что знаете Git? Часть первая: старый добрый Git

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

Автор оригинала Скотт Чакон — сооснователь GitHub и основатель нового клиента GitButler. Этот клиент ставит во главу угла рабочий процесс и удобство разработки, в том числе код-ревью, и не является просто очередной обёрткой над CLI git.


В первом посте из этой короткой серии по Git я хотел начать с вещей, уже существующих какое-то время. При этом кажется, что многие люди о них не знают или не умеют ими пользоваться. В них нет ничего нового, но я нахожу их полезными и, возможно, не совсем освещёнными. Я просто хочу рассказать о:



Давайте покопаемся!
Всего голосов 22: ↑21 и ↓1+23
Комментарии6

Применение ООП на практике

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

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

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

Сборники рецептов jq

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

Мы все иногда сталкиваемся с необходимостью вытащить нужную информацию из JSON или YAML файлов. Многие уже познакомились с мощью утилиты jq. Судя по публикациям на Хабре, напр. https://habr.com/ru/post/525808/, и вопросам в qna, тема до сих пор актуальна.

Мне в очередной раз пришлось вспомнить специфический DSL jq чтобы восстановить накопленные за долгое время закладки в Хроме, не сохранённые при апгрейде. Точнее, файл Bookmarks в формате .json сохранился, но ни в какую не хотел импортироваться в новый Хром. Хочу поделиться рецептом решения этой проблемы, заодно упорядочить собранные в разных местах миниатюрные скрипты для решения похожих проблем.

читать далее
Всего голосов 3: ↑2 и ↓1+2
Комментарии3

Кошелек Дурова, или Telegram, который становится первым мировым супераппом

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

О том, как Павел Дуров и Илон Маск взяли курс на борьбу за власть над всем миром: WeChat, глобальные платежные системы и провал Цукерберга.

Читать далее
Всего голосов 54: ↑37 и ↓17+32
Комментарии131

Как я варю бытовую химию и продаю на 1,5 млн в месяц

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

Салам, брат. Меня зовут Филипп, я ведущий утреннего шоу на Ретро FM Кыргызстан, а ещё я Варщик. Я начинал с варки бытовой химии на съёмной квартире в центре Бишкека. Там я разливал жидкое мыло в тару, которую покупал на производстве мёда. Сегодня моё производство выпускает 5 000 единиц продукции в месяц.

В 2008 я начал бизнес в России, тогда у меня был партнёр-итальянец, своя торговая марка и я даже ходил на интервью-разговор к Тинькову. С 2012 года живу и занимаюсь бизнесом в Кыргызстане.

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

В 2010-м, до отъезда из России, я хотел разгадывать кроссворды на берегу Адриатического моря, вытащить миллионов 10 млн евро и оставить управляющих, а вот как вышло на самом деле.

Читать далее
Всего голосов 170: ↑136 и ↓34+134
Комментарии197

Не пора ли валить с gnu libc на что‑то другое?

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

Пользуюсь открытым ПО значительное время. Сижу на Линуксе.

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

Последний эпизод коснулся совсем уж системного кода - стандартной библиотеки libc от GNU. Системнее может быть только ядро.

История такая. Собрал Хромиум (не быстро). Когда наконец сборка завершилась с попутным решением проблем, думал: ну вот наконец щас запущу, посмотрю как работают интересующие меня вещи. И тут произошёл облом. Хром падал почти в самом начале запуска с ошибкой доступа к памяти. Довольно быстро удалось выяснить, что падение происходит из-за ошибки обращения по нулевому указателю. И происходит оно в динамическом загрузчике, то бишь в libdl, при загрузке библиотеки через dlopen. libdl.so является одной из компонент пакета стандартной библиотеки и понятно, самой системной библиотекой в ОС. Подробности всей ситуации я описал в вопросе на stackoverflow.

Вкратце: при загрузке библиотеки libXcursor.so подтягиваются непонятно откуда взявшиеся зависимости, не имеющие никакого отношения к упомянутой библиотеке. И зависимости эти не инициализированы корректно. Откуда и происходит обращение по нулевому указателю. Впоследствии выяснилось, что проблема начинается с несовпадающих версий библиотек libQt5Core, в результате чего libdl делает полный отбой с попыткой отката всех изменений.

Но, видимо, этот откат реализован из рук вон плохо, поскольку после него начинают происходить весьма странные вещи. И загрузка неинициализированной зависимости с нулевыми указателями лишь одна из них. Я ещё сделал пробник в виде простого приложения, которое пытается воспроизвести ситуацию. И в этом пробнике также происходил сбой, но уже при инициализации (вызов init или конструктор в их терминологии) либы libpthread.so (тоже очень системная) - потерян адрес глобального на процесс хранилища либ.

Читать далее
Всего голосов 43: ↑30 и ↓13+31
Комментарии162

Как я устроился в Амазон и перестал переживать за свой английский

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

Готовитесь к собеседованию за рубежом и переживаете за свой английский? Хотели бы работать в международной компании, но сомневаетесь, хватит ли языка? Не уверены, поймут ли ваш акцент? Тогда эта статья может помочь.

Меня зовут Андрей Столбовский, последние 5 лет я работал в Яндексе, а в прошлом году перешёл в Амазон и теперь работаю Software Development Manager в AWS Redshift – это мой первый полноценный опыт работы в международной компании. 

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

Итак, поехали. 

Поехали!
Всего голосов 236: ↑233 и ↓3+276
Комментарии160

Достучаться до лида, или Как вернуть потенциального клиента

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

Привет! На связи Тёма Логинов, шеф агентства контент-маркетинга. Делюсь приёмами, которые помогают реанимировать переписку с потенциальными клиентами

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

Информация

В рейтинге
4 645-й
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность