Search
Write a publication
Pull to refresh
5
0
Андрей @UncleAndy

User

Send message

Как мы раскрыли 24-летний баг в ядре Linux

Reading time13 min
Views46K

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

Ручное управление памятью в языке Go

Reading time12 min
Views14K
Привет, Хабр!

Наши читатели не могли не заметить нашего растущего интереса к языку Go. Наряду с книгой из предыдущего поста, у нас найдется на эту тему немало интересного. Сегодня мы хотим предложить вам перевод материала «для профи», в котором демонстрируются интересные аспекты ручного управления памятью на Go, а также одновременное выполнение операций над памятью на Go и C++.
Читать дальше →

Вертикальное автомасштабирование pod'ов в Kubernetes: полное руководство

Reading time22 min
Views31K

Прим перев.: месяц назад Povilas Versockas, CNCF Ambassador и software engineer из Литвы, написал очень подробную статью о том, как работает и как использовать VPA в Kubernetes. Рады поделиться её переводом для русскоязычной аудитории!

Это полное руководство по вертикальному автомасштабированию pod'ов (Vertical Pod Autoscaling, VPA) в Kubernetes. Из него можно узнать, что такое вертикальное автомасштабирование pod'ов, зачем оно нужно и как работает, как устроена модель ресурсных требований Kubernetes, когда использовать VPA и какие существуют ограничения.

Читать далее

Сотрудничество с самозанятыми: преимущества и «подводные камни»

Reading time7 min
Views24K

Численность зарегистрированных плательщиков налога на профессиональный доход (НПД) в феврале 2021 года достигла 1,7 млн человек. На практике плательщиков НПД обычно называют самозанятыми, хотя в законодательстве и нет такого термина. Расскажу о плюсах и минусах сотрудничества с самозанятыми для бизнесменов.


image


Зачем бизнесменам работать с самозанятыми


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

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

Ученые создали машину для изобретения математики

Reading time4 min
Views15K


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


Но выдвинуть красивую гипотезу сложно. Все самые элегантные и естественные, вроде гипотезы Эйлера, теоремы Ферма, формулы Римана — были предложены ещё сотни лет назад. Для развития математики ей нужны новые проблемы. И новые формулы, доказательства к которым можно было бы находить.


Для этого группа исследователей из института Технион в Израиле вместе с Google создала автоматизированную систему генерации математических гипотез. Её назвали «Машиной Рамануджана» — в честь знаменитого математика начала XX века, разработавшего тысячи новаторских формул почти без формального обучения. Программа уже выдвинула несколько оригинальных и важных уравнений для некоторых математических констант, а вокруг машины уже развивается активное математическое сообщество. Научный труд ученых был опубликован на прошлой неделе в журнале Nature.

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

Начало работы с нейронными сетями

Reading time13 min
Views53K

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

Читать далее

Manticore Search — форк Sphinx: отчёт за 3 года

Reading time12 min
Views19K

В мае 2017 мы, команда Manticore Software, сделали форк Sphinxsearch, который назвали Manticore Search. Ниже вы найдёте краткий отчёт о проделанной работе за три с половиной года, прошедших с момента форка.

Читать далее

Рецепт обучения нейросетей

Reading time15 min
Views29K

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

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

Читать далее

Кластер PostgreSQL внутри Kubernetes: что нужно знать для успешного внедрения

Reading time8 min
Views26K
Хабр, привет!

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



Будут схемы-примеры для наглядности и обзор возможных кейсов, начнем!
Читать дальше →

Сравнительно недорого строим себе верстак

Reading time12 min
Views49K

Если вы любите что-то делать руками, то скорее всего вам нужен верстак, или рабочий стол. Какой?

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

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

Мы поговорим о верстаке для работ по дереву, и начнем мы с того, какие вообще бывают верстаки для столярки (скажу сразу, список типов далеко не полный).

Ну что, поехали...

Хранение данных в Docker

Reading time7 min
Views106K


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


В этой статье рассмотрим docker volumes, bind mount и tmpfs, дадим советы по их использованию, проведём небольшую практику.

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

Как удалить «неудаляемые» приложения со смартфона

Reading time5 min
Views277K


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

Оказывается, некоторые программы невозможно удалить. Например, на отдельных моделях Samsung невозможно удалить Facebook (есть только опция 'disable'). Говорят, на Samsung S9 вдобавок предустановлены «неудаляемые» приложения Microsoft.

