Как установить rsa в python
Перейти к содержимому

Как установить rsa в python

Pure Python RSA implementation

Python-RSA is a pure-Python RSA implementation. It supports encryption and decryption, signing and verifying signatures, and key generation according to PKCS#1 version 1.5. It can be used as a Python library as well as on the commandline. The code was mostly written by Sybren A. Stüvel.

Documentation can be found at the Python-RSA homepage. For all changes, check the changelog.

Download and install using:

or download it from the Python Package Index.

The source code is maintained at GitHub and is licensed under the Apache License, version 2.0

RSA на домашнем Питоне ⁠ ⁠

Доброго времени суток, господа пикабушники! Сегодня мы с вами нарушим все правила шифрования в том числе и правило о «Домашнем шифровании».

Как вы уже поняли, я буду хвастаться перед вами собранным на коленке шифраторе и дешифраторе, написанным на Python.

Начнём с того, что познакомимся с понятием «шифрование».

Шифрование — обратимое преобразование информации в целях сокрытия от неавторизованных лиц. (Честная копипаста с русскоязычного Вики)

Шифрование давно известно людям.

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

RSA на домашнем Питоне Шифрование, Python, Cryptonator, Длиннопост, Программирование, Программирование на python, Безопасность

Скитала — одно из древнейших известных криптографических устройств

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

Современные криптографы разделяют 2 основных метода шифрования симметричное и асимметричное.

Симметричное шифрование

Способ шифрования, в котором для шифрования и расшифровывания применяется один и тот же криптографический ключ. Отсюда название — симметричные.

Давайте представим, что я хочу передать вам сообщение с помощью симметричного шифрования.

Возьмём простую фразу:

Теперь переведём её в более простой вид — вид числа.

(Кстати, такой вид шифрования называется очень просто — «A1Z26» )

Теперь выберем ключ. Пусть им будет число, состоящее из 3 знаков. Будем дублировать его, для получения нужного результата.

Я предлагаю выбрать число 123

Теперь, если мы сложим исходную числовую комбинацию с цифрами ключа вот так:

Теперь, если попробуем расшифровать такую строку — получим тарабарщину:

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

RSA на домашнем Питоне Шифрование, Python, Cryptonator, Длиннопост, Программирование, Программирование на python, Безопасность

(Циничная копипаста пикчи с Вики)

Асимметричное шифрование

Такое шифрование в разы сложнее.

Давайте предположим, что Я — Алиса, а Вы — Боб. Нам нужно безопасно передать друг-другу сообщение. Но к сожалению, Мы вынуждены передавать сообщения друг-другу через болтливую секретаршу, что любит почитать чужие письма. Что делать? Теперь и ключом-то не обменяешься.

Решение лежит на поверхности — нужно передать что-то такое, благодаря чему Алиса мог бы передать Бобу своё сообщение в обход передачи ключа. И тут нам на помощь приходит математика с её простыми числами.

АХТУНГ. ДАЛЬШЕ БУДЕТ БОЛЬНО. МНОГО МАТЕМАТИКИ.

Мы воспользуемся алгоритмом RSA. Его создатели Рональд Линн Ривест, Ади Шамир и Леонард Макс Адлеман придумали его и в августе 1977 года в колонке «Математические игры» Мартина Гарднера в журнале Scientific American появилось первое описание криптосистемы RSA.

Читателям также было предложено дешифровать, зашифрованную описанным алгоритмом:

За расшифровку была обещана награда в 100 долларов США. По заявлению Ривеста, для факторизации числа потребовалось бы более 40 квадриллионов лет.

Спойлер — фразу смогли разгадать только спустя полгода одновременной работы 16 сотен вычислительных машин. Загаданной фразой оказались слова «брезгливый ягнятник».

Так как же оно работает и почему так сложно разгадать проклятое сообщение?

Дело в том, что асимметричные шифры используют так называемые «Односторонние функции».

Односторонние функции

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

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

А вот из каких простых множителей состоит число 12547864874?

Вот. Исходя из этого мы предполагаем, что факторизация (разложение числа на произведение простых множителей) куда сложнее, чем то же умножение.

Чтобы зашифровать сообщение нам придётся не хило попотеть и найти два НУ ОЧЕНЬ простых и длинных числа 🙂

Теперь, чтобы вычислить наши ключи и текст нам нужно выполнять такие шаги:

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

-Вычисляется их произведение n=p*q, которое называется модулем.

-Вычисляется значение функции Эйлера от числа Ф(n)=(p-1)*(q-1).

