Forwarded from Библиотека программиста
Задача регрессии
#data_analisis@proglibbot
1. Задача регрессии
2. Исправление грубых ошибок
3. Подбор методов улучшения обучения и размеров сети
4. Зашумленные данные и контрольные выборки
5. Методы устранения переобучения
6. Задача регрессии для калибровки манипулятора
#data_analisis@proglibbot
1. Задача регрессии
2. Исправление грубых ошибок
3. Подбор методов улучшения обучения и размеров сети
4. Зашумленные данные и контрольные выборки
5. Методы устранения переобучения
6. Задача регрессии для калибровки манипулятора
Forwarded from Библиотека программиста
Алгоритмы. Вводный курс (2013,pdf)
Автор: Томас Х. Кормен
#algorithms@proglibbot
Эта книга написана признанным авторитетом в области компьютерных алгоритмов - профессором информатики Томасом Корменом, чей труд "Алгоритмы. Построение и анализ", написанный в соавторстве с такими выдающимися учеными, как Чарльз Лейзерсон, Рональд Ривест и Клиффорд Штайн, выдержав три издания, давно стал общепризнанным классическим учебником по алгоритмам.
Поскольку книга "Алгоритмы. Построение и анализ" предназначена в первую очередь для студентов и аспирантов, то есть подразумевает достаточно серьезную математическую подготовку, Т.Кормен написал книгу, предназначенную для всех, кого интересуют вопросы, связанные с компьютерными алгоритмами, но базовое образование, да и просто отсутствие времени не позволяют взяться за серьезный труд объемом более 1300 страниц.
При всей простоте и легкости изложения эту книгу, как и все вышедшее из-под пера Т.Кормена, отличают точность, широкий спектр охватываемых вопросов, глубина изложения. Основной предполагаемый читатель этой книги - молодой человек, раздумывающий, стоит ли ему заниматься этой областью человеческой деятельности или нет. Но в любом случае, знания никогда не бывают лишними, так что даже если в конечном итоге вы поймете, что алгоритмы - не ваше предназначение, все равно ваше время не будет потрачено зря - ведь алгоритмы окружают нас всюду, а компьютерные алгоритмы - всего лишь их разновидность.
К посту прикреплена полная книга на английском языке.
Автор: Томас Х. Кормен
#algorithms@proglibbot
Эта книга написана признанным авторитетом в области компьютерных алгоритмов - профессором информатики Томасом Корменом, чей труд "Алгоритмы. Построение и анализ", написанный в соавторстве с такими выдающимися учеными, как Чарльз Лейзерсон, Рональд Ривест и Клиффорд Штайн, выдержав три издания, давно стал общепризнанным классическим учебником по алгоритмам.
Поскольку книга "Алгоритмы. Построение и анализ" предназначена в первую очередь для студентов и аспирантов, то есть подразумевает достаточно серьезную математическую подготовку, Т.Кормен написал книгу, предназначенную для всех, кого интересуют вопросы, связанные с компьютерными алгоритмами, но базовое образование, да и просто отсутствие времени не позволяют взяться за серьезный труд объемом более 1300 страниц.
При всей простоте и легкости изложения эту книгу, как и все вышедшее из-под пера Т.Кормена, отличают точность, широкий спектр охватываемых вопросов, глубина изложения. Основной предполагаемый читатель этой книги - молодой человек, раздумывающий, стоит ли ему заниматься этой областью человеческой деятельности или нет. Но в любом случае, знания никогда не бывают лишними, так что даже если в конечном итоге вы поймете, что алгоритмы - не ваше предназначение, все равно ваше время не будет потрачено зря - ведь алгоритмы окружают нас всюду, а компьютерные алгоритмы - всего лишь их разновидность.
К посту прикреплена полная книга на английском языке.
Forwarded from Библиотека программиста
Курс «Введение в логику» от Hexlet
#fundamental@proglibbot
Классическая логика является формальной основой для 99% современной математики. Понимание принципов логики — обязательно для настоящего программиста.
1. Базовые понятия
2. Представление функций
3. Самая сложная логическая задача
4. Предикаты и кванторы
5. Теории: интуиции
6. Парадоксы и заключение
#fundamental@proglibbot
Классическая логика является формальной основой для 99% современной математики. Понимание принципов логики — обязательно для настоящего программиста.
1. Базовые понятия
2. Представление функций
3. Самая сложная логическая задача
4. Предикаты и кванторы
5. Теории: интуиции
6. Парадоксы и заключение
Forwarded from Библиотека программиста
Советы по оптимизации кода на С++
#cpp@proglibbot
Как правило, язык C++ используют там, где требуется высокая скорость работы. Но на C++ без особых усилий можно получить код, работающий медленнее какого-нибудь Python/Ruby. Именно подобным кодом оперируют многочисленные сравнения Any-Lang vs C++.
Вообще, оптимизация бывает трех типов:
Оптимизация уже готового, проверенного и работающего кода.
Изначально написание оптимального кода.
Просто использование оптимальных конструкций.
Специально заниматься оптимизацией готового кода следует только после того, как проект закончен и используется. Как правило, оптимизация потребуется только в небольшой части проекта. Поэтому сначала нужно найти места в коде, которые съедают большую часть процессорного времени. Ведь какой смысл ускорять код, пусть даже на 500%, если он отнимает только 1% машинного времени? И следует помнить, что, как правило, гораздо больший выигрыш в скорости дает оптимизация самих алгоритмов, а не кода. Именно про данный ее вид говорят: «преждевременная оптимизация — зло» (с).
Второй тип оптимизации — это изначальное проектирование кода с учетом требований к производительности. Такое проектирование не является ранней оптимизацией.
Третий тип даже не совсем оптимизация. Скорее это избегание неоптимальных языковых конструкций. Язык C++ довольно сложный, при его использовании частенько нужно знать, как реализован используемый код. Он достаточно низкоуровневый, чтобы программисту пришлось учитывать особенности работы процессоров и операционных систем.
Ссылка на статью https://habrahabr.ru/company/mailru/blog/279449/
#cpp@proglibbot
Как правило, язык C++ используют там, где требуется высокая скорость работы. Но на C++ без особых усилий можно получить код, работающий медленнее какого-нибудь Python/Ruby. Именно подобным кодом оперируют многочисленные сравнения Any-Lang vs C++.
Вообще, оптимизация бывает трех типов:
Оптимизация уже готового, проверенного и работающего кода.
Изначально написание оптимального кода.
Просто использование оптимальных конструкций.
Специально заниматься оптимизацией готового кода следует только после того, как проект закончен и используется. Как правило, оптимизация потребуется только в небольшой части проекта. Поэтому сначала нужно найти места в коде, которые съедают большую часть процессорного времени. Ведь какой смысл ускорять код, пусть даже на 500%, если он отнимает только 1% машинного времени? И следует помнить, что, как правило, гораздо больший выигрыш в скорости дает оптимизация самих алгоритмов, а не кода. Именно про данный ее вид говорят: «преждевременная оптимизация — зло» (с).
Второй тип оптимизации — это изначальное проектирование кода с учетом требований к производительности. Такое проектирование не является ранней оптимизацией.
Третий тип даже не совсем оптимизация. Скорее это избегание неоптимальных языковых конструкций. Язык C++ довольно сложный, при его использовании частенько нужно знать, как реализован используемый код. Он достаточно низкоуровневый, чтобы программисту пришлось учитывать особенности работы процессоров и операционных систем.
Ссылка на статью https://habrahabr.ru/company/mailru/blog/279449/
👍1
Forwarded from Библиотека программиста
Частые ошибки разработчиков, которые могут повлиять на производительность программ на Java.
#java@proglibbot
#java@proglibbot
Forwarded from Библиотека программиста
Подборка материалов по 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/
#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/
Forwarded from Библиотека программиста
Forwarded from Библиотека программиста
Серия уроков по работе с Gulp.js
#javascript@proglibbot
Gulp.js — потоковый сборщик проектов на JS. Речь пойдет об установке, настройке сборщика, работе с плагинами, удобном запуске локального сервера и заливке готового проекта на хостинг с помощью сборщика.
1. Работаем с CSS.
2. Автоматическое добавление префиксов.
3. Работа с таблицами стилей.
4. Боремся с кэшированием или ревизии подключаемых файлов.
5. Структура проекта, wiredep, bower.
6. Сборка и деплой проекта.
#javascript@proglibbot
Gulp.js — потоковый сборщик проектов на JS. Речь пойдет об установке, настройке сборщика, работе с плагинами, удобном запуске локального сервера и заливке готового проекта на хостинг с помощью сборщика.
1. Работаем с CSS.
2. Автоматическое добавление префиксов.
3. Работа с таблицами стилей.
4. Боремся с кэшированием или ревизии подключаемых файлов.
5. Структура проекта, wiredep, bower.
6. Сборка и деплой проекта.
Forwarded from Библиотека программиста
Приемы объектно-ориентированного проектирования. Паттерны проектирования (2016)
Авторы: Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес
#oop@proglibbot #design_patterns@proglibbot #book@proglibbot
В предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились потому, что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом, книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения.
Издание предназначено как для профессиональных разработчиков, так и для программистов, осваивающих объектно-ориентированное проектирование.
Авторы: Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес
#oop@proglibbot #design_patterns@proglibbot #book@proglibbot
В предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились потому, что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом, книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения.
Издание предназначено как для профессиональных разработчиков, так и для программистов, осваивающих объектно-ориентированное проектирование.
Forwarded from Библиотека программиста
Конфигурирование, сборка и установка ядра Linux
#linux@proglibbot
Операционная система Linux завоевала огромную популярность во всем мире, благодаря свободному распространению и возможности доработки пользователем под собственные нужды. Однако для того чтобы оценить работу на данной операционной системе и уметь настраивать ее с учетом своих потребностей, необходимо получить специальные знания.
Причины, по которым может возникнуть необходимость в сборке ядра системы. В каких случаях это необходимо делать обязательно.
1) Получение исходных кодов ядра. Версии. Развёртывание файлового дерева исходных кодов.
2) Сбор информации о системе, для которой предназначено ядро.
3) Конфигурирование ядра из начальной конфигурации "в состоянии поставки", и используя в качестве основы гарантированно рабочую конфигурацию предыдущей версии.
4) Модули, модульная архитектура ядра Linux.
5) Компиляция и сборка ядра.
6) Установка нового ядра автоматически и "вручную".
7) Конфигурирование начального загрузчика для использования нового ядра.
8) Рестарт системы под управление нового ядра. Проверка работоспособности.
#linux@proglibbot
Операционная система Linux завоевала огромную популярность во всем мире, благодаря свободному распространению и возможности доработки пользователем под собственные нужды. Однако для того чтобы оценить работу на данной операционной системе и уметь настраивать ее с учетом своих потребностей, необходимо получить специальные знания.
Причины, по которым может возникнуть необходимость в сборке ядра системы. В каких случаях это необходимо делать обязательно.
1) Получение исходных кодов ядра. Версии. Развёртывание файлового дерева исходных кодов.
2) Сбор информации о системе, для которой предназначено ядро.
3) Конфигурирование ядра из начальной конфигурации "в состоянии поставки", и используя в качестве основы гарантированно рабочую конфигурацию предыдущей версии.
4) Модули, модульная архитектура ядра Linux.
5) Компиляция и сборка ядра.
6) Установка нового ядра автоматически и "вручную".
7) Конфигурирование начального загрузчика для использования нового ядра.
8) Рестарт системы под управление нового ядра. Проверка работоспособности.
Forwarded from Библиотека программиста
Linux. Системное программирование (2016)/ Linux System Programming (2013)
Автор: Роберт Лав
#linux@proglibbot #book@proglibbot
Роберт Лав стоит у истоков создания операционной системы Linux. Он внес существенный вклад в создание ядра Linux и настольной среды GNOME.
Данная книга представляет собой руководство по системному программированию для Linux, справочник по системным вызовам Linux, а также подробный рассказ о том, как писать более быстрый и умный код. Роберт Лав четко разграничивает стандартные функции POSIX и специальные службы, которые предлагаются лишь в Linux. Во втором издании вы изучите эту операционную систему как с теоретической, так и с прикладной точки зрения.
К посту прикреплена полная книга на английском языке.
Приобрести книгу на русском можно по ссылке
http://www.ozon.ru/context/detail/id/31934003/
Автор: Роберт Лав
#linux@proglibbot #book@proglibbot
Роберт Лав стоит у истоков создания операционной системы Linux. Он внес существенный вклад в создание ядра Linux и настольной среды GNOME.
Данная книга представляет собой руководство по системному программированию для Linux, справочник по системным вызовам Linux, а также подробный рассказ о том, как писать более быстрый и умный код. Роберт Лав четко разграничивает стандартные функции POSIX и специальные службы, которые предлагаются лишь в Linux. Во втором издании вы изучите эту операционную систему как с теоретической, так и с прикладной точки зрения.
К посту прикреплена полная книга на английском языке.
Приобрести книгу на русском можно по ссылке
http://www.ozon.ru/context/detail/id/31934003/
Forwarded from Библиотека программиста
Курс «Введение в Javascript» от Hexlet
#javascript@proglibbot
1. Введение. Числа
2. Строки. Объекты. Прототипы.
3. Функции. Замыкания.
4. Наследование
5. Массивы
6. Регулярные выражения
7. Сравнения, var, eval и заключение
#javascript@proglibbot
1. Введение. Числа
2. Строки. Объекты. Прототипы.
3. Функции. Замыкания.
4. Наследование
5. Массивы
6. Регулярные выражения
7. Сравнения, var, eval и заключение
Forwarded from Библиотека программиста
Подборка материалов по веб-разработке
#web@proglibbot
Библия фронтэндщика: огромный список ссылок на всевозможные ресурсы по фронтэнду
https://github.com/dypsilon/frontend-dev-bookmarks
Пример нестандартной сетки из шестиугольников на CSS с помощью свойства clip-path
http://codepen.io/tstoik/pen/qZEZJp
SlideOut — библиотека для создания бокового выпадающего меню
https://github.com/mango/slideout
Помощь верстальщику. Конвертер PSD в CSS — когда лень верстать по готовому макет
http://css3ps.com/
#web@proglibbot
Библия фронтэндщика: огромный список ссылок на всевозможные ресурсы по фронтэнду
https://github.com/dypsilon/frontend-dev-bookmarks
Пример нестандартной сетки из шестиугольников на CSS с помощью свойства clip-path
http://codepen.io/tstoik/pen/qZEZJp
SlideOut — библиотека для создания бокового выпадающего меню
https://github.com/mango/slideout
Помощь верстальщику. Конвертер PSD в CSS — когда лень верстать по готовому макет
http://css3ps.com/