Эти смартфоны приведены для примера. Такая же проблема и на других моделях. На многих есть неудаляемые программы от самого производителя.

Всё это надо зачистить.
Читать дальше →

git-ssb — децентрализованный хостинг git-репозиториев

Reading time6 min
Views13K

SSB (Secure Scuttlebutt) - это децентрализованная социальная сеть и протокол, на основе которого она работает. git-ssb заворачивает обычные git-репозитории в этот протокол. SSB хочет заменить собой Facebook, а git-ssb - GitHub. Под катом - краткое руководство по git-ssb. Актуально для тех, кому дискомфортна сама идея использования централизованных сервисов в качестве посредника. Своеобразная красная таблетка с полагающимися в этом случае неожиданными последствиями.

Wake up, Neo …

Опасные мифы о клещах

Reading time5 min
Views22K

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

Читать далее

Черные дыры и голограммы

Reading time26 min
Views13K

Эта статья является четвертой заключительной и самой объемной частью конспекта книги «Скрытая реальность: Параллельные миры и глубинные законы Космоса».

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

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

Читать далее

Четырёхмерный лабиринт с видом от первого лица

Reading time4 min
Views32K

Существует более 30 игр с дополнительным пространственным измерением (список на википедии), которые разнообразными способами визуализируют и пытаются сделать доступной для понимания наличие четвёртой координаты. Но среди тех игр, с которыми я ознакомился, не нашел для себя такой, которая сочетала бы в себе следующие факторы:

- вид от первого лица

- возможность свободного перемещения и вращения во всех направлениях, без жестко заданных траекторий и углов поворота

- простая и привычная графика, с текстурами и освещением

- отсутствие лишних геймплейных элементов и бóльшая направленность игры на исследование четырёхмерного мира

К тому же, было желание самому сделать нечто подобное, поэтому решил создать минимальную версию такой игры — процедурно генерируемый четырёхмерный лабиринт, с визуализацией 3D сечениями. О том, что из этого получилось, читайте далее.

Читать далее

Утро 1 января: что нужно знать про новый закон об удаленке

Reading time6 min
Views54K

В 2020 году многие компании переводили сотрудников на удалёнку. Далеко не всегда они оформляли это юридически правильно. Одно из типичных нарушений - отправить работника на удалёнку без его письменного согласия.Но знали ли вы, что все это время не было никакого правового статуса у удаленки в ТК РФ? 

В декабре Госдума приняла закон, который меняет правила удалённой работы. Новое регулирование вступает в силу с 1 января 2021 года. Больше нельзя будет снижать ЗП сотрудника из-за удалёнки, а для подписания большинства документов теперь не нужна электронная подпись. Об этих и других фактах читайте ниже. 

Читать далее

Алгоритм SHA-3

Reading time4 min
Views25K

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

Преобразование, производимое хеш-функцией, называется хешированием. Исходные данные называются входным массивом, «ключом» или «сообщением». Результат преобразования (выходные данные) называется «хешем», «хеш-кодом», «хеш-суммой».

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

К надежным с точки зрения криптографии хеш-функциям должны быть предъявлены следующие основные требования:

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

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

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

SHA-3 является важным криптографическим алгоритмом для обеспечения информационной безопасности, а также целостности данных в цифровых операциях. Недавние безопасные хеш-алгоритмы, включая MD5, RIPEMD, SHA-0, SHA-1 и SHA-2 устарели и были признаны восприимчивыми к атакам различного рода.

Read more

Пишем простой шахматный движок на Go

Reading time8 min
Views10K
Всем, кто сейчас смотрит нашумевший сериал «Ход королевы» (The Queen's Gambit), посвящается. Еще больше шахматных терминов в нашем новом переводе.

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

Токен авторизации на примере JSON WEB Token

Reading time7 min
Views143K

Доброго времени суток, дорогой читатель. В данной статье я постараюсь рассказать об одном из самых популярных (на сегодняшний день) способов авторизации в различных клиент-серверных приложениях - токен авторизации. А рассматривать мы его будем на примере самой популярной реализации - JSON Web Token или JWT.

Читать далее

Information

Rating
Does not participate
Location
Подгорица, Подгорица, Черногория
Date of birth
Registered
Activity

Specialization

Backend Developer, Database Developer
From 500,000 ₽
Golang
Docker
PostgreSQL
Git
Nginx
High-loaded systems
Kubernetes
Linux
MySQL
Redis