Size: a a a

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

2016 April 08
Библиотека программиста
Сложность вычислений и основы криптографии

#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
источник
2016 April 09
Библиотека программиста
Эффективные алгоритмы и коммуникационная сложность
Лектор: Иван Михайлин

#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
источник
Библиотека программиста
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: начните использовать множественные фоновые изображения, градиенты, граничные изображения, переходы, трансформации и анимацию.
- Сделайте ваши веб-приложения более удобными, отзывчивыми и доступными.
- Проектируйте с расчетом на высокую производительность, понятность для пользователей и функциональную надежность на любых платформах.

К посту прикреплена полная книга на английском языке.
источник
Библиотека программиста
источник
2016 April 10
Библиотека программиста
Курс по 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
источник
2016 April 11
Библиотека программиста
Ликбез по типизации в языках программирования

#common

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

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

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

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

#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 формате.
источник
Библиотека программиста
источник
2016 April 13
Библиотека программиста
Основы SQL

#sql #db #novice

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

Видео доступны по ссылке
http://vk.com/wall-54530371_65812
источник
Библиотека программиста
Подборка видео по искусственному интеллекту от Владимира Моженкова

#data_analysis

1. Минимальные требования к ИИ
2. robotLearning версия 1.0 - небольшая программа (созданная автором видео), которая показывает, как может работать искусственный интеллект.
3. Специализация искусственного интеллекта
4. Искусственный интеллект и обучение

Ссылка на видео http://vk.com/wall-54530371_65905
источник
Библиотека программиста
Путь от новичка до JavaScript-мастера

#javascript

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

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

Создай игру "Star Wars" вместе с "Час кода"
https://studio.code.org/s/starwars/stage/1/puzzle/1

"JavaScript для кошек", Макс Огден
http://jsforcats.com/

FreeCodeCamp - 10-часовой базовый JavaScript курс. Вы можете вернуться к данному ресурсу для получения дополнительной практики после того, как вы освоили остальную часть этих ресурсов. В общей сложности доступно примерно сотни часов упражнений.
https://www.freecodecamp.com/map#nested-collapseBasicJavaScript

"Обучение JavaScript с Эриком Эллиотом" - онлайн-курсы, включающие в себя подробные видеоролики по ES6, React, TDD, и многое другое...

Статья "Два столпа JavaScript", Эрик Эллиот
Часть первая - на прототипных OО
https://medium.com/javascript-scene/the-two-pillars-of-javascript-ee6f3281e7f3
Часть вторая - по функциональному программированию
https://medium.com/javascript-scene/the-two-pillars-of-javascript-ee6f3281e7f3

"Красноречивый JavaScript: Второе издание", Marijn Haverbeke
http://eloquentjavascript.net/

"JavaScript. Сильные стороны", Дуглас Крокфорд (книга)
http://goo.gl/ZfwE7r

"JavaScript. Подробное руководство", Дэвид Флэнаган (книга)
http://goo.gl/SoiPkd

Основные ссылки JavaScript
https://github.com/ericelliott/essential-javascript-links#essential-javascript-links

Комментарии к посту: https://vk.com/wall-54530371_65922
источник