-Выбирается целое число e (1<e<Ф(n)), взаимно простое со значением функции Ф(n).

Число e называется открытой экспонентой (англ. public exponent)

Обычно в качествеe берут простые числа, содержащие небольшое количество единичных бит в двоичной записи, например, простые из чисел Ферма: 17, 257 или 65537, так как в этом случае время, необходимое для шифрования с использованием быстрого возведения в степень будет меньше.

Слишком малые значения e, например 3, потенциально могут ослабить безопасность схемы RSA.

-Вычисляется число d, мультипликативно обратное к числу e по модулю.

Число d называется секретной экспонентой. Обычно, оно вычисляется при помощи расширенного алгоритма Евклида.

RSA на домашнем Питоне Шифрование, Python, Cryptonator, Длиннопост, Программирование, Программирование на python, Безопасность

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

Ну а теперь вернёмся к моему говнокоду:

Перво-наперво нам понадобится Python 2.7 и библиотека, для шифрования pycryptodome (Для *nix) и pycryptodomex (Для Windows).

Я строго придерживаюсь мнения, что Pikabu — не Habr и не буду расписывать код принципиально. Ниже в ссылках прикреплены ссылки на GitHub. За говнокод и оформление просьба не кидаться камнями — писал для себя и не планировал писать статьи. Если буду разбирать код на Гитхабе — обязательно отпишу.

Итак, ниже представлены скрин сухого остатка после работы программы:

RSA на домашнем Питоне Шифрование, Python, Cryptonator, Длиннопост, Программирование, Программирование на python, Безопасность

1 — исходное сообщение

2 — зашифрованное сообщение

3 — публичный ключ

4 — приватный ключ

Спасибо, что зашли послушать лекцию дилетанта. Всегда рад помочь :3

Мультипликативно

ССЫЛКИ В КОММЕНТАРИЯХ \ /

Информационная безопасность IT

1.3K постов 24.1K подписчиков

Правила сообщества

Обязательно к прочтению для авторов:

1. Если вы добавляете пост, утверждающий об утечке данных или наличии дыр в системе, предоставьте ссылку на источники или технически подкованное расследование. Посты из разряда «Какой-то банк слил данные, потому что мне звонили мошенники» будут выноситься в общую ленту.
2. Все вопросы «Как обезопасить сервер\приложение\устройство» — в лигу «Компьютер это просто».

Обязательно к прочтению для всех:

Добавление ссылки разрешено если она не содержит описание коммерческих (платных) продуктов и/или идентификаторов для отслеживания перехода и для доступа не нужен пароль или оплата в т.ч. интернет-ресурсы, каналы (от 3-х тематических видео), блоги, группы, сообщества, СМИ и т.д.

Запрещены политические holy wars.

По решению модератора или администратора сообщества пользователь будет забанен за:

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

2. Публикацию поста/комментария не соответствующего тематике сообщества, в том числе обсуждение администраторов и модераторов сообщества, для этого есть специальное сообщество.

3. За обвинение в киберпреступной деятельности.

4. За нарушение прочих Правил Пикабу.

Типа пикабушники любой говнокод схавают?

* Если кодесталинг подходит для третьего питона зачем указывать устаревающую версию?

* Если списывали c этой(указал дальше) или похожей статьи, то почитайте комментарии https://habr.com/post/265309/

* Если вы пишите таким как мне это в качестве примерна работ, то вы нам не подходите 🙂

* Если вы пишите людям, которые только начинают разбираться в питоне — то неплохо бы в коде на каждый чих оставлять комментарии

* Если вы не выполняли import this , то обязательно выполните.

А потом математика буквально ограничивается

Иллюстрация к комментарию

Ладно Легаси но зачем на новые проекты двойку.

Эх. Думал будет пример кода, а то никак не могу подружить Python с C#. Свой же текст кодируют и декодируют нормально, а вот друг у друга не понимают с теми же ключами.

интересный пост, спасибо

Программирование на Python «для тупых» 005 Число обратно в строку⁠ ⁠

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

00:00 Приветствие и новости

01:43 Пример с проблемой

05:00 Функция str()

12:35 Другой пример

20:25 Необязательный бонус

30:30 Анонс следующей темы

Ссылочки на меня:

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля⁠ ⁠

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Всем доброго времени суток!

Публикую обзор книги подписчика нашего телеграмм-канала IT-старт t.me/it_begin на книгу «Начинаем программировать на Python» от автора Тони Гэддиса.

Стоит читать? Да! Почему? Опишу в статье.

