Библиотека программиста
78K subscribers
4.74K photos
295 videos
98 files
7.87K links
Все самое полезное для программиста в одном канале.

Наши курсы: https://clc.to/Jil6fg

По рекламе: @tproger_sales_bot

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Сообщество русскоговорящих мобильных разработчиков, маркетологов и геймдизайнеров. @devapp
JavaScript и JSON
Часть вторая (2/2)

#javascript #web
Первая часть http://vk.com/wall-54530371_65329

10. Коммуникация между сайтами с помощью JSON
11. Использование jQuery для парсинга данных
12. Подготовка файла HTML
13. Создание шаблонов JavaScript с помощью mustache.js
14. Ротация с помощью jQuery Cycle
15. Стилизация нашего приложения
16. Следующие шаги

Ссылка на альбом http://vk.com/videos-54530371?section=album_56085719
Ссылка на пост http://vk.com/wall-54530371_65456
Компьютерные сети. Принципы, технологии, протоколы. Учебник (2016)
Авторы Виктор Олифер, Наталия Олифер

#networks #book

Пятое издание одного из лучших российских учебников по сетевым технологиям, переведенного на английский, испанский, португальский и китайский языки, отражает те изменения, которые произошли в области компьютерных сетей за 6 лет, прошедших со времени подготовки предыдущего издания: преодоление локальными и глобальными сетями рубежа скорости в 100 Гбит/c и освоение терабитных скоростей; повышение эффективности и гибкости первичных оптических сетей за счет появления реконфигурируемых мультиплексоров ввода-вывода (ROADM) и применения супер-каналов DWDM, работающих на основе гибкого частотного плана; развитие техники виртуализации сетевых функций и услуг, приведшей к распространению облачных сервисов; выход на первый план проблем безопасности.
Рекомендовано Министерством образования и науки Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению "Информатика и вычислительная техника" и по специальностям "Вычислительные машины, комплексы, системы и сети", "Автоматизированные машины, комплексы, системы и сети", "Программное обеспечение вычислительной техники и автоматизированных систем".

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

Ссылка на пост http://vk.com/wall-54530371_65472
😢1
Сложность вычислений и основы криптографии

#fundamental

Первая часть курса будет посвящена базовым понятиям, конструкциям, фактам в этой области: вероятностные алгоритмы, вычисления с оракулами, полиномиальная иерархия, булевы схемы, интерактивные протоколы.
Сложность вычислительной задачи препятствует её эффективному решению. Однако зачастую именно это требуется, когда речь идёт о невозможности взлома криптографических протоколов. Вторая часть курса будет посвящена рассказу о криптографических понятиях (односторонних функциях, криптосистемах и т.д.) на языке теории сложности (на котором они, собственно, и определяются).

Ссылка на пост http://vk.com/wall-54530371_65495
Подборка материалов по PostgreSQL

#db

За годы своего существования PostgreSQL стала одной из самых продвинутых СУБД в мире open-source. Чем она отличается от своих конкурентов читайте в этой статье:
Первая часть https://goo.gl/qrjkoz
Вторая часть https://goo.gl/7Rblx8

Еще немного отличий PostgreSQL от других СУБД в статье "PostgreSQL vs MySQL"
https://habrahabr.ru/company/mailru/b...

Полезные трюки PostgreSQL
https://habrahabr.ru/post/280912/

Чтение больших объемов данных в Python/Postgresql
https://habrahabr.ru/post/280822/

SQL Tabs - кроссплатформенный клиент для PostgreSQL с открытым исходным кодом.
http://www.sqltabs.com/

Использование функций в PostgreSQL как параметризированных представлений
https://goo.gl/2E5G81

Ссылка на пост http://vk.com/wall-54530371_65503
Эффективные алгоритмы и коммуникационная сложность
Лектор: Иван Михайлин

#fundamental

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

Ссылка на пост с лекциями
 http://vk.com/wall-54530371_65536
Подборка лучших материалов по JavaScript за март

#javascript #web

Учим JavaScript правильно. Мнение 25 экспертов, о том, как стоит подойти к изучению языка.
https://psdtowp.net/learn-javascript....

"You-Dont-Know-JS" - серия бесплатных электронных книг по JavaScript
https://github.com/getify/You-Dont-Kn...

