Как стать автором
Поиск
Написать публикацию
Обновить
36
0

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

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

Ptpython: улучшенный REPL для Python

Время на прочтение4 мин
Количество просмотров11K
Возникало ли у вас когда-нибудь желание быстро испытать какую-нибудь свежую идею, прибегнув к интерфейсу командной строки Python, к REPL? Вероятно, если речь идёт об эксперименте буквально с несколькими строками кода, вам просто не захочется создавать для этого новый «блокнот» Jupyter.

Но в подобной ситуации, возможно, вас не особенно порадует и перспектива использования классической консоли Python, так как она, в отличие от Jupyter Notebook, не поддерживает автодополнение ввода и не умеет работать с документационными строками. В REPL, кроме того, нельзя, после нажатия на Enter, исправлять ошибки в коде.

Что если можно было бы превратить довольно-таки скучную командную строку Python в многофункциональный инструмент, вроде того, запись работы с которым показана ниже?


Продвинутая командная строка Python

Собственно, именно на тех, у кого возникает подобное желание, и ориентирован проект ptpython.
Узнать подробности

Советский реактор РБМК: 35 лет после Чернобыльской катастрофы

Время на прочтение10 мин
Количество просмотров34K
Тридцать пять лет назад на АЭС Форсмарк в Швеции сработала система предупреждения о радиационной опасности. После расследования было установлено, что источником радиации была не сама электростанция, а нечто, находящееся за её пределами. В итоге, с учётом направления господствующих ветров, было выяснено, что радиация пришла с советской территории. Советское правительство, после некоторых политических распрей, признало, что источником радиационного заражения была Чернобыльская атомная электростанция, на которой произошла авария.

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



В пользу этой идеи говорит тот факт, что оставшиеся реакторы серии РБМК, включая три установки на Чернобыльской АЭС, функционировали без заметных проблем с 1986 года, а девять из них работают до сих пор. В ходе международного расследования причин возникновения Чернобыльской катастрофы в соответствующих отчётах МКГЯБ постоянно говорится о недостаточном уровне «культуры безопасности».

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

Управление зависимостями в Node.js

Время на прочтение6 мин
Количество просмотров9.8K
Управление зависимостями — это часть повседневной работы Node.js-программиста. Сегодня мы поговорим о разных подходах к работе с зависимостями в Node.js, и о том, как система загружает и обрабатывает зависимости.

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



Прежде чем мы перейдём к разговору об управлении зависимостями, поговорим о модулях. Что это такое? Зачем разработчику задумываться о неких «фрагментах кода», вместо того, чтобы просто писать весь код в одном файле?
Читать дальше →

Балет и роботы

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

Оцветнение видео под капотом


Продолжаю рассказывать о своём необычном увлечении. Моё хобби заключается в алгоритмическом преобразовании древнего черно-белого видео в материал, который выглядит современно. Про мою первую работу написано в этой статье. Прошло время, мои навыки улучшились, и теперь я не смеюсь над мемом «Zoom and enhance».


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

Уже не программист, ещё не предприниматель

Время на прочтение22 мин
Количество просмотров5.9K
На прошлой неделе в наших соцсетях выступил Евгений Донцов, основатель стартапа Ватериус.

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

После выпуска более 10 лет работал программистом в автоматизации промышленных объектов и городов. Основал стартап Ватериус. Прошёл 2 ступени Школы дизайнеров Бюро Горбунова. Участвовал в преакселераторе Сбербанка SberUP.

Делимся с вами расшифровкой эфира и записью.

Анонс. DDoS-атаки: откуда берется и куда девается “мусорный” трафик

Время на прочтение1 мин
Количество просмотров3.3K
Сегодня, 3 июня в 15:00 в наших соцсетях выступит Георгий Тарасов, Product Manager в Qrator Labs.

Георгий выпускник ВМиК МГУ, работает в команде Qrator с 2012. Занимался разработкой, управлением проектами, собрал в компании команду pre-sales инженеров. Сейчас развивает в Qrator новый продукт, а именно — защиту от онлайн-ботов.


Защита от гнева богов. Устройства защиты от импульсных перенапряжений

Время на прочтение17 мин
Количество просмотров68K
Продолжаем тему электроликбеза про устройства защиты, и этот пост — знакомство с устройствами защиты от импульсных перенапряжений (УЗИП). Это устройства для вашего электрощита, призванные бороться с кратковременными всплесками напряжения, например из-за грозы. Текст рассчитан для нетехнарей, так что добро пожаловать) Видеоверсия в конце.


Познакомиться с УЗИП

