Эта статья — об одном из лучших изобретений Python: именованном кортеже (namedtuple). Мы рассмотрим его приятные особенности, от известных до неочевидных. Уровень погружения в тему будет нарастать постепенно, так что, надеюсь, каждый найдёт для себя что-то интересное. Поехали!
User
Spring, байткод, JDK: топ-10 докладов JBreak 2018
Хабр, привет! Раньше мы проводили в Новосибирске Java-конференцию JBreak. В 2019-м решили её не проводить, но от этого доклады JBreak 2018 не перестают быть полезными, так что традиционно делимся подборкой лучших (по мнению зрителей). Тем более, что многие попавшие в эту подборку спикеры скоро приедут с новыми докладами в Москву на JPoint — можно как раз «заочно познакомиться» с ними и понять, хочется ли на московскую конференцию.
Как обычно, доклады идут от «младшего» к «старшему» по рейтингу, но отличия между местами небольшие — так что лучше не сравнивать придирчиво места, а смотреть всё по интересующим темам!
Под катом видео разбиты с оглавлением по содержимому поста, презентациями и короткими описаниями.
docker-pretty-ps — наконец-то удобный для чтения «docker ps»
docker ps
. Хотя и существуют различные workarounds на эту тему (см. в конце материала), однажды какой-нибудь энтузиаст должен был сделать «что-то ещё»… и это произошло в наступившем 2019 году. Имя ему — docker-pretty-ps.Задумка автора банальна донельзя: горизонтальный вывод и цвета для наглядности.
А в качестве аудитории утилиты называются «скорее разработчики, чем хардкорные DevOps'ы или SRE-инженеры».
Как распознать липовые проекты Agile
Agile — модное словечко в разработке ПО, так что все софтверные проекты Минобороны теперь почти по умолчанию объявлены «гибкими». Настоящий документ поможет руководителям программ и специалистам Минобороны отличить софтверные проекты с действительно гибкой методологией от проектов, которые под маской Agile просто используют «водопад» или «спираль» (“agile-scrum-fall”).
Один гигантский шаг для машины, играющей в шахматы
Невероятный успех AlphaZero, алгоритма с глубинным обучением, провозглашает новую эру мышления, которая может оказаться недолгой для человека
В начале декабря исследователи из компании DeepMind, занимающейся искусственным интеллектом и принадлежащей Alphabet Inc., родительской корпорации, также владеющей и Google, рассказали о происходящем на передних рубежах шахмат.
Годом ранее, 5 декабря 2017 года, команда поразила шахматный мир, объявив о своём алгоритме машинного обучения (МО) AlphaZero, который сумел овладеть не только обычными шахматами, но и японскими шахматами сёги и игрой го. Алгоритм начал работу без какого бы то ни было понятия об играх, кроме базовых правил. Затем он начал играть сам с собой несколько миллионов раз и учиться на своих ошибках. Всего за несколько часов алгоритм стал наилучшим игроком, как среди людей, так и компьютеров, из всех, что видел мир.
Большой список научно-фантастических сериалов
Кадр из заставки сериала «Грань»
Предисловие
На Geektimes и Habrahabr уже были статьи со списком Sci-Fi сериалов (Фантастические сериалы — обзор от фаната, Фантастические сериалы и др.). Но все они либо содержали достаточно мало сериалов и/или поверхностную информацию о них самих, либо были предвзяты в отношении тех или иных сериалов.
В данной публикации я постараюсь предоставить большой список научно-фантастических сериалов. А благодаря голосованию — узнать какие сериалы на самом деле нравятся пользователям Geektimes.
Крупнейший дамп в истории: 2,7 млрд аккаунтов, из них 773 млн уникальных
Известный специалист по безопасности Трой Хант уже несколько лет поддерживает сайт Have I Been Pwned (HIBP) с миллионами записей об украденных аккаунтов. Каждый может проверить там свой email на предмет утечки. Трой Хант следит за хакерскими форумами, покупает базы данных, которые выставляют на продажу, иногда эти базы присылают ему бесплатно. Но он никогда не видел, чтобы на продажу выставляли такую огромную базу, как нынешняя Коллекция № 1 (Collection #1).
Гигантский архив содержит 2 692 818 238 записей с адресами электронной почты и паролями.
Математики доказали, что многочлены не помогут взломать RSA
Недавно в журнале Quanta вышел материал, в котором автор рассказывал про удивительный с точки зрения неискушенных читателей феномен, доказанный математиками. Его суть в том, что почти все многочлены определенного типа — неприводимые, то есть не поддаются разложению. Это доказательство применяется во многих областях чистой математики. Но также это хорошая новость для одного из столпов современной жизни — цифрового шифрования.
Для надежного хранения цифровой информации широко используется шифрование с помощью алгоритма RSA. Это прокачанная версия схемы, которую может придумать даже семиклассник, чтобы обмениваться сообщениями с друзьями: каждой букве присваивается свой номер, который умножается на некий секретный, заранее оговоренный ключ. Чтобы расшифровать сообщение, достаточно просто поделить его на секретный ключ.
RSA-шифрование работает схожим образом. Приведем сильно упрощенное объяснение. Пользователь придумывает сообщение и выполняет над ним определенные математические операции, включающие в себя умножение на очень большое число (длиной в несколько сотен цифр). Единственный способ расшифровать сообщение — найти простые множители полученного результата*.
Безопасность RSA-шифрования базируется на том факте, что математике неизвестны быстрые способы найти простые множители очень больших чисел. И если зашифрованное сообщение предназначалось не вам, и у вас нет ключа для его расшифровки, то попытки найти этот ключ могут занять добрую тысячу лет. Причем это справедливо и для самых современных компьютеров, с помощью которых все равно не удастся подобрать правильные простые множители.
Но есть и обходной путь.
Всегда ли нужны Docker, микросервисы и реактивное программирование?
Автор: Денис Цыплаков, Solution Architect, DataArt
В DataArt я работаю по двум направлениям. В первом помогаю людям чинить системы, сломанные тем или иным образом и по самым разным причинам. Во втором помогаю проектировать новые системы так, чтобы они в будущем сломаны не были или, если говорить реалистичнее, чтобы сломать их было сложнее.
Если вы не делаете что-то принципиально новое, например, первый в мире интернет-поисковик или искусственный интеллект для управления запуском ядерных ракет, создать дизайн хорошей системы довольно просто. Достаточно учесть все требования, посмотреть на дизайн похожих систем и сделать примерно так же, не совершив при этом грубых ошибок. Звучит как чрезмерное упрощение вопроса, но давайте вспомним, что на дворе 2019 год, и «типовые рецепты» дизайна систем есть практически для всего. Бизнес может подкидывать сложные технические задачи — скажем, обработать миллион разнородных PDF-файлов и вынуть из них таблицы с данными о расходах — но вот архитектура систем редко отличается большой оригинальностью. Главное тут — не ошибиться с определением того, какую именно систему мы строим, и не промахнуться с выбором технологий.
В последнем пункте регулярно возникают типичные ошибки, о некоторых из них я расскажу в статье.
Получить работу в Германии станет проще
19 декабря 2018 года кабинет министров Германии согласовал закон о квалифицированной трудовой иммиграции (Fachkräfteeinwanderungsgesetz). Благодаря ему будет легче мигрировать квалифицированным работникам из стран, не входящих в Европейский Союз. Но эти изменения коснутся только квалифицированных рабочих. Немцы рассчитывают, что специалисты из России, Украины, Индии, Китая и других стран восполнят дефицит кадров. Сразу отмечу, что речь не идет о неквалифицированной или низкоквалифицированной работе.
Эти токсичные парни: они отравляют проекты
Ах-ха, как бы не так! Что за скучная жизнь без борьбы? Чтобы вы не расслаблялись, на страже вашего жизненного тонуса и постоянного напряжения во всех сфинктерах стоят токсичные парни и девчонки (да-да, про них я тоже не забыл, не думайте).
Итак, предлагаю мое фундаментальное исследование проблемы на суд научной общественности. Ниже вы найдете небольшой атлас этих фантастических тварей, их характерные признаки и способы разрушения ими рабочего процесса, а также правила безопасности, антидоты и другие методы нейтрализации при проектной работе.
Тараканы Корпоративные (токсичность:☣☣☣)
Ареал обитания и повадки:
Заводятся в крупных корпорациях, в маленьких компаниях приживаются плохо. Тараканам нужно много бегать и утверждать переутверждение согласованных согласований. Максимум движений с отрицательной пользой.
Искусственный интеллект для каждого
Один из авторов книги — эксперт по искусственному интеллекту Джошуа Ганс, профессор школы менеджмента Ротмана в Университете Торонто (Канада), ежедневно тратит много времени, отслеживая новости в области ИИ, отделяя хайп от реальности. Сегодня он преподает студентам MBA сетевое взаимодействие и стратегию цифрового маркетинга, в том числе то, каким образом компании могут успешно конкурировать на своих рынках за счет внедрения технологических инноваций.
Редакция журнала CEO.com обсудила с Джошуа его нашумевшую в бизнес-кругах книгу «Машины прогнозирования: Простая экономика искусственного интеллекта». Перевод интервью с ним читайте далее.
Как бороться с flaky тестами в opensource-сообществе
В этом посте мы, собственно, и расскажем, как решали эту проблему в Apache Ignite. Мы — это Дмитрий Павлов, lead software engineer/community manager в GridGain, и Николай Кулагин, IT-инженер Сбербанк-Технологий.
ИИ перевел активность мозга в речь
У многих парализованных людей, не имеющих возможности говорить, сигналы того, что они хотят сказать сокрыты в их мозге. И никто не мог расшифровать эти сигналы. Но недавно три команды исследователей достигли прогресса в переводе данных, поступающих от электродов помещенных на мозг хирургическим способом, в синтезированную компьютером речь.
Используя модели, построенные на нейронных сетях, они реконструировали слова и даже целые предложения, которые, в некоторых случаях, были вполне вразумительными для обычного слушателя-человека.
Как не мусорить в Java
Существует популярное заблуждение о том, что если не нравится garbage collection, то надо писать не на Java, а на C/C++. Последние три года я занимался написанием low latency кода на Java для торговли валютой, и мне приходилось всячески избегать создания лишних объектов. В итоге я сформулировал для себя несколько простых правил, как свести аллокации в Java если не до нуля, то до некого разумного минимума, не прибегая к ручному управлению памятью. Возможно, кому-то из сообщества это тоже будет полезно.
Как не продолбать пароли в Python скриптах
Хранение паролей всегда было головной болью. В классическом варианте у вас есть пользователь, который очень старается не забыть жутко секретный «qwerty123» и информационная система, которая хранит хеш от этого пароля. Хорошая система еще и заботливо солит хеши, чтобы отравить жизнь нехорошим людям, которые могут украсть базу с хешированными паролями. Тут все понятно. Какие-то пароли храним в голове, а какие-то засовываем в зашифрованном виде в keepass.
Все меняется, когда мы убираем из схемы человека, который старательно вводит ключ с бумажки. При взаимодействии двух информационных систем, на клиентской стороне в любом случае должен храниться пароль в открытом для системы виде, чтобы его можно было передать и сравнить с эталонным хешем. И вот на этом этапе админы обычно открывают местный филиал велосипедостроительного завода и начинают старательно прятать, обфусцировать и закапывать секретный ключ в коде скриптов. Многие из этих вариантов не просто бесполезны, но и опасны. Я попробую предложить удобное и безопасное решение этой проблемы для python. И чуть затронем powershell.
Information
- Rating
- Does not participate
- Registered
- Activity