Функциональное программирование на JS
https://goo.gl/uoRCe7

Введение в Immutable.js и концепцию функционального программирования
https://auth0.com/blog/2016/03/23/int...

Учитесь кодить: 13 советов, которые смогут спасти вас от нескольких лет усилий
https://goo.gl/mhzqGf

Список упрощенных "жаргонов" для новичков в JavaScript
https://github.com/HugoGiraudel/SJSJ

Построение 3D-движка с помощью JavaScript.
http://www.sitepoint.com/building-3d-engine-javascript...

ViziCities: Открытый исходный код библиотеки JavaScript для построения 3D-города и визуализации данных
https://github.com/vizicities/vizicit...

Sticker.js: A JavaScript библиотека для эффекта стикера
http://stickerjs.cmiscm.com

Ссылка на пост http://vk.com/wall-54530371_65540
Вебинар о философии сетевых игр и создание многопользовательской игры на Unity3D.

#gamedev

Программа вебинара:
- Что такое сетевая игра.
- Что такое ping, localhost и сокеты.
- Пример простого сетевого взаимодействия.
- Каким образом работают игры с выделенным сервером.
- Проектируем сетевую игру.
- RPC и как создается чат.
- Обзор сетевых движков Photon, UNet.

Ссылка на пост с вебинаром http://vk.com/wall-54530371_65545
👍1
HTML5. Разработка приложений для мобильных устройств (2015)
Автор: Эстель Вейл

#web

Создавайте сногсшибательные сайты и приложения для любых мобильных и настольных платформ. Для этого вам потребуется всего лишь добавить в ваш инструментарий веб-разработки технологии HTML5 и CSS3. Вооружившись этой практичной книгой, вы научитесь разрабатывать веб-приложения, которые не только хорошо работают на iOS, Android, Blackberry и Windows Phone, но и очень удобны в использовании.
Книга содержит множество примеров кода и разметки. Она поможет вам освоить работу с разнообразными инструментами HTML5 - в частности, с новыми веб-формами, масштабируемой векторной графикой (SVG), холстом (Canvas), localStorage и другими родственными API. Кроме того, в этом издании подробно рассмотрены таблицы стилей CSS3. Вы научитесь разрабатывать приложения, которые одинаково хорошо работают как на огромных мониторах, так и на крошечных экранах.
- Познакомьтесь с элементами HTML, синтаксисом и семантикой этого языка.
- Научитесь создавать веб-формы, отличающиеся повышенным удобством, но содержащие сравнительно немного кода на JavaScript.
- Исследуйте медийные API HTML5 для работы с графикой, видео и аудио.
- Обеспечьте работу ваших приложений в режиме оффлайн - в этом вам помогут AppCache, localStorage и другие API.
- Узнайте все необходимое о селекторах и синтаксисе CSS3.
- Досконально разберитесь в возможностях CSS3: начните использовать множественные фоновые изображения, градиенты, граничные изображения, переходы, трансформации и анимацию.
- Сделайте ваши веб-приложения более удобными, отзывчивыми и доступными.
- Проектируйте с расчетом на высокую производительность, понятность для пользователей и функциональную надежность на любых платформах.

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

#unix

Курс посвящён рассмотрению различных аспектов использования Linux-based операционных систем. В курсе рассматриваются:

- Структура и архитектура некоторых современных дистрибутивов Linux
- Вопросы установки и начальной настройки Linux-based операционных систем
- Вопросы повседневного использования Linux-based операционных систем
- Подход к использованию UNIX-system («UNIX way»)
- Основные понятия и концепции современных Linux-based дистрибутивов

Курс ориентирован на слушателей, имеющих малый практический опыт в использовании UNIX-like систем и современных Linux-based дистрибутивов операционных систем.

1. Вводная лекция
2. Что такое Linux? «Инварианты»
3. Терминал и командная строка
4. FHS и процессы.
5. Права доступа
6. Установка ПО в Linux
7. ПО не из хранилища дистрибутива
8. Вопросы лицензирования
9. Конфуцианство и кантианство

10. Хранилище и дистрибутив
11. Минимальный набор знаний
12. udev, DBus, PolicyKit
13. Выбор дистрибутива

