Уроки по Kotlin
#java
1. Введение
2. String Templates
3. Переменные var vs. val
4. Типы данных Kotlin
5. Функции
Видео можно посмотреть по ссылке
http://vk.com/wall-54530371_66222
Система управления базами данных MongoDB
#db
1. Установка
2. Интеграция с JetBrains IDE
3. Создание базы данных и загрузка данных
4. Update, Remove и коллекции
5. Поисковые запросы
6. Индексация
7. Агрегация и группировка
Ссылка на пост с уроками http://vk.com/wall-54530371_66200
Разработка HTML5-игр в Intel XDK
#web #gamedev
Хотите создать собственную кросс-платформенную игру на HTML5? Перед вами подборка статей, которые посвящены разработке в среде Intel XDK. Здесь мы будем делать игру про голодную змейку, вариант всем известной Snake.
1. Знакомство с XDK
https://habrahabr.ru/company/intel/blog/281380/
2. Cocos2d-JS
https://habrahabr.ru/company/intel/blog/281453/
3. Знакомство со змейкой
https://habrahabr.ru/company/intel/blog/281523/
4. Система координат и перемещение объектов
https://habrahabr.ru/company/intel/blog/281607/
Все 12 статей на английском доступны по ссылке ниже
https://goo.gl/PWmxu4
Ссылка на пост http://vk.com/wall-54530371_66167
Структуры данных и алгоритмы в Java
Автор: Роберт Лафоре
#algorithms #java #book
Второе издание одной из самых авторитетных книг по программированию посвящено использованию структур данных и алгоритмов. Алгоритмы - это основа программирования, определяющая, каким образом разрабатываемое программное обеспечение будет использовать структуры данных. На четких и простых программных примерах автор объясняет эту сложную тему, предлагая читателям написать собственные программы и на практике усвоить полученные знания. Рассматриваемые примеры написаны на языке Java, хотя для усвоения материала читателю не обязательно хорошо знать его - достаточно владеть любым языком программирования, например С++. Первая часть книги представляет собой введение в алгоритмизацию и структуры данных, а также содержит изложение основ объектно-ориентированного программирования. Следующие части посвящены различным алгоритмам и структурам данных, рассматриваемым от простого к сложному: сортировка, абстрактные типы данных, связанные списки, рекурсия, древовидные структуры данных, хеширование, пирамиды, графы. Приводятся рекомендации по использованию алгоритмов и выбору той или иной структуры данных в зависимости от поставленной задачи.
Книга доступна по ссылке
http://vk.com/wall-54530371_66127
Минутка общения
#social
Навык слепого набора текста напрямую не влияет на ваши навыки программирования. Однако, это умение поможет быстрее набирать, удалять и изменять ваш код, в итоге вы сможете быстрее обучаться в целом.
Считаете ли вы, что настоящий программист должен обладать слепым десятипальцевым методом печати?
Проголосовать можно по ссылке
http://vk.com/wall-54530371_65951
В прошлом году из 7500 заявок в магистратуру Университета Иннополис прошли отбор и стали студентами 95 человек. В этом году Университет увеличил количество грантов — их получат 125 человек, и теперь в магистратуре будет 4 учебные программы:
Управление разработкой ПО
Лицензированные учебные материалы и дипломированные преподаватели университета Карнеги-Меллон (США) — ТОП-5 университетов мира по направлению Computer Science & Information Systems по версии QS.
Программа для специалистов с опытом работы 1–2 года в сфере разработки ПО, которые нацелены на карьерный рост и хотят стать техническим лидером, программным архитектором или менеджером проектов.
Основные курсы:
• Введение в индивидуальный процесс разработки
• Модели программных систем
• Методы проектирования программного обеспечения
• Управление разработкой программного обеспечения
• Архитектуры программных систем
• Анализ компонентов программного обеспечения
• Коммуникация разработчиков программного обеспечения I, II
• Индустриальный проект
Управление большими данными
Наука о данных — междисциплинарная область, которая постоянно развивается в соответствии с изменениями потребностей бизнеса и увеличением объемов и уровня сложности данных.
Учебная программа развивает навыки решения практических задач начиная с основ, теорий и передовых методов. Это позволяет студентам эффективно собирать, подготавливать, анализировать и интерпретировать огромное количество реальных данных.
Основные курсы:
• Анализ мультимедийных данных;
• Мобильный интеллект;
• Прикладное машинное обучение;
• Моделирование данных и баз данных;
• Сбор данных;
• Поиск информации;
• Статистический анализ.
Разработка безопасных систем и сетей
На основе программы Университета Амстердама — лучшей в Нидерландах магистерской программы в категории «Информатика» за 2015 год по версии Keuzegids.
Учебный план программы составлен в партнерстве с компаниями IT-индустрии. Он фокусируется на принципе OS3 (открытые стандарт, программное обеспечение и безопасность).
Основные курсы:
• Основы безопасности сетей;
• Безопасность систем и сетей;
• Классические интернет-приложения;
• Распределенные системы;
• Наступательные технологии;
• Объединение сетей и маршрутизация;
• Передовые сетевые технологии;
• Киберпреступность и криминалистика;
• Передовые технологии безопасности.
Робототехника
Программа по робототехнике — прочная основа для студентов с различным опытом, чтобы подготовить их к построению карьеры в индустрии и научном мире. Программа состоит из основных курсов и курсов по выбору, а также проектов, которые позволяют студентам получить практический опыт в индустрии робототехники.
Центральную роль в программе играет дипломный проект длительностью два семестра, который призван связать студентов с научным миром робототехники
Основные курсы:
• Введение в исследования
• Классификация образов
• Манипуляторы
• Машинное (компьютерное) зрение
• Машинное обучение
• Взаимодействие человека и робота
• Искусственный интеллект
• Встраиваемые системы
• Биомедицинские роботы
• Этика в робототехнике
В этом году прошли уже 6 отборов кандидатов в магистратуру IT-университета Иннополис и появились первые обладатели грантов — для них обучение будет бесплатно! Хочешь попасть в их число? Поторопись — ближайший отбор в Иннополисе пройдет 23 апреля!
Для участия в нем подай заявку, заполни полностью анкету и пройди тесты по IT и английскому языку в личном кабинете абитуриента до 18 апреля 2016 года.
Подать заявку на отбор:
https://apply.innopolis.ru/masters-degree/?utm_source=telegram&utm_medium=post&utm_term=proglibrary_5&utm_content=mas_otbory_do1804&utm_campaign=tlgrm_channels
Подборка видео по искусственному интеллекту от Владимира Моженкова
#data_analysis
1. Минимальные требования к ИИ
2. robotLearning версия 1.0 - небольшая программа (созданная автором видео), которая показывает, как может работать искусственный интеллект.
3. Специализация искусственного интеллекта
4. Искусственный интеллект и обучение
Ссылка на видео http://vk.com/wall-54530371_65905
Карьера программиста. Как устроиться на работу в 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 формате.
Angular JS Tutorial
#javascript
1. MVC паттерн в AngularJS, модули, директивы, выражения, dependency injection
2. Валидация форм, использование $rootScope для разделения данных между контроллерами, наследование контроллеров, фильтры
Видео можно посмотреть по ссылке
http://vk.com/wall-54530371_65720
Ликбез по типизации в языках программирования
#common
Эта статья содержит необходимый минимум тех вещей, которые просто необходимо знать о типизации, чтобы не называть динамическую типизацию злом, Lisp — бестиповым языком, а C — языком со строгой типизацией.
Языки программирования по типизации принято делить на два больших лагеря — типизированные и нетипизированные.
В свою очередь типизированные языки разделяются еще на несколько пересекающихся категорий:
- Сильная / слабая типизация
- Явная / неявная типизация
- Статическая / динамическая типизация
Предлагаем вашему вниманию статью, после прочтения которой, вы раз и навсегда запомните отличия всех, выше упомянутых категорий типизированных языков
https://habrahabr.ru/post/161205/
Ссылка на пост http://vk.com/wall-54530371_65681
Знай сложности алгоритмов
#algorithms
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. Автор статьи говорит что потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки. И после нескольких потраченных часов задался вопросом: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ».
Чтобы сохранить ваше время автор создал такую шпаргалку, которую вы можете увидеть в статье ниже:
Ссылка на статью с Хабра
https://habrahabr.ru/post/188010/
Ссылка на оригинал статьи на английском
http://bigocheatsheet.com/
Ссылка на пост http://vk.com/wall-54530371_65603
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: начните использовать множественные фоновые изображения, градиенты, граничные изображения, переходы, трансформации и анимацию.
- Сделайте ваши веб-приложения более удобными, отзывчивыми и доступными.
- Проектируйте с расчетом на высокую производительность, понятность для пользователей и функциональную надежность на любых платформах.
К посту прикреплена полная книга на английском языке.
Подборка лучших материалов по 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
Подборка материалов по 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)
Авторы Виктор Олифер, Наталия Олифер
#networks #book
Пятое издание одного из лучших российских учебников по сетевым технологиям, переведенного на английский, испанский, португальский и китайский языки, отражает те изменения, которые произошли в области компьютерных сетей за 6 лет, прошедших со времени подготовки предыдущего издания: преодоление локальными и глобальными сетями рубежа скорости в 100 Гбит/c и освоение терабитных скоростей; повышение эффективности и гибкости первичных оптических сетей за счет появления реконфигурируемых мультиплексоров ввода-вывода (ROADM) и применения супер-каналов DWDM, работающих на основе гибкого частотного плана; развитие техники виртуализации сетевых функций и услуг, приведшей к распространению облачных сервисов; выход на первый план проблем безопасности.
Рекомендовано Министерством образования и науки Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению "Информатика и вычислительная техника" и по специальностям "Вычислительные машины, комплексы, системы и сети", "Автоматизированные машины, комплексы, системы и сети", "Программное обеспечение вычислительной техники и автоматизированных систем".
Издание предназначено для студентов, аспирантов и технических специалистов, которые хотели бы получить базовые знания о принципах построения компьютерных сетей, понять особенности традиционных и перспективных технологий локальных и глобальных сетей, изучить способы создания крупных составных сетей и управления такими сетями.
Ссылка на пост http://vk.com/wall-54530371_65472
Программируем на Python (2016)
Автор: Майкл Доусон
#python #book
Эта книга - идеальное пособие для начинающих изучать Python. Руководство, написанное опытным разработчиком и преподавателем, научит фундаментальным принципам программирования на примере создания простых игр. Вы приобретете необходимые навыки для разработки приложений на Python и узнаете, как их применять в реальной практике. Для лучшего усвоения материала в книге приведено множество примеров программного кода. В конце каждой главы вы найдете проект полноценной игры, иллюстрирующий ключевые идеи изложенной темы, а также краткое резюме пройденного материала и задачи для самопроверки. Прочитав эту книгу, вы всесторонне ознакомитесь с языком Python, усвоите базовые принципы программирования и будете готовы перенести их на почву других языков, за изучение которых возьметесь. Научитесь программировать на Python играючи!
Скачать книгу можно по ссылке
http://vk.com/wall-54530371_66209
50 минут Meteor.js: все необходимое, чтобы начать пользоваться этим мощным JavaScript-фреймворком.
#javascript
Видео доступно по ссылке
http://vk.com/wall-54530371_66190
JavaScript для абсолютных новичков
#javascript #novice
Данный урок поможет вам начать изучать JavaScript. В этом видео идет речь о синтаксисе языка и коротко о принципах программирования на нем.
Ссылка на урок http://vk.com/wall-54530371_66152
Основы ООП на Java
#oop #java
1. Введение в объекты
2. Установка Java
3. Установка Java. Разбор д/з
4. Установка IDE
5. Установка IDE. Разбор д/з
6. Основы ООП
7. Главный принцип программирования
8. Структура проекта
9. Классы и пакеты
Ссылка на пост http://vk.com/wall-54530371_66116
Создание игры в жанре Tower Defence на Unity 3D за час.
#gamedev #csharp
Ссылка на урок http://vk.com/wall-54530371_65938
Путь от новичка до 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
Основы SQL
#sql #db #novice
1. Введение
2. Нормализация
3. Редактирование таблиц, расширенные возможности SELECT, функции
4. Триггеры
5. Транзакции
Видео доступны по ссылке
http://vk.com/wall-54530371_65812
Минутка общения
#social
Извечный вопрос: "Нужна ли математика программисту?"
Решили задать этот вопрос и нашим подписчикам.
Пригодились ли вам знания математики (мат. анализ, диф. уравнения, теория вероятности и другие мат. дисциплины) в профессиональной разработке? Как часто эти знания приходилось использовать?
Проголосовать можно по ссылке
http://vk.com/wall-54530371_65728
Рекурсия. Тренировочные задачи
#algorithms
Рекурсия достаточно распространённое явление, которое встречается не только в областях науки, но и в повседневной жизни. Например, эффект Дросте, треугольник Серпинского и т. д. Один из вариантов увидеть рекурсию – это навести Web-камеру на экран монитора компьютера, естественно, предварительно её включив. Таким образом, камера будет записывать изображение экрана компьютера, и выводить его же на этот экран, получится что-то вроде замкнутого цикла. В итоге мы будем наблюдать нечто похожее на тоннель.
Предполагается что вы уже теоритически знакомы с рекурсией и знаете что это такое. В данной статье мы большее внимание уделим задачам на рекурсию.
https://habrahabr.ru/post/275813/
Ссылка на пост http://vk.com/wall-54530371_65712
Самые популярные посты за эту неделю
#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
Курс по 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
Вебинар о философии сетевых игр и создание многопользовательской игры на Unity3D.
#gamedev
Программа вебинара:
- Что такое сетевая игра.
- Что такое ping, localhost и сокеты.
- Пример простого сетевого взаимодействия.
- Каким образом работают игры с выделенным сервером.
- Проектируем сетевую игру.
- RPC и как создается чат.
- Обзор сетевых движков Photon, UNet.
Ссылка на пост с вебинаром http://vk.com/wall-54530371_65545
Эффективные алгоритмы и коммуникационная сложность
Лектор: Иван Михайлин
#fundamental
Коммуникационная сложность изучает способы организовать коммуникацию, то есть общение между несколькими участниками, так, чтобы в конце концов они узнали то, что хотят узнать, причем сделали это как можно более эффективно, то есть как можно менее сложно. Теория коммуникационной сложности является небольшой, но красивой и важной частью теории сложности – области, лежащей на стыке математики и теоретической информатики.
Ссылка на пост с лекциями
http://vk.com/wall-54530371_65536
Сложность вычислений и основы криптографии
#fundamental
Первая часть курса будет посвящена базовым понятиям, конструкциям, фактам в этой области: вероятностные алгоритмы, вычисления с оракулами, полиномиальная иерархия, булевы схемы, интерактивные протоколы.
Сложность вычислительной задачи препятствует её эффективному решению. Однако зачастую именно это требуется, когда речь идёт о невозможности взлома криптографических протоколов. Вторая часть курса будет посвящена рассказу о криптографических понятиях (односторонних функциях, криптосистемах и т.д.) на языке теории сложности (на котором они, собственно, и определяются).
Ссылка на пост http://vk.com/wall-54530371_65495
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