Python — хороший первый язык программирования, а это лучшая книга для его изучения.

Кто целевая аудитория книги?

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

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

Что в книге?

Для начала, чтобы было понимание, что представлено в книге, ознакомимся с её кратким оглавлением.

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.1.1 Краткое оглавление

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.1.2 Краткое оглавление

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.1.3 Краткое оглавление и начала обзора глав

Далее, после краткого оглавления, автором описана каждая глава, о чем она и что в ней будет рассмотрено

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.2.1 Краткий обзор глав

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.2.2 Краткий обзор глав

Перейдем к содержанию и особенностям книги.

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

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

Всё зависит от ваших целей. Но, раз вы видите себя программистом, то понимание того как работает компьютер — необходимо!

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

В следующей главе автор переходит непосредственно к началу описания синтаксиса Python и начинает он это с описания простых программ на нём.

Отличительной и одновременно положительной особенностью книги является крайне подробные объяснения того, что в ней написано.

Автор не ленится и разбирается каждую строчку коду, что и как работает, какой оператор выполняет какую задачу — всё это подробно разжевывается Тони Гэддисом.

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

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

Процесс проектирования в книге сопровождается соответствующими блок-схемами

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.3 Цикл разработки программы

Теперь поговорим о практической составляющей книге, то , что нас интересует не в последнюю очередь.

Практические задания в книге

Практике в данной книге уделено огромное внимание, что очень радует.

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

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.4.1 Пример практической задачи — программа вычисления розничных цен

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.4.2 Пример практической задачи — программа вычисления заработной платы

Также радует, что Тони Гэддис не забыл о модуле turtle для рисования простейших фигур.

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

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.4.3 Модуль turtle — черепашья графика

Автор рассматривает те основные возможности Python, что нужны новичку как воздух и компетенция в которых будет его прекрасно отличать от орды тех, кто желает выучить Python по видео «Выучим Python за 1 час»

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

Также Гэддис в целой главе описывает рекурсию

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.5 Введение в рекурсию

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

Тезисно по преимуществам и недостаткам книги:

Преимущества книги:

1. Подробные объяснения кода, для тех, кто учит с нуля

Автор не ленится и разбирается каждую строчку коду, что и как работает, какой оператор выполняет какую задачу — всё это подробно разжевывается

2. Автор уделяет много внимание программированию как дисциплине, как прикладной области.

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

Процесс проектирования в книге сопровождается соответствующими блок-схемами

3. Отработка алгоритмической подготовки

Тони Гэддис не забыл о модуле turtle для рисования простейших фигур.

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

Недостатки книги:

1. Качество бумажной книги

Электронную версию книги выложил на канале, скачать её можете здесь

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

Мне повезло и мой экземпляр в достаточно добротном состоянии.

Предлагаю оценить то, в каком состоянии пришла книга моему товарищу.

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.6.1 Брак обложки

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.6.2 Плохая склейка страниц

Данная «особенность» есть и в моем экземпляре к сожалению.

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

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.6.3 Разрезаны страницы

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.6.4 Разрезаны страницы

Даже не знаю, что происходит на складе, где хранятся партии этой книги. Но чувствую, люди там не скучают)

2. Вторым достаточно существенным недостатком являются опечатки

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

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

3. Последним достаточно существенным недостатком является цена

Этим недостатком обладает практически вся техническая и профессиональная литература. Но всё же надеюсь, что в светлом будущем книги станут доступней, а не стоить, как в случае с данной книгой, 15% от среднего МРОТ по стране. Ниже предлагаю ознакомиться с ценной на Wildberries

На OZON эту книгу нашем 4-м издании не смог найти, там нашел только 5-е, но у меня на руках 4-е и о 5-м к сожалению ничего не могу сказать. В буквоеде, читай-городе и лабиринте на сайте также цена не указана

Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля Python, Программирование, Обучение, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.8 Цена книги на Wildberries

Итог по книге:

На данный момент, наилучшая книга из тех, что я ранее читал тематики «изучить Python с нуля»

Книга для тех, кто желает изучить Python с полного нуля или же кто имеет минимальный опыт работ с ним.

Начинается книга с с самых азов, постепенно углубляясь в каждую из тем. Код разбирается подробно и с более чем понятными объяснениями. Если будете не просто читать, а параллельно писать код и решать все те практические задачи, что представлены в книге — получите максимальную пользу от книги.

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

Мой канал в телеграмм

Если статья показалась вам интересной, то буду благодарен за подписку на мой

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

