proglibrary | Technologies

Telegram-канал proglibrary - Библиотека программиста | программирование, кодинг, разработка

77043

Все самое полезное для программиста в одном канале. Список наших каналов: https://t.me/proglibrary/9197 Учиться у нас: https://proglib.io/w/a32a0d94 Обратная связь: @proglibrary_feedback_bot По рекламе: @proglib_adv Прайс: @proglib_advertising

Subscribe to a channel

Библиотека программиста | программирование, кодинг, разработка

http://vk.com/wall-54530371_62880

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

http://vk.com/wall-54530371_62869

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Подборка материалов по C++

#cpp@proglibbot

Краткий курс компьютерной графики: задание карт нормалей в касательном пространстве
https://habrahabr.ru/post/279143/

Введение в концепцию шаблонов на С++
http://www.tutorialspoint.com/cplusplus/cpp_templates.htm

Вопросы и ответы от Бьёрна Страуструпа по С++17
http://goo.gl/RkHB5N

С++ exception handling под капотом или как же работают исключения в C++
Часть 1. https://habrahabr.ru/post/279111/
Часть 2. https://habrahabr.ru/post/279151/
Часть 3. https://habrahabr.ru/hub/cpp/page2/

Новая экспериментальная фича С++: tadpole operators
https://goo.gl/WIF6ba

Как заставить функцию С++ возвращать не одно значение, а сразу несколько
http://goo.gl/2J6yyH

Разъяснение разницы между тремя способами хранения данных в C++: используя стек, кучу и пул
https://bulldozer00.com/2015/09/14/stack-heap-pool/

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

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

#java@proglibbot

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

http://vk.com/wall-54530371_62702

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

http://vk.com/wall-54530371_62686

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Задача регрессии

#data_analisis@proglibbot

1. Задача регрессии
2. Исправление грубых ошибок
3. Подбор методов улучшения обучения и размеров сети
4. Зашумленные данные и контрольные выборки
5. Методы устранения переобучения
6. Задача регрессии для калибровки манипулятора

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

10 вещей, которые должен освоить каждый JavaScript разработчик

#javascript@proglibbot

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Эффективный и современный С++. 42 рекомендации по использованию C++11 и C++14 (2014, pdf)
Авторы: Скотт Мейерс, Игорь Красиков

#cpp@proglibbot #book@proglibbot

В этой книге отражен бесценный опыт ее автора как программиста на C++. Новые возможности этого языка программирования, появившиеся в стандартах C++11 и C++14 - это не просто новые ключевые слова или функции, это появление совершенно новых концепций, так что для их эффективного использования недостаточно просто узнать об их существовании, и программировать на C++11, как на несколько улучшенном и расширенном функционально C++98.
Когда происходят такие глобальные изменения в языке программирования, их изучению следует посвятить определенное время, написать сотни, а еще лучше - тысячи строк кода, и столкнуться с массой проблем, кажущихся тем более странными и непонятными, чем большим опытом работы с C++98 вы обладаете. К программированию в полной мере относится фраза Евклида о том, что в геометрии нет царских путей. Но пройти путь изучения и освоения нового языка программирования вам может помочь проводник, показывающий наиболее интересные места и предупреждающий о ямах и ухабах. Таким проводником может послужить книга Скотта Мейерса. С ней вы не заблудитесь и не забредете в дебри, из которых будете долго и трудно выбираться с помощью отладчика.
При этом книга не просто научит вас использовать новые возможности языка - она научит использовать их эффективно. Но и это не все - книга не просто учит эффективному применению C++, но еще и рассказывает, почему ту или иную задачу следует решать именно так.
Эта книга заставляет вас не просто заучить правила - она заставляет думать.
И хотя эта книга в первую очередь предназначена для энтузиастов и профессионалов, она достойна места на полке любого программиста - как профессионала, так и зеленого новичка.
Освоение C++11 и C++14 - это больше, чем просто ознакомление с вводимыми этими стандартами возможностями (например, объявлениями типов auto, семантикой перемещения, лямбда-выражениями или поддержкой многопоточности). Вопрос в том, как использовать их эффективно - так, чтобы создаваемые программы были корректны, эффективны и переносимы, а также чтобы их легко можно было сопровождать.
Именно этим вопросам и посвящена данная книга, описывающая создание по-настоящему хорошего программного обеспечения с использованием C++11 и C++14 - т.е. с использованием современного C++.

