Программирование от начального до продвинутого уровня!
Публикуем книги, лекции, видео материалы, новости, статьи о программировании
Сотрудничество: @lebedev_support
Поделиться с друзьями:
Codewars — платформа, которая учит вас интересующему языку программирования с помощью комплекса задач для решения. Эти связанные с написанием кода задачи организованы по типу боевых искусств. Цель каждой задачи — помочь вам усовершенствовать ваши существующие навыки в определённом языке программирования или изучить новый с нуля.
2021-10-03 11:30:14
MDN — лучшая база знаний для веб-разработчиков. Ее создала и поддерживает компания Mozilla. Там есть вся информация о веб-разработке. К ней можно обращаться на ранних этапах знакомства с веб-разработкой либо использовать в качестве обучающего материала для знакомства с работой методов в JavaScript или тегов в HTML.
2021-10-02 10:50:37
Программист-прагматик, 2-е издание
Авторы: Хант Эндрю, Томас Дэвид
Год: 2020
Количество страниц: 370
Уроки, извлеченные из этой книги, помогут усвоить саму суть разработки программного обеспечения, независимо от конкретного языка, библиотеки или методики. Предложенный авторами книги прагматичный философский подход к разработке программного обеспечения нашел широкое распространение, породив сотни других книг и статей, а также послужил началом для тысяч успешных карьер и историй профессионального роста.
2021-10-01 15:00:44
Computational Complexity — блог для тех, кто дружит с английским языком. Техническая страница о программировании, посвященная тем сложностям, с которыми можно столкнуться во время комбинирования программистских и математических методов.
2021-10-01 11:00:51
Доступ к контенту (документы, файлы, аудио, видео, изображения) возможен только в приложении Телеграм.
2021-09-30 11:30:51
Чистая архитектура. Искусство разработки программного обеспечения
Автор: Мартин Р.
Год : 2021
Количество страниц: 352
Роберт Мартин дает прямые и лаконичные ответы на ключевые вопросы архитектуры и дизайна. «Чистую архитектуру» обязаны прочитать разработчики всех уровней, системные аналитики, архитекторы и каждый программист, который желает подняться по карьерной лестнице или хотя бы повлиять на людей, которые занимаются данной работой.
2021-09-29 17:20:46
4 принципа проектирования в программировании
Сколько раз вы были в ситуации, когда вы хотели добавить новую функцию в свое приложение, но не могли, потому что оно оказалось жестким? Сколько раз вам приходилось переписывать код, чтобы сделать его тестируемым? Сколько раз вам приходилось добавлять больше кода, чтобы сделать его оптимальным для мобильных устройств?
Все сводится к принципам проектирования. Сейчас мы рассмотрим 4 принципа проектирования, которые необходимо знать всем программистам.
1. Разделяй и властвуй
Один из основных принципов в решении любой проблемы, включая проектирование системы, - разделять и властвовать. Это означает разбиение проблемы на более мелкие подзадачи. Идея заключается в том, что эти проблемы трудно решить из-за их сложности. Чтобы упростить задачу, вы можете разделить эти проблемы на более мелкие. Решение этих меньших задач облегчит решение более крупной проблемы в долгосрочной перспективе.
Думайте о проблеме как о матрешке.
2. Повышай связность (cohesion)
Связность означает объединение вещей, которые имеют смысл вместе - как бы в один пакет. С точки зрения разработки, вы можете согласованно проектировать свои пакеты, модули или классы. Подумайте, например, о математическом пакете в Python. Математический пакет является связным, потому что в нем есть все, что связано с математическими операциями. Вы не найдете в нем ничего не математического.
Связность приводит к организации вашего кода, и это значительно упростит поиск, тем самым упростив систему. Во всем будет больше смысла. Таким образом, вы не будете заходить в пакет словарей в поисках функций, связанных с машинным обучением, или чего-то подобного.
3. Снижай зацепление (coupling)
Проще говоря, зацепление происходит, когда пакеты, модули, классы или файлы очень взаимозависимы. Это не лучшая реализация любой системы. Если в одном пакете есть какие-то изменения или он сломается, вся система может быть скомпрометирована, потому что некоторые из ее частей зависят от пакета, который работал неправильно.
У вас может быть пакет, зависящий от другого пакета, который зависит от еще восьми. Вы понимаете, насколько это проблематично? Вы можете оказаться в ситуации, когда вы не знаете, почему один пакет не работает, когда другой, скрытый под четырьмя уровнями связи, может работать неправильно.
Если вы сможете сделать свои компоненты максимально независимыми, вам будет легче отлаживать их.
4. Добавляй возможность повторного использования
Это довольно просто и интуитивно понятно, но мы хотим быть уверены, что всякий раз, когда мы пишем код, мы думаем о том, как сделать этот код максимально многоразовым. Вместо того, чтобы писать конкретную функцию, которая хорошо выполняет одну задачу, но только работает в одной конкретной реализации, мы можем сделать ее более общей - немного более абстрактной. Таким образом, мы допускаем повторное использование в разных контекстах. Это основная идея возможности повторного использования.
Думайте об этом как о небольшой жертве, чтобы сэкономить время позже, вместо того, чтобы возвращаться, понимать этот код и переписывать его.
2021-09-29 11:30:22
JavaScript. Готовые программы.
Автор: Валерий Янцев
Год: 2021
Количество страниц: 200
Создавая сайт, программист вынужден решать множество задач. Нужно настроить меню, продумать работу с фотографиями, создать форму для отправки сообщений, сделать удобную систему редактирования страниц, адаптировать сайт к просмотру на мобильных устройствах. Книга предлагает множество уже готовых решений для самых разнообразных проектов. Вам не придется создавать код с «нуля» – некоторые примеры нужно только немного адаптировать под свои разработки, другие легко внедрить, вообще ничего не меняя. Рекомендовано в качестве дополнительной литературы для студентов, обучающихся в средних профессиональных учебных заведениях по направлению «Информатика и вычислительная техника».
2021-09-28 15:55:11
Cybrary — видео и обучающие материалы по IT и кибербезопасности. Охвачены такие темы, как криминалистика, криптография и анализ киберугроз. Есть возможность как бесплатного (базового) доступа, так и платного (с дополнительными возможностями и контентом).
2021-09-28 11:20:09
Sitepoint – сообщество для веб-разработчиков. Здесь вы найдете множество статей, курсов и книг на тему веб-разработки.
2021-09-27 11:00:51