Ссылка на бесплатную электронную версию книги t.me/it_begin/142

Программирование на Python «для тупых» 004.1 — проверяем домашку⁠ ⁠

Всё, пока с математикой такой тяжёлой заканчиваем, дальше строки и логика пойдёт. А пока вот разбор задачек

Обзор книги "Изучаем программирование на Python", отличная книга для начинающих и не только⁠ ⁠

Обзор книги "Изучаем программирование на Python", отличная книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Всем доброго времени суток!

Публикую обзор книги подписчика нашего телеграмм-канала IT-старт t.me/it_begin на книгу «Изучаем программирование Python» от автора Пола Бэрри

Стоит читать? Да! Почему? Опишу в статье.

Python — хороший первый язык программирования, а это неплохая книга для его изучения.

Кто целевая аудитория книги?

Начинающие Python-программисты, что не работали ранее плотно на Python, но имеют за плечами опыт программирования на любом другом языке: С++, Java или любой иной.

Автор предупреждает об этом еще в введении книги. Но, если вы начинающий программист с упорным подходом ко всему — умеете гуглить, тогда вы также эту книгу осилите.

Поэтому, при покупке в магазине и мыслях стоит ли покупать книгу или нет — не лишним всегда будет читать введение 🙂

Преимущества книги:

1. Нестандартный подход, как к подаче материала, так и к размерам книги.

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

Обзор книги "Изучаем программирование на Python", отличная книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.1. Пример текста из книги

2. Подробно описана работа с модулями в Python и о полном взаимодействии с ними. Не во всех книгах ранее встречал такое подробное описание работы с ними. Написано всё также понятно и доходчиво.

Обзор книги "Изучаем программирование на Python", отличная книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.2. Пример текста из книги

3. Подробное описание создания сайтов на Python

Пол Бэрри подробно описывает работу с написанием web-приложений, для которых как раз таки хорошо заточен Python.

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

Кто ранее работал только на Django и не работал с Flask, этот материал вам придется по душе.

Обзор книги "Изучаем программирование на Python", отличная книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.3. Иллюстрация из книги

Недостатки книги:

1. Отсутствие подробных объяснений и глубокого анализа.

Недостаток этот больше для тех, кто ранее вовсе не программировал.

Эту книгу сложно назвать справочником или учебником, ибо автор очень лихо описывает главы с методами и условиями, работу с модулями и взаимодействие со списками, но никаких элементарных объяснений на подобие «Hello World!» вы в книге не увидите.

Поэтому, если опыта программирования за плечами у вас нет, книг хоть и можно изучить, но придется параллельно «гуглить».

Техническая литература, к сожалению, пока не является абсолютно доступной для каждого человека. За знания придется платить. Тут уж ваш выбор, покупать книгу или же скачать с просторов интернета бесплатно электронную PDF-версию книги.

Средняя цена на книгу около 1.500 рублей

Обзор книги "Изучаем программирование на Python", отличная книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.4. Цена на Ozon

Обзор книги "Изучаем программирование на Python", отличная книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Длиннопост

Рис.5. Цена на Wildberries

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

Итог по книге:

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

Безусловно, для абсолютного новичка книга будет не особо легка в освоении. Но, придерживаясь принципа «терпение и труд — всё перетрут» и используя под рукой Google, думаю выйдет толк из книги и для совсем начинающий программистов, что выбрали для себя первый языком программирования Python

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

публикую также статьи и интервью на своем телеграмм-канале IT-старт t.me/it_begin

Обзор книги "Изучаем Python", хорошая книга для начинающих и не только⁠ ⁠

Обзор книги "Изучаем Python", хорошая книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Чтение, Длиннопост

Всем доброго времени суток!

Публикую обзор книги подписчика нашего телеграмм-канала t.me/it_begin на книгу «Изучаем Python» от автора Эрика Мэтиза.

Стоит читать? Да! Почему? Опишу в статье.

Python — хороший первый язык программирования, а это неплохая книга для его изучения.

Кто целевая аудитория книги?

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

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

Преимущества книги:

1. Кратко, это подробное описание синтаксиса, полноценные комментарии к примерам кода, описание типичных ошибок новичков, подробнее опишу ниже

Первая половина книги — это база синтаксиса Python

Объяснение возможностей Python. Описывается всё, начиная от переменных и работы с ними, заканчивая классами.

В самой первой главе автор описывает установку Python и то, как запустить заветный первый ‘Hello World’. Далее автор переходит к объяснению того, что такое переменные, типы данных, строки и числа.