Hack the hackers: полное руководство по прохождению квеста

Время на прочтение15 мин
Количество просмотров9.6K
Котика разбили, рояль спасли… точнее, наоборот: котика скачали с сервера, роялю поломали ножки, но в целом он бодрячком. И сегодня был последний день, когда все желающие могли попробовать свои силы в скачивании NFT-гифки с танцующим котиком, хотя ноутбук уже пять дней как двинул лапти за печь. А теперь мы вскрываем все карты и рассказываем обо всех загадках и их решениях.
Посмотреть разбор

10 ведущих технических трендов 2021 года, на которые стоит обратить внимание программистам

Время на прочтение6 мин
Количество просмотров25K
Для индустрии разработки программного обеспечения и для программистов 2020 год стал значительным годом больших прорывов во многих областях. Пандемия значительно ускорила перевод самых разных процессов в цифровую среду, в результате тренды, о которых мы сегодня поговорим, будут представлять собой более масштабные явления, чем нечто подобное в прошлом году.

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



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

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

Применение интерфейса Collector для работы с потоками в реальных Java-проектах

Время на прочтение5 мин
Количество просмотров14K
Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о том, как интерфейс Collector и сопутствующие механизмы используются в реальных проектах.

В Java-программировании при работе с потоками широкое применение находят методы класса Collectors. Эти методы позволяют возвращать либо объекты, в основе которых лежит базовый класс Collection, либо — скалярные значения. В первом случае, то есть — для возврата коллекций, применяют один из методов, имя которого выглядит как toXXX(), а во втором случае используется, например, метод reducing().

Представим себе интернет-магазин, в котором есть корзина. Модель корзины выглядит так, как показано ниже.


Модель корзины

Если перевести эту диаграмму классов в код, опустив некоторые детали, то получится следующее.
Читать дальше →

Все врут: эпопея с NVMe-серверами и Hi-CPU

Время на прочтение8 мин
Количество просмотров31K
Diskspd лучше использовать вместо CrystalDiskMark, потому что код первой на стыке с GUI второй даёт забавный баг

У нас, в RUVDS, не хватало в линейке NVMe-сервера, чтобы побыстрее и помощнее… Потому что в последний год пошла мода разворачивать на таких Битрикс и 1С. Спрос на услугу есть, у других хостингов она тоже есть и заказывается — в общем, всё шло к тому, что надо просто выбрать конфигурацию и конкретные варианты железа и закупиться во все 11 локаций по миру. А тут надо сказать, что мы поддерживаем сейчас только две конфигурации: побыстрее и помедленнее. Потому что ЗИП, потому что поддержка, потому что софт и так далее — это одна из частей политики адекватных цен. То есть добавится третья, и поменять там что-то можно будет года так через четыре.

У нас везде стоят SSD RAID (даже там, где показывается HDD по тарифу), но мы хотели сильнее, выше и быстрее.

Первое, что мы узнали, — что NVMe не объединяется в RAID нормальными способами, то есть в итоге надёжных дисков ждать не стоит. Второе — в этот же сервер мы хотели запихнуть Hi-CPU и с удивлением установили, что частота 4,5 ГГц — это не серверное, а домашнее десктопное железо и серверных решений такой частоты просто физически не бывает в природе пока.

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

Сразу скажу, что, возможно, мы что-то не так делали, и если кто-то понимает что — буду очень благодарен.
Читать дальше →

NANDкромантия: трансплантация флэш-памяти наживую

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