Все лекции доступны по ссылке
http://vk.com/videos-54530371?section=album_56085723
Ссылка на пост http://vk.com/wall-54530371_65586
Знай сложности алгоритмов

#algorithms

Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. Автор статьи говорит что потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки. И после нескольких потраченных часов задался вопросом: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ».
Чтобы сохранить ваше время автор создал такую шпаргалку, которую вы можете увидеть в статье ниже:

Ссылка на статью с Хабра
https://habrahabr.ru/post/188010/
Ссылка на оригинал статьи на английском
http://bigocheatsheet.com/

Ссылка на пост http://vk.com/wall-54530371_65603
Самые популярные посты за эту неделю

#weekly

Подборка уроков по ООП от Владимира Моженкова
http://vk.com/wall-54530371_65154

Курс лекций по сетевой безопасности факультета ВМК МГУ.
http://vk.com/wall-54530371_65382

Компьютерные сети. Принципы, технологии, протоколы. Учебник (2016)
http://vk.com/wall-54530371_65472

HTML5. Разработка приложений для мобильных устройств (2015)
http://vk.com/wall-54530371_65554

JavaScript и JSON
Первая часть http://vk.com/wall-54530371_65329
Вторая часть http://vk.com/wall-54530371_65456

Сложность вычислений и основы криптографии
http://vk.com/wall-54530371_65495

Трехчасовое видео о создании десктопного клона Flappy Bird на Java, который будет работать на Windows, Mac и Linux
http://vk.com/wall-54530371_65012
Ликбез по типизации в языках программирования

#common

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

Языки программирования по типизации принято делить на два больших лагеря — типизированные и нетипизированные.
В свою очередь типизированные языки разделяются еще на несколько пересекающихся категорий:
- Сильная / слабая типизация
- Явная / неявная типизация
- Статическая / динамическая типизация

Предлагаем вашему вниманию статью, после прочтения которой, вы раз и навсегда запомните отличия всех, выше упомянутых категорий типизированных языков
https://habrahabr.ru/post/161205/

Ссылка на пост http://vk.com/wall-54530371_65681
Рекурсия. Тренировочные задачи

#algorithms

Рекурсия достаточно распространённое явление, которое встречается не только в областях науки, но и в повседневной жизни. Например, эффект Дросте, треугольник Серпинского и т. д. Один из вариантов увидеть рекурсию – это навести Web-камеру на экран монитора компьютера, естественно, предварительно её включив. Таким образом, камера будет записывать изображение экрана компьютера, и выводить его же на этот экран, получится что-то вроде замкнутого цикла. В итоге мы будем наблюдать нечто похожее на тоннель.

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

https://habrahabr.ru/post/275813/

Ссылка на пост http://vk.com/wall-54530371_65712
Angular JS Tutorial

#javascript

1. MVC паттерн в AngularJS, модули, директивы, выражения, dependency injection
2. Валидация форм, использование $rootScope для разделения данных между контроллерами, наследование контроллеров, фильтры

Видео можно посмотреть по ссылке
http://vk.com/wall-54530371_65720
Минутка общения

#social

Извечный вопрос: "Нужна ли математика программисту?"
Решили задать этот вопрос и нашим подписчикам.

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

Проголосовать можно по ссылке 
http://vk.com/wall-54530371_65728
Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT-компанию (2012) / Cracking the Coding Interview, 5-th Edition: 150 Programming Interview Questions and Solution
Автор: Г. Лакман Макдауэлл

#book

Пятое издание этого мирового бестселлера поможет вам наилучшим образом подготовиться к собеседованию при приеме на работу программистом или руководителем в крупную IT-организацию или перспективный стартап. Основную часть книги составляют ответы на технические вопросы и задания, которые обычно получают соискатели на собеседовании в таких компаниях, как Google, Microsoft, Apple, Amazon и других. Рассмотрены типичные ошибки, которые допускают кандидаты, а также эффективные методики подготовки к собеседованию. Используя материал этой книги, вы с легкостью подготовитесь к устройству на работу в Google, Microsoft или любую другую ведущую IT-компанию.

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

#sql #db #novice

1. Введение
2. Нормализация
3. Редактирование таблиц, расширенные возможности SELECT, функции
4. Триггеры
5. Транзакции

Видео доступны по ссылке
http://vk.com/wall-54530371_65812