Что хорошо, приводя приводя несложные примеры, Эрик Мэтиз сопровождает их отличными и подробными комментариями, что способствует продуктивному изучению синтаксиса Python.

Автор также не забыл и об описание типичных ошибок новичков. Данные абзацы будет более чем полезны тем, кто только начал изучать Python.

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

Списки автор рассматривает совместно с циклом for, что также позволяет расширить возможности в написании тех программ, что мы можем написать.

Цикл while, первое время, не рассматривается.

Далее, описав списки, автор описывает условия «if/else», словари и цикл while, которому посвящена отдельная глава, после идут уже функции и работа с классами. В конце первой половины книги автор описывает тестирование и работу с файлами в Python.

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

Обзор книги "Изучаем Python", хорошая книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Чтение, Длиннопост

Рис.1. Пример текста из книги с описанием работы со списками

Обзор книги "Изучаем Python", хорошая книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Чтение, Длиннопост

Рис.2. Пример текста из книги с описанием работы с функциями json.dupm() и json.load()

2. Вторым преимуществом является ссылки в книге на вспомогательные интернет-ресурсы

Обзор книги "Изучаем Python", хорошая книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Чтение, Длиннопост

Рис.3. Пример текста из книги с ссылками

Теперь же. поговорим о недостатках книги.

Недостатки книги:

1. Некачественный перевод:

Та проблема, с чем может столкнуться читатель, это типичный для технической литературы, переведенной внутри отечественных издательств.

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

Обзор книги "Изучаем Python", хорошая книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Чтение, Длиннопост

Рис.4. Цена на Читай-Город

Обзор книги "Изучаем Python", хорошая книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Чтение, Длиннопост

Рис.5. Цена на Wildberries

Обзор книги "Изучаем Python", хорошая книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Техническая литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Чтение, Длиннопост

Рис.6. Цена на Ozon

Относительно книги «Изучаем Python» от Марка Лутца (обзор на неё писал несколько дней назад — ссылка), что стоит пример 3.5 к рублей, данная книга намного дешевле, но всё же, рассматриваемая нами сегодня книга стоит далеко не 300 рублей. Как минимум, студенту придется отдать большую часть стипендии за неё.

Надеюсь, что со временем, в финансовом плане, книге станут для нас доступнее, нежели сейчас.

3. Устаревание информации, изложенной в книги.

Хотим мы этого или нет, но технические книги по программированию имеют одну характерную черту — устаревание и эта книги не исключение.

Особенно сильно мы можем это наблюдать на этапе описания развертывания и построения веб-приложения.

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

Также, если надумаете покупать эту книгу, максимально советую обратить внимание на номер издания. Нас интересует издание №3. Ну и пользуйтесь StackOverFlow и GitHub

Итог по книге:
Первая половина книги — это объяснение возможностей Python. Описывается всё от переменных и работы с ними до классов и юнит-тестов.

Вторая половина книги — это описание проектной деятельности, описываются обработка данных и графиков с помощью matprolib, создание сайтов на Django и возможности создания несложных игр на Python с помощью PyGame

Для понимания основ синтаксиса Python начинающим программистом — прекрасная книга!

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

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

публикую также статьи и интервью на своем телеграмм-канале IT-старт t.me/it_begin

Программирование на Python «для тупых» 004: Дроби и больше математики⁠ ⁠

Сегодня научимся использовать в своих программах числа с плавающей точкой, в том числе преобразовывать в них строки с помощью функции float(). А так же познакомимся с библиотекой/модулем math и квадратным корнем

01:14 Функция float()

11:54 Библиотека math

15:06 Квадратный корень

30:26 Про донаты

30:57 Домашнее задание

37:06 Следующая тема — функция str()

Обзор книги "Изучаем Python", отличная книга для начинающих и не только⁠ ⁠

Обзор книги "Изучаем Python", отличная книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Чтение, C++, Длиннопост

Всем доброго времени суток!

Публикую обзор книги подписчика нашего телеграмм-канала t.me/it_begin на книгу «Изучаем Python» от автора Марка Лутца.

Стоит читать? Да! Почему? Опишу в статье.

Python — хороший первый язык программирования, а это хорошая первая книга для его изучения.

Кто целевая аудитория книги?

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

Обзор книги "Изучаем Python", отличная книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Чтение, C++, Длиннопост

Рис.1. Пример текста из книги

Преимущества книги:

1. Очень хорошо написана в плане теории, материал изложен доступным и понятным языком (что немаловажно для новичка).

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