Нередко при анализе встроенной системы происходят преднамеренные, а иногда и нет, изменения, которые приводят к тому, что целевая система выходит из строя и впадает в так называемое состояние «кирпича». В некоторых случаях для ее реанимации достаточно выполнить сброс к заводским настройкам, в иных же приходится прошивать систему при помощи интерфейса отладки (JTAG/SWD/*) или вручную через внешнее устройство памяти (SPI/NOR/Nand/eMMC). В данной статье мы рассмотрим весьма креативный метод «раскирпичивания» системы после подобного сбоя.
Читать дальше →

L2TP & «IPsec with pre shared key» vs MITM

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

В статье рассмотрены основные vpn протоколы, которые на текущий момент применимы в бизнес процессах, а также углубленно освещен вопрос использования L2TP в связке с IPsec в режиме pre shared key. На практике разобраны подходы к организации виртуальных сетей на оборудовании MikroTik и выполнен практический аудит безопасности передачи данных с позиции анализа третьими лицами исходящего трафика при возможности MITM атаки.
Читать дальше →

О неоправданно хорошей работе [ -z $var ]

Время на прочтение3 мин
Количество просмотров8.9K
Есть такой сабреддит — /r/nononoyes, где публикуют видео, в которых происходит что-то такое, что, на первый взгляд, кажется ужасно неправильным, идущим к катастрофе. Но в конце всё, чудесным образом, заканчивается хорошо.

В том сабреддите хорошо смотрелась бы команда [ -z $var ].


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

Буферы и окна: подробности о тайне ssh и цикла чтения while

Время на прочтение7 мин
Количество просмотров9.1K
Если вы когда-нибудь пробовали воспользоваться в цикле чтения while командой ssh, или, точно так же, командами ffmpeg или mplayer, это значит, что вы сталкивались с неожиданным поведением такого цикла: он, после первой итерации, таинственным образом прекращал работать!



Решение этой проблемы, в случае с ssh, заключается в использовании конструкций ssh -n или ssh < /dev/null, на которые мгновенно «ругается» ShellCheck (тут можно посмотреть на результаты анализа кода с этими конструкциями). На этом можно было бы и остановиться, ведь проблема решена, но мы этого делать не будем. Лучше — детально разберём причины этой проблемы.
Читать дальше →

Роботизация в сельском хозяйстве. Будущее агропроизводства

Время на прочтение19 мин
Количество просмотров15K
На прошлой неделе в наших соцсетях выступил Эдуард Абдулкин, ведущий специалист по внедрению роботизированной техники в Cognitive Pilot.

Эдуард родом из сельской местности. Всю жизнь был связан с сельским хозяйством. Закончил Московский государственный агро-инженерный университет имени Горячкина. После учебы работал в сфере сельхозтехники и точного земледелия. Сейчас занимается внедрением роботизированной техники в Cognitive Pilot. Активно пишет на Хабре в блоге своей компании об эксплуатации и технологиях сельхозтехники. Его статьи стабильно набирают высокие рейтинги и входят в топ статей за год на Хабре.

Делимся с вами расшифровкой эфира и записью.

Использование веб-компонентов при работе над GitHub

Время на прочтение10 мин
Количество просмотров4.8K
Мы, сотрудники GitHub, гордимся тем, что наша платформа обеспечивает тем, кто ей пользуется, первоклассный «опыт разработчика» (Developer Experience, DX). Значительная часть наших усилий сосредоточена на фронтенде системы, который мы стремимся сделать настолько простым, быстрым и доступным, насколько это возможно. Для проекта таких масштабов, как GitHub, это — та ещё задача. В кодовой базе нашего фронтенда, как и во многих других подобных кодовых базах, применяются компоненты — независимые, изолированные фрагменты кода, пригодные для многократного использования. Они позволяют командам, которые занимаются проектом, создавать тщательно проработанные интерфейсы, делая своё дело быстро и эффективно, но при этом не отступая от высоких стандартов качества, принятых в GitHub.



Мы, в работе над GitHub, широко используем веб-компоненты. У нас имеется почти два десятка опенсорсных веб-компонентов, и ещё несколько десятков компонентов, код которых закрыт.
Читать дальше →

Финал квеста и победители: особенности криогравитационного воздействия на портативные ЭВМ

Время на прочтение2 мин
Количество просмотров8.3K
Это было… познавательно. Ноутбук вспучивался и потрескивал под струёй азота. Умер он тихо, без искр, мигания и прочих спецэффектов, настоящий был боец. А котик даже мяукнуть не успел, когда полтонны живой рояльной массы почти перерубили ноутбук пополам.

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

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

▍ Вот как это происходило:


Узнать, что с котиком

Разработка REST-серверов на Go. Часть 1: стандартная библиотека

Время на прочтение9 мин
Количество просмотров96K
Это — первый материал из серии статей, посвящённой разработке REST-серверов на Go. В этих статьях я планирую описать реализацию простого REST-сервера с использованием нескольких различных подходов. В результате эти подходы можно будет сравнить друг с другом, можно будет понять их относительные преимущества друг перед другом.

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


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

Как получить температуру в -50°C (и ниже!) на дому или вихревая трубка Ранка-Хилша «под микроскопом»

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

А что, если я скажу Вам, что можно «подуть» в Т-образную трубку — и с двух других её концов пойдет воздух «сильно минусовой» и «сильно плюсовой» температуры? Похоже на какой-то бред, не так ли? Тем не менее, такое замечательное устройство вполне себе существует и известно очень давно. Ученые до сих пор расходятся во мнениях относительно того, «как же оно всё-таки работает?!». Предлагаем и Вам ознакомиться с этим любопытным эффектом…

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность