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

@proglibrary Нравится 8

Полезные материалы по всему, что может быть интересно программисту.
Обратная связь: @proglibrary_feedback_bot
Актуальные мероприятия по разработке: @event_listener_bot
По вопросам рекламы: @proglib_adv_bot и @proglib_adv
Гео и язык канала
Россия, Русский
Категория
Технологии


Написать автору
Гео канала
Россия
Язык канала
Русский
Категория
Технологии
Добавлен в индекс
17.05.2017 01:33
реклама
Хотите продавать рекламу в канале?
Добавь свой канал и получай рекламу прямо сейчас!
Коронавирус - Вы должны знать
Все о коронавирусе. Самые свежие новости!!
SearcheeBot
Ваш гид в мире Telegram-каналов
71 170
подписчиков
~17.3k
охват 1 публикации
~40k
дневной охват
~3
постов / день
24.3%
ERR %
35.34
индекс цитирования
Репосты и упоминания канала
136 упоминаний канала
1 упоминаний публикаций
415 репостов
RULinux NEWS
RiftBit [ErgoZ] BitBase
RULinux NEWS
контент
BotShare
Файлы ХввБ ⭐️
BotShare
BotShare
IT-таксист 😜
Uniser Echo
lisTelegram Каталог.
Git Top Libraries
Каталог Telegram
lisTelegram Каталог.
RULinux NEWS
Grow IT
Blog by A1ex Shad0w
IT Channels
Grow IT
RULinux NEWS
Код в мешке
Код в мешке
Каналы, которые цитирует @proglibrary
Журнал «Код»
NOP::Humor
Jobs Code: IT
Журнал «Код»
Зашкваркетинг
Библиотека шарписта
Библиотека джависта
Библиотека data scientist’а
Библиотека питониста
Библиотека пхпшника
NOP::Nuances of programming
Журнал «Код»
Журнал «Код»
@exploitex
CODE RED
Эксплойт
CODE RED
NOP::Nuances of programming
UniLecs
Не баг, а фича
Буду
Sys-Admin Channel ☣️
Java Mentor
Академия Яндекса
Библиотека шарписта
Библиотека джависта
Библиотека пхпшника
Java Mentor
Слёрм
Говнокод
Java Mentor
Библиотека джависта
Библиотека data scientist’а
Библиотека питониста
Библиотека пхпшника
Последние публикации
Удалённые
С упоминаниями
Репосты
Увлечение vs работа: программисты не обязаны кодить дома

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

https://proglib.io/w/1d8b0166
👍 47
👎 4
Какие платформы мы не упомянули, но которые вы используете?
Я смотрю онлайн-курс на платформе
Опрос
  • Coursera
  • Stepik
  • Skillbox
  • Skillfactory
  • OTUS
  • GeekBrains
  • Udacity
  • Udemy
  • Другая платформа
  • Не смотрю курсы
406 голосов
#fundamental #patterns #cheatsheet

📌 Наблюдатель (англ. Observer) — поведенческий паттерн, создающий механизм подписки, позволяющий одним объектам следить и реагировать на события, происходящие в других объектах.

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

Паттерн Наблюдатель применяется, когда система обладает следующими свойствами:
✔️Существует как минимум один объект, рассылающий сообщения.
✔️Имеется не менее одного получателя сообщений, причём их количество и состав могут изменяться во время работы приложения.
✔️Позволяет избежать сильного зацепления взаимодействующих классов.
👍 69
👎 6
Читать полностью
Новый набор на онлайн-курс по администрированию Linux серверов - “Администратор Linux”.

🔥Cдавайте вступительный тест прямо сейчас и успейте поступить в группу со скидкой -20%: https://otus.pw/qmLr/

🔥Научим развертыванию, настройке и обслуживанию высокодоступных и надежных систем, построенных на базе Linux. Курс не для новичков. Для поступления понадобятся базовые знания по сетям и установке Linux на виртуалку.
Читать полностью
​​#tools

Gifcap

Инструмент позволяет моментально создавать анимированные GIF-файлы из записи экрана. Работает полностью на стороне клиента, используя современные браузерные технологии. Никакие данные не загружаются на чужой сервер. Можно использовать как в браузере (тестировался в Google Chrome), так и запустить локально. За подробностями идем на GitHub 👇.

https://proglib.io/w/486f3c6a
👍 31
👎 3
Читать полностью
На данный момент я...
Опрос
  • Прохожу онлайн-курс, связанный с разработкой
  • Прохожу онлайн-курс, не связанный с разработкой
  • Не прохожу никаких курсов
8128 голосов
​​Эффективная удалёнка: как продуктивно использовать дистанционную работу

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

https://proglib.io/sh/lhjv098ndG
👍 33
👎 5
В мультифункциональной команде, создающей приложение под Kubernetes, разработчику стоит знать основы Kubernetes. Возможности и ограничения Кубернетес диктуют архитектуру приложения. К тому же разработчикам иногда приходится самим деплоить приложение, настраивать мониторинг, вплоть до создания окружений.
Понимание того, как эксплуатируется приложение, превращает разработчика в инженера.

7 апреля стартует цикл из 19 бесплатных вебинаров от Слёрма по основам Kubernetes. Для прохождения достаточно знать Linux.
Вебинары идут 1-2 раза в неделю в 20:00 по Москве.

Регистрация: https://proglib.io/w/cf818dc3
Читать полностью
​​Пошаговая инструкция создания SQL-сервера на Google Cloud Platform

Воспользовались бесплатной годовой подпиской GCP, создали PostgreSQL-сервер (MySQL регистрируется аналогично) и сделали скриншоты, чтобы вы могли оценить, не пробуя без необходимости.

https://proglib.io/sh/hsC8kQyeKx
👍 40
👎 3
Читать полностью
​​#security #practice

SQL-инъекция

В одном из постов ранее мы рассматривали одну из популярных атак на пользователя под названием XSS-атака. Сегодня давайте рассмотрим уязвимость «внедрение операторов SQL» или SQL-инъекцию, возникающую как следствие недостаточной проверки принятых от пользователя значений, что позволяет модифицировать запросы к базам данных (БД). Несмотря на то, что на сайте была рассмотрена эта тема, стоит остановиться поподробнее на ней.

Итак, вы знаете, что для работы с БД был разработан специальный язык SQL-запросов. В качестве примера, рассмотрим приложение, которое обращается к базе данных со следующим запросом: SELECT name FROM members WHERE name = 'user' AND password ='123456'.

Запрос означает следующее: выбрать (SELECT) поле name из (FROM) таблицы members где (WHERE) значение поля name равно user (name = 'user') и (AND) значение поля password равно 123456 (password ='123456'). Этот запрос вызывает обход таблицы, в результате которого делается сравнение с каждой строкой, и если наше условие является для какой-либо строки истиной, то она попадает в результаты.

При этом значения «user» и «123456» приложение получает от пользователя — например, в рамках страницы входа на сайт. Предположим, что вместо user пользователь ввёл такую строку: user' --.

Тогда запрос к базе данных будет иметь вид: SELECT name FROM members WHERE name = 'user' -- ' AND password ='123456'.

Две чёрточки (--) означают комментарий до конца строки, т.е. всё, что за ними, больше не учитывается. Следовательно, из выражения условия «исчезает» часть  ' AND password ='123456'. Поскольку в комментарии осталась закрывающая кавычка, то она также была введена с именем пользователя, чтобы не сломать синтаксис и не вызвать ошибку, в результате, фактически, к базе данных делался следующий запрос: SELECT name FROM members WHERE name = 'user'.

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

Стоит отметить, что в настоящее время подобные уязвимости встречаются довольного редко в связи с появлением различного рода фреймворков и библиотек, которые предусматривают защиту от SQL-инъекций. В рамках нашего поста был рассмотрен пример SQL-инъекции в реляционной СУБД MySQL (существуют также Oracle, Microsoft SQL Server, PostgreSQL, MariaDB). А возможны ли NoSQL-инъекции? Да! Redis, MongoDB, memcached — все эти программные продукты относятся к классу нереляционных СУБД. Интерес к перечисленным базам данных в последнее время значительно возрос и ходит миф, что нереляционные СУБД безопасны, так как они не используют SQL и злоумышленник не может провести на них атаки типа SQL-инъекция. Если в систему невозможно внедрить SQL-код, это еще не значит, что она безопасна. NoSQL закрывает одну потенциальную уязвимость, при этом открывая с десяток других, которые позволяют совершать разнообразные вредоносные действия.

Попрактиковаться в эксплуатации SQL-инъекций можно здесь: https://proglib.io/w/6682ab1c
👍 76
👎 4
Читать полностью
7 апреля в 20:00 мск приглашаем на бесплатный пробный вебинар «Секреты динамического программирования» в рамках онлайн-курса «Алгоритмы для разработчиков»: https://otus.pw/pzoN/

Пройдите вступительный тест и поступите в группу с максимальной скидкой: https://otus.pw/oZm0f/

На этом вебинаре мы рассмотрим основные идеи Динамического программирования и применим их для решения олимпиадной задачи.
​​Гайд по виртуальным мирам: AR и VR

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

https://proglib.io/sh/9v8SBI2nYh
👍 36
👎 2
​​Разбираем на примерах: как избежать мутаций в JavaScript

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

https://proglib.io/sh/qLNJIlZTB8
👍 27
👎 2
​​Наша работа над Proglib. Март 2020

Рассказываем, что сделала команда Библиотеки программиста для своих читателей в марте 2020 года: улучшение дизайна, обзоры книг, подборки курсов и лучшие публикации.

https://proglib.io/sh/0sXziklhab
​​Повышаем свою продуктивность: 6 ключевых факторов

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

https://proglib.io/sh/OguUA1lE3N
👍 57
👎 7
Как на работу вашей компании и лично на вас повлияло распространение коронавируса? Поделитесь в комментариях: https://proglib.io/w/e195cccb
Если вы боитесь, что ваш заработок пострадает из-за карантина, участвуйте в онлайн-марафоне от GeekBrains. За 14 дней вы выберете другую востребованную профессию. Вас ждут:

23 бесплатных вебинара по программированию, дизайну, маркетингу и управлению.
Инсайды от экспертов из Mail ru Group, Wikium, Альфа-Банка и других компаний-лидеров рынка.
Заряд мотивации: вы поймете, что начать карьеру можно в любом возрасте, с любым бэкграундом.
Шанс выиграть бесплатное обучение.

Успейте зарегистрироваться и выбрать новую профессию мечты!
Читать полностью
​​ТОП-10 книг по C++: от новичка до профессионала

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

https://proglib.io/sh/uR3S6Op7Qt
👍 53
👎
​​Big Data: размер имеет значение

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

https://proglib.io/sh/lwHDM8hJOu
👍 53
👎 2