Как стать автором
Обновить
2
0
Евгений Даниленко @JekaMas

Golang и распределенные системы

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

Чем опасен чистый RSA? Разбираем подводные камни

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров14K

Алгоритм RSA является одним из первых представителей асимметричной криптографии, прошедший свой путь сквозь бурные дискуссии математиков, сквозь сотни успешных и безуспешных попыток взлома криптоаналитиками, сквозь тысячи неправильных применений и реализаций.

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

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

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

Конрад Цузе — программист, обогнавший время

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


Сегодня исполняется 114 лет со дня рождения Конрада Цузе, пионера создания вычислительной техники, человека, которому сама судьба пыталась помешать двигать прогресс, но не помешала создать первый язык программирования высокого уровня, один из первых компьютеров и первую книгу по цифровой физике.
Читать дальше →
Всего голосов 90: ↑86 и ↓4+108
Комментарии29

Как мы ускорили Golang-тесты на CI

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

Привет, Хабр ?! Меня зовут Александр, я занимаюсь разработкой ПО. В этом посте я расскажу про свой опыт, как желание улучшить свой рабочий процесс CI, помогло ускорить все golang пайплайны в PaaS в СберМаркета.

Читать далее
Всего голосов 57: ↑56 и ↓1+60
Комментарии1

Как я проверяю Телеграм-каналы перед покупкой рекламы

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

В начале этого года я стал привлекать подписчиков в свой канал, делая прямые закупы в других Телеграм-каналах. Изучил кучу туториалов от «специалистов» на Ютубе, был дважды разведён мошенниками, набил кучу шишек и в итоге во всём разобрался. Основа моего опыта — 250 000 рублей бюджета и реклама в 125 каналах.

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

Трудности перевода. Как научить микросервисы общаться и не ссориться

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

Привет! Меня зовут Саша Сусиков. Я проверяю клавиатуры на прочность около 10 лет из  них последние 2 года с помощью Go. Сейчас я участвую в разработке платформы СберМаркета, где создаю инструменты, которые упрощают жизнь разработчикам. Эта статья для тех, кому предстоит настроить процесс взаимодействия сервисов в компании и вы ищете, как не наломать дров.

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

Расширяем PostgreSQL с помощью Rust

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

Свободная система управления базами данных PostgreSQL не только предоставляет высокопроизводительный движок для выполнения запросов, но и может быть расширена с помощью расширений, которые могут добавлять новые типы данных (например, для ГИС‑расширений или астрономических координат), дополнительные типы индекса и возможности поиска (например, полнотекстовый поиск), сбор статистики, поддержку новых языков для встроенных функций и многое другое. Большой список существующих расширений может быть найден по этой ссылке. В этой статье мы рассмотрим один из возможных вариантов по созданию собственного расширения для PostgreSQL с использованием библиотеки pgx.

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

Rust vs C#: два способа решить проблему ссылок в структурах

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

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

Давайте посмотрим на примере Rust и C# как авторы решают эту неоднозначную проблему.

Читать далее
Всего голосов 21: ↑18 и ↓3+21
Комментарии16

Микросервисы — отчуждение от результатов труда

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

Поветрия

Я наблюдаю за развитием IT в течение приблизительно четверти века, и с каждым днём меня всё сильнее удручает происходящее.

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

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

Увы, новые вещи (коих не так чтобы вообще есть) всё чаще приносят с собой и очевидно деструктивные, будто навязываемые извне, паттерны.

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

В этой статье я хотел бы поговорить о причинах происходящего.

Если кому-то интересно - под кат
Всего голосов 251: ↑183 и ↓68+158
Комментарии1018

Мое первое серебро на Kaggle или как стабилизировать ML модель и подпрыгнуть на 700 мест вверх

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

Привет, чемпион!

Летом прошел чемпионат на Kaggle - "American Express - Default Prediction", требовалось предсказывать - выйдет ли пользователь в дефолт или нет. Табличное соревнование в 5К участников с очень плотным лидербордом.

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

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

Rust в стартапе: поучительная история

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

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

