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
Сообщество русскоговорящих мобильных разработчиков, маркетологов и геймдизайнеров. @devapp
Читать полностью…CSS: The Missing Manual (2016) / CSS: The Missing Manual (2015)
Автор: Дэвид Сойер Макфарланд
#web
Технология CSS3 позволяет создавать профессионально оформленные сайты, но тонкости этого языка могут оказаться довольно сложными даже для опытных веб-разработчиков. Полностью переработанное четвертое издание этой книги поможет вам поднять навыки работы с HTML и CSS на новый уровень; она содержит множество ценных советов, описаний приемов, а также инструкции, написанные в стиле справочного руководства. Веб-дизайнеры, как начинающие, так и опытные, при помощи этой книги быстро научатся создавать красивые веб-страницы, которые при этом молниеносно загружаются как на ПК, так и на мобильных устройствах.
К посту прикреплена полная книга на английском языке.
JavaScript и JSON
Первая часть (1/2)
#javascript
1. Что такое JSON
2. Понимание объектов и JSON
3. Создание простых данных
4. Использование инструментов для JavaScript и JSON
5. Отладка объектов JavaScript с помощью браузера
6. Изменение объектов массива в JavaScript
7. Циклы по объектам JavaScript
8. Доступ к объектам в массивах
9. Коммуникация между сайтами с помощью JSON
Ссылка на пост с уроками http://vk.com/wall-54530371_65329
Компьютерные сети. Нисходящий подход (2016) / Computer Networking: A Top-Down Approach (2012)
Авторы: Джеймс Ф. Куроуз, Кит В. Росс
#networks #book
Книга знакомит читателя с фундаментальными основами построения и функционирования компьютерных сетей на примере пятиуровневой архитектуры сети Интернет. Описаны базовые компоненты компьютерной сети, ключевые подходы к передаче данных в телекоммуникационных сетях, принципы взаимодействия сетей друг с другом, подробно рассмотрены важнейшие службы и протоколы всех уровней сетевой архитектуры. Отдельная глава посвящена беспроводным и мобильным сетям и их особенностям. Большое внимание уделено одной из самых развивающихся сегодня областей – мультимедийных сетевых технологиях, в частности, специфике передачи аудио- и видеоданных. Будут затронуты важные аспекты сетевой безопасности и разнообразные принципы, методы и приемы, обеспечивающие безопасный обмен информацией.
Весь материал книги снабжен интересными примерами, кроме того читателю доступны дополнительные материалы для выполнения упражнений.
Книга будет полезна всем, кто специализируется в области технологий компьютерных сетей - от студентов до системных администраторов.
К посту прикреплена полная книга на английском языке.
Основы вычислимости и теории сложности
Лектор: Дмитрий Ицыксон
#fundamental
Курс дает ответы на такие вопросы: Что такое алгоритм? Что такое эффективный алгоритм? Что такое доказательство? Как доказать, что нет алгоритма, который решит данную задачу? Как доказать, что что-то нельзя доказать? Как понять, что нет эффективного алгоритма для данной задачи? Что такое сложность объекта? Из курса можно узнать, что такое вычислимые функции, арифметическая иерархия, колмогоровская сложность, классы P, NP, PSPACE и пр., полиномиальная иерархия, схемная сложность, сложность с ограничением по памяти и многие другие интересные вещи.
Ссылка на пост http://vk.com/wall-54530371_65228
Все 12 лекций доступны по ссылке http://vk.com/videos-54530371?section=album_56085718
Подборка уроков по ООП от Владимира Моженкова
#oop
1. Инкапсуляция
2. Наследование
3. Дочерний класс в памяти
4. Агрегация и Композиция
5. Класс Обёртка
6. Множественное Наследование
7. Анонимный Объект
8. Раннее и Позднее Связывание
9. Functor или Объект-Функция
Посмотреть уроки можно по ссылке ниже
http://vk.com/wall-54530371_65154
Структуры данных с Джонатаном Шевчуком, Калифорнийский университет в Беркли
#algorithms #java
Фундаментальные динамические структуры данных, включая односвязные списки, очереди, деревья и другие связанные структуры; массивы строк и хэш-таблицы. Управление хранением данных. Элементарные принципы программной инженерии. Абстрактные типы данных. Алгоритмы поиска и сортировки. Введение в язык программирования Java.
1. Обзор курса
2. Использование объектов
3. Определение классов
4. Типы и условные операторы
5. Циклы и массивы, часть I
6. Циклы и массивы, часть II
7. Связанные списки, часть I
8. Связанные списки, часть II
9. Стеки
Ссылка на пост с лекциями
https://vk.com/wall-54530371_65118
Рекурсия. Тренировочные задачи
#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
Курс лекций по сетевой безопасности факультета ВМК МГУ.
#networks
Цель курса — познакомить слушателей с практическими аспектами такой мультидисциплинарной области как информационная безопасность, получить представление о том, как разрабатывать защищенное программного обеспечение, защищать уже существующие вычислительные системы или исследовать их защищенность.
1. Вводная лекция.
2. Авторизация и аутентификация.
3. Протоколы уровня приложений.
4. Межсетевые экраны.
5. Системы IDS и IPS.
6. Основы веб-технологий — часть 1.
7. Основы веб-технологий — часть 2.
8. Уязвимости в веб-приложениях: SQLi.
9. Уязвимости в веб-приложениях: XSS.
10. Security Enhanced Linux.
Все видео доступны по ссылке
http://vk.com/videos-54530371?section=album_56085720
Ссылка на пост http://vk.com/wall-54530371_65382
Хотели бы вам посоветовать хороший международный каталог каналов @worldchannels. В нём публикуются только отборные авторские, уникальные и новостные каналы на русском и английском языках. И наш канал тоже там опубликовали, что весьма радует.
telegram.me/worldchannels
Немного о CSS-препроцессорах
#web
Если вы пишете большое количество CSS кода, то препроцессор может значительно сэкономить много драгоценного времени. Использование таких инструментов, как Sass, Less, Stylus или PostCSS упрощают работу над большими и сложными стилями, делая их более понятными и легко поддерживаемыми.
Препроцессоры дают ряд преимуществ по сравнению с обычным CSS:
- Наличие переменных;
- Динамически рассчитываемые значения;
- Миксины, которые позволяют повторно использовать и комбинировать стили. Они даже поддерживают передачу аргументов;
Функции, которые дают вам ряд полезных утилит для работы с цветом, конвертацией изображений в data-URI и др.
- И многое другое.
Представляем вашему вниманию статьи, которые помогут вам ознакомится с такой такой замечательной вещью как CSS-препроцессоры:
Sass за 15 минут
http://webtackles.ru/css/learn-sass-in-15-minutes/
Less за 10 минут
http://webtackles.ru/css/learn-less-in-10-minutes-or-less/
Ссылка на пост http://vk.com/wall-54530371_65256
Статья по диаграммам использования (use-case) UML, применяемых при разработке технического задания и его согласования с заказчиком:
http://pro-prof.com/archives/2594
#db #oop
10 полезных советов для отладки и избежания неполадок в программировании
#common
1. Оператор печати
2. Отладчик
3. Система отслеживания ошибок
4. Верификация программ
5. Контроль версий
6. Модульность
7. Автоматизированные тесты
8. Метод «Плюшевый мишка» (или отладка «Резиновая уточка»)
9. Пишите комментарии к коду
10. Пишите документацию
Полная статья на английском языке доступна по ссылке ниже
http://goo.gl/kk1Tmx
Ссылка на пост http://vk.com/wall-54530371_65138
Шпаргалка по Kotlin — java-help.ru/kotlin-cheat-sheet
Краткий экскурс в язык программирования Kotlin.
#cheatsheets #java
Трехчасовое видео о создании десктопного клона Flappy Bird на Java, который будет работать на Windows, Mac и Linux
#gamedev #java
Ссылка на видео https://goo.gl/Mg7r9H