Социальные сети Рунета
Понедельник, 18 января 2021

2.Elastic stack: анализ security логов. Logstash В прошлой статье мы познакомились со стеком ELK, из каких программных продуктов он состоит. И первая задача с которой сталкивается инженер при работе с ELK стеком это отправление логов для хранения в elasticsearch для последующего анализа. Однако, это просто лишь на словах...

[Перевод] Декодируем JPEG-изображение с помощью Python Всем привет, сегодня мы будем разбираться с алгоритмом сжатия JPEG. Многие не знают, что JPEG — это не столько формат, сколько алгоритм. Большинство JPEG-изображений, которые вы видите, представлены в формате JFIF (JPEG File Interchange Format), внутри которого применяется ...

[Перевод] Как pod в Kubernetes получает IP-адрес Прим. перев.: эта статья, написанная SRE-инженером из LinkedIn, в деталях рассказывает о той «внутренней магии» в Kubernetes — точнее, взаимодействии CRI, CNI и kube-apiserver, — что происходит, когда очередному pod'у требуется назначить IP-адрес. Одно из базовых требований...

[recovery mode] Типобезопасная работа с массивами PHP, часть 2 Всем привет, прошёл почти год с публикации первой части. Обсуждение в комментариях было жарким, выводы я для себя сделал, изменения в либу внёс почти сразу, но написать об этом времени не нашлось.На днях расширил функционал парой методов, и хочу поделиться с вами этими новос...

JPEG. Алгоритм сжатия И снова здравствуйте! Я нашел эту статью, написанную еще мае 2019-ого года. Это — продолжение серии статей о WAVE и JPEG, Вот первая. Эта публикация включит в себе информацию об алгоритме кодирования изображений и о самом формате в целом. Щепотку истории Столовую ложку стать...

Software ecosystems: принципы построения У этой статьи тяжелая судьба. Пару месяцев назад меня попросили написать обзор на предмет построения программных экосистем для разных архитектур. Я поначалу отнекивался да отшучивался в том духе что, экосистема –это не биология. Это — даже не технология. Это — исключительн...

«Hello, Checkmarx!». Как написать запрос для Checkmarx SAST и найти крутые уязвимости Привет Хабр! В статье я хочу рассказать о нашем опыте создания своих запросов в Checkmarx SAST. При первом знакомстве с этим анализатором может сложиться впечатление, что кроме поиска слабых алгоритмов шифрования/хеширования и кучи false positive, он ничего больше не...

Увидеть истинное лицо продукта и выжить. Данные о пользовательских переходах как повод написать пару новых сервисов В интернете сотни статей о том, какую пользу приносит анализ поведения клиентов. Чаще всего это касается сферы ритейла. От анализа продуктовых корзин, ABC и XYZ анализа до retention-маркетинга и персональных предложений. Различные методики используются уже десятилетиями, ал...

Пандас и другие для толстых данных В этой заметке я расскажу о паре простых приемов, полезных при работе с данными, не помещающимися в память локальной машины, но все еще слишком мелкими чтобы называться Большими. Следуя англоязычной аналогии (large but not big), будем называть эти данные толстыми. Речь идет ...

STM32 fast start. Часть 2 Hello World на HAL, отладка в Atollic TrueSTUDIO В прошлый раз мы осваивали создание нового проекта при помощи STM CubeMX первую часть можно найти здесь. Для тех, кому лень перечитывать — закончилось все тем, что пустой проект успешно собрался. В данной части напишем простейший пример Hello World на HAL, посмотрим как ...

[Из песочницы] Конвертация текстовых документов в xml на С# Недавно мне пришлось столкнуться с необходимостью достать текст из офисных документов (docx, xlsx, rtf, doc, xls, odt и ods). Задача осложнялась требованием представить текст в формате xml без мусора с максимально удобной для дальнейшего парсинга структурой. Решение использо...

[Перевод] Работа с GeoJSON в среде Node.js: практическое знакомство GeoJSON — это стандартизованный формат представления географических структур данных, основанный на JSON. Существует множество замечательных инструментов для визуализации GeoJSON-данных. При этом данный формат хорош не только в деле хранения координат неких точек. Он, помимо ...

VxLAN фабрика. Часть 2 Привет, Хабр. Продолжаю цикл статей по технологии VxLAN EVPN, которые были написаны специально к запуску курса "Сетевой инженер" от OTUS. И сегодня рассмотрим интересную часть задач — маршрутизацию. Как бы ни банально это звучало, однако в рамках работы сетевой фаб...

Разработка приложений и Blue-Green deployment опираясь на методологию The Twelve-Factor App с примерами на php и docker Для начала немного теории. Что такое The Twelve-Factor App? Простыми словами, это документ призванный упростить разработку SaaS приложений, помогает тем что, осведомляет разработчиков и DevOps инженеров о проблемах \ практиках которые чаще всего встречались в разработке со...

[Из песочницы] Игра для программистов FuncBall Многие, как и я, любят футбольные симуляторы и многие увлекаются программированием. Когда-то, в далёком 2004 году, наигравшись в ФИФУ я подумал, что было бы неплохо совместить два моих увлечения в одной игре, в которой игроки управлялись бы не вручную, а написанным для них с...

