Инструмент для поддержания постоянного подключения по SSH - Autossh
Это бесплатная программа, которая есть в стандартных репозиториях популярных дистрибутивов.
# apt install autossh
Autossh отслеживает SSH соединение, и если оно разрывается, переподключает. Я не знаю, где это может быть полезно, кроме как в случаях использования туннелей или проброса портов через SSH. Покажу на примере, как это работает.
Допустим, у вас есть какой-то сервер в интернете с внешним IP адресом. И вы хотите превратить его в jump хост, подключаясь через него к другим серверам в закрытом сегменте без прямого доступа к ним через интернет.
Настраиваем доступ с закрытых хостов к внешнему серверу через ключи. Проверяем в ручном режиме, что они работают. Для SSH туннелей как на внешнем сервере, так и на внутренних, можно создать отдельного пользователя. Это необязательно, но так будет удобнее и безопаснее. Shell ему можно не назначать, указав nologin.
Сначала просто проверяем соединение:
# autossh -M 0 -N -p 22777 -f -q -i /home/userssh/.ssh/id_rsa \
-o "ExitOnForwardFailure=yes" -o "ServerAliveInterval=30" \
-o "ServerAliveCountMax=3" -R 9033:localhost:22 \
userssh@1.1.1.1
Синтаксис тут один в один как у обычной службы sshd в том, что касается ssh соединения. То есть выполняем стандартный обратный проброс через ssh. Локальный порт 22 пробрасываем на удалённый хост 1.1.1.1 на порт 9033. Опции autossh можете посмотреть в его описании. Не буду на этом подробно останавливаться.
Теперь можно подключиться к внешнему серверу и на нём подключиться к внутреннему серверу:
# ssh -p 9033 root@localhost
Окажетесь на закрытом сервере, на котором запустили autossh.
Теперь сделаем всё красиво, запуская autossh через systemd под отдельной учётной записью. Создаём юнит /etc/systemd/system/autossh.service:
[Unit]
Description=SSH Reverse Tunnel
After=network-online.target
[Service]
Type=forking
User=userssh
ExecStart=/usr/bin/autossh -M 0 -N -p 22777 -f -q -i /home/userssh/.ssh/id_rsa -o "ExitOnForwardFailure=yes" -o "ServerAliveInterval=30" -o "ServerAliveCountMax=3" -R 9033:localhost:22 userssh@1.1.1.1
ExecStop=/usr/bin/pkill -9 -u userssh
RestartSec=5
Restart=always
[Install]
WantedBy=multi-user.target
Запускаем и добавляем в автозагрузку:
# systemctl daemon-reload
# systemctl start autossh.service
# systemctl enable autossh.service
Проверяем на внешнем сервере:
# netstat -tulnp | grep 9033
tcp 0 0 127.0.0.1:9033 0.0.0.0:* LISTEN 19814/sshd: userssh
tcp6 0 0 ::1:9033 :::* LISTEN 19814/sshd: userssh
Всё работает. Заходим на внешний сервер и через его консоль подключаемся к закрытым серверам. Подобным образом можно настроить постоянное подключение NFS сервера по SSH.
По необходимости можно ограничивать разрешённые команды по ssh, либо настроить логирование действий.
Использование протокола Outline VPN: достоинства и недостатки
Outline VPN использует протокол Shadowsocks для обмена данными между клиентом и сервером.
Особенности протокола
- Shadowsocks обладает быстрой и легкой производительностью за счет использования простых методов шифрования, которые не влияют на скорость соединения.
- Shadowsocks предоставляет гибкие настройки, такие как выбор алгоритмов шифрования, портов и протоколов, которые можно настроить в зависимости от потребностей пользователя.
- Shadowsocks обеспечивает высокую незаметность и устойчивость благодаря маскировке своего трафика, который похож на обычный HTTPS-трафик, затрудняющий обнаружение или блокирование методами сетевой безопасности.
- Shadowsocks является открытым и сообщественным инструментом, обладающим большим и активным сообществом разработчиков.
Достоинства
1. Легкость использования: Outline VPN не требует от пользователей сложных настроек и технических знаний для создания и запуска собственного VPN-сервера. Он поддерживает Windows, macOS и Linux, а Outline Client доступен для Windows, macOS, Linux, ChromeOS, Android и iOS.
2. Безопасность и конфиденциальность: Outline VPN обеспечивает высокий уровень безопасности и конфиденциальности, шифруя и аутентифицируя трафик пользователей с помощью современных алгоритмов. Его не интересует журнал трафика пользователей или личные данные.
3. Экономия ресурсов: С помощью Outline VPN пользователи могут экономить денежные и ресурсные средства, выбирая местоположение и провайдера своего VPN-сервера и используя самостоятельный хостинг или облачные сервисы, такие как DigitalOcean, Rackspace, Google Cloud Platform и Amazon EC2.
4. Гибкость использования: Outline VPN позволяет пользователям легко делиться доступом к своему VPN-серверу с возможностью создания уникальных ключей доступа и их отправки через электронную почту или социальные сети. Он также масштабируем и гибкий с возможностью поддержки сотен пользователей или простого деления доступа со своими близкими контактами.
Недостатки
1. Анонимность не полна: Использование Outline VPN не скрывает от провайдера интернет-услуг того факта, что пользователь использует VPN-сервер. Это может привести к блокировке или ограничению доступа к VPN-серверу со стороны провайдера или правительства. Кроме того, для увеличения анонимности пользователя, Outline VPN не поддерживает Tor или другие средства.
2. Доступность не гарантирована: Работоспособность Outline VPN зависит от доступности и качества VPN-сервера, который может подвергаться сбоям, атакам или перегрузкам. Если VPN-сервер недоступен или работает медленно, подключение к интернету через Outline VPN невозможно. Пользователи должны следить за обновлениями и безопасностью своего VPN-сервера самостоятельно.
3. Эффективность может быть ущербной: Выбор определенных стран для использования Outline VPN может стать невозможным из-за блокировок или ограничений протокола Shadowsocks. Например, в Китае правительство активно борется с использованием VPN-сервисов и использует различные методы для обнаружения и блокировки трафика Shadowsocks. Решение изменять настройки VPN-сервера или клиента, чтобы обойти эти ограничения, может быть сложным и сопряженным с рисками.
Для устранения этих недостатков и улучшения протокола Outline VPN можно предложить следующие решения и предложения:
Поиграем в бизнесменов?
Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.
Рецензия на Project Zomboid
Год выхода: 2013 г.
Платформы: Windows, Java, Linux, MacOS
Режим: Однопользовательская игра, многопользовательская игра.
Жанр: Survival horror.
Разработчик: The Indie Stone.
В процессе прохождения на платформе Windows.
"Вот это я понимаю инди-игрушечка, а не вот эти вот ваши трипл ай проекты."
Оформление (графика, звук, интерфейс, стиль) - 9/10.
Эта инди-игра, разработанная компанией The Indie Stone, не может похвастаться крутым визуалом и звуком, да оно на самом деле и не нужно. Учитывая, что с выхода игры прошло уже более 10 лет, даже на сегодняшний день ей есть что вам показать. Ведь проект растет и развивается.
При первом запуске я топорно смотрел на общую графическую составляющую, но потом понял, что изюм тут в другом. А именно в атмосфере выживания. Я всегда скептично относился к инди-играм, и в этом была моя ошибка.
Учитывая все аспекты, графика в целом все смотрится очень приятно, но есть одно НО.
К сожалению, игра не поддерживает разрешение 3840x2160 (4к) и поэтому всем обладателям данных мониторов, к которым отношусь и я, придется играть в разрешении 1920x1080 (Full HD).
В противном случае, надписи и все элементы интерфейса игры вы будете рассматривать под лупой. За это справедливо минус один балл. В остальном, все смотрится добротно и приятно.
Механика (геймплей – количество и качество игровых возможностей) - 9/10.
А вот механика у игры очень богата своим разнообразием. Функционала в игре настолько много, что все даже не перечислить. Игровой мир позволяет делать абсолютно все, что нужно человеку для того, чтобы выжить в мире зомби апокалипсиса.
Первое мое впечатление - "Обалдеть, это симулятор какой-то!".
Попробую перечислить хотя бы часть "развлечения":
Поиск еды, оружия, медикаментов, транспорта, снаряжения, обучающих материалов, инструмента для работы в саду и в локации, компоненты и запчасти для крафта;
Прокачка навыков;
Строительство;
Фермерство;
Сборка и разборка автомобилей;
Собирательства;
Рыбалка;
Путешествие по миру.
Это я перечислил далеко не все и то поверхностно, на самом деле функционала в игре намного больше. Чего даже стоит механика с проникновением в дом через разбитое окно.
Не убрал осколки с рамы? Ничего страшного, поранился и умер.
Погибать по началу в игре вы будете очень часто пока не наберетесь опыта, поэтому будьте готовы к этому.
Данный проект идеальный убийца времени. В игре есть режим "песочница", в котором можно настроить мир по своему усмотрению, что для меня (новичка) очень крутая функция познакомиться с игрой. Также на просторах интернета вы можете найти более сотни разных модов для игры, на любой вкус и цвет. Контента тут море.
Кто-то спросит, тогда почему 9 из 10? Все очень просто. Понадобится не малое количество времени на изучение всех механик в игре. Большое спасибо комьюнити данного проекта, который помогает и рассказывает, как работают те или иные механики, и что нужно сделать для одного или другого действия. Игра в свою очередь не торопится подсказывать.
Содержание (сюжет, логичность событий, проработанность персонажей, мира) - 9/10.
А вот сюжета тут нет и не будет.
Единственную сюжетную линию создаете здесь вы или ваша команда. Цель одна - выжить.
Ну а если вы матерый выживальщик, попробуйте построить базу и создать свою общину вместе с другими игроками. Но будьте аккуратны, сегодня они друзья, а завтра - враги.
Мир тут просто огромный, даже не пытайтесь его пройти пешком.
По пути ваших приключении вы можете встретить кого угодно и что угодно. Но, мы с вами знаем, что есть одно правило, которое всегда работает - "Быстрые ноги пи*ды не боятся".
Все-таки сюжета (обучения механик) не хватает, игра позволяет запустить 5 минутный режим рассказывая про основные механики. Но это капля в море.
Рекомендация к прохождению.
Однозначно рекомендую данный проект. Я играю пока что один, не хочу быть обузой для остальных. Но в компании ребят играть куда интереснее.
Рекомендации разработчикам.
Из разряда "я капризный" хотелось бы увидеть хорошую графику.
Общая оценка - 9/10.
Post Scriptum
Пишу рецензий без спойлеров. Кратко и по сути, без воды.
Играю на платформах: Windows, PlayStation 5. Игровой опыт более 20 лет.
Поиграл в очень многие проекты и решил поделиться с вами своим мнением.
Может, кому-то будет полезно. Может, кому-то я спасу нервы.
Обзор книги "Data Science. Наука о данных с нуля", отличная книга для начинающих
Всем доброго времени суток! Так как о Data Science мы слышим всё чаще и чаще, предлагаю вам обзор книги, что будет полезна для начинающих.
Публикую обзор книги с моего телеграмм-канала IT-старт t.me/it_begin на книгу "Data Science.Наука о данных для начинающих".
Автор книги Джоэл Грас.
Стоит читать? Да! Почему? Опишу в статье.
Для кого эта книга?
Так как в названии фигурирует "Наука о данных с нуля" - не мудрено, что рассчитана она на тех, кто только начинает свой путь в Data Science :)
Рис.1. Начальная страница
Что в самой книге?
Книга сама по себе немаленькая и состоит из 416 страниц.
Для того, чтобы имелась конкретика по размерам книги, производим замеры.
Ширина книги составляет чуть менее 17 см.
Рис.1.2. Размер книги
Высота книги составляет 23 см.
Рис.1.3. Размер книги
Глубина книги составляет около 2 см.
Теперь, для предметного и краткого понимания того, с чем мы сможем ознакомиться в данной книге, предлагаю перейти к её оглавлению.
Рис.1.4. Оглавление
Рис.1.5. Оглавление
Рис.1.6. Оглавление
Рис.1.7. Оглавление
Глав достаточно много, это радует) Всего глав 27.
Далее предметно и главное кратко постараюсь рассказать о том, что полезного и интересного мы сможем найти в этой книге.
Глава 1. Введение
Рис.2. Глава 1
Первая вводная глава начинается с подробного описания тезиса "Воцарение данных" и ответа на вопрос "Что такое наука о данных?".
Здесь повествуется о том, насколько много данных в современном мире и том, что вся информация, что собирается нашими компьютерами, смартфонами, умными часами, при должной обработке, может дать ответы на бессчисленные вопросы.
Более всего понравился пример на странице 26 с Facebook, что думаю примененим ко многим плоскостям исследования, используя практические любые соц. сети.
Также хорошо подчеркнут опыт избирательной компании Барака Обамы в 2012 году и предвыборной компании Дональда Трампа. Предлагаю вам ознакомиться с данным отрывком.
Рис.2.1. Глава 1, страница 26
Глава 2. Интенсивный курс языка Python
Рис.3. Глава 2
В данной главе автор на протяжении 30 страниц крайне в сжатом формате старается познакомить нас с языком программирования Python.
По моему мнению, вследствие того, что объяснение крайне поверхностное и имеет ограничение в виде 30 страниц, объяснено всё плохо. Для тех, кто вовсе не имел опыта работы с Python, данная глава, к сожалению, вряд ли поможет.
Как бы, претензий к книги по данному поводу у меня нет, но хотел бы, чтобы вы заранее имели это ввиду, что эта глава не является карманным пособием по Python.
Если вам необходимо изучить основы Python, советую книгу Тони Гэддиса "Начинаем программировать на Python с нуля" - мой обзор
Рис.3.1. Глава 2
В конце данной главы на странице 69мы видим две особенности книги.
Первая особенность - в конце каждой последующей главы вы увидите полезную сноску под названием "Для дальнейшего изучения", где автор от себя советует, что можно прочитать дополнительно для более глубокого изучения той или иной темы. Считаю это положительным моментом.
Отрицательным моментом качества данной книги являются тонкие страницы, что просвечивают и не доставляют особого удовольствия от этого.
Не сказал бы, что это крайне критично, но и приятного в этом также мало, общее впечательние от книги немного портится.
Всё крайне показательно видно на фото выше.
Глава 3. Визуализация данных
Рис.4. Глава 3
Также яркий пример просвечивающих страниц это столбчатый график, что просвечивает на странице 71)
В третьей главе автор кратко рассматривает библиотеку matplotlib,
В самом начале автор подчеркиват, что считает данную библиотеку устаревающей и что она годна для построения элементарных линейных и столбчатых графиков.
Согласиться с этим или нет? Вопрос сложный и оставлю его открытым на суд аудитории. Интересно ваше мнение по этому вопросу.
Далее в книге рассматриваются столбчатые и линейные графики, диаграммы рассеяния. Что порадовало, это повествование с соответствующим кодом, тут же можно понять, какая строчка кода за что отвечает, считаю это положительным моментом для тех, кто только начинает свой путь.
Завершается глава разделом "Для дальнейшего изучения", где автор оставляет ссылки на такие библиотеки, как seaborn, Altair, D3.js, Bokeh с кратким описанием каждой из них.
Глава 4. Линейная алгебра
Рис.5. Глава 4
В этой главе автор рассматривает векторы и матрицы.
Объяснено достаточно хорошо, вопросов после прочтения остается мало, в конце автор оставляет ссылки на три книги, что также позволят закрепить пройденный материал.
Глава 5. Статистика
Рис.6. Глава 5
В данной главе автор описывает и рассказывает о том, что такое тенденции, вариация, корреляция, корреляционные ловушки.
В главе много кода, подробно всё описание, в целом впечатление от главы положительное.
Но также показалось интересным и хорошо запомнилось описание парадокса Симпсона :)
Рис.6.1. Глава 5. Парадокс Симпсона
Глава 6. Вероятность
Рис.5. Глава 6
В этой главе рассмотрены:
Условная вероятность
Теорема Байеса
Случайные величины
Непрерывные распределения
Нормальное распределение
Центральная предельная теорема
Автор раскрывает важность умения работать с анализом вероятности для последующей работы с данными. Вероятность автор рассматривает, как способ количественной оценки неопределенности, что ассоциируется с событиями из некоторого вероятностного пространства.
Глава 7. Гипотеза и вывод
Рис.6. Глава 7
Хотел бы привести в пример "учаток" на странице 116, в подтверждение того, что без опечаток в этой книге не обошлось)
Теперь же о самой главе.
В данной главе автор подчеркивает, что все сведения из теории вероятности и статистики нам нужны для формулирования статистических гипотез и их последующей проверки. Предлагаю взглянуть на фрагмент главы в фото ниже.
Рис.7. Глава 7
Глава 8. Градиентный спуск
Рис.8. Глава 8
Градиент - это вектор, что своим направлением указывает направления возрастания некоторой скалярной величины.
Антиградиент - вектор, что своим направлением показывает направление убывает некоторой скалярной величины.
Градиентный спуск - это метод поиска локального максимума или минимума функции с помощью движения вдоль градиента.
Частично и достаточно понятно подход к максимизации функции описан на странице 128. (Рис. 8)
Глава более чем интересная, рассматривается также использование градиента, выбор правильного размера шага и применение градиентного спуска для подгонки моделей.
Глава 9. Получение данных
Рис.9. Глава 9
Для того, чтобы исследовать данные, нужно сначала их собрать :)
В этой главе автор рассматривает способы подачи данных и также их последующее форматирование.
В главе рассматриваются аспекты чтения файлов, импорт информации из всемирной паутины с помощью html5lib, что такое API и как с этим можно работать.
Глава 10. Работа с данными
Рис.10. Глава 10
В 10 главе автор рассматривает непосредственную работу с данными.
Рассматривается разведывательный анализ данных, классы данных, многочисленные размерности.
Мне же понравилось, что автор не забыл про "чистоту" данных.
На странице 164 об этом как раз таки говорится, что многие данные в реальном мире загрязнены и что важно пред их использованием проводить необходимую обработку, чтобы в дальнейшем не создать себе проблем.
Рис.11. Глава 10
Глава 11. Машинное обучение
Рис.12 Глава 11
В 11 главе автор знакомит нас с машинным обучением.
Так как это обзор книги и он всё же будет немного предвзят с моей стороны по той причине, что у каждого человека есть своё мнение на ту или иную информацию - мне показалась данная глава не для тех, кто начинает с нуля)
Описано в целом по делу всё, но нет уверенности, что люди, ранее не знающие ничего о машинном обучении, после прочтения данной главы всё усвоят.
Глава 12. k ближайших соседей
Метод k-ближайших соседей – это популярный алгоритм классификации, который используется в разных типах задач машинного обучения.
Простыми словами суть метода: посмотри на соседей вокруг, какие из них преобладают, таковым ты и являешься.
Теперь же о том, как всё это описывает автор на примере предсказания результатов на выборах
Глава 12. k ближайших соседей
Метод k-ближайших соседей – это популярный алгоритм классификации, который используется в разных типах задач машинного обучения.
Простыми словами суть метода: посмотри на соседей вокруг, какие из них преобладают, таковым ты и являешься.
Теперь же о том, как всё это описывает автор на примере предсказания результатов на выборах
На примере набора данных о цветках ириса (длина и ширина лепестка, длина и ширина чашелистика) автор пытается построить модель предсказания вида цветка, но т.к. выводимые результаты у него получились четырехмерными, что затрудняет построение графика, автор предлагает взглянуть на диаграммы рассеяния для каждой пары данных результатов измерений.
Порадовало, что в данной главе автор не забыл о проклятии размерности
Глава 13. Наивный Байес
В данной главе автором очень хорошо рассказан принцип работы спам-фильтра социальных систем, как он устроен и что лежит в его основе.
Порадовало то, что в конце данной главы автор ссылается на статью Пола Грэма "План для спама". Статья 2002 г., но менее интересной от этого не становится.
Глава 14. Простая линейная регрессия
В 14 главе автор рассказывает о простой линейной регрессии, описывает применение градиентного спуска, производит оценивание максимального правдоподобия
Глава 15. Множественная регрессия
В данной главе автором рассматривается множественная регрессия, Расширенные допущения модели наименьших квадратов, подгонка модели и её дальнейшая интерпретация.
Глава достаточно большая и много познавательной информации имеет, но мне более всего понравилась трактовка интерпретации моделей
Глава 16. Логическая регрессия
Логистическая регрессия - статистический метод для анализа набора данных, в котором есть одна или несколько независимых переменных, которые определяют результат. Результат измеряется с помощью дихотомической переменной (в которой есть только два возможных результата). Он используется для прогнозирования двоичного результата (1/0, Да / Нет, Истина / Ложь) с учетом набора независимых переменных.
С самого начала главы автор предлагает рассмотреть всё на задаче, что содержит набор данных 200 пользователей, их зарплату, опыт работы и состояние платежей за учетную запись в соц. сетях. Далее описывается то, что такое логистическая функция, применение модели.
Более всего понравилось рассмотрение гиперплоскости, что разделяет параметрическое пространство
Идём далее)
Глава 17. Деревья решений
Одно из толкований дерева решений чаще всего описывает их в качестве представления возможных путей принятия решений.
Автором неплохо показано это на достаточно простом примере.
Глава 18. Нейронные сети
Нейронные сети - то о чём мы всё чаще слышим из средств массовой информации.
В данной книге глава это мягко не особо большая. Всего 10 страниц. Но достаточно информативная. Расскажет о том, что такое нейронные сети, перспептроны, как работают нейронные сети прямого и обратного распространения. Глава интересная!
Глава 19. Глубокое обучение
В данной главе о глубоком обучении автор рассказывает нам, что такое абстракция слоя, о представлении нейронных сетей как последовательности слоёв, о потери и оптимизации функции градиента.
Возможно субъективно, но чтобы до конца понять все вещи в данной главе, пришлось прочитать её дважды. Но думаю, дело не в книге, а во мне :)
Глава 20. Кластеризация
В главе о кластеризации понравилось, что автор пытается объяснить нам, что такое кластеры на +- понятных многим бытовых темах. Если читать ранее не слышал ничего о кластерах, подобное объяснение не является крайне легким, но и базовые основы в голове начнет зарождать. В главе автор рассматривает и описывает восходящую иерархическую кластеризацию, кластерные методы и на примерах объясняет что к чему. Интересная глава.
Глава 21. Обработка естественного языка
В главе об обработке естественного языка автор рассказывает несколько приемов, такие как: облако слов, N-грамматические языковые модели, грамматики. Много поясняющего кода)
Глава 22. Сетевой анализ
В главе про сетевой анализ автор описывает центральность, ориентированные графы, алгоритм PageRank. Мне данная глава "понималась" крайне тяжело, вследствие чего параллельно приходилось заглядывать в Google.
Глава 23. Рекомендательные системы
Та тема, с которой мы ежедневно встречаемся, используя те или иные стриминговые сервисы, соц. сети, поисковые системы - рекомендации :)
Сказали рядом с телефоном "купил собаку" и видите контекстную рекламу о дизайнерских будках на заказ? Это Data Science :)
Глава познавательная. Автор повествует о том, как работает рекомендательная система, что лежит в её основе, что такое коллаборативная фильтрация по схожесте пользователей и многое другое.
Глава 24. Базы данных и SQL
Достаточно сжатая глава о SQL. Рассказывается о том, что такое SQL, о основных командах и разобрано всё на примерах. Всё крайне сжато, но для общего представления совсем неплохо. Но всё же советовал бы дополнительно поискать еще источники информации на тему SQL, если хотите понять тему полноценно.
Глава 25. Алгоритм MapReduce
MapReduce - модель для выполнения параллельной обработки крупных наборов данных. Рассматривается работа самого алгоритма, какие его преимущества и чем он может быть полезен и рассмотренно на примере аналази аобновлений новостной ленты. Всё достаточно подробно описано, вопросов после главы остаётся не так уж и много.
Глава 26. Этика данных
Одна из лучших глав данной книги. Что такое этика данных, почему она важна, для чего используется и к чему может привести её несоблюдение. Познавательный материал, советую.
Глава 27. Идите вперед и займитесь наукой о данных
Заканчивается вся книга главой с призывом идти вперёд и заняться Data Science.
Автор подчеркивает важность компетенций в математической области и о необходимости хорошо разбираться в ней. Также автор кратко описывает популярные библиотеки языка программирования Python и не только.
Глава по своей сути прощальная между автором и читателем, автор же оставляет ту выжимку необходимых мыслей, что он хочет донести до каждого читателя для продолжения путешествия в мир Data Science.
Теперь, тезисно о плюсах и минусах книги
Плюсы книги:
1.Цена
На первом маркетплейсе цена не такая уж и народная.На втором же, ситуация куда бодрее.
Лично от себя скажу, что в целях экономии, часто беру книги уцененные, с небольшими внешними дефектами книги, что не особо влияет на её содержимое. Или же можно найти интересующую вас книгу на площадках б.у. товаров. Но если захотите приобрести новую книгу, цена в условные 600 руб. считаю более чем приемлимой и подъемной для многих. Выделю цену достоинством книги.
2. Книга крайне ёмкая и обширная. О необъятной теме в объятной книге.
Рассматривается и Python и SQL и методы Data Scince, что и как работает. В рамках одной книги это более чем достойно. Да, временами книга может показаться поверхностной, но думаю, это исходя из ограничений книги. Чтобы написать подробный том о каждой теме, для производства книги потребовалось бы куда больше бумаги :)
Минусы книги:
1. Прозрачные страницы.
Не особо бросается в глаза, когда увлечены чтением, но и приятного в этом мало.
Думаю, на всех фотографиях страниц книг, что сделаны мною, это отчетливо видно. Страницы тонкие и просвечивают. Считаю, что это минус.
2.Иногда крайне сжато подаётся материал, что , не имея под рукой поисковика, трудно понять некоторые вещи. Данная оценка субъективна, но мне показалось именно так. Опять же, не уместить всё-всё в одну книгу, понимаю. Но иногда охото отстраниться от цифрового мира, увлечься чтением интересной книги и не прибегать к помощи персонального компьютера)
Подведение итогов по книге:
Могу посоветовать к прочтению данную книгу. Книга даст базовые знания о Data Science, что опять же позволит вам понять, нужно ли оно вам в принципе, интересно ли всё то, что связано с этой сферой.
P.S. К сожалению, в один пост на пикабу можно поместить не более 25 изображений. Мною сделаны фотографии каждой главы, но показать их в рамках ограничений пикабу не могу. Поэтому, если интересно, то можете прочитать полную версию на моем канале.
Благодарю вас за внимание!
Мой канал в телеграмм
Если обзор показался вам интересным, то буду благодарен за подписку на мой
канал IT-старт t.me/it_begin
где я также публикую обзоры технической литературы и полезную информацию как для действующих, так и для начинающих программистов
Ссылка на бесплатную электронную версию книги https://t.me/it_begin/461
Также публикую обзоры книг и интервью на сайте https://russia-it.ru
Обзор книги "Программирование на Python для начинающих", худшая книга для начинающих с нуля
Всем доброго времени суток! Так как о Python слышал каждый, кто хотел или хочет связать свою жизнь с IT, предлагаю обзор книги, что точно не поможет вам, если вы только начинаете свой путь в программировании
Публикую обзор книги "Программирование на Python для начинающих".
Автор книги Майк МакГрат.
Стоит читать? Нет! Почему? Опишу в статье
.
Python - хороший первый язык программирования, а это самая худшая книга для начала его изучения.
Для кого эта книга?
Исходя из названия, книга рассчитана на начинающих программистов, тех людей, что только начинают свой путь.
Рис.1. Начальная страница
Что в самой книге?
Сама по себе книга относительно небольшая, состоит из 191 страницы.
Провожу масштабное сравнение размеров книги с обычной канцелярской ручкой.
Рис.1.1. Размер книги
Рис.1.2. Размер книги
Что мы сможем узнать нового и изучить на протяжении 191 страницы?
Предлагаю вам ознакомиться с оглавлением данной книги.
Рис.1.4. Оглавление
Книга состоит из 10 глав. Далее кратко и главное предметно постараюсь рассказать о том, что есть интересного и "полезного" в книге.
В самой первой главе автор начинает с краткого введения и рассмотрения следующих подтем.
<!---->- Введение в язык Python- Установка Python в средах Windows и Linux
- Что такое интерпретатор и как с ним работать
- Первая программа
Рис.2. Глава 1
В начале главы автор начинает с рассмотрения истории языка программирования Python и рассмотрения положительных сторон данного языка.
Рис.2.1 Глава 1
Рис.2.2 Глава 1
Далее автор рассматривает процесс установки Python. Что лично мне понравилось, лаконичное и краткое описание каждого пункта с соответствующими скриншотами интерфейса. Лишним для начинающих подобное точно не будет. Идём дальше.
Вторая глава начинается с рассмотрения арифметических действий в Python , постепенно переходя к сравнению величин.
Рис.3. Глава 2
Но самое интересное начинается тогда, когда автор начинает рассматривать проверку условий посредством тернарного оператора.
Тернарный оператор - это оператор, что принимает три операнда, похож данный оператор на оператор if-else, но при всем этом он обязательно возвращает значение.
Мой первый вопрос к автору. Зачем это новичку, что ранее даже не слышал о простых операторах сравнения? Возможно кому-то на начальных порах это подойдет, но лично моё мнение, что это начало того, когда человек начнет путаться на самом старте своего самообразования и начнется первая неуверенность в себе, поэтому считаю, что всё же лучше начинать рассматривать по принципу от простого к сложному. Переходим дальше.
Рис.3.1. Глава 2
На 42 странице автор рассматривают манипуляции с битами. Этого я вовсе не понял, зачем, с какой целью. Бесспорно, познавательно, знать лишним не будет, но не в самом начале изучения синтаксиса Python. Вопрос, для чего автор рассматривает подобные вещи для новичков - остается открытым.
Рис.3.2 Глава 2
В третьей главе мы начинаем встречать основную проблематику данной книги - опечатки и вследствие чего нерабочий код.
На странице 50, автор описывает что такое кортеж и приводит следующий код, но основная проблема данного кода в том, что он не работает.
Рис.4. Глава 3
В глаза бросается сразу синтаксическая ошибка. В переменных неприемлим знак минуса "-". Вот что нам скажет интерпретатор на данную строчку кода.
Рис.4.1. Глава 4
Корректный код должен быть с использованием нижнего подчеркивания и выглядеть следующим образом,
Рис.4.2 Глава 4. Как должен выглядеть корректный код с использованием нижнего подчеркивания
Идём далее. На странице 54 автор начинает рассматриваем использование условного оператора и особенно подчеркивает важность отступов при его использовании, но что мы видим далее на примерах кода в книге, понять трудно)
Рис.4.3 Глава 4.
Корректно код с использованием условного оператора пишется следующим образом, с отступом:
Рис.4.4 Глава 4 - Корректный код
Именно из за подобного рода опечаток я никому не советую данную книгу. В книге встречается много опечаток в коде при объяснении базовых вещей, вследствие чего, при попытке начинающего программиста повторить данный код и проверить его работоспособность, у него ничего не получится. Интерпретатор конечно покажет вам в чем у вас ошибка, но уверенности от этого в собственных силах у вас вряд ли прибавится.
Одна из основных проблем данной книги, это повсеместные ошибки в коде.
Рис.4.4 Глава 4 - Примеры кода с отсутствием необходимых для полноценной работы отступов.
Рис.4.5 Глава 4 - Примеры кода с отсутствием необходимых для полноценной работы отступов.
Как видим, об отступах тут давно забыто.
С такими ошибками книга явно не подходит для начинающих программировать с нуля.
Исходя из того, что книга не является полезной и интересной для начинающих и из уважения к времени моих читателей, предлагаю на последок вам взглянуть на главу 8 под названием "Обработка запросов".
Честно, думал, что удивить у автора вряд ли получится, но получилось.
Предлагаю взглянуть на страницы 138-139
Рис.5. Глава 8
Если же быть точнее, прошу обратить внимание на следующий фрагмент:
Рис.5.1 Глава 8
Тут мы с вами видим просто принты HTML-тегов. Ни HTML-файла, что мы считываем и выводим содержимое, ни шаблонизатора, ничего, просто принты с тегами)
Напомню, данная книга предназначена для начинающих. Всё же подобное ошибочное изложение базовых вещей лишь ухудшает процесс самообразования у новичков.
Теперь, тезисно о плюсах и минусах книги
Плюсы книги:
1.Цена
Не рассматриваю региональные сети, чтобы все были примерно в равных условиях и смотрю сколько стоит данная книга на популярных маркетплейсах.
Рис.6. Цена книги на Ozon
Рис.6.1. Цена книги на WildBerries
Как видим, цена более чем доступная и не превышает 1000 рублей.
2.Качество изготовления книги.
Книга сделана довольно таки качественно, страницы не выпадывают, текст пропечатан хорошо. Единственное, обложка мягкая, вследствие чего не особо уверен, что при постоянном использовани книги в дороге, она сохранит свой презентабельный вид.
На этом плюсы книги заканчиваются.
Минусы книги.
1.Часто встречающиеся ошибки в коде.
Так как книга рассчитана для начинающих разработчиков, подобного рода книжный недочет может лишь отбить желание у начинающих специалистов или же ввести в замешательство и ступор.
2.Не всегда логичная структура материала.
Примером этого служит рассмотрение тернарного оператора до рассмотрения простых условных операторов. Таких примеров преждевременной (для начинающих) информации в книги к сожалению достаточно.
Подведение итогов по книге:
Никому не могу посоветовать к приобретению данную книгу, особенно тем, кто начинает свой путь в программирование на Python с нуля.
Книга богата на ошибки в примерах кода и неточности.
Сэкономьте собственное время, нервы и деньги и проходите данную книгу стороной.
Мой канал в телеграмм
Если обзор показался вам интересным, то буду благодарен за подписку на мой
канал IT-старт t.me/it_begin
где я также публикую обзоры технической литературы и полезную информацию как для действующих, так и для начинающих программистов
Электронной бесплатной версии книги в открытом доступе не нашёл, но оно и к лучшему)
Также публикую обзоры книг и интервью на сайте https://russia-it.ru
Как получать прокси Бесплатно
сегодня я вам расскажу как получать прокси на халяву
а именно про бота в телеге которые по одной кнопке даёт прокси
после того как вы получите прокси настоятельно рекомендую пробить прокси на работоспособность, самый удобный чекер это https://proxy6.net/checker
ссылка на бота:
https://t.me/freehiderproxybot
ps иногда бот может не отвечать на команды
происходит это из-за перегруза определённого api запросами
просто подождите какое-то время и бот выдаст вам прокси
Сможете найти на картинке цифру среди букв?
Справились? Тогда попробуйте пройти нашу новую игру на внимательность. Приз — награда в профиль на Пикабу: https://pikabu.ru/link/-oD8sjtmAi
Ответ на пост «Linux который весит 25 MB! (Tiny Core)»
В 2007 году у меня была дискета 1.44 на которой стояла какая-то система с интерфейсом в стиле нортон командора. Так вот она загружалась и самостоятельно открывала почти всю медиа включая mp3, ogg, avi, jpg, bmp, png, gif, txt. Т.е это была система -медиаплейер, не помню к сожалению название. Никаких кодеков не спрашивала. Открывала всё кроме wmv и mkv. Прсмотр картинок поддерживал увеличение и дерево.
Плеер имел dos интерфейс и поддерживал прокрутку.
Кто помнит такое подскажите название.