В книге рассматриваются следующие темы:
Преимущества и недостатки инициализации с помощью фигурных скобок, спецификации noexcept, прямой передачи и функций make интеллектуальных указателей; Связь между std::move, std::forward, rvalue-ссылками и универсальными ссылками; Методы написания понятных, корректных, эффективных лямбда-выражений; Чем std::atomic отличается от volatile, как они используются и как соотносятся с API параллельных вычислений C++; Какие из лучших методов "старого" программирования на C++ (т.е. C++98) должны быть пересмотрены при работе с современным C++.
Эффективный и современный C++, следуя принципам более ранних книг Скотта Мейерса, охватывает совершенно новый материал. Эта книга достойна занять свое место на полке каждого программиста на современном C++.

К посту прикреплена полная книга на английском языке.

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Cоздание браузерной игры в реальном времени на HTML/CSS/JS

#web@proglibbot

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

http://vk.com/wall-54530371_62307

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

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

#python@proglibbot

http://pythontips.com/2016/02/27/learning-python-for-data-science/

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

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

#algorithms@proglibbot

http://visualgo.net/

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Большой цикл уроков по Ruby (eng)
Часть вторая (2/4)

#ruby@proglibbot
Первая часть https://vk.com/wall-54530371_61939

10. More on Hashes
11. Functions
12. counter - index - .each do
13. Functions with Numbers
14. Pythagorean Theorem Calculator
15. All about Loops
16. Find and Replace Program
17. Multidimensional Arrays
18. Find Prime Numbers

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Код. Тайный язык информатики (2004)
Автор: Чарльз Петцольд

#fundamental@proglibbot #book@proglibbot

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

Издание адресовано в первую очередь студентам вузов (как гуманитарных, так и технических), а также всем, кто интересуется принципами создания и работы компьютеров.

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Приемы объектно-ориентированного проектирования. Паттерны проектирования (2016)
Авторы: Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес

#oop@proglibbot #design_patterns@proglibbot #book@proglibbot

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

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

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Серия уроков по работе с Gulp.js

#javascript@proglibbot

Gulp.js — потоковый сборщик проектов на JS. Речь пойдет об установке, настройке сборщика, работе с плагинами, удобном запуске локального сервера и заливке готового проекта на хостинг с помощью сборщика.

1. Работаем с CSS.
2. Автоматическое добавление префиксов.
3. Работа с таблицами стилей.
4. Боремся с кэшированием или ревизии подключаемых файлов.
5. Структура проекта, wiredep, bower.
6. Сборка и деплой проекта.

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

http://vk.com/wall-54530371_62802

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Советы по оптимизации кода на С++

#cpp@proglibbot

Как правило, язык C++ используют там, где требуется высокая скорость работы. Но на C++ без особых усилий можно получить код, работающий медленнее какого-нибудь Python/Ruby. Именно подобным кодом оперируют многочисленные сравнения Any-Lang vs C++.

Вообще, оптимизация бывает трех типов:

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

Специально заниматься оптимизацией готового кода следует только после того, как проект закончен и используется. Как правило, оптимизация потребуется только в небольшой части проекта. Поэтому сначала нужно найти места в коде, которые съедают большую часть процессорного времени. Ведь какой смысл ускорять код, пусть даже на 500%, если он отнимает только 1% машинного времени? И следует помнить, что, как правило, гораздо больший выигрыш в скорости дает оптимизация самих алгоритмов, а не кода. Именно про данный ее вид говорят: «преждевременная оптимизация — зло» (с).

Второй тип оптимизации — это изначальное проектирование кода с учетом требований к производительности. Такое проектирование не является ранней оптимизацией.

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

Ссылка на статью https://habrahabr.ru/company/mailru/blog/279449/

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Курс «Введение в логику» от Hexlet

#fundamental@proglibbot

Классическая логика является формальной основой для 99% современной математики. Понимание принципов логики — обязательно для настоящего программиста.

1. Базовые понятия
2. Представление функций
3. Самая сложная логическая задача
4. Предикаты и кванторы
5. Теории: интуиции
6. Парадоксы и заключение

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Алгоритмы. Вводный курс (2013,pdf)
Автор: Томас Х. Кормен