Наши грабли — залог вашего успеха. Кейсы DevOps и SQL-команд Пятница — самое время занимательных историй. Сегодня предлагаем вам послушать доклады DevOps и SQL-направления с конференции ЮMoneyDay. Специалисты расскажут про: устройство кластера логов, который позволяет нам понимать, что происходит с платежами и транзакциями (а также...

[Перевод] Основы нейросетей в 100 строках кода (часть 1) В трёх частях этой статьи мы: Напишем нейросеть с нуля на Python и обучим её алгоритмом градиентного спуска. Применим её к датасету The Wisconsin Cancer Data-set и предскажем по 9 различным признакам, является ли опухоль доброкачественной или злокачественной. Подробнее иссл...

Домашнее видеонаблюдение. Схема ведения видеоархива без домашнего регистратора Я уже довольно давно хотел написать статью о скрипте для работы с камерой через DVRIP протокол, но обсуждение к недавней новости о Xiaomi побудило меня сначала рассказать о том, как я устроил видеонаблюдение у себя, а потом уже перейти к скриптам и прочему. У нас было 2 пак...

Работа в Сингапуре Короткая заметка о работе в Сингапуре. Все цены приведены в сингапурских долларах (SGD) (53.61 рубль на момент написания) Статья написана без учета covid ситуации и в достаточно сухом формате (факты), если будет интерес я расскажу подробнее. Читать дальше →

Новая MIUI поломала Xiaomi Mi 10. Некоторые пользователи лишились виброотклика Пользователи смартфонов Xiaomi Mi 10 начали жаловаться на то, что после последнего обновления программного обеспечения начали проявляться проблемы в работе вибромоторчика. Если говорить проще, вибрация стала очень слабой. Пользователи сообщают, что вибрация стала практи...

[Перевод] Пишем движок полнотекстового поиска на Go Полнотекстовый поиск — один из тех инструментов, которые мы используем практически каждый день, когда ищем какую-то информацию в интернете. Full-Text Search (FTS) — это метод поиска текста в коллекции документов. Документ может ссылаться на веб-страницу, газетную статью, соо...

О том как написать и опубликовать смарт-контракт в Telegram Open Network (TON) О том как написать и опубликовать смарт-контракт в TON О чем эта статья? В статье я расскажу о том, как поучаствовал в первом (из двух) конкурсе Telegram по блокчейну, не занял призовое место и решил зафиксировать опыт в статье, чтобы он не канул в Лету и, возможно, помог ко...

[Перевод] Ответ философам от GPT-3 Привет, Хабр. В преддверии старта курса «Deep Learning. Basic» мы подготовили для вас довольно необычный перевод. Читайте ниже, что из этого вышло. Рафаэль Миллер попросил языковую модель GPT-3 от OpenAI ответить на эссе, написанные о ней философами. Приводим перевод текст...

Сортировка вставками Всем привет. Сегодня продолжаем серию статей, которые я написал специально к запуску курса «Алгоритмы и структуры данных» от OTUS. Введение Сортировка массива является одной из первых серьезных задач, изучаемых в классическом курсе «Алгоритмы и структуры данных» дисциплины...

В Австралии напишут этический кодекс для искусственного интеллекта Разработчики должны заботиться о том, чтобы их системы соответствовали ожиданиям общества относительно защиты личных данных, прозрачности, безопасности данных, ответственности и беспристрастности. Рабочая группа Data61 Государственного объединения научных и прикладных исс...

[Из песочницы] Играем музыку из Mario на системном динамике Предисловие Привет, Мир! Уже года 3 хочу написать что-нибудь на Хабр, но никак не находилось темы, на которую можно было бы накатать пост. Так было до тех пор пока мне не понадобилось узнать немного про работу системного таймера и системного динамика для лабораторной рабо...

Как мы сделали миграцию пользовательских данных с нативного приложения на Flutter Всем привет! Меня зовут Дмитрий Андриянов, я Flutter-разработчик в Surf. В этой статье я расскажу про бесшовную миграцию данных при установке новой версии приложения, написанного на Flutter, поверх предыдущей версии, написанной на нативе. Это решение реализовано моим коллег...

Zabbix. Что делать, если принтер не делится информацией по SNMP? Доброго времени суток! КДПВ Данная статья – небольшой мануал, написанный в несколько художественной форме. В статье много картинок, заботливо упрятаных в спойлеры. Для кого написана эта статья? Для начинающих сисадминов, еще слабо знакомых с UNIX-системами, Zabbix’ом, но ...

Когда принцип «к чёрту всё, бери и делай!» не работает: заметки прокрастинатора Осторожно, этот текст написан настоящим прокрастинатором. Желание написать статью на тему борьбы с прокрастинацией появилось у меня летом 2019 года, приступила к работе в ноябре и думала, что выпущу статью к концу декабря — как раз когда все подводят итоги и планируют начать...

[Перевод] Кунг-фу стиля Linux: удобный доступ к справке при работе с bash В наши дни редакторы кода часто предлагают программистам помощь или справочные сведения, относящиеся к тому, что вводится с клавиатуры. Это может быть всё что угодно — от списка коротких вариантов автозавершения ввода до шаблонов для ввода больших фрагментов кода. Если вы уж...

[Из песочницы] Политика конфиденциальности и условия использования как обязательный атрибут IT продукта Меня зовут Александр Явтушенко и уже 4 года я работаю в сфере IT права. Последнее время все чаще сайты и приложения, которые я сопровождаю по части правового обеспечения их деятельности, начинают задумываться или непосредственно внедрять различные правила и политики связанны...

[Из песочницы] Нужно ли нам озеро данных? А что делать с хранилищем данных? Это статья перевод моей статьи на medium — Getting Started with Data Lake, которая оказалась довольно популярной, наверное из-за своей простоты. Поэтому я решил написать ее на русском языке и немного дополнить, чтобы простому человеку, который не является специалистом по раб...

[Перевод] Процесс разработки Linux: стоит ли игра свеч? К настоящему моменту Linux существует уже почти три десятка лет. В ранние дни этой ОС Линус Торвальдс сам управлялся с кодом, написанным другими программистами, делающими вклад в развитие Linux. Тогда не было никаких систем контроля версий, всё делалось вручную. В современны...

SLAE — Security Linux Assembly Expert Exam Security Linux Assembly Expert — онлайн-курс и экзамен по основам 32-битного языка ассемблера процессоров семейства Intel в Linux-системах в контексте информационной безопасности. Курс будет полезен пентестерам, инженерам по информационной безопасности и всем, кто желает ра...

Внедряем кросс-платформенные пуш-уведомления: начало Добрый день! Меня зовут Владимир Столяров, я бэкенд-разработчик в команде Клиентские коммуникации в ДомКлике. В этой статье я расскажу о том, как внедрить кросс-платформенные пуш-уведомления. Хотя про это уже написано немало, я бы хотел рассказать о некоторых нюансах, с кото...

Как случайно продолжить писать Web-GUI для Haproxy Прошло два года и 4 дня, как я написал Как случайно написать Web-GUI для Haproxy, а воз уже давно не там — все меняется и развивается и HAProxy-WI старается соответствовать этой тенденции. За два года было проделано много работы, об основных изменениях я и хочу сейчас расска...

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

[Из песочницы] PostgeSQL: Разработка расширений (функций) на языке С Эту статью написал еще пару лет назад, и не знал куда ее можно было бы выложить, а потом и забыл. Смысл использования языка С при разработке расширений для PostgreSQL по сравнению с интерпретируемыми (скриптовыми) языками можно свести к двум положениям: производительность и...

PostgreSQL Antipatterns: навигация по реестру Сегодня не будет никаких сложных кейсов и мудреных алгоритмов на SQL. Все будет очень просто, на уровне Капитана Очевидность — делаем просмотр реестра событий с сортировкой по времени. То есть вот лежит в базе табличка events, а у нее поле ts — ровно то самое время, по кото...

Go Channels Internals На Go можно реализовать тысячи goroutine одновременно без больших требований к железу. При этом горутины могут легко и просто обмениваться данными между собой и синхронизироваться с помощью каналов. Но как устроены каналы внутри? Об этом написано не так уж много, а в условия...

[Из песочницы] Очереди сообщений в PostgreSQL с использованием PgQ Очереди сообщений используются для выполнения: отложенных операций, взаимодействия сервисов между собой, «batch processing» и т.д. Для организации подобных очередей существуют специализированные решения, такие как: RabbitMQ, ActiveMQ, ZeroMQ и тд, но часто бывает, что в ни...

Как издать компьютерную книгу и не сойти с ума Каждый год в ноябре я отмечаю своеобразную веху — очередную годовщину с момента выхода моей первой книги о компьютерных технологиях в издательстве «Питер». Эта книга уже давно отпраздновала совершеннолетие — в нынешнем году ей исполнилось 19. С той поры я написал еще 45 кн...

Как перестать бояться и полюбить 1-wire Мне очень нравится протокол 1-wire своей простотой и удобством для применения в системах «умный дом». Недавно я писал программную эмуляцию одной микросхемы и погрузился во внутренности этого протокола. Чтобы накопленные знания могли принести пользу не только мне, я решил нап...

Надежный выбор лидера в Tarantool Cartridge Сегодня я немного расскажу о том, какие есть мысли по поводу фейловера в tarantool/cartridge. Сначала пару слов про то, что такое cartridge: это кусок lua-кода, который работает внутри tarantool и объединяет тарантулы друг с другом в один условный «кластер». Это происходит...

Коротко об одном из стандартов формата токена PKCS#15 Много статей написано про стандарты API между токенами и программным обеспечением. Однако, стандартизация формата самих токенов, как правило, несправедливо обойдена стороной. В данной статье кратко описан один из стандартов формата токена PKCS#15 (Public Key Cryptography sta...

Чек-лист для тестирования числового поля При тестировании встречаются как интересные задачки с замудреной логикой, так и простые, вроде проверки простой строки или числового поля. Для простых полей можно один раз написать чек-лист проверок, а потом переиспользовать, лишь немного меняя под «своё» поле. Сегодня мы р...

[Из песочницы] Аналитика для Telegram-ботов, написанных на Python На данный момент бум на создание телеграмм-ботов начал сходить, но тема их создания не теряет актуальности. Написано множество библиотек для облегчение взаимодействия с Telegram Bot API, но после создания бота я так и не нашёл скрипта(библиотеки) для получения статистики бот...

[Перевод] Анализ скорости распространения COVID-19 и публикация результатов на dstack.ai Предисловие переводчика Всем привет, давно ничего не писал на Хабр, но тут появился повод. Я довольно много лет проработал в области анализа данных и самая важная вещь, которую я понял за это время — в анализе данных очень не хватает инструментов, самых разных инструментов...

SRFI-216: Поддержка курса SICP. Обсудим? TL;DR: Я написал и выложил на всеобщее обсуждение Scheme Request for Implementation 216. Он нацелен на то, чтобы одна из самых известных в мире учебных программ по Computer Science, Structure and Interpretation of Computer Programs, стала выполнимой в полном объёме не только...

Micro Property — минималистичный сериализатор двоичных данных для embedded систем. Часть 2 Некоторое время назад я опубликовал свою статью о разработке велосипедного велосипеда, в которой описал причины, побудившие меня этим заняться. Если вкратце, то мне была нужна миниатюрная библиотека для микроконтроллеров с сериализатором двоичных данных и последующей переда...

3D ML. Часть 1: формы представления 3D-данных Сегодня появляется все больше 3D датасетов и задач, связанных с 3D данными. Это связано с развитием робототехники и машинного зрения, технологий виртуальной и дополненной реальности, технологий медицинского и промышленного сканирования. Алгоритмы машинного обучения помогают...

[Из песочницы] Как визуализировать и анимировать (геофизические) модели Данная публикация это начало цикла статей. Если вам интересно, скажите об этом, а если не интересно, цикл на этом и закончится, тогда просто смотрите ниже список необходимого программного обеспечения и примеры. Это не пошаговое руководство по визуализации трех- и четырехмерн...

Краткая история Chaosnet Мы решили совершить еще один вояж в прошлое сетевых технологий. На сей раз мы поговорим о Chaosnet, специфическом сетевом протоколе, который использовался в 1970-х годах в Lisp-машинах. Исходным материалом для статьи послужила заметка на TwoBitHistory, которую мы расширили и...

Google не узнает, что вы делали прошлым летом (ну почти) Google (или его родительский  холдинг Alphabet) на данный  владеет самым популярным одноименным поисковым сервисом, самым популярным видеохостингом YouTube, самым популярным сервисом электронной почты с Gmail, самой популярной мобильной операционной системой Android и целым...

Вариант работы с вебсокетами в iOS на языке Swift / Написал менеджер для работы с websocket Всем привет. 4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods. Я написал свой менеджер для работы с вебсокетами ...

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

Интеграция проекта VueJS+TS с SonarQube В своей работе мы активно используем платформу SonarQube для поддержания качества кода на высоком уровне. При интеграции одного из проектов, написанном на VueJs+Typescript, возникли проблемы. Поэтому хотел бы рассказать подробней о том, как удалось их решить. В данной стать...

«Улов» на The Standoff: о многообразии пойманных троянов С 12 по 17 ноября 2020 года на киберполигоне The Standoff прошла крупнейшая битва между командами атакующих и защитников. Действия разворачивались в течение 123 часов в городе FF — цифровом двойнике мегаполиса с характерной инфраструктурой: морским портом, аэропортом, нефтян...

[Перевод] Краткий обзор Memory Tagging Extension (Armv8.5-A) В этой публикации представлен перевод вступительной части документа (whitepaper) о новом расширении Armv8.5-A: Memory Tagging Extension (MTE) от компании ARM. MTE стремится повысить безопасность кода, написанного на небезопасных языках, не требуя изменения исходного кода, а ...

Введение в SSD. Часть 4. Физическая Прошлые части цикла «Введение в SSD» поведали читателю про историю появления SSD-накопителей, интерфейсы взаимодействия с ними и популярные форм-факторы. Четвёртая часть расскажет о хранении данных внутри накопителей. Читать дальше →

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

Записки pentester’а: случаи на охоте – 2 Продолжим разговор за интересные случаи в работе пентестеров. В прошлом посте речь шла о внешних тестированиях на проникновение, сегодня же расскажем о наиболее занимательных внутренних пентестах, реализованных нами за последнее время. Суть их в том, что мы должны были, на...

[Из песочницы] Как скомпилировать декоратор — C++, Python и собственная реализация. Часть 2 Декораторы — одна из самых необычных особенностей Python. Это инструмент, который полноценно может существовать только в динамически типизированном, интерпретируемом языке. В первой части статьи мой товарищ Witcher136 показал, как в С++ реализовать наиболее приближенную к эт...

CRM-системы не существуют? Привет, Хабр! 22 апреля этого года я написал на Хабр статью про скидки на CRM-системы. Тогда мне казалось, что цена — важнейший критерий выбора, а всё остальное я легко решу со своими мозгами и опытом сисадмина. Шеф ждал от меня скорых чудес, сотрудники расселись бездельнича...

Создаем свою CRUD API на Express и MySQL: часть первая Всем привет. В преддверии старта курса «Fullstack разработчик JavaScript», хотим поделиться небольшим материалом, который был написан нашим внештатным автором. Express один из самых популярных веб-фреймворков, который поддерживает роутинг, миддлвейрс и систему шаблонов. Д...

Сортировка выбором Всем привет. Эту статью я написал специально к запуску курса «Алгоритмы и структуры данных» от OTUS. Введение Сортировка массива является одной из первых серьезных задач, изучаемых в классическом курсе «Алгоритмы и структуры данных» дисциплины computer science. В связи с э...

[Из песочницы] Программные IP-АТС и нагрузочное тестирование Всем доброго дня! Вот уже несколько лет я занимаюсь IP-телефонией и стал замечать, что хоть и Интернет полон информации, я говорю не только про российский сегмент, но найти иной раз нужную можно только на каком-либо “заброшенном форуме”, а то ее и вовсе нет. Если информации ...

LyX: Общие замечания. Часть 1 Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Эта статья является продолжением следующих статей одного цикла: статья 1 статья 2 статья 3 статья 4 статья 5 Фух, даже не знаю, как писать этот пост. Я мог бы начать ...

[Перевод] Больше разработчиков должны знать это о базах данных Прим. перев.: Jaana Dogan — опытный инженер из Google, которая в данный момент занимается вопросами наблюдаемости production-сервисов компании, написанных на Go. В этой статье, снискавшей большую популярность у англоязычной аудитории, она в 17 пунктах собрала важные техничес...

Как я не съездил в Лондон, но поучаствовал в London DevOps Enterprise Summit С 23 по 25 июня 2020 года в Лондоне прошла очередная DevOps Enterprise Summit. «В Лондоне» можно написать в кавычках, так как пандемия сделала свое дело и конференция прошла в онлайн-формате. В нём здесь есть и плохое (нетворкинг всё-таки очень сильно страдает), и хорошее:...

[Из песочницы] Новая нейросеть поможет компьютерам кодировать самих себя Привет, Хабр! Представляю вашему вниманию перевод статьи «A new neural network could help computers code themselves» автора Will Douglas Heaven. Инструмент обнаруживает сходство между программами, чтобы помочь программистам писать более быстрое и эффективное программное о...

SmartData 2020: конференция про data engineering Если ваша должность — data engineer, то вы могли сталкиваться с обидным информационным перекосом. Тему data science освещают активно, по ней много полезных материалов. А вы работаете в смежной области, где тоже возникает много важных вопросов, но об этих вопросах говорят за...

Выжить в Долине Смерти и на дне рифа: контроль качества Seagate Помните старую шутку про то, что часам на 19 камнях не хватает двух: на один положить, другим ударить? Но что для обычных пользователей юмор, для производителей техники — серьёзный подход к тестированию и контролю качества. Краш-тесты, суровые испытания, высоко- и низкотемпе...

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

Политики хранения Veeam B&R — распутываем бэкапные цепи вместе с техподдержкой Приветствую читателей нашего блога! Отчасти мы уже знакомы – мои англоязычные посты появлялись здесь в переводе моей дорогой коллеги polarowl. На этот раз я решил обратиться к русскоязычной аудитории напрямую. Для своего дебюта мне хотелось найти тему, интересную максималь...

[Из песочницы] A* pathfinding на C#: двоичные кучи и борьба с аллокациями Сегодня мы разбираем один из популярнейших алгоритмов поиска пути. Работать будем с двумерным массивом целочисленных координат. Сначала кратко ознакомимся с методами обхода графов, напишем собственно поиск пути, а затем перейдём к самому вкусному: оптимизации быстродействия...

Можно ли сложить N чисел типа double наиболее точно? В предыдущих сериях… Прошлая статья рассказала о двух способах сложения двух двоичных чисел с плавающей запятой без потери точности. Чтобы добиться этого, мы представили сумму c=a+b в виде двух чисел (s,t)=a+b, причём таких, что s — наиболее близкое к a+b точно-представимое ...

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

[Перевод] Zip-файлы: история, объяснение и реализация Мне давно было интересно, как сжимаются данные, в том числе в Zip-файлах. Однажды я решил удовлетворить своё любопытство: узнать, как работает сжатие, и написать собственную Zip-программу. Реализация превратилась в захватывающее упражнение в программировании. Получаешь огр...

[Перевод] Как написать собственную файловую систему на языке Rust Исходные данные и результаты работы программ должны где-то храниться для дальнейшего использования. Их хранение нужно организовать так, чтобы мы могли быстро получить нужную информацию. За эту задачу отвечает Файловая система (FS): она предоставляет абстракцию для устройств,...

Network diagram as code / Схема сети как код В последние пару лет стал больше заниматься документацией. Написать поясняющий текст о том, как работает та или иная система — в целом, это достаточно просто. Нарисовать схему, на которой будут отображены все ключевые объекты, связи между этими объектами, тоже вполне легко. ...

[Из песочницы] STM32F3xx + FreeRTOS. Modbus RTU с аппаратным RS485 и CRC без таймеров и семафоров Всем привет! Относительно недавно, закончив ВУЗ, я попал в небольшую компанию, которая занималась разработкой электроники. Одна из первых задач с которой я столкнулся — необходимость в реализации Modbus RTU Slave протокола с использованием STM32. С грехом пополам я её тогда ...

[Из песочницы] AI на минималках: пишем свой Сокобан и учим компьютер его решать В этой статье я расскажу как написать свою реализацию известной игрушки Сокобан, а также алгоритм для её решения с нуля. Заодно применю на практике некоторые шаблоны проектирования и принципы SOLID. Весь код расположен по адресу Читать дальше →

PHP и регулярные выражения: азы для новичков В преддверии старта нового потока по курсу «Backend-разработчик на PHP», а также смежного с ним курса «Framework Laravel», хотим поделиться статьей, которую подготовил наш внештатный автор. Внимание! данная статья не имеет отношения к программе курса и будет полезна только ...

Легко и непринужденно деплоим приложения на Tarantool Cartridge (часть 1) Мы уже рассказывали про Tarantool Cartridge, который позволяет разрабатывать распределенные приложения и паковать их. Осталось всего ничего: научиться деплоить эти приложения и управлять ими. Не беспокойтесь, мы всё предусмотрели! Мы собрали вместе все best practices по раб...

[Перевод] Процедурная генерация многоэтажных 3D-подземелий В последнее время я играл в несколько roguelike, поэтому решил попробовать написать собственный процедурный генератор подземелий. Существует множество способов решения этой задачи, и я выбрал алгоритм автора TinyKeep, описанный здесь. Я расширил этот алгоритм, чтобы он рабо...

WSL эксперименты. Часть 2 Привет, Хабр. В преддверии старта курса «Administrator Linux. Professional» публикуем продолжение статьи про WSL эксперименты, которую написал наш эксперт — Александр Колесников. Настало время для продолжения экспериментов с подсистемой WSL; первую часть статьи можно посм...

Redux Toolkit как средство эффективной Redux-разработки В настоящее время разработка львиной доли веб-приложений, основанных на фреймворке React, ведется с использованием библиотеки Redux. Данная библиотека является самой популярной реализацией FLUX-архитектуры и, несмотря на ряд очевидных преимуществ, имеет весьма существенные ...

Определяем язык текста. Сложный случай Источник изображения: AnnaElli Система «Антиплагиат» работает с текстами на разных языках. Большинство работ, поступающих на проверку, написаны на русском, английском или казахском языках. Сейчас индекс «Антиплагиата» содержит документы более чем на 50 языках. Читать дальш...

[Перевод] Структуры данных и алгоритмы, которыми я пользовался, работая в технологических компаниях Пользуетесь ли вы структурами данных и алгоритмами в повседневной работе? Я обратил внимание на то, что всё больше и больше людей считает алгоритмы чем-то таким, чем, без особой связи с реальностью, технические компании, лишь по собственной прихоти, интересуются на собеседов...

Тестобзор смолы от Nova3D. Есть что сказать. Всем доброго времени суток. Появилась у меня такая смола и надо бы про неё поведать, а рассказать есть что.Данная смола обычная... почти. Она смывается обычной водой по заявлению производителя. Так же у нее еще несколько свойств о который позже. Быстренько коробку и внешний ...

[Перевод] Пугающая антиутопия интервью для программистов Эксперименты У меня зазвонил телефон. — Алло, это Джаред. — Здравствуйте. Я звоню вам насчёт телефонного собеседования в Гигантской Поисковой и Рекламной Компании [очевидно, это Google — прим. пер]. — Да! С нетерпением ждал вашего звонка! — Хорошо. Можете написать алгор...

[Перевод] Взлом Wi-Fi-сетей, защищённых WPA и WPA2 Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о том, как взломать Wi-Fi-сеть, для защиты которой используются протоколы WPA и WPA2. Статья написана исключительно в ознакомительных целях Читать дальше →

Перенос всех баз данных MS SQL Server на другую машину Недавно возникла необходимость переноса всех БД (>50 на одном экземпляре SQL Server) из dev-окружения на другой экземпляр SQL Server, который располагался на другом железе. Хотелось минимизировать ручной труд и сделать всё как можно быстрее. Disclaimer Скрипты написаны д...

Полнотекстовый поиск в Couchbase Server Дмитрий Калугин-Балашов большую часть своей жизни писал поиск: с 2011 года в компании Mail.ru был поиск по почте, затем был небольшой перерыв из-за работы в США, а сейчас это — работа над поиском в Couchbase. Одна из первых вещей, которую Дмитрий понял, работая в США — не вс...

SVM. Объяснение с нуля, имплементация и подробный разбор Привет всем, кто выбрал путь ML-самурая! Введение: В данной статье рассмотрим метод опорных векторов (англ. SVM, Support Vector Machine) для задачи классификации. Будет представлена основная идея алгоритма, вывод настройки его весов и разобрана простая реализация своими рука...

[Из песочницы] Бот «Умный планировщик»: понимает с полуслова Если вы когда-нибудь желали иметь личного слугу, который бы напоминал вам обо всем, о чем вы ему скажите, но не имели возможности нанять такого, то разработанный мною бот станет ему достойной заменой. Хотите проверить функционал? Напишите в лс боту по этой ссылке и он отв...

На аукционе проданы схемы прототипа Apple II, написанные Стивом Возняком Раритетные устройства Apple и все, что с ними связано, продолжают пользоваться просто сумасшедшим спросом.Так, на днях на аукционе RR Auction был продан набор схем и инструкций по программированию для прототипа домашнего компьютера Apple II. Документация состоит из пяти стра...

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

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

В программном обеспечении "катастрофического" Boeing 737 Max нашли еще одну уязвимость В сети появилась информация о том, что инженеры Boeing сумели найти еще одну уязвимость, связанную с программным обеспечением печально известного авиалайнера Boeing 737 Max. Но при этом, по словам самой компании, устранение данного недостатка не помешает вернуть самолет в эк...

Как мы занялись импортозамещением, а в итоге сделали бесплатную (ну почти) геоинформационную систему Введение В апреле 2015 года вышел приказ Минкомсвязи об утверждении плана импортозамещения ПО и началась работа по созданию реестра российских программ для ЭВМ и баз данных. Отечественному программному обеспечению дали уникальный шанс, который, как казалось еще несколько лет...

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

Тестирование загрузчиков STEP формата для VR Мы, компания ООО «ВР Концепт», уже 5 лет ведем разработку программного обеспечения VR Concept для организации коллективной работы с любой 3D моделью, в том числе САПР, в шлемах виртуальной реальности. В данной статье мы хотели бы поделиться опытом интеграции нескольких загр...

Примеры использования наблюдателей в JavaScript Наблюдатель (observer) — это объект, который следит за состоянием определенного элемента и регистрирует происходящие в нем изменения. Элемент, который находится под наблюдением (чуть не написал «за которым организована слежка»), называется целевым. Наблюдатель может следит...

Версии, или как восстановить пропавший документ на Mac (на примере TextEdit) Представьте ситуацию: в пятницу вы написали в TextEdit важный текст объемом в несколько сотен слов. Сохранять его в отдельный файл не стали – зачем, ведь каждая написанная в TextEdit буква сразу же дублируется в iCloud. Но в понедельник вы возвращаетесь к тексту (его ещё над...

[Перевод] Использование современных графических форматов в веб-проектах Эдди Османи, в статье «Цена JavaScript в 2018 году», озвучил одну ценную мысль: время, необходимое на обработку скрипта размером 200 Кб, и на обработку изображения, имеющего такой же размер, серьёзно различается. Дело в том, что при обработке кода браузеру нужно проделать бо...

Как писать книгу в LaTeXe по физике. Cтатья 1 Это моя первая статья на Хабре. Глава 1. Введение 1.1 Позвольте представиться и почему я это пишу    Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по...

«Вы уж простите, обознался...» или распознаем малину и контроллеры с помощью Tensorflow Object Detection API В конце прошлого года, я написал статью, о том как был заинтригован возможностью распознавания объектов на изображениях с помощью нейронных сетей. В той статье мы с помощью PyTorch классифицировали на видео либо ягоду малину, либо ардуино-подобный контроллер. И не смотря на ...

Строим маршрутизатор в SOCKS на ноутбуке с Debian 10 Целый год (или два) я откладывал публикацию данной статьи по главной причине — мной уже были опубликованы две статьи, в которых я описал процесс создания полноценного маршрутизатора в SOCKS из самого обычного ноутбка с Debian. Однако, с тех пор стабильная версия Debian обно...

Инкапсулятор Etherblade.net и импортозамещение сетевых компонентов (часть вторая) В первой статье я хотел показать, что FPGA девелопмент — интереснейшее занятие, а реализация потокового инкапсулятора является достаточно несложным проектом, который вполне мог бы выступить в качестве академического проекта для студентов старших курсов или аспирантуры. Да...

Сверхдлинное преобразование Фурье на FPGA Всем привет! В этой статье я хочу рассказать про реализацию алгоритма сверхдлинного быстрого преобразования Фурье на ПЛИС. Написать эту статью меня побудило желание поделиться личным практическим опытом, который не хотелось бы потерять, оставив информацию только у себя в го...

[Перевод] Магические сигнатуры методов в C# Представляю вашему вниманию перевод статьи The Magical Methods in C# автора CEZARY PIĄTEK. Есть определенный набор сигнатур методов в C#, имеющих поддержку на уровне языка. Методы с такими сигнатурами позволяют использовать специальный синтаксис со всеми его преимуществами. ...

Карточная игра «Дурак» на двух M5Stack Цель урока Сегодня мы напишем сетевую карточную игру на двух игроков. Какую игру написать? Давайте напишем популярную карточную игру "Дурак", цель которой — избавиться от всех карт. Подробнее о правилах Вы можете узнать здесь. Рисунок 1. Читать дальше →

[Перевод] Автомобильная электроника: взяться за ПО или откатиться в прошлое Все идет к тому, что автомобильная электроника будет определяться программным обеспечением. С момента внедрения различных электромеханических и электронных компонентов, автомобили стали самыми сложным продуктами в серийном производстве за последние 50 лет. За это время эл...

Чему я научился, написав библиотеку компонентов на Svelte Попробовав Svelte в личных проектах, мне захотелось двигаться дальше, и взять фреймворк в проект побольше. Для этого написал библиотеку компонентов svelte-atoms. За основу я взял UI кит на React, который используем на работе. Каким приемам Svelte я научился, читайте под кат...

Как я не стал продакт-менеджером после обучения в Product Univercity Морейниса и Черника Всем привет. Решил написать свою первую статью на VC, но главреда меня забанил, потому что я попросил поставить плюсики друзей, а перед этим три раза дешёвая рабочая сила снимала мою публикацию по каким-то неведомым причинам, и описать свой опыт поиска работы продакт-менедж...

Паттерн «сага» как способ обеспечения консистентности данных Всем привет. Уже сейчас в OTUS открывает набор в новую группу курса «Highload Architect». В связи с этим я продолжаю серию своих публикаций, написанных специально для этого курса, а также приглашаю вас на свой бесплатный демо урок по теме: «Индексы в MySQL: best practices и ...

Зажигаем светодиодную ленту на базе WS2811 при помощи ПЛИС Всем привет. Уже почти два года назад я приобрел на aliexpress китайский набор, состоящий из отладочной платы EasyFPGA A2.2, с Cyclone IV EP4CE6E22C8N на борту, ИК пульта SE-020401, программатора, пары USB проводов и шлейфов. Долгое время все это добро лежало у меня без дел...

Статьи — это тоже исходный код { Открываю VS Code и начинаю набирать статью с самого начала. Но вот незадача — формат маркдауна не совсем совместим с имеющимся форматом Хабра. Получается выхода нет и придётся возвращаться к встроенному редактору Хабра; Или не придется?В голову пришла идея написать утилиту,...

Видеообзор жесткого диска Seagate IronWolf 10 ТБ Когда речь заходит о хранении больших объемов данных, без жестких дисков никак не обойтись. «Механика» продолжает развиваться, радуя большими емкостями и невысокой стоимостью хранения данных. Сегодня у нас на экспресс-обзоре накопитель Seagate IronWolf объемом 10 ТБ. Обновле...

VKWave — фреймворк для разработки ботов ВКонтакте Привет, Хабр! Сегодня я хочу рассказать о замечательной библиотеке для разработке ботов ВКонтакте с помощью языка программирования Python. VKWave VKWave — это фреймворк для разработки ботов ВКонтакте, написанный с помощью asyncio. Основные цели проекта — дать возможность ра...

Учимся разворачивать микросервисы. Часть 3. Helm Привет, Хабр! Это третья часть в серии статей "Учимся разворачивать микросервисы", и сегодня речь пойдет о Helm 3. В прошлой части мы создали Kubernetes конфигурацию для учебного проекта из 2 микросервисов (бекенда и шлюза) и задеплоили все это в Google Kubernetes...

[Перевод] Локальное хранилище или куки? Безопасное хранение JWT на клиенте JWT (JSON Web Token) — это замечательный стандарт, основанный на формате JSON, позволяющий создавать токены доступа, обычно используемые для аутентификации в клиент-серверных приложениях. При использовании этих токенов возникает вопрос о том, как безопасно хранить их во фрон...

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1 Иногда во время работы над проектом на языке Python возникает желание использовать библиотеку, которая написана не на Python, а, например, на C или C++. Причины для этого могут быть разные Во-первых, Python — язык замечательный, но в некоторых ситуациях недостаточно быстрый....

[Перевод] NgRx Ducks | Динамические фасады Усовершенствование опыта разработки Общаясь с коллегами из разных компаний, я заметил, что очень многие команды обожают NgRx. Во время наших дискуссий меня не покидала мысль: «Как было бы хорошо меньше сопровождать код, а больше следовать гайдам написания, чтобы облегчить п...

Docs as code против или вместе с Confluence? Обзор нескольких способов публикации из репозитория в Confluence Многие уже давно или активно используют или смотрят в сторону модели хранения и публикации документации как кода, это значит применять к документации все те же правила, инструменты и процедуры, что и к программному коду, например, хранить в репозитории, прогонять тесты, соби...

Минцифры доработало проект постановления о требованиях к ПО и оборудованию для объектов КИИ Документ определяет Минцифры и Минпромторг федеральными органами исполнительной власти, осуществляющими контроль за соблюдением проекта порядка в части ПО и в части телекоммуникационного оборудования и радиоэлектронной продукции соответственно.Проект требований направлен на ...

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

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

Что такое Windows PowerShell и с чем его едят? Часть 3: передача параметров в скрипты и функции, создание командлетов Во второй части цикла рассматривались основы языка программирования PowerShell, а сейчас стоит разобраться с использованием написанного на нем кода для задач администрирования. Самый очевидный способ это сделать — запустить сценарий. Кроме него существует возможность созда...

[Перевод] Высокопроизводительная сборка мусора для C++ Мы уже писали о сборке мусора для JavaScript, о DOM, и о том, как всё это реализовано и оптимизировано в JS-движке V8. Правда, Chromium — это не только JavaScript. Большая часть браузера и движок рендеринга Blink, куда встроен V8, написаны на C++. JavaScript можно использова...

[Из песочницы] Можно ли научить обезьяну программировать? Ждёт ли нас поколение специалистов-бабуинов Если 100 обезьян, яростно набирающих текст, в конечном итоге напишут сонет Шекспира, то сколько приматов потребуется, чтобы написать код? Читать дальше →

Обзор OpenStack Neutron PTG июнь 2020 PTG (Project Team Gathering) – это мероприятие, на котором команды разработчиков встречаются для обсуждения текущих задач, статусов и планов. Несколько лет назад PTG отделилось от основного OpenStack саммита. PTG впервые проводился в онлайн формате через Zoom и Jitsi Meet...

Opennebula. Короткие записки Всем привет. Данная статья написана для тех, кто до сих пор мечется между выбором платформ виртуализации и после прочтения статьи из серии «Поставили proxmox и вообще все отлично, 6 лет аптайм не единого разрыва». Но после установки того или иного коробочного решения, воз...

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

Pixockets: как мы написали собственную сетевую библиотеку для игрового сервера Привет! На связи Станислав Яблонский, Lead Server Developer из Pixonic. Когда я только пришел в Pixonic, наши игровые сервера представляли собой приложения на основе Photon Realtime SDK: многофункционального, но весьма тяжелого фреймворка. Решение это, казалось бы, должно...

[Перевод] Как я написал интро 4K на Rust — и оно победило Недавно я написал своё первое интро 4K на Rust и представил его на Nova 2020, где оно заняло первое место в конкурсе New School Intro Competition. Написать интро 4K довольно сложно. Это требует знания многих различных областей. Здесь я сосредоточусь на методах, как максималь...

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

Сетевой накопитель Synology DS920+: 4 отсека для винчестеров и 2 слота M.2 Обновленная модель сетевого накопителя для требовательных домашних пользователей и SMB получила более быстрый процессор, но лишилась возможности создавать на накопителях M.2 независимые тома для пользовательских данных. DS920+ использует платформу Intel Celeron, 4 ГБ операти...

Инфографика средствами Excel и PowerPoint. Часть 2 Не жди поездку в Гагры! Давид Маркович, сериал «Ликвидация» Всем привет! За время карантина все, наверное, не по разу прочитали о том, как плодотворно А.С. Пушкин провел свой период «заточения», названный впоследствии «Болдинской осенью», поэтому не буду объяснять, что имен...

В нативный код из уютного мира Java: путешествие туда и обратно (часть 1) Java и другие управляемые языки просты и удобны во многих случаях, но иногда их возможностей недостаточно — например, если нужна библиотека, написанная только на C или C++. Иногда хочется позвать пару методов из системного API, или попытаться улучшить производительность для...

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

Как работает Spot от Boston Dynamics? Возможный ответ Привет, Хабр! Недавно SantrY опубликовал статью Как это устроено: робот Spot от Boston Dynamics. Автор замечает, что устройство весьма успешного алгоритма поддержания равновесия и передвижения по пересеченной местности компания хранит в секрете. К счастью, инженеры Boston ...

[Из песочницы] WAL-G: бэкапы и восстановление СУБД PostgreSQL Уже давно известно, что делать бэкапы в SQL-дампы (используя pg_dump или pg_dumpall) – не самая хорошая идея. Для резервного копирования СУБД PostgreSQL лучше использовать команду pg_basebackup, которая делает бинарную копию WAL-журналов. Но когда вы начнёте изучать весь про...

[Перевод] Пошаговое руководство по созданию торгового бота на любом языке программирования У меня нет квалификации, позволяющей давать советы, касающиеся инвестиций, законов, или чего-то подобного. Я и не пытаюсь этого делать. Цель руководства заключается в том, чтобы, в учебных целях, рассказать о программировании торговых ботов. Вы должны понимать, что, создав б...

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

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

[Из песочницы] Пишем шейдеры кодом в Unity LWRP Введение Здравствуй, Хабр. Сегодня хочется рассказать немного о том, как можно быстро и безболезненно (почти) начать писать классические текстовые шейдеры в Unity с использованием Lightweight Rendering Pipeline (LWRP) — одним из примеров конвейера Scriptable Rendering Pipeli...

Программные IP-АТС, E1, DSS-1 и нагрузочное тестирование Всем доброго вечера! Сегодня я решил написать про тестирование протокола DSS-1 в IP-АТС, начнем как всегда с теории, рассмотрим преобразования сообщений из SIP в DSS-1, поговорим про анализаторы протоколов и закончим нагрузочным тестированием. Читать дальше →

Самая сложная задача в Computer Vision Среди всего многообразия задач Computer Vision есть одна, которая стоит особняком. К ней обычно стараются лишний раз не притрагиваться. И, если не дай бог работает, — не ворошить. У неё нет общего решения. Практически для каждого применения существующие алгоритмы надо тюнинг...

Большие ошибки в больших данных: проблемы анализа на практике При работе с big data ошибок не избежать. Вам нужно докопаться до сути данных, расставить приоритеты, оптимизировать, визуализировать данные, извлечь правильные идеи. По результатам опросов, 85 % компаний стремятся к управлению данными, но только 37% сообщают об успехах в ...

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

Скачать Windows 11 совершенно бесплатно Вот уже как более чем 25 лет в мире существует такая корпорация, как Microsoft. Ее фирменным программным обеспечением пользуются практически по всему земному шару, так как максимально широкий круг людей, миллиарды людей, находят его просто Читать полную версию публикации Ск...

[Перевод] Букварь по дизайну систем (Часть 1 с дополнениями по микросервисам) Несколько лет назад, для закрытия одного их предметов мне довелось перевести данный букварь. Де-факто этот вариант стал официальным переводом. Но развитию этого перевода мешает, тот факт, что он был написан в Google Drive и закрыт на редактирования. Сегодня я уделил время н...

[Из песочницы] GSM IoT-провайдер в ЖКХ (Часть 1) Прочитал статьи автора Interfer о трудностях в Iot и решил рассказать о своём опыте IoT-провайдера. Статья первая не рекламная, большая часть материала без моделей оборудования. Постараюсь написать детали в следующих статьях. Не вижу проблем применения GSM модемов для сбо...

[Из песочницы] Вячеслав Смирнов — Ускоряем Apache JMeter Вячеслав Смирнов — Ускоряем Apache JMeter Apache JMeter не требует рекламы, но нечасто время уделяют скорости работы самих нагрузочных скриптов. Вячеслав рассматривает подходы к оптимальному написанию скриптов, что позволяет сэкономить на нагрузочных машинах и позволяет по-...

[Из песочницы] Автобэкапы сетевого оборудования и хранение их в системе контроля версий Уточнение: решение настроено для D-Link DFL, cisco 29xx и WatchGuard Firebox, но подходит для всего, что умеет делать бэкапы при подключении по ssh и/или заливать их по расписанию/событию на ftp/tftp сервер. Всё началось с того, что мой знакомый программист спросил: «А поч...

Приключение чисел в ASCII-ландии. Часть 0x01u. Беззнаковые целые числа Думаю, с переводом чисел в ASCII строки в своей жизни сталкивался каждый программист. В свое время для меня было удивительно узнать, что перевод десятичной цифры в равнозначный ASCII символ – операция сложения. С этим знанием я ложился спать, и с этим же знанием я бодро пр...

Multiprocessing и реконсиляция данных из различных источников Привет, Хабр! В условиях многообразия распределенных систем, наличие выверенной информации в целевом хранилище является важным критерием непротиворечивости данных. На этот счет существует немало подходов и методик, а мы остановимся на реконсиляции, теоретические аспекты ...

[Перевод] Советы по использованию алгоритма коллапса волновой функции В последнее время я много экспериментировал с процедурной генерацией на основе ограничений. В частности, с алгоритмом Wave Function Collapse (WFC, коллапс волновой функции). Я даже написал собственную open source-библиотеку и ассет unity. WFC — это очень гибкий алгоритм, в...

Immutable Trie: найди то, не знаю что, но быстро, и не мусори Про префиксное дерево (Trie) написано немало, в том числе и на Хабре. Вот пример, как оно может выглядеть: И даже реализаций в коде, в том числе на JavaScript, для него существует немало — от «каноничной» by John Resig и разных оптимизированных версий до серии модулей в NP...

[Перевод] Клон Doom в 13 килобайтах JavaScript В прошлом году я участвовал в соревнованиях JS13K 2019, на которых людям предлагается разрабатывать игры в менее чем 13 КБ кода на JavaScript. Я участвовал с клоном Doom, который назвал… «Ещё один клон Doom» (Yet Another Doom Clone). Поиграть в него можно здесь. Исходный к...

[Перевод] Кунг-фу стиля Linux: устранение неполадок в работе incron Возможно, вам знакома утилита cron, которая позволяет планировать запуск различных задач в заданное время. Мы, кроме того, уже говорили о программе incron, которая реагирует не на события, связанные со временем, а на изменения в файловой системе. Возможно, вам когда-нибудь н...

Terraform 12 и Terragrunt и как это можно применять для Multi-Cloud-инфраструктуры. Александр Довнар Что такое Terraform 12 и Terragrunt, и как это можно применять для Multi-Cloud инфраструктуры. Мы поговорим про IaC (Инфраструктура как код) влияние на современный мир и о том, как Terraform помогает работать с гетерогенных окружениях.Я хочу обсудить немного сам Terraform, ...

Выращиваем ИИ — Генетические алгоритмы: введение (сгенерированое изображение) Существует множество способов создать искусственную нейронную сеть или даже "искусственный интеллект". Но все эти способы обескураживают, от части сложностью которую я не до конца понимаю, отчасти от того, что все сводится к математиче...

Находки аудиомана: где послушать музыку ушедших эпох Мы уже писали о различных музыкальных находках: картах звуков и дереве жанров. Сегодня продолжаем тему — говорим о сервисах, которые позволяют погрузиться в атмосферу прошлых лет. Надеемся, что подборка поможет вам разнообразить фон во время работы из дома. Читать дальше ...

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

[Перевод] Порождающие шаблоны проектирования в ES6+ на примере Игры престолов Шаблоны проектирования — способы решения наиболее часто встречающихся при разработке программного обеспечения проблем. В этой статье мы рассмотрим порождающие шаблоны с отсылками на Игру престолов. О структурных паттернах читайте здесь. Порождающие паттерны предназначены...

Избавляемся от рутины со своим плагином для PhpStorm Привет, Хабр! Я тружусь в команде Антиспама, и, как и у большинства бэкенд-разработчиков Badoo, большая часть времени у меня уходит на работу с PHP-кодом. С этой работой связано много специфических проблем и задач, которые можно решить или упростить. Когда мне надоело вруч...

Дайджест от Imprinta №1 (2020) Что? Да! Дайджест от Imprinta, в котором мы кратко расскажем о событиях, которые произошли у нас с начала года.Мы анонсировали формат "Пробная печать", благодаря которому вы может присылать нам функциональные модели для печати и последующего разбора на принтере Hercules. По...

[Перевод] Как стать DevOps инженером за полгода или даже быстрее. Часть 2: Конфигурирование Как стать DevOps инженером за полгода или даже быстрее. Часть 1. Введение Освежим память по-быстрому В первой части я утверждал, что работа инженера DevOps заключается в создании полностью автоматизированных цифровых конвейеров, которые перемещают код от машины разработчика...

ANET A8 Plus и как его можно улучшить Тем, кто недавно приобрел принтер ANET A8 Plus, решил рассказать о том, что можно сделать, чтоб он заработал как подобает нормальному принтеру. Статья написана для ознакомления, и не несет никакой ответственности за сделанное вами.Все печатные модели деталей будут приложены ...

[Перевод] Портируем Quake на iPod Classic Запускаем Quake на iPod Classic (видео). TL;DR: мне удалось запустить Quake на MP3-плеере. В статье описывается, как это произошло. Часть прошлого лета я потратил на пару своих любимых вещей: Rockbox и игру Quake id Software. Мне даже предоставилась возможность объединить...

Microsoft: «Мы ошибались насчет open source» Microsoft признала ошибочность стратегии в части, заключающейся в препятствовании развитию сегмента программного обеспечения с открытым кодом в целом и Linux в частности. В свое время Стив Балмер (был гендиректором Microsoft с 2000 по 2014 годы) называл «раковой опухолью», к...

Современный Web-UI для SVN в 2020 году cSvn — это web-интерфейс к Subversion репозиториям. Основу cSvn представляет CGI-скрипт написанный на языке С. В мае 2020 года был опубликован релиз очередной версии Apache Subversion 1.14.0. В свете этого события, был создан новый, современный web-интерфейс для просмотра S...

Мы успели перевести офисы на удаленку, а вы? Всем привет из карантина! Давно хотел написать пост про жизнь и работу в Испании, но совсем по другому поводу. Однако сложившаяся ситуация диктует другие правила. Поэтому сегодня об опыте по переводу офисов на удаленную работу, до того как это стало вынужденным. А еще про жи...

Точные и быстрые вычисления для чисел с плавающей точкой на примере функции синуса. Часть 3: fixed-point Продолжаем цикл лекций (часть 1 и часть 2). В части 2 мы посмотрели, что внутри у библиотеки libm и в данной работе попробуем немного переделать функцию do_sin, чтобы увеличить её точность и скорость работы. Приведу эту функцию ещё раз do_sin): Как было показано в предыду...

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

[Перевод] Жестокая правда будней программиста: 8 наблюдений Несколько лет я писал код, а мне за это платили. За это время я узнал о некоторых неприятных вещах, касающихся работы программиста. Мне всегда хотелось написать об этом. Надеюсь, вы понимаете, что я рассказываю вам всё это не для того, чтобы вас расстроить. Я считаю эту стат...

Пишем драйвер фреймбуфера для Raspberry Pi с LCD Прочитав монументальную серию статей о подключении LCD экрана к роутеру мне захотелось сделать то же самое. Однако многообразие используемого стека (openwrt, stm32, usb) в сочетании с отсутствием полных исходников кода но может плохо искал несколько затруднило задачу. Я реши...

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

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

Медленный код, зато красивый — вообще не проблема, пока ты знаешь, как его ускорить Я много раз слышал, как программисты смеются над тиммейтами, которые написали медленный код. Резкие, самодовольные фразы в стиле "этот болван четыре раза пробежался по коллекции, хотя можно было один", и тому подобное. Когда слышишь такое, сразу думаешь — ну тут в...

Mail.ru Group обучит инженеров и системных администраторов Linux Mail.ru Group отрыла набор на курс SRE Quest – практический квест инженера обеспечения доступности (Site Reliability Engineer) и системных администраторов Linux. Во время обучения студенты освоят базу знаний, необходимую для работы инженером обеспечения доступности сервисов ...

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

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

Операционная система Redox 0.6, написанная на Rust: что нового в выпуске? Спустя полтора года разработки авторы операционной системы Redox 0.6, написанной с использованием языка Rust, опубликовали новый выпуск. Новинку можно протестировать — для этого в сеть выложены загрузочные образы. Их объем составляет 61 МБ. Свежая версия может тестироваться...

В компании Илона Маска назвали "придурками" работников, прогуливающих работу Журналисты американского издания Business Insider опубликовали внутренний документ компании Tesla под названием “Антируководство”. Он написан достаточно резким языком, а в его основу легло описание стандартов эффективности компании.

Беспилотный автомобиль протестировали на дорогах Санкт-Петербурга Для тестирования алгоритмов автономного вождения был выбран район Марсова поля - в этой части города достаточно активный трафик, много светофоров, дорожных знаков и пешеходных переходов, что позволило инженерам НПО СтарЛайн протестировать разработанные ими алгоритмы беспилот...

Изучаем безопасность офисного ПО — какие механизмы влияют на защиту данных Недавно, издание D-Russia опубликовало авторское мнение Владимира Каталова, исполнительного директора компании Elcomsoft об уровне подверженности к взлому методом перебора защищенных паролем файлов офисного ПО. Компания специализируется на криминалистической экспертизе ком...

Участвуем в соревновании по Data Science. Первый опыт Привет, Хабр! Давно я не писал никаких статей и, вот думаю, пришло время написать о там, как мне пригодились знания по data science, полученные по ходу обучения небезывестной специализации от Яндекса и МФТИ «Машинное обучение и анализ данных». Правда, справедливости ради на...

[Из песочницы] Тестирование JavaScript кода с Jest для чайников. Часть 1 Здравствуй, Хабр! Данное руководство является первой частью в запланированном цикле статей про такой замечательный фреймворк для тестирования как Jest. Материал будет полезен новичкам и тем, кто только знакомится с тестированием, и хотел бы изучить этот фреймворк. В первой ч...

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

[Из песочницы] Базовые команды Linux для тестировщиков и не только Предисловие Всем привет! Меня зовут Саша, и я больше шести лет занимаюсь тестированием бэкенда (сервисы Linux и API). Мысль о статье у меня появилась после очередной просьбы знакомого тестировщика подсказать ему, что можно почитать по командам Linux перед собеседованием. Обы...

Немного про устройство современного радио на примере HackRF One Приветствую, Habr! Некоторое время назад в поле моего зрения очень часто попадало множество статей, видеороликов о теме SDR трансиверов. Тема представляет интерес и сегодня. Большой популярностью среди радиолюбителей и других, разного рода, «технарей» пользуются устройства H...

HackTheBox. Прохождение Book. XSS to LFI через PDF и LPE через Logrotate Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. В данной статье эксплуатируем XSS to LFI через документ PDF, повышаем привилегии с помощью logrotten, а также посмотрим, почему уязвима регистрация с усечением полей. Подключение к лабо...

Книга «Еще более эффективный Agile» Привет, Хаброжители! Любой компании хочется добиться большей эффективности разработки ПО, ведь это напрямую влияет на прибыль. Большая часть литературы по Agile ориентирована на крупные компании с высокими темпами роста, но как быть, если ваша компания находится не на перед...

[Перевод] Как убрать из Git-репозитория файлы с конфиденциальной информацией Файлы проиндексированы, написано сообщение коммита, данные отправлены на сервер… И вдруг хочется повернуть время вспять. В коммит попал файл, которого там быть не должно. Когда такое случается, приходит время обращаться к поисковику. Каждый разработчик когда-то по ошибке ко...

Парсинг сайта кинотеатра на Golang Всем привет, в этой статье мы рассмотрим небольшой пример кода, написанный для сбора данных с сайта на популярном сегодня языке программирования Go. Эта статья будет особенно интересна тем, кто много слышал о Go, но пока еще не попробовал его самостоятельно. Для одного из...

[Перевод] Создание CI/CD-цепочки и автоматизация работы с Docker Я написала мои первые сайты в конце 90-х. Тогда приводить их в рабочее состояние было очень просто. Был Apache-сервер на каком-нибудь общем хостинге, на этот сервер можно было войти по FTP, написав в браузерной строке нечто вроде ftp://ftp.example.com. Потом надо было ввести...

[Перевод] Крутые URI не изменяются Автор — сэр Тим Бернерс-Ли, изобретатель URI, URL, HTTP, HTML и Всемирной паутины, действующий глава W3C. Статья написана в 1998 году Какой URI можно считать «крутым»? Такой, который не изменяется. Как изменяются URI? URI не изменяются: их изменяют люди. По идее, у людей...

Заметки Дата Саентиста: маленькие утилиты — большая польза Чаще всего в работе датасаентиста мне приходится перегонять данные из одного представления в другое, агрегировать, приводить к одинаковой гранулярности и чистить данные, загружать, выгружать, анализировать, форматировать и присылать результаты (которые в общем-то тоже данн...

Оптимизация производительности фронтенда. Часть 2. Event loop, layout, paint, composite Ночь. Стук в дверь. Открыть. Стоят двое. "Верите ли вы в Event loop, нашу главную браузерную цепочку?" Вздохнуть. Закрыть дверь. Лечь досыпать. До начала рабочего дня еще 4 часа. А там уже ивент лупы, лейауты и прочая радость… В первой части мы говорили о первой з...

Работающая геймификация: Octalysis Framework Привет, Xабр! Меня зовут Роман, и я продакт! В последнее время много увлекаюсь темой геймификации в digital-продуктах. Это понятие уже давно является популярным, и, наверное, не существует человека из мира IT, кто бы ни разу не сталкивался с этой темой в той или иной форме. ...

История человека, чувствительного к электромагнитному излучению, или как мы щупаем край обрыва… Часть 1 С этой впечатлившей меня драматичной историей я познакомился довольно банально. Находясь по делам в Калифорнии, я написал человеку, что хотел бы с ним встретиться по работе. Он ответил, мы договорились о дне, месте и времени. Какая-то кафешка в паре километров от гостиницы,...

Ищем максимальную разницу между соседями. User-friendly-разбор задачи по алгоритмам Привет, Хабр! Давайте поговорим про алгоритмы. Новички часто воспринимают их как что-то тяжёлое, сложное и непонятное, и отчасти это правда, но алгоритмы — это базис. А чем лучше вы знаете базис своей специальности, тем с большей вероятностью преуспеете в ней. Сегодня м...

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

[Перевод] 5 вопросов по SQL, которые часто задают дата-сайентистам на собеседованиях Хотя составление SQL-запросов — это не самое интересное в работе дата-сайентистов, хорошее понимание SQL чрезвычайно важно для того, кто хочет преуспеть в любом занятии, связанном с обработкой данных. Дело тут в том, что SQL — это не только SELECT, FROM и WHERE. Чем больше S...

Делаем TypeScript строже. Доклад Яндекса Как сделать из TypeScript строгого, но справедливого товарища, который защитит тебя от неприятных ошибок и придаст больше уверенности в коде? Алексей Веселовский veselovskiyai рассмотрел несколько особенностей конфигурации TS, которые закрывают глаза на непростительные вольн...

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

Реализация консенсус-алгоритма RAFT для распределенного K-V хранилища на Java И снова здравствуйте. Несколько дней назад началось обучение в новой группе по курсу «Архитектор ПО», а сегодня мы хотели бы поделиться статьей, которую написал один из студентов курса — Плешаков Антон (руководитель направления разработки в компании «Программная логистика» и...

От эвристики до машинного обучения: поисковые подсказки в Ситимобил Всем привет! Меня зовут Михаил Дьячков, и в Ситимобил я занимаюсь машинным обучением. Сегодня я расскажу вам о нашем новом алгоритме формирования поисковых подсказок конечных пунктов назначения. Вы узнаете, как на первый взгляд довольно простая задача превратилась в интере...

Количественная оценка «эффекта чаши» на томографических изображениях Привет, Хабр! Как вы уже знаете, мы в Smart Engines занимаемся обработкой изображений. Недавно мы написали статью о бинаризации томографических изображений с тонкой структурой, в которой попытались рассказать в чем собственно состоит метод рентгеновской томографии. Сегодня м...

Фантастическая эклектика: романы, написанные на невероятном стыке жанров В мире постмодерна и постиронии, где мы живем сегодня, многие рамки становятся все более хрупкими и условными. Так в литературе авторы все более и более смело обходятся с понятиями жанра, комбинируя их или работая на тонкой грани между двумя, тремя и более направлениями. Е...

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

Wapiti — тестирование сайта на уязвимости своими силами В прошлой статье мы рассказали о бесплатном инструменте для защиты сайтов и API от хакерских атак, а в этой решили сделать обзор популярного сканера уязвимостей Wapiti. Сканирование сайта на уязвимости — необходимая мера, которая, вкупе с анализом исходного кода, позволяет ...

[Перевод] Многие дедлайны придумывают специально с целью заставить инженеров работать бесплатно Работа инженера — сплошное разочарование. Возможно, потому что у нас нет власти, а менеджеры сбрасывают на инженеров все проблемы и ожидают, что они будут решены к вчерашнему дню. В большинстве случаев задачу поставил кто-то сверху, кто именно — инженер не знает. Возможно, ...

В Tarantool можно совместить супербыструю базу данных и приложение для работы с ними. Вот как просто это делается Пять лет назад я попробовал работать с Tarantool, но тогда он мне не зашел. Но недавно я проводил вебинар, где рассказывал про Hadoop, про то, как работает MapReduce. Там мне задали вопрос — «А почему под эту задачу не использовать Tarantool?». Ради любопытства я решил верн...

Гениальный алгоритм создания лабиринтов в игре Entombed, который до сих пор не могут разгадать В 2017 двое ученых, канадец John Aycock и британка Tara Copplestone, опубликовали анализ классической игры Entombed для игровой приставки Atari 2600. Механика этой игры, выпущенной в 1982, крайне проста: археолог, управляемый игроком, должен пробраться по прокручивающимся ...

IDA Pro: работа с библиотечным кодом (не WinAPI) Всем привет, При работе в IDA мне, да и, наверняка, вам тоже, часто приходится иметь дело с приложениями, которые имеют достаточно большой объём кода, не имеют символьной информации и, к тому же, содержат много библиотечного кода. Зачастую такой код нужно уметь отличать от ...

Профессия: тестировщик Тестировщик: Это баг или фича? Разработчик: Пока что это фича. bash.im Инженер по тестированию — моя первая специальность в ИТ-сфере в далёких уже 2010-х, как, пожалуй, и у многих. Это было классическое «войти в айти»: на тот момент имелось только экономическое образование ...

Сделать качественный звук у смартфона можно. Появился ЦАП Highscreen TrueSound Highscreen многие давно знают как бренд, который уделяет внимание музыкальной части смартфонов. Парни время от времени работают с инженерами и программистами, которые могут модифицировать аудио-тракт смартфона, чтобы добиться более крутого звучания, как это было в случае с...

[Перевод] ADAS: главные тренды в технологиях распознавания Статья написана в сентябре 2019. Тестовый автомобиль от Cruise, сошедший с производственной линии GM, оборудован датчиками (отмечены красным цветом). Автомобильная промышленность до сих пор ищет надежную технологию распознавания, которая будет работать в любых условиях —...

Лучшие офисные приложения на Android Носить целый «офис» в кармане? Почему бы и нет! Возможность использовать свой смартфон не только для того, чтобы кому-то позвонить или отправить сообщение, но и применять его в качестве рабочего инструмента — это уже давно стандарт для любого продвинутого пол...

[Из песочницы] Как не потерять ход времени, работая за компьютером. Приложение по мониторингу работы и ведению статистики Я работаю педагогом в детском технопарке «Кванториум». В период самоизоляции мы так же, как и все перешли на дистанционное обучение. И в связи с тем, что дети стали еще больше времени проводить за компьютером, администрация решила сократить академический час и делать перер...

Загрузка данных в iOS в Background-режиме Про работу с сетью в iOS написаны сотни статей и рассказаны десятки докладов на митапах. Но как правило во всех них обходится стороной одна важная составляющая работы с сетью: работа в background-режиме.

Введение в SSD. Часть 2. Интерфейсная В прошлой части цикла «Введение в SSD» мы рассказали про историю появления дисков. Вторая часть расскажет про интерфейсы взаимодействия с накопителями. Общение между процессором и периферийными устройствами происходит в соответствии с заранее определенными соглашениями, н...

Что такое XML Если вы тестируете API, то должны знать про два основных формата передачи данных: XML — используется в SOAP (всегда) и REST-запросах (реже); JSON — используется в REST-запросах. Сегодня я расскажу вам про XML. XML, в переводе с англ eXtensible Markup Language — расширяе...

[Перевод] Как использовать простую утилиту для поиска уязвимостей в программном коде Graudit поддерживает множество языков программирования и позволяет интегрировать тестирование безопасности кодовой базы непосредственно в процесс разработки. Источник: Unsplash (Markus Spiske) Тестирование — важная часть жизненного цикла разработки программного обеспечени...

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

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

Общие понятия о системах обнаружения и предотвращения вторжений И снова здравствуйте. В преддверии старта курса «Реверс-инжиниринг» решили поделиться с вами небольшой статьей по информационной безопасности, которая хоть и имеет довольно косвенное отношение к реверс-инжинирингу, но для многих может стать полезным материалом. Глобальны...

[Из песочницы] О безопасности в сети Эта статья была написана несколько лет назад, когда блокировка мессенджера Telegram активно обсуждалась сообществом и содержит мои мысли на этот счет. И хотя сегодня эта тема уже почти забыта, я надеюсь что, возможно, это все еще будет кому-то интересно Этот текст появился ...

[Перевод] Классические задачи Computer Science на языке Python. Обзор книги Привет, Хабр! Одной из самых интересных наших книг по Python в течение уходящего года оставались "Классические задачи Computer Science на языке Python" от Дэвида Копеца. Для тех, кто еще не успел ознакомиться с этой книгой, предлагаем ее обзор, написанный по ор...

[Перевод] Почему стоимость биткоинов – вымышленное понятие Эссе в трёх частях: У биткоинов нет единой «цены», и рынок ужасно неэффективен. Разберитесь в законах, касающихся идентификации клиентов и отмывания денег. Биткоин – это не схема Понци! Она просто работает похожим образом. Статьи были написаны в 2017 году как предупреж...

5 бесплатных курсов для ИИ-инженеров от Microsoft Привет, Хабр! В прошлом году мы делали серию статей-подборок бесплатных курсов. Она понравилась сообществу, и мы решили сделать еще три подборки, правда уже по немного другими тематикам. Как и раньше, мы не будем заранее спойлерить для кого именно будут следующие подборки, ж...

[Перевод] Уязвимости real-time операционок В июле 2019 года в операционной системе реального времени VxWorks, на которой работают более 2 миллиардов устройств, найдены критические уязвимости. На Хабре про это не написали ни слова, хотя это важная новость в области промышленного программирования, RTOS и automotive. ...

Победители конкурса стартапов The Europas Awards 2020 На Хабре часто пишут про новые технологии и яркие стартапы. Но почему-то до сих пор никто не рассказал об итогах конкурса The Europas Awards 2020, хотя там есть и российские победители. Cloud4Y исправляет эту оплошность. В прошлом году Europas Awards для европейских техни...

Что такое LLVM и зачем он нужен? Всем привет! Думаю, у многих сразу возник другой вопрос — а зачем вообще нужна ещё одна статья про LLVM, ведь на хабре их и так больше сотни? Моей задачей было написать "введение в тему" for the rest of us — профессиональных разработчиков, не планирующих создавать ...

Никаких сюрпризов. Смартфон Google Pixel 5 позирует на 360-градусном видео и рендерах во всей красе В прошлом месяце вместе с Pixel 4a компания Google формально анонсировала версию Pixel 4a 5G и будущего флагмана Pixel 5, ограничившись одним изображением, демонстрирующим устройство сбоку. Известный сетевой информатор Стив Хеммерстоффер МакФлай (он же @OnLeaks), совместно с...

Прозрачная аутентификация в ASP.Net Core на Linux Аутентификация в ASP.Net (Core) — тема довольно избитая, казалось бы, о чем тут еще можно писать. Но по какой-то причине за бортом остается небольшой кусочек — сквозная доменная аутентификация (ntlm, kerberos). Да, когда мы свое приложение хостим на IIS, все понятно — он за...

[Перевод] Проектирование заголовочных частей сайтов с использованием CSS Flexbox Когда я, изучив основы HTML и CSS в 2014 году, занялся разработкой сайтов, сложнее и страшнее всего для меня было создание их заголовочных частей. Тогда технология Flexbox была ещё достаточно новой, поэтому мы вынуждены были использовать старые методы — вроде float-позициони...

Стандартизация при работе в САПР. Зачем это нужно и как ее контролировать? САПР (система автоматизированного проектирования) – это, в простейшем случае, программа для разработки и оформления проектной документации (чертежей). А для того чтобы чертежи от разных авторов (проектировщиков) были одинаково читаемы и понимаемы производственниками и дру...

Поддержка геймпада для эмулятора Omega Red Привет всем читателям! Я продолжаю тему программного эмулятора для PlayStation 1, PlayStation 2 и PlayStation Portable — Omega Red. Более подробно: Новый PS1 графический рендерер для эмулятора Omega Red Omega Red + PS1 эмулятор = Кодзима гений PS2/PSP эмулятор + game p...

Какой iPhone 12 выбрать? Написали опыт использования iPhone 12 Pro Max и всё решили за вас, не благодарите Кажется, в интернете никогда еще не было столько споров на тему выбора iPhone и обоснованности смены старой модели на новую. Пора подвести итоги.

Хакеры SolarWinds размазали свои байты в HTTP-трафике через регулярные выражения Валидная цифровая подпись на DLL со встроенным бэкдором Практически по всем профильным СМИ прошла новость о взломе программного обеспечения SolarWinds в рамках глобальной кампании кибершпионажа. Здесь нужно понимать масштаб атаки: этот софт для мониторинга IT-инфраструктур...

Как перестать беспокоиться и начать верить A/B-тестам Когда вы разрабатываете продукт, каждая новая итерация — это риск уронить метрики и потерять пользователей. Тем не менее иногда, особенно на начальных этапах, компании неосознанно идут на этот риск — меняют продукт, полагаясь только на свои инстинкты и гипотезы. Мы в Badoo ...

In-memory архитектура для веб-сервисов: основы технологии и принципы In-Memory — набор концепций хранения данных, когда они сохраняются в оперативной памяти приложения, а диск используется для бэкапа. В классических подходах данные хранятся на диске, а память — в кэше. Например, веб-приложение с бэкендом для обработки данных запрашивает их в ...

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

HackTheBox. Прохождение PlayerTwo. Twirp, 2FA bypass, Off-By-One атака Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. В данной статье работаем с API twirp, обходим двух факторную аутентификацию, модернизируем прошивку и эксплуатируем уязвимость в кучу через атаку null byte poisoning (P.S. про Heap еще м...

Использование механизмов криптографических токенов PKCS#11 на платформе Android Подошло время задействовать криптографические механизмы PKCS#11 и на платформе Android. Кто-то может сказать, что нет аппаратных токенов для Android. Но, если это и так, то это только временное явление. Но уже сегодня можно поставить программный токен или использовать облач...

Похоже, Илон Маск добрался до «Ведьмака» от Netflix. Он «спел» ту самую песню и теперь все в Twitter только это и обсуждают С чувством юмора у Илона Маска всегда было все в порядке, даже более чем в порядке, а еще у основателя Tesla и SpaceX очень популярный твиттер — за его записями следят более 30 миллионов пользователей. Как следствие, практически каждый новый твит Маска вызывает оживленное об...

HackTheBox. Прохождение Patents. XXE через файлы DOCX, LFI to RCE, GIT и ROP-chain Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. В данной статье эксплуатируем XXE в сервисе преобразования DOCX документов в PDF, получаем RCE через LFI, копаемся в истории GIT и восстанавливаем файлы, составляем ROP цепочки с помощью...

ВКонтакте снова выкладывает KPHP Привет! Сейчас будет дежавю. Мы снова выложили на GitHub наш PHP-компилятор — KPHP. Он проделал большой путь, и чтобы рассказать о нём, сначала телепортируемся на шесть лет назад. Поясню для тех, кто не в теме: платформа ВКонтакте изначально была написана на PHP. Со времене...

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

Apple Mac Pro в новом исполнении уже в России Мало кто знает, но компьютер Apple Mac Pro представлен в двух вариантах комплектации. В одной вы получаете совершенно стандартный компьютер в привычном для нас варианте, то есть на подставке, которую можно ставить на стол или на пол. Однако есть еще второй вариант, которые в...

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

Автоматизация тестирования веб-приложений под ключ, без регистрации и смс Часто бывает так, что веб-приложение состоит из большого количества динамически перестраивающихся форм с разным текстом и элементами управления. Тестирование такого приложения превращается в кошмар. Нужно прокликать 100500 страниц и проверить весь функционал… И перед следую...

Автоматическое обучение моделей с помощью Vowpal Wabbit Всем привет, меня зовут Артем Жаринов, я специалист по анализу данных и машинному обучению команды RnD в Lamoda. Блуждая по нашему сайту вы, возможно, заметили такие полки рекомендаций «С этим товаром покупают» или «Популярные товары». Для персонализированного ранжирования ...

[Перевод] Шпаргалка по сортировке для Data Science Сортировка данных является основной задачей для ученых и инженеров по обработке данных. Пользователи Python могут выбирать наиболее удобную из ряда библиотек со встроенными, оптимизированными опциями сортировки. Некоторые даже работают параллельно с GPU. На удивление, неко...

Отправляем письма с помощью asyncio и aiohttp из Django приложения Всем привет! Я занимаюсь разработкой и поддержкой сервиса уведомлений в Ostrovok.ru. Сервис написан на Python3 и Django. Помимо транзакционных писем, пушей и сообщений, сервис также берёт на себя задачи по массовым рассылкам коммерческих предложений (не спам! trust me, отп...

Эффективное хранение сотен миллионов маленьких файлов. Self-Hosted решение Уважаемое сообщество, эта статья будет посвящена эффективному хранению и выдаче сотен миллионов маленьких файлов. На данном этапе предлагается конечное решение для POSIX совместимых файловых систем, в том числе кластерных, и вроде бы даже уже без костылей. Поэтому для это...

Зеркало души: история ТВ от «ящика» до интеллекта Идея подружить интернет и телевизор возникла в конце 1980-х годов, но потребовалось около десяти лет, чтобы создать работающее устройство. В 1996 году Стив Перлман, выходец из Apple, разработавший большинство ранних мультимедиа-технологий Macintosh, включая QuickTime, предс...

[Перевод] Слышали о языке Prolog? Prolog — это один из тех языков, которые программисты обычно изучают в самом начале карьеры (например — в школе или в институте). Его, правда, забывают почти сразу же после того, как изучили. Почему? Ну, лично я виню в этом индустрию разработки ПО. Я работаю в этой сфере по...

[Перевод] Как стать DevOps инженером за полгода или даже быстрее. Часть 1. Введение Целевая аудитория Вы разработчик, который хочет повернуть свою карьеру в сторону более совершенной модели DevOps? Вы являетесь классическим Ops-инженером и хотели бы получить представление о том, что означит DevOps? Или же вы не являетесь ни тем, ни другим и, потратив некото...

WhatsApp с 1-го числа перестанет раз и навсегда работать на Android и iOS Нет в мире более крупного и известного сервиса для общения, чем WhatsApp. Это программное обеспечение создали и выпустили на рынок еще в 2009 году, то есть много лет назад. С тех самых пор в этот Читать полную версию публикации WhatsApp с 1-го числа перестанет раз и навсегд...

OnePlus Watch будут без «закоса» в сторону Oppo Watch или Apple Watch OnePlus Watch не получат дизайн от Apple Watch и Oppo Watch   Уже почти все уважающие себя гиганты рынка смартфонов выпустили свои смарт-часы. А те, кто этого по каким-то причинам еще не сделал, двигаются в этом направлении. Поговаривали, что свое движение к умным часам...

«Инженерия резильентности»: заметки с конференции REDeploy Пока конференции по всему миру ищут оптимальные форматы в онлайне, самое время вспомнить, как они (да и все мы) жили в довирусную эпоху. В конце прошлого года я посетил конференцию REDeploy 2019, посвященную Resilience Engineering. Очень долго пытался понять, как перевести...

Растровый эффект для Atari 65XE Еще в январе 2020 года я начал подготовку к участию в Forever 2020 demoparty. Тема компо была объявлена ROBO, поэтому я решил написать простую работу для Atari 65XE. Когда интро было готово, я решил добавить растровый эффект. Увы, из-за отмены проведения Forever, часть интр...

Обзор k9s — продвинутого терминального интерфейса для Kubernetes K9s предоставляет пользовательский интерфейс терминала для взаимодействия с кластерами Kubernetes. Цель этого Open Source-проекта — облегчить удобную навигацию по приложениям в K8s, наблюдение за ними и управление ими. K9s постоянно следит за изменениями в Kubernetes и пре...

Работа с файлами в C++ с использованием Boost Привет! Я время от времени рассказываю на Хабре о решениях распространённых задач на C++, и вообще люблю делиться опытом. Поэтому даже написал целую книгу, которая называется «Разработка приложений на С++ с использованием Boost». Она может быть интересна разработчикам, кото...

Исследование возможных заимствований и нарушений условий лицензирования в Java-коде на GitHub Меня зовут Ярослав Голубев, я работаю в JetBrains Research, в лаборатории методов машинного обучения в программной инженерии. Некоторые мои коллеги уже писали здесь о своих проектах (например, о подсказках для онлайн-курсов). Общая цель нашей группы — сделать работу программ...

Новые AMD Ryzen на архитектуре Zen 3: сравниваем с предыдущим поколением, а также с Intel Core i9 Я планировал написать эту статью еще весной 2020-го, но постоянно откладывал её в дальний ящик. Хотелось бы сказать, что причиной тому «экологическая» ситуация в стране и мире, но на самом деле — желание накопить больше практического и тестового материала и, что поделать, ...

[Перевод] Как я создал собственный алгоритм YouTube (чтобы не тратить время впустую) Побег от алгоритма YouTube Я люблю смотреть видео на YouTube, осязаемым образом улучшающие мою жизнь. К сожалению, алгоритм YouTube с этим не согласен. Он любит кормить меня кликбэйтом и прочим мусором. Всё это неудивительно: алгоритм отдаёт приоритет кликам и времени про...

[Перевод] Прогрессивные веб-приложения в 2020 На КДПВ — стикер, созданный командой браузера Samsung Internet Больше 12 лет прошло с тех пор, как Стив Джобс впервые представил идею веб-приложений, «которые выглядят и ведут себя точно так же, как и нативные приложения». Больше 4 лет прошло с момента появления термина «PW...

Как заставить машину написать тесты из кода за тебя Мы живем в неидеальном мире. Здесь код пишут люди, а люди по своей природе склонны совершать ошибки. Все бы ничего, ошибки можно отловить на этапе тестирования и не дать им никому навредить. Можно, если писать тесты. Чего люди делать почему-то не любят. Но возможно, есть над...

Rust глазами Python-разработчика Привет! Мы – часть команды разработки «Рамблер/Медиа» (портал «Рамблер»). На протяжении трех лет мы поддерживаем и развиваем несколько больших python-приложений. Чуть больше года назад перед нами встала задача написать еще одно большое приложение – API к основному хранилищу...

Тайное заражение темнокожих сифилисом: опубликован список самых неэтичных научных экспериментов Сегодня достаточно трудно представить свежее исследование, в котором ученые взялись бы за мало-мальски тяжкие для здоровья эксперименты над людьми или еще что-нибудь подобное. Шутка ли — ученые в свое время из-за вопросов этики отказались от клонирования животных. Но букваль...

[Из песочницы] Внедрение CRM глазами заказчика Тема внедрения CRM систем неоднократно освещалась на Хабре во множестве статей, которые в основном написаны представителями компаний-разработчиков или интеграторами CRM решений, цель которых продать вам свои услуги. Данная статья написана представителем заказчика и может быт...

Однажды на пентесте, или Как все сломать при помощи уролога и Роскомнадзора Эта статья написана по мотивам очень удачного пентеста, который пару лет назад провели специалисты Group-IB: случилась история, претендующая на экранизацию в Болливуде. Сейчас, наверное, последует реакция читателя: «О, очередная пиар-статья, опять эти рисуются, какие они х...

Оптимизация 3D-моделей для игровой сцены Эта статья завершает цикл публикаций от краснодарской студии Plarium о разных аспектах работы с 3D-моделями в Unity. Предшествующие статьи: «Особенности работы с Mesh в Unity», «Unity: процедурное редактирование Mesh», «Импорт 3D-моделей в Unity и подводные камни», «Пиксельн...

2. NGFW для малого бизнеса. Распаковка и настройка Продолжаем цикл статей по работе с новым модельным рядом SMB CheckPoint, напомним что в первой части мы описали характеристики и возможности новых моделей, способы управления и администрирования. Сегодня рассмотрим сценарий развертывания старшей модели серии: CheckPoint 15...

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

Samsung Galaxy M42 получит аккумулятор на 6000 мАч Линейка Samsung Galaxy M известна своими огромными батареями — большинство представленных сегодня на рынке устройств имеют аккумулятор на 6000 мАч, а Galaxy M51 идет еще дальше с 7000 мАч. Согласно многочисленным сообщениям, к семейству вскоре присоединится новый телефон, ко...

Эффект реалистичного перелистывания страниц на JS Представляю вашему вниманию — один из возможных вариантов реализации довольно забавного приема, для создания эффекта реалистичного перелистывания страниц. Демо и документация: nodlik.github.io/StPageFlip Github: github.com/Nodlik/StPageFlip Подобный эффект я реализовывал...

Ок, Гугл, «спасибо» за новый автомобиль Статью с похожим заголовком, только без кавычек, могли бы написать производители\продавцы автомобилей. Но раз до сих пор не написали, значит либо не поняли, откуда ветер дует, либо я сгущаю краски. Попробуем разобраться. Кто я? Я счастливый и несчастный обладатель новеньког...

[Из песочницы] Python для тестировщика: как маленькие скрипты c pandas помогают в тестировании больших наборов данных Я работаю тестировщиком на проекте, суть которого состоит в сборе и хранении различных данных и формировании на их основе разных отчетов и файлов-выгрузок. При формировании таких отчетов учитывается большое количество условий для отбора данных и поэтому при тестировании прих...

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

Как разрабатываются моды для Unity-игр. Часть 1: внедряемся в код игры У большинства игр нет официальной поддержки модов, но при этом постоянно появляются новости о том, как моддеры добавляют в игры что-то новое. Обычно речь идет про замену моделей, текстур или музыки, но бывают и полноценные новые игровые механики, т.е. моддеры внедряются в ко...

[Перевод] HDTree: настраиваемое дерево решений на Python Представляем настраиваемую и интерактивную структуру дерева решений, написанную на Python. Эта реализация подходит для извлечение знаний из данных, проверки интуитивного представления, улучшения понимание внутренней работы деревьев решений, а также изучение альтернативных п...

PyDERASN: как я добавил big-data поддержку Продолжаю прошлую статью о PyDERASN — свободном ASN.1 DER/CER/BER кодеке на Python. За прошедший год, с момента её написания, кроме всяких мелочей, небольших исправлений, ещё более строгой проверки данных (хотя и прежде он был уже самым строгим из известных мне свободных код...

Yaml vs. Json — что круче? Всем привет! Сегодня поговорим об интересном (и таинственном для фронтов) формате YAML. Он считается одним из наиболее популярных форматов для файлов конфигураций. Файлы с расширением .yaml или .yml вы можете встретить довольно часто, например .travis.yml (для Travis Bui...

RxRelay – это магия? Subject vs RxRelay В Android-комьюнити я встречал три типа разработчиков, которые сталкивались с RxRelay: Те, кто не понимают зачем RxRelay используется в их проекте, зачем он нужен и чем отличается от Subject Те, кто думают, что RxRelay «проглатывает» ошибки или «после того, как произошла...

FOSS News №31 – дайджест новостей свободного и открытого ПО за 24-30 августа 2020 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. 29-летие Linux, пара материалов о столь актуальной сегодня теме децентрализованного Веба, обсуждение ...

Опять про «MikroTik» или долгожданный SOCKS5 Я прекрасно понимаю, что вас достали вездесущие микротики, но это действительно интересно. На самом деле статья написана с задержкой в 4 месяца (поддержка SOCKS5 появилась еще в январе 2020 года), но лучше поздно, чем никогда, тем более что информации об этом не так много ...

Подборка занимательных статистических фактов #4 Подборка графиков и результатов различных исследований c короткими аннотациями от автора Телеграм канала Groks. Занимательная инфографика про триллионную экономику смартфонов. Продажи самих телефонов составляют почти половину всех доходов. На покупку приложений приходится...

Введение в архитектурный фреймворк для анализа данных Lena Привет, Хабр! Я расскажу об архитектурном фреймворке, который я разрабатываю. Архитектура определяет наиболее общее устройство программы и взаимодействие её компонентов. Lena как фреймворк реализует конкретную архитектуру для анализа данных (подробнее о ней ниже) и предостав...

[Перевод] Для edge-серверов десятого поколения Cloudflare выбирает процессоры от AMD Ежедневно через сеть Cloudflare Network проходит более миллиарда уникальных IP-адресов; она обслуживает более 11 млн HTTP-запросов в секунду; она находится на расстоянии не более 100 мс от 95% интернет-населения. Наша сеть раскинулась на 200 городов в более чем 90 странах,...

Полный список смартфонов Xiaomi, получивших прошивку MIUI 12 Как известно, с середины июня 2020 года компания Xiaomi занимается распространением своей фирменной прошивки MIUI 12, которая по части внешнего вида очень сильно напоминает iOS. Новейшее программное обеспечение сначала выходит для китайских моделей телефонов, тогда Читать п...

Дайджест событий для эйчаров и рекрутеров в IT на май 2020 Продолжаем работать из уютных хоум-офисов и набираться знаний в свободное время! В мае запланированы курс для ИТ-рекрутеров, конференция о найме разработчиков в новых реалиях и масса онлайн-митапов для обсуждения актуальных вопросов организации работы на удаленке. В дайдже...

Неделя онлайн-стримов от JUG Ru Group #3 Продолжаем говорить обо всём от DevOps до C++ в формате разговорных шоу и митапов. В этот раз будет онлайн-митап по .NET и YouTube-обсуждения по всему остальному. Записи эфиров мероприятий прошлой недели уже доступны! Читать дальше →

Применение Flowmon Networks для контроля производительности распределенных приложений и баз данных Статью подготовил Dmitriy Andrichenko | Sales Executive, Russia & CIS | Flowmon Networks Приветствуем Вас на странице нашей новой статьи, посвященной решению задач контроля производительности распределенных сетевых приложений и баз данных. Данная статья является продо...

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

Самодельные беспроводные оконные датчики: STM32L0 + RFM69 + Android Добрый день, уважаемые хабровчане! Несколько лет назад я купился на красочную рекламу zWave и установил себе оконные датчики, базирующиеся на этом протоколе. К домашнему серверу был подключен USB zWave-Stick, который играл роль контроллера, написан небольшой модуль на Java, ...

Фейки — это ерунда или серьезно? Без долгих прелюдий: я считаю, что фейки — зло, они приносят огромный ущерб и с ними надо бороться, особенно в условиях кризисов или жесткой неопределенности (например, во время истерики вокруг COVID-19). Также я считаю, что бороться надо не так, как привыкло наше государст...

Обновления iOS на новых iPhone 12 можно загружать по 5G Согласно информации, опубликованной на официальном сайте, компания Apple представила возможность загрузки обновлений программного обеспечения iOS с использованием мобильной сети 5G на iPhone 12 mini, iPhone 12, iPhone 12 Pro и iPhone 12 Pro Max. Чтобы загружать обновлен...

Дайджест от Imprinta №1 (2020) Что? Да! Дайджест от IMPRINTA, в котором мы кратко расскажем о событиях, произошедших у нас с начала 2020 года.В Instagram мы анонсировали формат "Пробная печать", благодаря которому вы можете присылать на нашу почту pr2@imprinta.ru функциональные модели для печати на принте...

[Перевод] Эксплуатация большой распределённой системы: чему я научился Читая различные каналы и рассылки, я часто встречаю статьи о конкретных «болях» и проблемах, возникающих при росте компании, когда надежность и масштабируемость выходят на первый план. Эта статья — иная. Здесь нет подробного разбора конкретных архитектурных решений или пош...

От хорошей работы не только волки дохнут, но и движки распознавания возникают Сегодня мы, Smart Engines, расскажем историю, как работали в пандемию и что у нас из этого получилось. Расскажем, когда и для кого размер приложения имеет значение, что такое живость документов и куда катится этот дивный мир распознавания. Читать дальше →

Была ли жизнь до Audio CD? Программный декодер PCM В прошлой статье мы рассказали про динамические QR коды, которые записывали на VHS кассеты. Эпидемия PCM зацепила и меня, так что пришло время поковырять этот формат. Читать дальше →

NVIDIA превратила GTC 2020 в онлайн-конференцию из-за опасности коронавируса Похоже, в этом году довольно много крупных мероприятий пострадает из-за вспышки коронавируса. В конце февраля уже не состоялась барселонская выставка MWC 2020, а теперь и компания NVIDIA решила провести конференцию GTC (GPU Technology Conference) в формате онлайн-мероприятия...

NSX Advanced Load Balancer – умный автомасштабируемый балансировщик нагрузки. Часть 1: архитектура и особенности В этом посте я хочу рассказать о системе балансировки нагрузки VMware NSX Advanced Load Balancer (by Avi Networks), или NSX ALB. Чуть больше года назад компания VMware купила компанию Avi Networks, и тогда же система балансировки сменила название с Avi Vantage на NSX ALB, но...

[Перевод] Sysbench и распределение случайных величин Перевод статьи подготовлен специально для студентов курса «Базы данных». То, что вы, возможно, не знали о генерации случайных чисел в sysbench Sysbench — это популярный инструмент для тестирования производительности. Первоначально он был написан Петром Зайцевым в начале ...

4 угла хорошо, а 6 лучше: гексагональные шахматы в консоли и с ботом Привет! Мы учимся на первом курсе бакалавриата «Прикладная математика и информатика» в Питерской Вышке. Во время работы над семестровым командным проектом по С++ мы решили написать компьютерную версию Интеллектора с ботом — шахматную игру на гексагональной доске с особыми ф...

Habrosanitizer теперь и для Firefox. А еще он научился блокировать хабы В конце октября, после волны статей от хайповых авторов, я написал небольшое расширение для Хрома которое позволяет прятать нежелательные статьи из ленты. Расширение было встречено очень тепло (+285, 53_000 просмотров и 70+ звезд на гитхаб) и я даже опубликовал его в Chrome...

2. Group-IB. Комплексная защита сети. TDS Sensor Добрый день, коллеги! Продолжаем цикл статей, посвященный решениям информационной безопасности от компании Group-IB. В предыдущей статье мы кратко осветили комплексное решение для защиты от сложных киберугроз от компании Group-IB. Данная публикация будет посвящена модулю T...

[Из песочницы] Генетический алгоритм на Python для поиска глобальных экстремумов Предыстория Недавно в рамках учебной деятельности мне понадобилось использовать старый добрый генетический алгоритм в целях поиска минимума и максимума функции от двух переменных. Однако, к моему удивлению, на просторах интернета не нашлось подобной реализации на питоне, а в...

Пора на свалку Никогда не думал, что это случится со мной, но, похоже, я выгорел. А ещё мне стрёмно. Да, это ещё одна статья про выгорание. Я тут на днях смотрел на свою RSS-читалку и заметил, что под тегом «C++» у меня где-то три сотни непрочитанных статей. Я не прочитал ни одной статьи ...

[recovery mode] Хочешь заработать миллион? Всем известна фраза Рона Хаббарда «…хочешь заработать миллион — создай свою религию», которую он выдал в 1950 году. Тогда он создал ещё одну деструктивную секту, можно это было в 60-х в США — которая до сих пор пытается утвердиться в мире, как религия. Хотя, сорри, друзья. ...

Вышел Wine 6.0: что нового? С момента выхода Wine 5.0 прошел целый год, и разработчики представили стабильный релиз Wine 6.0. Обновлений много, всего в новой версии Wine более 8300 изменений. Главное, что стоит отметить, — поставка базовых модулей Wine в формате PE, бэкенд на основе графического API V...

[Перевод] Интересные CSS-находки в новом дизайне Facebook Я любопытен. Мне всегда интересно открывать инструменты разработчика браузера и разбираться с тем, как сделан какой-нибудь сайт, на который я заглянул. Этот материал представляет собой мой первый рассказ о таких вот изысканиях. Дело в том, что я обнаружил некоторые интересны...

Object Detection. Распознавай и властвуй. Часть 2 В прошлом посте я начал разбираться в двухступенчатых Object Detection моделях и рассказал о самой базовой и, соответственно, первою из них – R-CNN. Сегодня мы рассмотрим другие модели этого семейства: Fast R-CNN и Faster R-CNN. Поехали! Читать дальше →

[Перевод] Объединяем функции логическими операторами в C++ В преддверии старта занятий в новом потоке группы «Разработчик С++» подготовили перевод интересного материала. Большинство алгоритмов STL в C++ используют всего лишь одну функцию для выполнения некоторой работы над коллекцией. Например, чтобы извлечь все четные числа из ко...

Нужны ли резюме в IT? Идея “чтобы найти работу, нужно сначала написать резюме” уже стала настолько привычна для многих жителей больших городов России, что превратилась в ритуал, о смысле которого мало кто задумывается. Резюме является наиболее артефактом для карьеры в традиционных офисно-бюрократ...

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

Первые качественные рендеры и видео Huawei Mate 40 Pro от надёжного источника Компания Huawei представит новую флагманскую серию смартфонов Mate 40 только осенью. Тем временем, в сети продолжают накапливаться подробности о будущих новинках.  На этот раз, ресурс Pricebaba опубликовал качественные рендеры и видео с компьютерной моделью Huawei...

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

Делаем голову шинного USB-анализатора на базе комплекса Redd В прошлой паре статей мы рассмотрели пример «прошивки» для комплекса Redd, делающей его ПЛИСовую часть логическим анализатором общего применения. Дальше у меня было желание сделать следующий шаг и превратить его в шинный USB-анализатор. Дело в том, что фирменные анализаторы ...

MIUI 12 подробно и в картинках. Сравниваем с MIUI 11. Система реально хороша MIUI 12 сегодня — одна из любимых тем для обсуждения для всех фанатов бренда Xiaomi. Мы в редакции тоже с большим интересом наблюдаем за развитием оболочки, так как стоковый Android до сих пор во многом ей уступает, что по удобству и возможностям, что по стилю оформления. ...

Почему вам не надо становиться тимлидом? Привет, друзья. Эта статья написана Георгием Могелашвили (glamcoder), который работает на позиции Lead Developer в Booking.com в Амстердаме и отвечает за архитектуру и координацию нескольких технических команд в отделе маркетинга, а по совместительству Георгий преподает в OT...

Hack The Box. Прохождение Tabby. RCE в Tomcat, и повышаем привилегии через LXD Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox. В данной статье получим RCE в Tomcat, ломаем zip архив и повышаем привилегии с помощью LXD. Организационная информация Чтобы вы могли у...

В программном обеспечении самолета Boeing 737 Max обнаружена новая ошибка Источник сообщает, что компания Boeing обнаружила новую проблему с программным обеспечением авиалайнера Boeing 737 Max, но заверила, что устранение этого недостатка не помешает вернуть самолет в эксплуатацию в середине 2020 года. Авиастроитель выявил проблему во время ...

[Перевод] Эмуляция компьютера: интерпретатор CHIP-8 Меня, по ряду причин, всегда завораживала эмуляция. Программа, которая выполняет другую программу… Мне эта идея кажется невероятно привлекательной. И у меня такое ощущение, что тот, кто напишет подобную программу, не пожалеет ни об одной минуте потраченного на это времени....

История про магию, гномов, хитрого геймдизайнера и «эффективных» менеджеров Одолела меня на днях эдакая ностальгия. Повспоминал я старые добрые времена и извлек из архивов историю, которой хочу с вами поделиться. Случай этот приключился со мной двенадцать лет назад, и тогда же сподобился я написать большую историю про небольшую gamedev компанию. Или...

Моя USB визитка Всем привет! Помимо основной работы я делаю достаточно много пет-проектов, но никогда о них не писал. Сейчас я решил исправить ситуацию и написать о проекте, который только что завершил. На его создание меня вдохновила вот эта работа Джорджа Хиллиарда. Читать дальше &ra...

Волшебный ночной режим Xiaomi Mi 11 в действии. Xiaomi Mi 11 является первым телефоном на базе однокристальной системы Snapdragon 888, которая может похвастаться высочайшей производительностью в приложениях с использованием искусственного интеллекта. В основной камере используется программное обеспечение BlinkAI, кот...

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

Flutter + arduino nano 33 BLE sense = очень простой BLE sensor В этой статье я хочу рассказать как сделать очень простую bluetooth метеостанцию (куда уж без нее :) ) и написать мобильное приложение на Flutter для нее. Читать дальше →

Приложение для улучшения звука SoundID вышло на Windows и Mac Sonarworks впервые анонсировала свое программное обеспечение SoundID на CES. С помощью мобильного приложения вы создаете персонализированный звуковой профиль, который соответствует вашим предпочтениям. Там вы выбираете свою модель наушников, а программное обеспечение обрабат...

NoVerify: PHP-линтер, который работает быстро Для PHP есть хорошие утилиты статического анализа: PHPStan, Psalm, Phan, Exakat. Линтеры хорошо выполняют свою работу, но очень медленно, потому что почти все написаны на PHP (или Java). Для личного использования или небольшого проекта это нормально, но для сайта с миллионам...

[Перевод] В самом популярном фрагменте кода за всю историю StackOverflow ошибка!  Недавнее исследование «Использование и атрибуция сниппетов кода Stack Overflow в проектах GitHub» внезапно обнаружило, что чаще всего в опенсорсных проектах встречается мой ответ, написанный почти десять лет назад. По иронии судьбы, там баг. Давным-давно… Еще в 2010 году я ...

Калибровка Apple Watch: для чего нужна и как сделать? Перед тем как начать использовать Apple Watch во время тренировок с использованием приложения Активность, рекомендуется внести в устройство данные о своем возрасте и весе, а также указать свой пол (как это сделать, читайте ниже). Это необходимо для того, чтобы программное об...

Pixel 5 во всей красе и со всех сторон. Первые рендеры от надёжного источника В сети появились первые качественные изображения флагманского смартфона Pixel 5 из надёжного источника. Их опубликовал ресурс PriceBaba, получивший рендеры от известного сетевого информатора Onleaks.  Компания Google недавно представила недорогой смартфон Pixel 4a...

xAPI и IMS Caliper. Или ADL против IMS? Появление xAPI (ADL) не было неожиданным событием. Очень продолжительное время велись обсуждения TinCan'а, огромное количество открытых форумов «кипели» при обсуждении новой спецификации. И только после достаточного обсуждения, ADL выпустила релиз спецификации. Затем, уже ...

Как перезапустить закон Мура программными методами. Ускорение софта в тысячи раз Профессор Никлаус Вирт был прав. Создатель языка Pascal, соавтор технологии структурного программирования, лауреат премии Тьюринга в 1995 году заметил: «Замедление программ происходит куда быстрее, чем ускорение компьютеров» С тех пор это высказывание считается законом Вирт...

[Из песочницы] Создаем EXE Самоизоляция это отличное время приступить к тому, что требует много времени и сил. Поэтому я решил заняться тем, чем всегда хотел — написать свой компилятор. Сейчас он способен собрать Hello World, но в этой статье я хочу рассказать не про парсинг и внутреннее устройство ...

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

Любить всех человеков — лучшие доклады с TeamLeadConf за 5 минут Недавно мы с коллегами были на TeamLeadConf — это конференция об управлении, мотивации, найме, процессах и других штуках, полезных тимлидам. Обычно после конференций мы делимся впечатлениями с теми, кто на конференцию не пошел. Самый популярный формат — список топовых докла...

Catchain: алгоритм консенсуса блокчейна TON В предыдущем обзоре наша команда R&D рассказала о структуре Telegram Open Network и особенностях функционирования ключевых узлов (валидаторов) TON Blockchain, а также поделилась опытом Mercuryo, как валидатора сети. Эта статья посвящена одному из ключевых вопросов, отве...

Внедри это полностью. DI-in-JS Всем привет! Сегодня я попробую поэкспериментировать с Dependency Injection на чистом JavaScript. Тех кто не в курсе, что это за дичь и как ее готовить, приглашаю ознакомиться. Ну а у тех кто в курсе будет повод написать важный и полезный комментарий. Итак, погнали… Читать ...

Из разработчика в менеджеры и обратно Зимой 2012-го коллега предложил мне, С++ программисту с пятилетним стажем, написать первое приложение под Android. Ещё через год я начал руководить небольшой командой мобильных разработчиков, и с тех пор размеры моих команд стабильно росли. Но в прошлом году, после 2 лет рук...

«Каких Марин?» или управляем контроллером через bluetooth с помощью мобильного приложения на Xamarin (Android) В прошлой статье я пообещал рассказать, о том как подключать CANNY 3 tiny с помощью UART к bluetooth. И поскольку на этих майских особо не разгуляешься, было принято решение провести время с пользой и таки сдержать обещание. Но просто подключить контроллер к Bluetooth адапте...

4К (2160р) разрешение для игр PS1, PS2, PSP в эмуляторе Omega Red Привет всем читателям! Я продолжаю тему программного эмулятора для PlayStation 1, PlayStation 2 и PlayStation Portable — Omega Red. Более подробно: Видео гид по эмулятору Omega Red Поддержка геймпада для эмулятора Omega Red Новый PS1 графический рендерер для эмулятора ...

[Перевод] Пишем загрузчик на Ассемблере и С. Часть 2 В предыдущей статье я рассказал о процессе загрузки, а также продемонстрировал написание загрузочного кода на C и ассемблере, в том числе с вложением инструкций последнего в код первого. При этом мы написали несколько простых программ для проверки работоспособности внедрен...

Шутки и отсылки в «Гриффинах» на английском, которые нужно объяснять «Гриффины» — это своеобразный мультик для взрослых, который очень любят в США. По стилю он похож на «Симпсоны», но шутки в нем куда более жесткие. В русскоговорящих странах мультик был принят довольно холодно. Главная причина — практически все гэги и шутки завязаны на амери...

[Из песочницы] Предварительная обработка данных Всем привет! Я веб-разработчик и вот уже несколько лет интересуюсь машинным обучением. Поскольку в повседневной рабочей парктике мне приходится решать менее интересные для меня задачи, не связанные с машинным обучением, время от времени я забываю то, о чем когда-то читал или...

Использование алгоритмов ML для классификации многостраничных документов: опыт ВТБ В рамках кредитных конвейеров юридических лиц банки запрашивают у компаний оригиналы различных документов. Зачастую сканы этих документов поступают в виде единого многостраничного файла – «потока». Для удобства использования потоки нужно сегментировать на отдельные документы...

Трансформация цвета: поиски в прореженном столе Это обзор функциональности, появившейся в Pillow 5.4: применение трехмерных таблиц поиска (3D lookup tables, 3D LUT) для трансформации цвета. Эта техника широко распространена в обработке видео и 3D-играх, однако мало графических библиотек могли похвастаться их поддержкой до...

Квантовое машинное обучение: знакомимся с Tensorflow Quantum На Хабре практически нет информации про квантовое машинное обучение (Quantum Machine Learning), и в этой статье я постараюсь подробнее раскрыть тему. Сразу скажу, что промышленных квантовых компьютеров сегодня не существует, все основные разработки в этой области носят теоре...

[Из песочницы] Идея алгоритма для генерации перестановок Введение Здравствуйте! Я хочу рассказать Вам об идее алгоритма для генерации перестановок. Отмечу сразу, чтобы не показаться человеком открывающим Америку, я «гуглил» алгоритмы перестановок и их реализация отличалась. Если такой алгоритм уже существует, то пусть эта статья б...

Работа с памятью в Tarantool: Small — Specialized Memory ALLocators Tarantool — это персистентная NoSQL СУБД в памяти с хранимыми процедурами на Lua. В него встроен SQLite и дисковый движок (Vinyl). Также для Tarantool написано очень много расширений, поэтому многие считают его «сервером приложений». Здесь есть индексы разных типов, а в од...

Алгоритм Джонсона на орграфе с отрицательными дугами Статья подготовлена в преддверии старта курса «Алгоритмы и структуры данных» Алгоритм Джонсона находит кратчайший путь между всеми парами вершин во взвешенном ориентированном графе с отрицательными весами без негативных контуров. О, как звучит! Давайте разберём условие зад...

JS и его запретные тайны Так вышло, что наша компания искала разработчиков. В работе мы используем стандартный набор веб-технологий: HTML, CSS, Javascript, PHP, SQL. Во время проведения собеседований я был не то чтобы расстроен, а скорее обескуражен. Вопросы, на которые не могли ответить кандидаты, ...

Российские пасхалки в мобильных приложениях. Какие они? Привет, Хабр! Уже завтра День программиста (12.09.2020), и специально к нашему профессиональному празднику я написал не хардкорно-технический пост, а лайтовую статью о маленьких, не всегда очевидных фичах, которые хоть и не часто, но встречаются в мобильных приложениях и не ...

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

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

Чистый Cython VS nvc++: жжем металлические пластины на GPU для сравнения скорости Будем греть металлические пластины на GPU Все знают, что Python не блещет скоростью сам по себе. На мой взгляд язык прекрасен своей читабельностью, но основная ниша его применения там, где вы большую часть времени ожидаете ввода/вывода каких-то данных. Условно, вы можете...

[Из песочницы] Иерархическое логирование приложения в Базу Данных Всем, привет! В статье я хотел бы рассказать об одном из подходов к логированию приложения, который сильно помогал мне и коллегам при отладке, поиске ошибок и анализе проблем производительности. Про необходимость логирования было написано множество хороших статей в том числе...

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

Качаем! Эти обои для компьютера сделал Стив Джобс Думаю, вы успели обратить внимание, что сегодня считается чуть ли не признаком плохого тона говорить, что без Стива Джобса Apple катится в никуда. Причём эта критика идёт не столько в плюс Тиму Куку, который возглавляет компанию вот уже девятый год, сколько в минус критикую...

CRDT, RON и Сети Данных Эта статья о следующем эволюционном шаге в развитии систем обработки данных. Тема амбициозная, поэтому расскажу сначала немного о себе. Вот уже больше 10 лет я работаю над проектами в области CRDT и синхронизации данных. За это время успел поработать на университеты, стар...

[Перевод] Эффективность Brotli в реальном мире Одним из наиболее фундаментальных правил разработки быстрых веб-сайтов является оптимизация их ресурсов. Если речь идёт о текстовых ресурсах — о коде, написанном на HTML, CSS и JavaScript, это значит, что мы говорим о сжатии данных. Стандартом де-фактов в деле сжатия текс...

Скачать Windows 10X для компьютеров, ноутбуков и других устройств Еще в конце прошлого 2019 года американская корпорация Microsoft официально представила общественности свое новое творение, оказалась которым операционная система Windows 10X. Это программное обеспечение получило множество особенностей, причем еще во время его презентации п...

Новые шаблоны — IPMI, Mikrotik, MSSQL Статья написана на основе доклада Максима Чудинова, инженера-интегратора Zabbix. В этой статье мы расскажем о некоторых новых шаблонах, добавленных в версию Zabbix 5.0. IPMI Шаблон IPMI работает только с пятой версией системы мониторинга Zabbix, потому что построен на новом...

Когда работа в IT превращается в экстрим: установка спутникового оборудования в Республике Саха и Находке Всем привет, это Антон Кисляков, руководитель отдела инсталляции и эксплуатации беспроводных систем связи. Многие статьи об IT начинаются с вступления вроде «как-то я сидел в офисе, пил кофе с тимлидом, и нам пришла в голову идея…». Но мне бы хотелось рассказать о работе ...

Топ-10 Angular-приемов, выбранных сообществом В течение июня Саша Инкин и я, Рома Седов, запилили в Твиттере челлендж. Каждый день мы публиковали по совету, хитрости или просто какой-нибудь полезной штуке из нашего опыта работы с Angular. Это движение было тепло встречено и поддержано комьюнити разработчиков. Я решил на...

Интересные находки с AliExpress, на которые стоит обратить внимание - Apple AirPods 2, аккумуляторы формата 18650, озонатор воздуха AliExpress - онлайн площадка с колоссальным ассортиментом товаров, где цены более привлекательны, чем в магазинах. Сегодня я вам расскажу про лучшие находки, которые точно будут вам полезны. Итак, начнем!

Совершенный цикл for Сегодня необычный для меня формат статьи: я скорее задаю вопрос залу, нежели делюсь готовым рецептом. Впрочем, для инициирования дискуссии рецепт тоже предлагаю. Итак, сегодня мы поговорим о чувстве прекрасного. Я довольно давно пишу код, и так вышло, что практически всегда ...

На мобильных вышел point and click квест Secret Files 3 В конце марта студия Animation Arts Creative выпустила в App Store игру под названием Secret Files 3. Это третья часть серии приключенческих квестов, которая вышла в Steam еще в далеком 2012 года. Сегодня состоялся ее релиз в Google Play. Прошлые части доступны на обеих плат...

[Перевод] PEP 572 (Выражения присваивания в python 3.8) Привет, Хабр. В этот раз мы рассмотрим PEP 572, который рассказывает про выражения присваивания. Если Вы до сих пор скептически относитесь к оператору ":=" или не до конца понимаете правила его использования, то эта статья для Вас. Здесь вы найдёте множество пример...

SwiftUI по полочкам: Анимация. Часть 1 Недавно мне попалась свежая статья, в которой ребята пытались воспроизвести интересный концепт средствами SwiftUI. Вот что у них получилось: Я с интересом изучил их код, но испытал некоторое разочарование. Нет, не в том смысле, что они что-то сделали неправильно, вовсе...

Security Week 40: патч для уязвимости Zerologon в Windows Главная тема недели в области кибербезопасности — уязвимость в протоколе Netlogon, обнаруженная и закрытая в серверных версиях Windows еще 11 августа. Баг CVE-2020-1472, также известный как Zerologon, — это «суперуязвимость», критическая дыра с рейтингом CVSS в 10 баллов из ...

[Из песочницы] Автономизация Unit-тестов в PHPUnit Всем привет! Меня зовут Антон и сейчас (не так долго, около года) я разрабатываю на PHP в одном большом и старом проекте. Для обеспечения качества проекта мы применяем автотесты на фреймворке PHPUnit. Но, к сожалению, так получилось, что большая часть наших автотестов функц...

Эксперимент VTrade. Часть 3: Книга ордеров. Обработка и хранение торговой информации В прошлой статье цикла мы познакомились с типами биржевых заявок. Сегодня мы разберем книгу ордеров, обработку заявок и вопросы связанные с организацией хранения торговой информации. Читать дальше →

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

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

Обратная разработка аналоговой видеокамеры Ранее на хабре я публиковал статьи, связанные с системой аналогового видеонаблюдения. В частности, были статьи, связанные с изучением файловой системы HDD видеорегистратора (DVR). В данной статье речь пойдёт про обзор навороченной аналоговой видеокамеры модели Evidence EVR...

Nokia никуда не торопится. В этом году ожидаются всего четыре модели Nokia с поддержкой сетей пятого поколения На данный момент компания HMD Global предлагает пользователям только один смартфон с поддержкой сетей пятого поколения, который вышел под названием Nokia 8.3 5G, а в США продается как Nokia 8 V 5G UW. В этом году, как утверждают источники, компания выпустит четыре смарт...

Hisense 85U9E — первый в мире телевизор 8K HDR с двумя экранами Компания Hisense сегодня представила телевизор, который сама называет первым в мире двухэкранным телевизором 8K с HDR. Модель носит имя 85U9E и, как можно догадаться из названия, оснащена 85-дюймовой панелью. В данном случае двухэкранный — понятие конкретное. Напо...

[Из песочницы] Применение протокола Modbus с устройствами мониторинга транспорта Протокол Modbus – самый распространенный промышленный протокол для M2M- взаимодействия. Является стандартом де-факто и поддерживается почти всеми производителями промышленного оборудования. Благодаря универсальности и открытости, стандарт позволяет интегрировать оборудование...

Яндекс-функции рассылают почту Сегодня мы создадим т.н. Яндекс-функцию (официальное название Yandex Cloud Function), которая вступив в сговор с сервисом почтовых рассылок SendGrid будет слать «мыло» мирно спящим пользователям (шутка — я знаю, что все мы против спама). А ещё я противник (но без фанатизм...

Cisco рассказала о ключевых сетевых трендах на 2021 год Компания Cisco представила исследование на тему глобальных сетевых трендов 2021 Global Networking Trends Report: Business Resilience Special Edition. Данный отчет рассказывает о тенденциях, которые руководители сетевых и ИТ-служб должны учитывать в рамках обеспечения ...

Cisco рассказала о ключевых сетевых трендах на 2021 год Компания Cisco представила исследование на тему глобальных сетевых трендов 2021 Global Networking Trends Report: Business Resilience Special Edition. Данный отчет рассказывает о тенденциях, которые руководители сетевых и ИТ-служб должны учитывать в рамках обеспечения ...

За что критикуют инициативы британских интернет-регуляторов — разберемся, что к чему Более года назад британские власти выдвинули новые предложения по совершенствованию интернет-регулирования, но вокруг опубликованного ими «Online Harms White Paper» разгорелось масштабное обсуждение. «Белую бумагу» раскритиковали, и пока документ окончательно не перешел в фо...

Влезаем в шкуру офис-менеджера. Основные алгоритмы снабжения Написать эту статью я решил после посещения одного офиса – там не оказалось черного чая. Зеленого было полно, а черного не было. И с кофе были перебои. А еще после каждого посещения официального дилера, когда машина ломается, остается желание эту статью написать. Однажды да...

Обзор и тестирование Huawei Dorado 5000V6 Полгода назад я уже начинал рассказывать об обновлении линейки СХД компании Huawei – Dorado V6. На самом деле, мне удалось познакомиться с ними еще до официального анонса, и логично, что тогда у меня не было возможности потрогать их в работе собственными руками. В своей ста...

Дизассемблируем циклы, написанные на Си Доброго времени суток.Сегодня мы будем смотреть дизассемблированный код инструкций if, for, while, swich, которые написаны на языке Си. Воспользуемся radare2. Дизассемблировать код

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

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

Чемодан без ручки (часть 2) Prusa i4 В прошлый раз я рассказал об изменениях, которые внес в конструкцию этого "замечательного" принтера, но конечно же все что было сделано не принесло желаемого результата :) Поэтому настало время очередного, и не последнего абгрейда. И сразу же хочу сказать, чтобы не дочитав п...

Редкие кроссовки Apple принесли почти 10 000 долларов на аукционе Пара редких классических кроссовок Apple, была продана за 9687 $ на аукционе на этой неделе. Apple запустила линию модной одежды в 1986 году, но, как сообщается, эти модели были сделаны в качестве прототипов для сотрудников Apple в начале 90-х годов и никогда не поступали в...

Интересные находки с Aliexpress, на которые стоит обратить внимание - беспроводной ЦАП и предусилитель Arylic S50 Pr, наушники Bluedio Hurrican, Li-ion аккумулятор формата AAA и другое AliExpress - онлайн площадка с колоссальным ассортиментом товаров, где цены более привлекательны, чем в магазинах. Сегодня я вам расскажу про лучшие находки, которые точно будут вам полезны. Итак, начнем!

Эксплуатация Ceph: что такое Scrub и как им управлять Scrub — это процесс фоновой проверки консистентности данных в Ceph. Он позволяет выявить и устранить несоответствия в копиях, а также найти рассыпающиеся диски, чтобы вовремя их заменить. При этом сам Scrub может создавать высокую нагрузку на кластер и мешать другим процесс...

Рынок конвергентных систем за год вырос на 4,5% Рынок конвергентных систем в первом квартале 2020 года достиг 3,9 млрд долларов. Это на 4,5% больше показателя такой же период прошлого года. Эти данные содержатся в отчете, подготовленном специалистами аналитической компании IDC. Под конвергентными системами аналитики ...

[Перевод] История интернета: межсетевое взаимодействие Другие статьи цикла: История реле Метод «быстрой передачи сведений», или Зарождение реле Дальнописец Гальванизм Предприниматели А вот, наконец, и реле Говорящий телеграф Просто соединить Забытое поколение релейных компьютеров Электронная эра История электронных компьютер...

Эффективная среда для подготовки к сертификационному экзамену Во время "самоизоляции" подумалось получить пару сертификатов. Посмотрел на одну из сертификаций AWS. Материала для подготовки очень много — видео, спецификации, how-to. Очень времязатратно. Но ведь самое эффективное при сдаче экзаменов, основанных на тестах — про...

Выход OnePlus Watch отложен Анонс OnePlus Watch задерживается Практически все производители смартфонов выпустили свои смарт-часы и некоторые из них получились достаточно удачными. Отметится на ниве создания носимого гаджета хотела и OnePlus. Компания даже намекала на то, что планирует представить умные...

Angular для Vue разработчиков Сейчас во фронтенде среди фреймворков есть три явных лидера: Angular, React и Vue. Думаю, мы можем судить о любви разработчиков к проекту по количеству звезд на GitHub. На момент написания данной статьи у Vue уже 161 тысяча звезд, на втором месте находится React с 146 тысяча...

MIUI 12.5 может дебютировать уже на следующей неделе Оболочка MIUI 12 совсем недавно появилась для большей части линейки Xiaomi, но компания уже собирается представить следующую итерацию своего пользовательского интерфейса. Однако это MIUI 12.5, а не MIUI 13, как можно было бы ожидать, и он вполне может быть запущен 29 декабря...

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

[Перевод] Дзен Go Оценивая свою работу, я недавно много размышлял о том, как мне писать хороший код. Учитывая, что никто не интересуется тем, как писать плохой код, возникает вопрос: как узнать, что ты написал на Go хороший код? Если есть какая-то шкала между хорошо и плохо, то как понять, ...

Липкий гаджет из кино. На заре справедливости. Всем доброго дня. Сегодня передо мной встал трудный выбор ,о чем рассказать сегодня. Долго прокручивая свою копилку неопубликованных работ не мог решиться, что же показать. Но остановился на одной интересной штуке небольшого размера из кинофильма. Ранее я уже публиковал одну...

Dell Precision 7550: мощная и портативная рабочая станция для дизайнеров и видеографов На рынке предостаточно ультратонких ноутбуков, которые идеально подходят для большинства офисных задач. Но если дело доходит до работы с требовательным ПО, то приходится смотреть в сторону более мощных устройств. Например, игровых ноутбуков, которые не могут похвастаться ни ...

[Перевод] OCR для PDF в среде .NET — как извлечь текст из недоступных для поиска PDF документов Извлечение текста — одна из популярных задач обработки PDF документов. Вам потребуется извлечь текст из PDF, чтобы: проиндексировать документ для полнотекстового поиска распарсить некоторые данные (например, названия и цены товаров в прайс-листе) выделить, удалить или замен...

MCMC-методы и коронавирус: часть первая, вступительная Привет, коллеги! Сто лет не писал на Хабр, но вот время настало. Весной этого года я вёл курс «Advanced ML» в Академии больших данных Mail.ru; кажется, слушателям понравилось, и вот сейчас меня попросили написать не столько рекламный, сколько образовательный пост об одной и...

Зачем инженерам тратить время на перформанс Привет, меня зовут Михаил Юдин, я Android-инженер в Авито. Хочу рассказать, в чём польза перформанса и как начать внедрять его в продукте. Осенью 2018 года у нас появилась команда перформанса — есть шаги и инструменты, которые нам помогли, поэто...

Synology представила сетевое хранилище DS1821 + на базе AMD Ryzen Synology DS1821 + представляет собой решение для управления и хранения данных с высокой емкостью и производительностью. DS1821 + оснащен 4 ядерным процессором AMD Ryzen. Для увеличения емкости хранения доступно 8 отсеков. Synology DS1821 + поддерживает RAID-массив. Устр...

Сервис на языке Dart: каркас серверного приложения Оглавление 1. Введение 2. Backend 2.1. Инфраструктура. 2.2. Доменное имя. SSL 2.3. Каркас серверного приложения (мы находимся здесь) ... 3. Web 3.1. Flutter web-страница ... 4. Mobile ... Подготовка В ...

[Перевод] Алгоритм Беллмана-Форда В преддверии старта курса «Алгоритмы для разработчиков» подготовили очередной перевод интересной статьи. Задача: Дан граф и начальная вершина src в графе, необходимо найти кратчайшие пути от src до всех вершин в данном графе. В графе могут присутствовать ребра с отрицатель...

Oppo Find X 2 выйдет в начале 2020 года с Snapdragon 865 на борту Qualcomm Tech Summit прошла для многих компаний очень успешно, в частности для китайского гиганта Oppo. Во время проведения конференции компания рассказала о планах выпуска своего следующего флагманского смартфона на базе мобильной платформы Snapdragon 865 в первом квартале ...

Пикселизация больше не защитит информацию на изображениях — появился алгоритм, способный восстановить картинку Многие пользователи в интернете для скрытия конфиденциальной информации на видеороликах и фотографиях пользуются пикселизацией (сильное снижение разрешения). Однако теперь этот способ будет малоэффективен — в сети появился алгоритм, который восстанавливает пиксилизированный ...

Суд впервые защитил авторским правом текст, написанный искусственным интеллектом В течение пяти лет китайский технический титан Tencent публиковал статьи, созданные автоматизированным программным обеспечением Dreamwriter, уделяя основное внимание материалам на тему бизнеса и финансов. Алгоритмы для ИИ, создающего новостной контент, эксперты Tencent разра...

Обзор малоизвестного принтера Tevo Tarantula RS (Tarantula pro) ч.1 Всем доброго времени суток, форумчане.Давно уже пытаюсь написать данный обзор, да все руки никак не доходили, по этому сегодня напишу только одну часть, но и она будет достаточно длинная.Хотел бы сразу указать магазин, где покупался данный аппарат, так как больше в продаже я...

Анализ международных документов по управлению рисками информационной безопасности. Часть 2 В предыдущей части мы описали общую концепцию риск-менеджмента и раскрыли методы управления рисками в соответствии с документами NIST SP серии 800. В данной части мы продолжим обзор международных документов по управлению рисками информационной безопасности: у нас на очереди ...

[Перевод] Service mesh — это всё ещё сложно Прим. перев.: эта небольшая статья Lin Sun из IBM в блоге CNCF — занятная иллюстрация тех сложностей, над преодолением которых сейчас трудятся инженеры популярных реализаций service mesh. С ними становится понятным, почему порог вхождения у этих продуктов остаётся довольно б...

Самое важное преимущество 5G – не скорость, а поддержка слайсинга При обсуждении сильных сторон новых сетей 5G обычно делают наибольший акцент на небывалой скорости передачи данных, символических значений задержки и оптимизации для работы с Интернетом вещей. Однако, по словам Пола Чаллонера, вице-президента по сетевым решениям Ericsson в С...

[Из песочницы] Прототипы в JS и малоизвестные факты Лирическое вступление  Получив в очередной раз кучу вопросов про прототипы на очередном собеседовании, я понял, что слегка подзабыл тонкости работы прототипов, и решил освежить знания. Я наткнулся на кучу статей, которые были написаны либо по наитию автора, как он "чувс...

Памятка по борьбе с алкоголем или Как пережить фуршеты Тут вот праздники скоро. Спросил недавно друг «как мне это все пережить?». Я сначала объяснял, а потом решил написать статью на хабр. Рассказанное — услышит один человек, а написанное — прочитаю сотни! Меня, если честно, достаточно сильно раздражают всевозможные застолья. По...

HackTheBox. Прохождение Unbalanced. Rsync, EncFS, Squid, XPath инъекция и RCE в Pi-hole Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox. В данной статье разбираемся с резервной копией в rsync, подбираем пароль для EncFS, работаем со squid прокси-сервером, эксплуатируем XPath инъекцию и эксплуатируем RCE в Pi-hole. ...

Видео гид по эмулятору Omega Red Привет всем читателям! Я продолжаю тему программного эмулятора для PlayStation 1, PlayStation 2 и PlayStation Portable — Omega Red. Более подробно: Поддержка геймпада для эмулятора Omega Red Новый PS1 графический рендерер для эмулятора Omega Red Omega Red + PS1 эмулято...

Визуализация сложных данных с использованием D3 и React Существует много возможныx вариантов реализации сложных графиков в ваших проектах. Я за несколько лет попробовал все возможные варианты. Сначала это были готовые библиотеки типа AmCharts 4. AmCharts сразу же оказался большим и неповоротливым. После этого были более гибкие и ...

Обзор Eaton 5PX1500i Rt2u. ИБП для серверов и систем хранения Тестируемый сегодня ИБП Eaton 5PX1500i Rt2u не ориентирован на массовый сегмент. Основное применение – установка в серверную стойку для обеспечения работы от резервного источника питания серверов, сетевого оборудования, систем хранения и устройств VoIP. Его отличает высокий ...

Рынок конвергентных систем за год вырос на 4,5% Рынок конвергентных систем в первом квартале 2020 года достиг 3,9 млрд долларов. Это на 4,5% больше показателя такой же период прошлого года. Эти данные содержатся в отчете, подготовленном специалистами аналитической компании IDC. Под конвергентными системами аналитики ...

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

Для обеспечения надежной защиты данных компания Infortrend обновила ПО Компания Infortrend® Technology, Inc. (TWSE: 2495), являющаяся ведущим в своей отрасли поставщиком корпоративных хранилищ, обновила программное обеспечение для своих средств хранения данных с целью предотвращения одновременного выхода из строя нескольких твердотель...

[Из песочницы] Пишем спецификацию под Nvidia Kepler (бинарники CUDA, версия языка sm_30) для Ghidra Для обычных процессорных языков уже написано довольно много спецификаций для Ghidra, однако для графических ничего нет. Оно и понятно, ведь там своя специфика: предикаты, константы, через которые передаются параметры в том числе, и другие вещи, унаследованные от шейдеров. Кр...

Security Week 15: настоящие и воображаемые уязвимости Zoom В четверг 2 апреля издание The Guardian поделилось впечатляющими цифрами о платформе для веб-конференций Zoom: рост посещаемости этого сервиса составил 535%. Определенно Zoom лучше конкурентов смог воспользоваться ситуацией, получив прирост если не в деньгах, то точно в попу...

[Перевод - recovery mode ] Хост KVM в паре строчек кода Привет! Сегодня публикуем статью о том, как написать хост KVM. Мы увидели ее в блоге Serge Zaitsev, перевели и дополнили собственными примерами на Python для тех, кто не работает с языком С++. KVM (Kernel-based Virtual Machine) — это технология виртуализации, которая постав...

Микросервисы на С++. Выдумка или реальность? В этой статье я расскажу о том, как создал шаблон (cookiecutter) и настроил окружение для написания REST API сервиса на С++ с использованием docker/docker-compose и пакетного менеджера conan. Во время очередного хакатона, в котором я участвовал в качестве бекенд-разработч...

Оператор в Kubernetes для управления кластерами БД. Владислав Клименко (Altinity, 2019) Доклад посвящен практическим вопросам разработки оператора в Kubernetes, проектированию его архитектуры и основных принципов функционирования. В первой части доклада рассмотрим: что такое оператор в Kubernetes и зачем он нужен; как именно оператор упрощает управление сложн...

[Перевод] «Привет, мир»: разбираем каждый шаг хэш-алгоритма SHA-256 SHA-2 (Secure Hash Algorithm), в семейство которого входит SHA-256, — это один самых известных и часто используемых алгоритмов хэширования. В тексте подробно покажем каждый шаг работы этого алгоритма на реальном примере. SHA-2 отличается безопасностью (его тяжелее взломать,...

Обновление OnePlus 7T и OnePlus 7T Pro до Android 11 отложено до следующего года В то время как OnePlus уже выпустила обновление Oxygen OS 11 на базе Android 11 для серий OnePlus 8 и 8T, обновление Android 11 для прошлогодней серии 7T еще впереди. Теперь компания заявила, что обновление Android 11 будет отложено до следующего года из-за некоторых проблем...

PDF-файлы оказались «непригодны для работы» Любой, кто просматривал PDF-файл на своем смартфоне, знает, насколько это неудобно: изображение приходится кадрировать двумя пальцами и постоянно прокручивать не только вверх и вниз, но и вправо-влево. Якоб Нильсен, соучредитель консалтинговой фирмы Nielsen Norman Group, исс...

[Перевод] Трюки с виртуальной памятью Я уже довольно давно хотел написать пост о работе с виртуальной памятью. И когда @jimsagevid в ответ на мой твит написал о ней, я понял, что время пришло.Виртуальная память — очень интересная штука. Как программисты, мы прекрасно знаем, что она есть (по крайней мере, во всех...

Перфекционизм, отмена: как техническим специалистам писать статьи Цитата анонимного тимлида о том, как он обычно готовит текст: «Написание статьи технические специалисты обычно воспринимают так: автор сформулировал тему, немного подумал, сел и выдал текст сразу на чистовик. Естественно, в реальности все работает по-другому. Из-за этого &...

Реклама на YouTube: достучаться до программистов Известный американский маркетолог Стюарт Бритт говорил: «Вести бизнес без рекламы – всё равно, что подмигивать девушке в темноте: вы-то знаете, что вы делаете, а остальные – нет». Сложно не согласиться, ведь недостаточно просто создать продукт — чтобы им пользовались, нужно...

[Перевод] Цена tailing'а логов в Kubernetes Прим. перев.: эту статью написал старший DevOps-инженер американской компании Olark, главный продукт которой — live chat — используют тысячи организаций. Автор делится размышлениями о проблеме потребляемых ресуров при сборе логов и результатами своего эксперимента с fluentd,...

Спасти рядового датасайнтиста. Как работать над компьютерным зрением, чтобы сделать проект и не потерять себя Меня зовут Александра Царева. Я и мои коллеги работаем над проектами в сфере компьютерного зрения в Центре машинного обучения компании «Инфосистемы Джет». Мне хочется поделиться нашим опытом разработки и внедрения проектов в сфере компьютерного зрения. В этом материале я р...

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

Коронные мемы: смех против паники Вместе с пандемией, карантином и оправданными страхами мы столкнулись также и с разными нелогичными и абсурдными ситуациями. Над которыми остается только посмеяться. Тем более смех – это один из способов сохранить спокойствие, когда так легко податься панике. Редакция «Тепл...

Обзор 3D принтера Anycubic Photon Zero и устройства 2в1 Anycubic Wash&Cure Добро пожаловать в Цветной мир!Сегодня мы расскажем Вам про две интересные новинки от Anycubic.Компания Anycubic существует с 2015 года, но за эти 5 лет уже успела зарекомендовать себя, как производитель 3д-принтеров с очень достойным качеством и вполне приемлемыми ценами. Т...

ЕГИСЗ будет собирать обезличенные данные из электронных медицинских карт Данные, как сказано в пояснительной записке к документу, на которую ссылается D-Russia,, необходимы для их использования в целях создания алгоритмов и методов машинного обучения с целью формирования систем поддержки принятия врачебных решений, создания и применения технологи...

Создаем калькулятор на Swift 5 В преддверии старта базового курса «iOS-разработчик» публикуем статью, которую написал наш внештатный автор. Всем привет! Прошло уже больше года с того момента, как появился релиз Swift 5, который принес разработчикам много нового. В этой статье я хочу поговорить о мобиль...

Открываем доступ к практическому курсу по работе с DLP-системой Чисто практический пост. Не будем повторять известное про сложившуюся ситуацию, возможности попробовать новые форматы работы, про выделить время на учебу – вы сами знаете. Сразу к делу. Мы расчехлили наш курс для ИБ-аналитиков по работе с DLP-системой. Начинаем с понедельник...

Когда я на часах Мы тут открыли позицию инженера поддержки в команде GoLand. Это сподвигло меня рассказать, как это у нас происходит. На Хабре уже есть хорошая статья об этом из 2014 года. Но, во-первых, GoLand тогда еще не существовал. А, во-вторых, многое с тех пор поменялось. Хотя забавно...

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

Тестирование со всех сторон: о чём расскажут на Heisenbug Программа конференции Heisenbug готова, настало время представить её Хабру. Понятно, что там расскажут о тестировании, но как именно? Среди блоков программы — инструменты тестирования, нагрузочное тестирование, тестирование веба и мобильных приложений, даже ИИ. А кроме докл...

[Перевод] Закон Патрика Маккензи: экономика программного обеспечения больше, чем вы думаете, даже учитывая закон Патрика Маккензи Предистория 12 мая 2020 года Остин Оллред (Austen) написал в Твиттере: «Самое интересное, что Lambda School постоянно натыкается на все эти маленькие компании по разработке ПО, о которых никто никогда не слышал, зарабатывающие по 10 миллионов долларов в год с командой из 2...

Маршалинг и анмаршалинг нестандартных форматов дат в Go Думаю, многие согласятся, что работа с датами практически в любом языке программирования это невероятная головная боль. Дата и время не десятичны, часовые пояса — господи, почему они не могут быть просто целыми — ну и конечно бесчисленное множество форматов даты и времени. М...

Обфускация как метод защиты программного обеспечения Обфуска́ция (от английского obfuscate — делать неочевидным, запутанным, сбивать с толку)  в широком смысле - приведение исходного текста или исполняемого кода программы к виду, сохраняющему её функциональность, но затрудняющему анализ, понимание алгоритмов раб...

Что умеет Dialogflow? 26 ноября в Москве прошла третья в своей истории Conversations – конференция по разговорному искусственному интеллекту для разработчиков и бизнеса, на которой был представлен новый доклад компании «Аэроклуб ИТ». В прошлый раз речь шла об одном из наших исследовательских пр...

Вышел первый трейлер боевика F9: The Fast Saga / «Форсаж 9», премьера фильма состоится 22 мая 2020 года [видео] Как и было обещано на этой неделе, киностудия Universal Pictures представила первый трейлер боевика F9: The Fast Saga / «Форсаж 9» с Вином Дизелем в главной роли. Анонс был выполнен в формате полноценного концерта с популярными музыкальными исполнителями и актерами из фильма...

[Перевод] Мой ответ тем, кто полагает, что значение TDD преувеличено Однажды я разговорился с разработчиком из компании-клиента о программном обеспечении. Мне стоило бы понять то, что разговор пошёл куда-то не туда, когда собеседник сказал о том, как нам, разработчикам ПО, повезло: «Мы обманом заставляем организации платить нам за, как кажетс...

Баги первого электромобиля Volkswagen исправляют 10 000 инженеров Премьера первого в истории Volkswagen серийного электромобиля ID.3 состоялась осенью 2019 года, а поставки машин клиентам планировалось начать летом 2020 года. Но, как стало известно журналистам, продажи хэтчбека могут отложить на год — до лета 2021 года. Причиной проблемой ...

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

Искусственный интеллект GPT-3, разработанный компанией Илона Маска, написал эссе для The Guardian Британское издание The Guardian опубликовало колонку, написанную искусственным интеллектом GPT-3.

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

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

Как получить Windows 10 дешевле $8 и другие скидки на распродаже GoDeal24.com Магазин GoDeal24.com запустил осеннюю распродажу с большими скидками на продукты Microsoft. Так, ключи на операционную систему Windows 10 можно приобрести за половину стоимости. А на офисные приложения действуют ещё более щедрые скидки. Windows 10 со скидкой 50% Сейчас удач...

Представлен Team Group T-Force Cardea Zero Z330 В последнее время твердотельные накопители стали более доступными для тех, кто хочет получить необходимый ему объем памяти. Это лет пять назад твердотельный накопитель казался чем-то невероятно дорогим, а сейчас цена HDD и SSD практически сравнялась, осталось еще пару лет и ...

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

Интересные находки с Aliexpress, на которые стоит обратить внимание - беспроводной ЦАП и предусилитель Arylic S50 Pr, Li-ion аккумулятор формата AAA, набор ножей из дамасской стали AliExpress - онлайн площадка с колоссальным ассортиментом товаров, где цены более привлекательны, чем в магазинах. Сегодня я вам расскажу про лучшие находки, которые точно будут вам полезны. Итак, начнем!

Интересные находки с AliExpress, на которые стоит обратить внимание - фитнес-браслет Redmi Smart Band, карманные спортивные часы, Li-ion аккумулятор формата AA USB 1200 мАч и другое AliExpress - онлайн площадка с колоссальным ассортиментом товаров, где цены более привлекательны, чем в магазинах. Сегодня я вам расскажу про лучшие находки, которые точно будут вам полезны. Итак, начнем!

Подделка серверных запросов, эксплуатация Blind SSRF Есть такая штука, называется SSRF. Про нее написано немало, но все же, я расскажу тебе вкратце. Допустим, ты заходишь на сайт, заполняешь профиль и доходишь до пункта “загрузить аватарку”. А у тебя выбор — загрузить файл или указать ссылку. Читать дальше →

Работа на удаленке: как настроить круглосуточный доступ к офисному компьютеру и его файлам Если раньше удаленный формат работы был просто трендом, то сейчас стал необходимостью. И многие из-за принудительного режима самоизоляции столкнулись с проблемой доступа к файлам и приложениям, хранящимся на офисном компьютере. В этой статье расскажу о нашем решении — Para...

CRUD для NMAP’а: решение для мониторинга открытых портов на хостах Привет, Хабр! Меня зовут Рудаков Александр, я занимаюсь информационной безопасностью в компании "ЛАНИТ-Интеграция". Однажды, в рамках работы над проектом, мне понадобилось организовать небольшой непрерывный мониторинг (с хранением истории) открытых портов в подсети...

Как конвертировать PDF в JPEG бесплатно на компьютере Windows и Mac Существует множество ситуаций, требующих конвертации документов в формате Portable Document Format (PDF) в JPG-изображения. Формат PDF отлично подходит для совмещения текста с графическими изображениями, однако для работы с PDF-документами, как правило, требуются дополнитель...

«Нюхач» - Сериал-находка или сплошное надувательство? Полно киноляпов - Украинцам стыдно, но они уже не могут остановиться. Первая серия Нохача была представлена в далеком 2013 году. Тогда идея и сюжет сериала вызывали большой интерес среди зрителей. Новая история о парне, который может раскрывать преступления с помощью собств...

«Нюхач» - Сериал-находка или сплошное надувательство? Полно киноляпов - Украинцам стыдно, но они уже не могут остановиться. Первая серия Нохача была представлена в далеком 2013 году. Тогда идея и сюжет сериала вызывали большой интерес среди зрителей. Новая история о парне, который может раскрывать преступления с помощью собств...

MKS Robin Nano 2.0. Новый хит? Владельцы Robin Nano, вы еще хотите SKR, тогда мы идем к вам.

[Перевод] Я перехожу на JavaScript После того, как я 5 лет писал на Go, я решил, что мне пора двигаться дальше. Go хорошо послужил мне. Вероятно, это был лучший язык, которым я мог бы пользоваться столько времени, но теперь настал момент оставить Go. Не могу сказать, что я насмотрелся на ограничения и пробле...

[Перевод] Как построить четкие модели классов и получить реальные преимущества от UML. Часть 2 Вторая часть перевода статьи Леона Старра, инженера программных моделей. Первая часть вот здесь. В этой части — о семантике и о том, что отличает хорошую модель. Читать далее

[Из песочницы] HTTP Error 503. Service Unavailable: случай в поддержке хостинга Работа в поддержке хостинга в основном однотипная, большинство запросов от клиентов решаются по проработанной схеме, но иногда всё же приходится сталкиваться с нетривиальными проблемами. Тогда главная задача инженера — найти тот самый — единственно верный путь, который приве...

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

HackTheBox. Прохождение Intanse. Flask, атака HLE, SQL инъекция, SNMP to RCE, Ret2Libc Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox. В данной статье получаем секрет Flask с помощью SQL инъекции, проводим криптоатаку удлинения сообщения, получаем RCE с помощью SNMP, и эксплуатируем уязвимость переполнения буфера в при...

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

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

Скремблер: надёжно и просто Эта статья написана для того, чтобы рассказать читателю, что такое скремблеры, обозначить области их применения и затронуть некоторые практические тонкости, а также раскрыть секреты алгоритма скремблирования.Зачем и почему?Иногда возникает необходимость зашифровать трафик, н...

Немного SQL алхимии О популярной библиотеке SQLAlchemy для работы с разными СУБД из Python было написано довольно много статей. Предлагаю вашему вниманию обзор и сравнение запросов с использованием ORM и SQL подходов. Данное руководство будет интересно прежде всего начинающим разработчикам, пос...

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон Я делаю много ревью для чужого кода на Ансибл и много пишу сам. В ходе анализа ошибок (как чужих, так и своих), а так же некоторого количества собеседований, я понял основную ошибку, которую допускают пользователи Ансибла — они лезут в сложное, не освоив базового. Для исправ...

Облако для SOA приложений и не только Привет Хабр.Сегодня я хочу рассказать про своё детище - платформу "qSOA.cloud", которая позволяет запускать приложения построенные по SOA в облаке по разумной цене. Например, стоимость размещения простого HTTP API сервиса, который обрабатывает ~400 000 запросов в сутки, мож...

Source Code Walkthrough of Telegram-iOS: обзор кода Telegram Source Code Walkthrough of Telegram-iOS — серия статей, в котором разработчик исследует открытый код Telegram. В его коде существует решение для многих практических инженерных задач, таких как надежное сетевое соединение, безопасное хранение данных, реактивные события,...

Быстрая сеть в домашней лаборатории или как я связался с InfiniBand Пусть надо мной посмеются сетевые инженеры в больших интеграторах, у которых есть доступ к топовому оборудованию за кучу килобаксов. Я хочу рассказать о том, как можно получить свою домашнюю сетку, которая будет быстрой, и не разориться.tl;dr Если кому интересно, то сейчас т...

Hisense 85U9E — первый в мире телевизор 8K HDR с двумя экранами Компания Hisense сегодня представила телевизор, который сама называет первым в мире двухэкранным телевизором 8K с HDR. Модель носит имя 85U9E и, как можно догадаться из названия, оснащена 85-дюймовой панелью. В данном случае двухэкранный — понятие конкретное. Нап...

'Hello World' вам в облако Мир сходит с ума, заталкивая калькулятор для 2+2 в облака. Чем мы хуже? Давайте Hello World затолкаем в три микросервиса, напишем пару-тройку тестов, обеспечим пользователей документацией, нарисуем красивый пайплайн сборки и обеспечим деплой в условный облачный прод при успе...

Разделяй и властвуй: Microsoft Word и PowerPoint в iPad будут поддерживать многооконный режим Наконец Microsoft сделает свои продукты еще более удобными с будущим обновлением, которое позволит просматривать два документа Word или PowerPoint бок о бок. В iOS на iPad уже давно есть функция разделения экрана, но iPadOS 13 в прошлом году поднял ее на новый уровень. Это п...

General Motors отложил премьеру электромобиля GMC Hummer EV, назначенную на 20 мая, и опубликовал новый видеотизер модели Только вчера мы написали о том, что Ford и Lincoln отказались от проекта электрокроссовера на основе скейтборд-платформы Rivian из-за коронавируса, как сегодня аналогичные новости пришли от другого американского автопроизводителя. К счастью, General Motors не стали отказыват...

VPN-сервер на роутере. Автоподключение VPN в Windows с блокировкой доступа к интернету кроме VPN-соединения Полный и подробный туториал как поднять VPN-сервер на роутере, реализовать автоподключение к нему в системе Windows и разрешить выход в интернет только через VPN. Статья написана достаточно подробно, с расчетом даже на тех людей, кто впервые зашел в раздел Windows «Сетевые ...

Проектные решения: игра по твоим правилам Не секрет, что чем крупнее программный проект, тем больше его успех зависит от результатов работы аналитиков, в частности, от выбора правильной стратегии составления и согласования проектных решений. Однако как организовать работу этих творческих сотрудников? И как сделать т...