Size: a a a

Библиотека программиста

2020 May 07
Библиотека программиста
Держите пять отличных Telegram-каналов по теме IT. Enjoy!

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

CODE RED - как осуществляют взломы, пишут вирусы, для чего создают DDoS атаки и как умело этому противостоять.

@UniLecs — это уже более 200 задач по программированию, онлайн-тесты и крутые статьи. Здесь есть все, чтобы успешно пройти собеседование и прокачать ваши скиллы в программировании. Это как Codewars, но только на русском и намного интереснее!

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

@Social_Engineering - информационная безопасность, OSINT, пентест, примеры атак на организации с использованием социальной инженерии, слив платной информации.
источник
2020 May 08
Библиотека программиста
​​Как с помощью Python скачать все бесплатные учебники Springer Nature

Короткий туториал о том, как скачать 390 учебников с помощью 10 строчек кода на Python 📕🐍. Список книг содержит издания по математике, статистике, электронике и Computer Science.

https://proglib.io/sh/Qo4H5T3OX9
источник
Библиотека программиста
​​Основы React за неделю в формате марафона

С 11 по 17 мая пройдет бесплатный марафон по React.js в Телеграме.
Дошедшие до конца напишут свое первое веб-приложение.

Что будет:
– короткие видеоуроки по 5-10 минут;
– домашние задания, которые нужно выполнить, чтобы пройти дальше;
– поддержка в чате от ментора с 14-летним опытом;
– code review домашних заданий.

От вас потребуется полчаса в день.

Чтобы участвовать, нажмите на кнопку ниже и запустите бота.
источник
Библиотека программиста
источник
Библиотека программиста
Каким будет значение «B» в результате выполнения вышеуказанного псевдокода?
Анонимная викторина
30%
2
42%
3
18%
4
1%
1
5%
Нет правильного ответа
4%
Не знаю
Проголосовало: 4720
источник
2020 May 09
Библиотека программиста
В задаче применяется стандартное соглашение: если значение левого операнда равно True, то значение правого операнда не вычисляется. Такое соглашение ускоряет исполнение программы и служит полезным приёмом в некоторых случаях.

Цепочка рассуждений: A == 1, B == 2 => A == B — false. Поэтому проверяется вторая часть равенства: C == B++ — тоже false. Но при этом «B» увеличится на 1 и в результате получаем 3.

Источник: https://proghub.ru/q/7641a2
источник
Библиотека программиста
​​📜⤵️ О правильном дизайне полей с выпадающими списками

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

https://proglib.io/sh/6O8Mwd4mIa
источник
Библиотека программиста
источник
Библиотека программиста
Эта классическая задача решается сведением к другой классической задаче. К какой?
Анонимная викторина
8%
Поиск в ширину (на деревьях)
21%
Задача о Коммивояжёре (обход графа)
12%
Слияние двух списков
17%
Задача о максимальном потоке (на графах)
9%
Поиск в глубину (на деревьях)
34%
Вычисление пересечения (на множествах)
Проголосовало: 2440
источник
Библиотека программиста
Мужчины и женщины представляются двумя частями двудольного графа, а пожелания рёбрами этого графа. После этого ко всем мужчинам подсоединяется дополнительная вершина «исток», а ко всем женщинам «сток». Дальше решается задача о максимальном потоке через сеть.

Ответом является то подмножество рёбер, через которые этот поток пошёл. Все рёбра должны иметь одинаковый вес (пропускную способность) чтобы обеспечить моногамность. Пожелания женщин не учитываются просто потому, что это не меняет сути задачи.
источник
2020 May 10
Библиотека программиста
Паттерн проектирования ... обеспечивает существование одного экземпляра некоторого класса и предоставляет единую точку доступа к нему.
Анонимная викторина
5%
Adapter
5%
Bridge
79%
Singleton
5%
Proxy
4%
Decorator
2%
Нет правильного ответа
Проголосовало: 4086
источник
Библиотека программиста
Паттерн Одиночка (англ. Singleton) — это порождающий паттерн проектирования, гарантирующий, что у класса есть только один экземпляр, и предоставляющий к нему глобальную точку доступа.

Данный паттерн решает сразу две проблемы, нарушая принцип единственной ответственности класса:
✔️Гарантирует наличие единственного экземпляра класса. Чаще всего это полезно для доступа к какому-то общему ресурсу, например, базе данных.
✔️Предоставляет глобальную точку доступа. Это не просто глобальная переменная, через которую можно достучаться к определённому объекту. Глобальные переменные не защищены от записи, поэтому любой код может подменять их значения без вашего ведома.
источник
Библиотека программиста
Весь мир на удаленке, заработки в офлайне просели – нельзя полагаться на один источник дохода. Бывшие офисные сотрудники штудируют курсы и уходят во фриланс за онлайн-заказами. Преимущества очевидны:

💎 Зарплату определяют нагрузка и опыт, а не мнение начальника
🌐 Международный рынок: больше вариантов, оплата в валюте
🌊 Сам выбираешь, когда трудиться и отдыхать

Но работа во фрилансе отличается от офисной. Учиться лучше у людей с опытом – на GeekBrains freelance. Курсы по тестированию, верстке, мобильной разработке и вебу – все с акцентом на быстрый старт во фрилансе. Делимся ссылкой: https://proglib.io/w/8462a941
источник
Библиотека программиста
​​Всё, что нужно знать о декораторах Python

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

https://proglib.io/sh/RuoPz1SBeh
источник
2020 May 11
Библиотека программиста
​​Как сделать галерею в стиле Instagram

Галереи картинок с горизонтальной прокруткой выглядят современно и узнаваемо. Рассказываем, как с помощью CSS и JS перенести знакомую пользователям механику в ваши веб-приложения.

https://proglib.io/sh/5uIm8FtgUw
источник
Библиотека программиста
Паттерн проектирования Factory Method обеспечивает тесное связывание между созданным объектом и использующим его кодом.
Анонимная викторина
27%
Да
59%
Нет
13%
Не знаю
Проголосовало: 3552
источник
2020 May 12
Библиотека программиста
Фабричный метод (Factory Method) представляет из себя порождающий паттерн проектирования, который определяет общий интерфейс для создания объектов в суперклассе, позволяя подклассам изменять тип создаваемых объектов.

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

Применяйте его, когда:
✔️Заранее неизвестны типы и зависимости объектов, с которыми должен работать ваш код.
✔️Необходимо дать возможность пользователям расширять части вашего фреймворка или библиотеки.
✔️Требуется экономить системные ресурсы, повторно используя уже созданные объекты, вместо порождения новых.
источник
Библиотека программиста
​​Как запустить веб-приложение на Nginx в Docker 🐳👨🏽‍💻

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

https://proglib.io/sh/weMxOAbQa6
источник
Библиотека программиста
Как проверить состояние вашего локального Git-репозитория с момента последнего коммита?
Анонимная викторина
9%
git check
2%
git cherry-pick
82%
git status
7%
git diff
Проголосовало: 5604
источник
2020 May 13
Библиотека программиста
Команда git status относится к основным командам системы контроля версий Git и показывает состояния файлов в рабочей директории и индексе.

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