Обзор книги "Изучаем Python", отличная книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Чтение, C++, Длиннопост

Рис.2. Пример текста из книги

3. Элементы языка разбираются буквально «по косточкам», вследствие чего у вас вряд ли останутся какие-либо непонятные вами разделы книги.

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

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

Также Марк Лутц не забыл о способах ускорения скриптов с помощью таких сторонних библиотек, как Shedskin C++ и Psyco и упоминает кратко библиотеки для создания полноценный exe-файлов ( PyInstaller, Freeze, py2exe)

С помощью такого подхода к написанию книги, нам читателям будет интересно читать.

Для себя, например, благодаря книге, выяснил вопрос, что давно волновал, но был без ответа.

«Является ли класс list связанным списком?» — оказалась нет. Внутри языка это обычный массив, что в некотором роде сход с аналогом std::vector из C++

Нравится, что автор постоянно сравнивает элементы языка Python с похожими элементами из других языков.

Недостатки книги:

1. Мало практики и кода. Для программиста практика крайне важна. Кроме «Изучаем Python», у автора есть также книга «Программирование на Python», что больше ориентирована на практику и будет более полезна для новичка в плане закрепления полученных им знаний. После каждой части книги вас ждёт лишь несколько упражнений. Поэтому, лучше будет, если после прочтения той или иной части книги, полученные знания закрепите на неоднократной практике.

2. Цена. Кусается ценник.

Обзор книги "Изучаем Python", отличная книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Чтение, C++, Длиннопост

Рис.3. Цена книги на OZON

Обзор книги "Изучаем Python", отличная книга для начинающих и не только Python, Обучение, Программирование, Программист, IT, Разработка, Литература, Современная литература, Математика, Обзор книг, Книги, Рецензия, Отрывок из книги, Образование, Учеба, Чтение, C++, Длиннопост

Рис.4. Цена книги на Wildberries

Как видим, книга выйдет далеко не в 300 рублей) Проблема возможно даже не только этой книги, а в целом, мягко говоря, своеобразного ценообразования и стоимости литературы для конечного потребителя.

Итог по книге:

Отличная книга для того, чтобы влиться в Python. Марк Лутц крайне подробно рассматривает общие концепции языка, всё написано понятно и доступно.

Рекомендую, как первую книгу по Python

Python — хороший первый язык программирования, а это хорошая первая книга для его изучения.

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

публикую также статьи и интервью на своем телеграмм-канале IT-старт t.me/it_begin

Возможно ли глухому человеку с нуля стать хорошим программистом?⁠ ⁠

Приветствие и просьба о помощи

Здравствуйте, пикабушники. Рад познакомиться, меня зовут С. Я почти глухой

Я хочу найти человека, который разбирается в этом, работает в этой отрасли и готов потратить на меня время в том плане, чтобы направлять меня в плане обучения(что учить, что делать, как учиться, как устроиться на работу, когда это делать и т.д.)

Хочу рассказать немного о своей жизни, если вы не против:

Мне 18 лет. Школу окончил в прошлом году почти с отличием(всего лишь две-три четверки в аттестате), не знаю, гордиться ли этим.

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

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

Точно так же было со мной, я занимался спортом наравне со всеми вплоть до 4-5 класса. Но меня немного от других отличало то, что я сижу с детства за компьютером, поэтому любил там пошариться, посмотреть картиночки, поиграть в нетребовательные игры. Плюс я почти глухой, поэтому жестовый язык по большей части не освоил, в основном разговаривал с семьей и с слабослышащими детьми, которые предпочитали разговаривать голосом, а не использовать жестовый язык. Научился считывать с губ, хотя это непросто мне далось. Так вот, благодаря этому мое развитие более-менее было нормальное, так что где-то в 4-5 классе я пришел к выводу, что идти в спорт не такая уж и хорошая идея, т.к. карьера у спортсмена не долгая. Не хотелось бы мне в 23 года получить травму и идти мыть пол в подъездах/офисах, как это случилось с большинством глухих и слабослышащих. Принял решение стать “умным”. Начал пытаться читать книги, освоить русский язык. Первые попытки были тщетными, я сдавался и тратил время впустую, спя много либо просто гуляя. Но в конце концов большинство попыток дали знать свое и где-то лет в 14 я наконец-то смог освоить русский язык до того уровня, на котором говорю и пишу сейчас. Это далось мне нелегко, т.к. все, что я умел до 14 лет – это лишь материться, не зная о существовании других слов ;). Потом решил улучшить свои результаты в учебе, стал стараться получать одни пятерки, потом освоил весь учебный материал на 4-5 лет вперед, из-за чего чиллил в школе(читал много книг). Вдобавок у меня из-за нее часто болела голова, но к счастью благодаря тому, что я сделал(освоил материал на несколько лет вперед) – до троек не доходило.

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