Я очень долго думал писать ли мне этот пост или нет, потому что я не хочу начинать или быть вовлеченным в холивар про языки программирования (чтобы сразу расставить все точки над "i": Visual Basic самый лучший язык программирования на свете). Но уже несколько людей спрашивали меня про мой опыт с Rust и должны ли они использовать его в своих проектах. В общем, я хочу поделиться своими наблюдениями, какие я вижу достоинства и недостатки Rust в стартапах, когда скорость разработки и легкость масштабирования команды очень важны.

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

PostgreSQL Antipatterns: простой(?) INSERT… VALUES

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

Представим, что у вас есть некоторая табличка статистики, куда вы периодически скидываете таймстамп последнего "текущего" состояния в паре координат - например, (ID организации, ID сотрудника).

Как больно наступить на грабли в совсем простом, казалось бы, запросе?

Читать далее
Всего голосов 37: ↑33 и ↓4+35
Комментарии32

YubiKey головного мозга. Как подружить Ubuntu 22.04.1 LTS c аппаратным ключом безопасности?

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

Итак вы решили переехать на новенькую свежую убунту и у вас на столе лежит Юбик 5ой серии без которого вы не можете жить в современном мире.

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

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

Golang RPC и все-все-все…

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

Disclaimer: this is not another one gRPC hate article... Oh, wait...

Начнем издалека - знаете, всегда было интересно, а почему, собственно, для golang существует такое большое разнообразие библиотек, для каких-то часто используемых сущностей, как-то - роутеры http (fasthttprouter забыли, как подсказали в коментах) или cache?

С выбором RPC вроде все просто, gRPC - наше всё (вы, кстати, в курсе, что g здесь - это не Google внезапно). Но не тут-то было...

Все просто без ума от Мэри gRPC (нет).

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

Грокаем функторы

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

Это перевод статьи из целого цикла постов "Грокаем функциональное программирование" Мэта Торнтона. Я позволил себе немного поменять порядок постов. В оригинале, функторы идут после монад, что мне показалось неверным. Всякая монада - это функтор, но не всякий функтор - это монада. Также я убрал дублирование из поста про монады и добавил необходимые пояснения. Мне нравится практическая направленность материала. Он довольно подробно останавливается на базовых вещах, так что скорее предназначен для тех, кто только знакомится с функциональным программированием.

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

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

Онлайн-курс «Введение в теоретическую информатику» от Александра Ханьевича Шеня

Время на прочтение1 мин
Количество просмотров16K
Категорически приглашаем всех желающих на онлайн-курс «Введение в теоретическую информатику» Александра Ханьевича Шеня, подготовленный совместно с Computer Science центром и платформой Stepic. Курс начнётся 24 февраля.



Александр Ханьевич — автор многих популярных книг по математике и программированию. Многие его книги и брошюры можно бесплатно скачать с сайта издательства МЦНМО: например, «Программирование: теоремы и задачи» (Шень, 2004), «Лекции по математической логике и теории алгоритмов» (Верещагин, Шень, 2012), «Классические и квантовые вычисления» (Китаев, Шень, Вялый, 1999). Под его редакцией вышел перевод первого издания классического учебника «Алгоритмы: построение и анализ» (Кормен, Лейзерсон, Ривеста, 1990), а также недавнего учебника «Алгоритмы» (Дасгупта, Пападимитриу, Вазирани, 2006).

В общем, у Александра Ханьевича огромный опыт чтения лекций как школьникам, так и студентам и аспирантам. Рассказывает он очень увлекательно и понятно. В онлайн-курсе он даст обзор различных направлений Theoretical Computer Science: криптография, инварианты циклов, вычислимость, переборные задачи, игры, коды, интерактивные доказательства и многое другое (всего в курсе восемнадцать глав!). В курсе будет много задач — как простых (закрепляющих изученный материал), так и более сложных, над которыми придётся поломать голову и тем, кто уже был знаком с теорией.

Будем рады видеть вас среди слушателей онлайн-курса!
stepic.org/104
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии1

Поиск кратчайших путей в дорожных сетях: от теории к реализации

Время на прочтение1 мин
Количество просмотров3.8K
image

В ближайшую субботу Виталий Осипов (Технологический институт Карлсруэ) начнёт читать в Computer Science клубе в Санкт-Петербурге курс по алгоритмам поиска кратчайших путей в графах. В ходе курса будут изучаться и реализовываться алгоритмы, используемые миллионами людей в таких сервисах, как Google/Bing/Yandex карты. Как всегда, вход свободный, регистрация не требуется, приглашаются все желающие.