#algorithms@proglibbot

Эта книга написана признанным авторитетом в области компьютерных алгоритмов - профессором информатики Томасом Корменом, чей труд "Алгоритмы. Построение и анализ", написанный в соавторстве с такими выдающимися учеными, как Чарльз Лейзерсон, Рональд Ривест и Клиффорд Штайн, выдержав три издания, давно стал общепризнанным классическим учебником по алгоритмам.
Поскольку книга "Алгоритмы. Построение и анализ" предназначена в первую очередь для студентов и аспирантов, то есть подразумевает достаточно серьезную математическую подготовку, Т.Кормен написал книгу, предназначенную для всех, кого интересуют вопросы, связанные с компьютерными алгоритмами, но базовое образование, да и просто отсутствие времени не позволяют взяться за серьезный труд объемом более 1300 страниц.
При всей простоте и легкости изложения эту книгу, как и все вышедшее из-под пера Т.Кормена, отличают точность, широкий спектр охватываемых вопросов, глубина изложения. Основной предполагаемый читатель этой книги - молодой человек, раздумывающий, стоит ли ему заниматься этой областью человеческой деятельности или нет. Но в любом случае, знания никогда не бывают лишними, так что даже если в конечном итоге вы поймете, что алгоритмы - не ваше предназначение, все равно ваше время не будет потрачено зря - ведь алгоритмы окружают нас всюду, а компьютерные алгоритмы - всего лишь их разновидность.

К посту прикреплена полная книга на английском языке.

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

http://vk.com/wall-54530371_62628

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

http://vk.com/wall-54530371_62589

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

http://vk.com/wall-54530371_62361

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

C# 6.0. Карманный справочник (2016, pdf)
Авторы: Джозеф Албахари, Бен Албахари

#csharp@proglibbot #book@proglibbot

Данное руководство, ставшее бестселлером, позволяет получить точные ответы практически на любые вопросы по C# 6.0, CLR и основным сборкам .NET Framework. После своего появления в 2000 году C# стал языком с выдающейся гибкостью и мощью, но его постоянный рост и совершенствование означают необходимость в дополнительном изучении.

Организованное по концепциям и сценариям использования, существенно обновленное 6-е издание книги предлагает программистам средней и высокой квалификации лаконичный план получения знаний по языку C# и платформе .NET Framework. Читая ее, вы очень быстро поймете, почему это руководство считают авторитетным справочником по C#.

- Изучите все аспекты языка C#, начиная с основ синтаксиса и переменных и заканчивая сложными темами, такими как указатели и перегрузка операций
- Научитесь пользоваться языком LINQ благодаря трем посвященным ему главам
- Освойте динамическое, асинхронное и параллельное программирование
- Получите навыки работы со средствами .NET, в числе которых XML, взаимодействие с сетью, сериализация, рефлексия, безопасность, домены приложений и контракты кода
- Исследуйте новый компилятор как службу C# 6.0 под названием Roslyn

К посту прикреплен оригинал книги на английском языке.
Приобрести книгу на русском можно по ссылке http://www.ozon.ru/context/detail/id/34820810/

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Метод обратного распространения ошибки

#data_analisis@proglibbot

1. Обучение как минимизация функции
2. Метод градиентного спуска
3. Частные производные и градиенты
4. Обратное распространение ошибки, веса
5. Обратное распространение ошибки, входы
6. Обратное распространение ошибки, пояснения
7. Локальные и глобальные минимумы
8. Онлайн и оффлайн обучение
9. Методы ускорения обучения

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Самые популярные посты за эту неделю

#weekly@proglibbot

Администрирование Linux
https://vk.com/wall-54530371_61398

Стек протоколов TCP/IP
https://vk.com/wall-54530371_61295

Подборка задач с подробным решением на JavaScript
https://vk.com/wall-54530371_61394

SQL для простых смертных (2014)
https://vk.com/wall-54530371_61973

Видеокурс по GitHub для новичков (eng)
https://vk.com/wall-54530371_61688

Подборка книг по защите информации в компьютерных системах
https://vk.com/wall-54530371_61511

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

http://vk.com/wall-54530371_62070

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

http://vk.com/wall-54530371_62051

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

http://vk.com/wall-54530371_62017

Читать полностью…
Subscribe to a channel