Почему решил выбрать программирование и попросить о помощи

Я становлюсь старше, у меня появляются свои потребности. Не хочется работать уборщиком за менее чем 20к в месяц. Из-за проблем со слухом я не могу нормально общаться с людьми, только если они стоят лицом ко мне, дабы я смог считывать с губ – становится значительно проще. Я решил выбрать программирование, т.к. по нескольким параметрам оно для меня подходит: связано с компьютерами, есть предрасположенность к математике(участвовал в олимпиадах по ней и занимал первые места)

Выбрал направление Backend, ЯП – python. Не знаю, правильный ли я выбор сделал, но мне пока что нравится. На данный момент я прохожу курс на степике «Поколение Python»: курс для начинающих. Дошел до циклов for и функции range. Есть несколько идей реализовать свои простые проекты для себя.

Исторические данные от NASA⁠ ⁠

В ней я описал как реализовал автоматическое наполнение телеграм канала https://t.me/daily_nasa «астрономической картинкой дня от NASA» с описанием на русском а также со ссылкой на загрузку картинки в HD, позже я реализовал добавление в этот канал статей на тему астрономии из http://hubblesite.org/ и тоже на русском, все круто но меня парило то, что каналу моему меньше года, а NASA публикует данные уже очень много лет, по этому я решил взяться в реализацию отображения исторических данных за выбранный период в телеграм, как? смотрите ниже.

Идея была такой, есть телеграм бот, после нажатия старт в нем отображается красивый календарь, где можно выбрать год, месяц, и день, после выбора мы получаем за этот день картинку / видео и описание (APOD в общем)

Сейчас это выглядит так:

Реализовал все опять же таки на Python, так вот:

Те кто читал мои статьи ранее знают, что я не такой уж и фанат «изобретать велосипеды» (разве что иногда) по этому я подумал что писать красивый календарь самому будет долговато, выход? я решил поискать его на GitHub, и я нашел — https://github.com/artembakhanov/python-telegram-bot-calenda.

Отличная библиотека, которая ставится одной командой:

Вопрос, как прикрутить это к NASA API ?

1 — Заходим в примеры (examples) и смотрим скрипт simple_pytelegrambotapi.py

Исторические данные от NASA Космос, Apod, NASA, Астрономия, Телескоп Хаббл, Наука, Python, API, Telegram, Разработка, Программирование, IT, Научпоп, Планета, Telegram бот, Видео, Без звука, Вертикальное видео, Длиннопост

Исторические данные от NASA Космос, Apod, NASA, Астрономия, Телескоп Хаббл, Наука, Python, API, Telegram, Разработка, Программирование, IT, Научпоп, Планета, Telegram бот, Видео, Без звука, Вертикальное видео, Длиннопост

В result в конечном счете приходит год, месяц и день который вы выбрали на календаре, в примерно таком формате 2022-03-04

и это отлично, ибо все что нам остается, это записать этот result в запрос к NASA API, а именно:

Исторические данные от NASA Космос, Apod, NASA, Астрономия, Телескоп Хаббл, Наука, Python, API, Telegram, Разработка, Программирование, IT, Научпоп, Планета, Telegram бот, Видео, Без звука, Вертикальное видео, Длиннопост

В итоге остается только распарсить data, сформировать сообщение и отправить в телеграм, чуть более подробней про это тут:

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

Репакер архива Флибусты FB2⁠ ⁠

Репакер архива Флибусты FB2 Флибуста, Я сделяль, Программирование, Python, Длиннопост, Книги

Делаю для себя, вдруг кому тоже полезно будет, плюс пожелания/критику собрать.

Вот допустим ты из тех людей которые скачали себе на комп архив пиратской библиотеки Флибуста. Многие, конечно, спросят «нафига», но это другой разговор 🙂

Ну пусть не прям всю Флибусту, а архив только с FB2 книгами (который на май 2022 года занимает под 330 Гб).

Но вот лично тебе, допустим, интересны только детективы, или эротика, ну или вообще только книги по высшей математике. И тебе остальное просто не надо.

Или вот картинки в книгах. На Флибусте есть как иллюстрированные справочники, так и фантастика где разве что постер из картинок и тот как бы не особо нужен. А тебе нужны только книги где картинки не важны, то может ну их нафик, эти картинки, только место занимают!

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