» Страница курса на сайте CS клуба
Первая лекция: суббота, 5 ноября, 17:20
Место: Математический институт Стеклова, Санкт-Петербург, Фонтанка 27, Мраморный зал (второй этаж)
Всего голосов 14: ↑8 и ↓6+2
Комментарии1

Международная студенческая школа Recent Advances in Algorithms: Санкт-Петербург, 22–26 мая 2017

Время на прочтение1 мин
Количество просмотров3.2K
image

22–26 мая в Санкт-Петербургском отделении Математического института Стеклова РАН пройдёт международная студенческая школа «Recent Advances in Algorithms». Цель школы — познакомить студентов и аспирантов с недавними прорывами в разных областях алгоритмов: от таких классических областей, как потоки в графах и длиннейшие пути в графах, до таких сравнительно недавно возникших областей, как алгоритмы обработки потоковых данных и алгоритмы для многомерных данных. Лекции будут читаться учёными, активно развивающими соответствующие области. Каждый мини-курс начнётся со введения в область и постепенно дойдёт до текущего положения дел в данной области.

К участию приглашаются студенты, аспиранты и молодые исследователи.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии0

Бакалавриат СПбГУ

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


К успешно существующему три года при поддержке компании Газпром нефть бакалавриату «Математика» в Санкт-Петербургском государственном университете добавляются потоки «Математика, алгоритмы и анализ данных» и «Современное программирование» при поддержке компаний JetBrains и Яндекс. Планируемая численность:

  • “Математика”, “Математика, алгоритмы и анализ данных”: суммарно 50 бюджетных + 18 бесплатных внебюджетных мест (обучение оплачено Яндексом);
  • “Современное программирование”: 25 мест.

Преимущества образования


Сильные математические курсы

Математические курсы читаются преподавателями и научными сотрудниками Исследовательской лаборатории им. П.Л. Чебышева (научный руководитель лаборатории — лауреат премии Филдса С. К. Смирнов).

Сильные технологические курсы

Программистские курсы будут читаться разработчиками ведущих IT-компаний, в частности, JetBrains и Яндекс. Соответственно, будут даваться актуальные востребованные индустрией знания.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии9

Интерактивный учебник для подготовки к алгоритмической секции собеседования

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

Собеседования в крупные IT-компании почти всегда содержат алгоритмическую секцию — даже если вы собеседуетесь на позицию, в работе на которой алгоритмы возникать вряд ли будут. Ниже мы приводим пример задачи, с которой вы можете столкнуться на вашем следующем интервью. Мы расскажем, как эта задача решается, но мы настоятельно рекомендуем вам читать решение только после того, как вы попробуете решить задачу самостоятельно: во-первых, это отличная тренировка; во-вторых, вы лучше запомните решение, если придумаете его сами (не отказывайте себе в этом удовольствии!); в-третьих, даже если вы подумаете над задачей, но не решите её, время не будет потеряно: прочитав потом решение, вы лучше его поймёте и оцените его красоту.

Итак, вот сама задача
Всего голосов 7: ↑5 и ↓2+6
Комментарии18

Специализация по спортивному программированию на Курсере

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


Исследовательской лабораторией им. П. Л. Чебышева при СПбГУ готовится онлайн-специализация по спортивному программированию на платформе Coursera. В первом курсе специализации даётся мягкое введение в мир спортивного программирования, в последующих четырёх курсах даются углубленные знания по вычислительной геометрии, алгоритмах на графах, числовым алгоритмам, алгоритмам на строках. В специализации будет много задач, максимально похожих на задачи с соревнований. Для самых сложных задач каждой недели будут даваться разборы. Лекции в специализации читаются как профессорами-математиками, так и тренерами СПбГУ и участниками недавних финалов чемпионата мира по программированию (ACM ICPC): Н. А. Вавилов, К. В. Вяткина, С. В. Копелиович, А. С. Куликов, А. Е. Логунов, А. С. Лопатин, А. С. Охотин, В. А. Петров, Ф. В. Петров, К. А. Симонов. Программу помогал составлять Е. Ф. Суворов, задачи — А. А. Толстиков.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии18
1
23 ...

Информация

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