Можете тоже оценить списочек.

Репакер архива Флибусты FB2 Флибуста, Я сделяль, Программирование, Python, Длиннопост, Книги

Непосредственно о программе.

Написано быдлокодером-любителем (т.е. мной) на языке Python.

Что реализовано: удаление картинок (опционально), возможность добавления черного списка жанров, и многопоточность. Написана типа справка по программе.

Правда, в Python родные библиотеки для ZIP не умеют в многопоточность, поэтому вместо многопоточного сжатия одного архива запускается одновременная работа с несколькими архивами (чтение старого и запись в новый), что сами понимаете, не очень хорошо дружит с HDD при множестве одновременных операций записи и чтения. Рекомендую писать репак на другой HDD, а лучше SSD.

Также репакер можно использовать на раздачах других библиотек (например Либрусека) если они организованы точно также (zip архивы и индекс-файл inpx)

Чего надо бы сделать, но пока не сделал:

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

Оригинальный архив только FB2 Флибуста к маю 2022 — 337 Гб.

Репак с удалением картинок — 94 Гб.

(если пережать zip через 7-Zip, то лишь чуть-чуть улучшить результат, можно сжать другим сжатием и довольно сильно, но тогда MyHomeLib не сможет с ними работать, так что смысл от этого пропадает)

Только книги с жанром «юмористическая фантастика» — 2.7 Гб

Только «юмористическая фантастика» и с удалением картинок — 1.3 Гб

P.S. Была еще мысль «примотать синей изолентой» сюда сжатие PPMd (в который не умеет MyHomelib) которое сжимает текст значительно лучше чем ZIP Deflate, но тогда пришлось бы делать шаманство чтобы и MyHomeLib работало, и правильную книгу отдельно вытаскивать уже своей программкой.

Готовую к употреблению программу с попыткой написать справку положил на Я.Диск https://disk.yandex.ru/d/kt89jYCOzVy4Qw (надеюсь должна запустится на вин 7).

Добавил фильтр по языкам, упростил работу с фильтром жанров.

Отсутствие систем аутентификации и контроля может позволить хакерам перехватить контроль над спутниками⁠ ⁠

Отсутствие систем аутентификации и контроля может позволить хакерам перехватить контроль над спутниками IT, Безопасность, Интернет, Политика, Программирование, Космос

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

«Технически, на этом спутнике или на большинстве спутников нет никаких средств управления — если вы можете сгенерировать достаточно сильный сигнал, чтобы попасть туда, спутник отправит его обратно на Землю. Людям понадобится большая антенна, мощный усилитель и знание того, что они делают», — пояснил Кошер изданию Wired.

По словам Кошера, отсутствие систем аутентификации и контроля над спутниками может позволить киберпреступникам захватывать подобное оборудование.

Интересно, а как у нас в РосКосмосе обстоят дела с системами аутентификации и контроля?

И потом его ещё нужно распечатать и повесить в прихожей⁠ ⁠

И потом его ещё нужно распечатать и повесить в прихожей IT юмор, IT, Программирование, Пароль, Безопасность

Про юмор в ПО⁠ ⁠

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

Дело, по словам товарища, было году где-то в 2010, когда их компанию наняли провести модернизацию нефтеперегонного завода в Англии. Конкретно товарищ работал над перепрошивкой контроллеров ректификационной колонны. Оборудование там стояло старое, смесь техники годов 70-90-х, ПО самописное на ассемблере и чуть ли не машинных кодах, вычислительной мощности хер да нихера, а объём данных для обработки огромный — в общем, жопа. Ковырялся, говорит, в каждой строчке кода, чтоб хоть немного оптимизировать.

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

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

Стал копать дальше. Нашёл, наконец, функцию, которая раз в год (!) обращается к этой ячейке памяти и охренел. Оказывается, в том случае, если за год кнопка нажималась меньше 12 тысяч раз, на телетайп, выводящий информацию по работе колонны, должны были при последующих нажатиях этой кнопки с некоторой регулярностью отправляться случайные цитаты писателя-фантаста Карела Чапека из списка в несколько десятков. Про роботов (Чапек же это слово как раз придумал), общество, деньги и болтовню, уже не помню, что именно. Где-то пару недель контроллер должен был так дурачить обслуживающий персонал, после чего со словами — вот это я запомнил — «Невероятные события события имеют свойство повторяться регулярно» замолкал бы на год.

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *