Как стать автором
Обновить
0
MAGnit @MAGnitos read⁠-⁠only

Пользователь

Отправить сообщение

Основы программирования: Лекция #9. JavaScript. Формат JSON. DOM. Слушатели событий. Анонимные функции. Библиотека jQuer

Время на прочтение 3 мин
Количество просмотров 22K


Мы продолжаем публиковать лекции легендарного Гарвардского курса CS50, которые мы переводим и озвучиваем специально для JavaRush. Сегодня представляем вам сразу три лекции — семнадцатая продолжает знакомить с базами данных SQL, а восемнадцатая и девятнадцатая лекции — о JavaScript.

Все три лекции под катом, там же список всех переведённых на сегодняшний день лекций (напомним, что в курсе их 24).

Что вы узнаете, прослушав этот курс:

  • Основы компьютерных наук и программирования;
  • Концепции алгоритмов и алгоритмичности мышления. Какие задачи можно решать с помощью программирования и каким образом;
  • Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка;
  • Основы языка программирования C и Scratch;
  • Основы баз данных и SQL;
  • Веб-разработка: основы CSS, HTML, JavaScript и PHP;
  • Основы подготовки презентации проектов по программированию.

Всего голосов 15: ↑14 и ↓1 +13
Комментарии 5

Angular 2 Beta, обучающий курс «Тур героев» часть 2

Время на прочтение 10 мин
Количество просмотров 21K

Часть 1 Часть 2 Часть 3 Часть 4


Нужно больше героев


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

Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 6

4 простых способа разрешить самые сложные ситуации в жизни

Время на прочтение 3 мин
Количество просмотров 17K
image

Для ощущения полного счастья каждому человеку необходимо что-то свое. Но о том, как работать более эффективно, справляться с дилеммами и запоминать как можно больше полезной информации, задумывались все. Советы, приведенные в статье, помогут решить именно эти задачи.
Читать дальше →
Всего голосов 24: ↑20 и ↓4 +16
Комментарии 0

52 вопроса, которые вы должны задать на собеседовании

Время на прочтение 4 мин
Количество просмотров 73K
Вы, наверное, уже знаете, что интервью — это не просто очередной этап при устройстве на работу, это также ваша возможность разобраться, подходит ли вам эта работа. Для этого важно задать некоторые вопросы. Что вы хотите знать об этой должности? О компании? О подразделении? О команде? О корпоративной культуре?



Задавать вопросы бывает сложно. Мы это знаем. Для того, чтобы упростить вам это задание, мы приводим список ключевых вопросов для интервью. Мы определённо не рекомендуем задавать их все. Пожалейте рекрутера!
Читать дальше →
Всего голосов 26: ↑24 и ↓2 +22
Комментарии 13

Продвижение инди-игры на Steam Greenlight

Время на прочтение 11 мин
Количество просмотров 96K
Всем, привет! Наша команда сейчас проходит важный этап становления любого разработчика игр — первый запуск игры на Steam Greenlight. Пока я готовил материал для этой статьи, наша игра вошла в ТОП-100 проектов на Greenlight, набрала почти 2000 голосов «ЗА» и через 12 дней получила зелёный свет.

В этой статье хочу поделиться информацией, которую «нарыл» в процессе подготовки к Greenlight'у, а также попробовать проанализировать, какие гипотезы по продвижению сработали, а какие пути оказались тупиковыми. Надеемся, эта информация окажется полезной и кому-то попадёт в избранное.

image
Читать дальше →
Всего голосов 33: ↑31 и ↓2 +29
Комментарии 14

Exploring JavaScript Symbols. Symbol — новый тип данных в JavaScript

Время на прочтение 5 мин
Количество просмотров 32K
Это первая часть про символы и их использование в JavaScript.

Новая спецификация ECMAScript (ES6) вводит дополнительный тип данных — символ (symbol). Он пополнит список уже доступных примитивных типов (string, number, boolean, null, undefined). Интересной особенностью символа по сравнению с остальными примитивными типами является то, что он единственный тип у которого нет литерала.

Для чего же нужен был дополнительный тип данных?

В JavaScript нет возможности объявить свойство объекта как приватное. Чтобы скрыть данные можно использовать замыкания, но тогда все свойства нужно объявлять в конструкторе (так как нет возможности объявить их в прототипе), к тому же они будут создаваться для каждого экземпляра, что увеличит размер используемой памяти. ECMAScript 5 предоставил возможность указать enumerable: false для свойства, что позволяет скрыть свойство от перечисления в for-in и его не будет видно в Object.keys, но для этого нужно объявлять его через конструкцию Object.defineProperty.
Читать дальше →
Всего голосов 46: ↑42 и ↓4 +38
Комментарии 61

Используем время простоя веб-приложения для фоновых задач

Время на прочтение 4 мин
Количество просмотров 14K
Я люблю, когда мои приложения бегут со скоростью 60 fps, даже на мобильных устройствах. А еще я люблю сохранять состояние моего приложения, например, открытые окошки или введенный текст в localstorage и метаданных пользователя (если он зарегистрирован), чтобы, закрыв его, работу с ним можно было бы продолжить позже с того же места, в том числе и на другом устройстве.

Это все прекрасно, вот только сегодня я столкнулся с одной проблемой. Дело в том, что есть у меня одно боковое меню, offcanvas, и его состояние (открыто/закрыто) я тоже бы хотел сохранить в браузере и учетной записи пользователя. Вот только запись в localstorage и AJAX реквест на обновление в БД асинхронны и они все время норовят запускаться прямо во время сложной анимации, крадя у меня пару-другую фреймов, что особенно заметно на мобильных устройствах. Очевидно, мне бы хотелось, чтобы данные сохранялись после того, как анимация завершится, а не в критичный момент моего приложения, но как?
Читать дальше →
Всего голосов 25: ↑22 и ↓3 +19
Комментарии 14

Подробно о внутренней кухне AngularJS

Время на прочтение 9 мин
Количество просмотров 48K
У фреймворка AngularJS есть несколько интересных решений в коде. Сегодня мы рассмотрим два из них – как работают области видимости и директивы.

Первое, чему обучают всех в AngularJS – директивы должны взаимодействовать с DOM. А больше всего новичка запутывает процесс взаимодействия между областями видимости, директивами и контроллерами. В этой статье мы рассмотрим подробности работы областей видимости и жизненный цикл Angular-приложения.

Если в следующей картинке вам что-то непонятно – эта статья для вас.

image

(В статье рассматривается AngularJS 1.3.0)
Читать дальше →
Всего голосов 38: ↑33 и ↓5 +28
Комментарии 4

Тренды JavaScript на 2015 год

Время на прочтение 19 мин
Количество просмотров 112K


Всем привет! Мы как-то задумали сделать легкий вводный курс на тему JavaScript и разработки приложений (он, кстати, скоро будет опубликован): и, пока я собирал материалы к нему, как-то само собой выяснилось, что есть довольно много вещей, которые, так сказать, находятся на переднем крае развития JavaScript. Отсюда родилась идея сделать отдельную обзорную статью в жанре «X трендов на год Y по технологии Z».

Многие из тех, вещей, которые я буду описывать, можно попробовать в той или иной степени уже сегодня (собственно, иначе я бы говорил о космическом будущем, а не о трендах). В этом есть несомненный плюс: если у вас будет свободное время (а на праздниках его обычно много), вам будет чем заняться. Да и, в целом, хорошо начинать новый год с расширения своих горизонтов!
Читать дальше →
Всего голосов 108: ↑88 и ↓20 +68
Комментарии 76

Выразительный JavaScript: Проект: Веб-сайт по обмену опытом

Время на прочтение 22 мин
Количество просмотров 37K

Содержание




На встречах по обмену опытом люди с общими интересами встречаются и делают небольшие неформальные презентации на тему своих знаний. На встрече по обмену опытом среди фермеров кто-нибудь может рассказать о выращивании сельдерея. На встрече программистов вы можете выступить с рассказом про Node.js

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


Встречи моноциклистов

В последней главе-проекте мы устроим веб-сайт по обслуживанию выступлений, которые делаются на таких встречах. Представьте себе группу людей, которые регулярно встречаются в офисе одного из участников, чтобы поговорить о моноциклах. Проблема в том, что когда предыдущий организатор встреч переехал в другой город, никто не занял его место. Нам нужна система, которая позволит участникам предлагать и обсуждать темы друг с другом, без участия организатора.
Читать дальше →
Всего голосов 36: ↑36 и ↓0 +36
Комментарии 9

Выразительный JavaScript: HTTP

Время на прочтение 19 мин
Количество просмотров 120K

Содержание




Мечта, ради которой создавалась Сеть – это общее информационное пространство, в котором мы общаемся, делясь информацией. Его универсальность является его неотъемлемой частью: ссылка в гипертексте может вести куда угодно, будь то персональная, локальная или глобальная информация, черновик или выверенный текст.

Тим Бернес-Ли, Всемирная паутина: Очень короткая личная история

Читать дальше →
Всего голосов 40: ↑38 и ↓2 +36
Комментарии 4

Жизнь с планшетом или список приложений для Android

Время на прочтение 7 мин
Количество просмотров 310K
Привет!

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

Пост написан для устройств на базе операционной системы Android, но думаю и в других системах есть аналоги.
Читать дальше →
Всего голосов 143: ↑104 и ↓39 +65
Комментарии 66

Выразительный JavaScript: Структуры данных: объекты и массивы

Время на прочтение 22 мин
Количество просмотров 148K

Содержание




Два раза меня спрашивали: «Скажите, м-р Бэббидж, а если вы введёте в машину неправильные данные, получится ли правильный ответ?». Непостижима та путаница в головах, которая приводит к таким вопросам.

Чарльз Бэббидж, «Отрывки из жизни философа» (1864)


Числа, булевские значения и строки – кирпичики, из которых строятся структуры данных. Но нельзя сделать дом из одного кирпича. Объекты позволяют нам группировать значения (в том числе и другие объекты) вместе – и строить более сложные структуры.

Написание программ, которым мы до сего момента занимались, сильно затруднял тот факт, что они работали только с простыми данными. Эта глава добавит вам в инструментарий понимание структур данных. К её концу вы будете знать достаточно для того, чтобы начать писать полезные программы.

Глава пройдётся по более-менее реалистичному примеру программирования, вводя понятия по мере необходимости. Код примеров будет строиться из функций и переменных, которые мы определяли ранее.
Читать дальше →
Всего голосов 30: ↑29 и ↓1 +28
Комментарии 12

Выразительный JavaScript: Функции

Время на прочтение 17 мин
Количество просмотров 230K

Содержание




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

Дональд Кнут


Вы уже видели вызовы функций, таких как alert. Функции – это хлеб с маслом программирования на JavaScript. Идея оборачивания куска программы и вызова её как переменной очень востребована. Это инструмент для структурирования больших программ, уменьшения повторений, назначения имён подпрограммам, и изолирование подпрограмм друг от друга.

Самое очевидное использование функций – создание нового словаря. Придумывать слова для обычной человеческой прозы – дурной тон. В языке программирования это необходимо.

Средний взрослый русскоговорящий человек знает примерно 10000 слов. Редкий язык программирования содержит 10000 встроенных команд. И словарь языка программирования определён чётче, поэтому он менее гибок, чем человеческий. Поэтому нам обычно приходится добавлять в него свои слова, чтобы избежать излишних повторений.
Читать дальше →
Всего голосов 24: ↑23 и ↓1 +22
Комментарии 7

Замыкания в Javascript [Часть 2]

Время на прочтение 19 мин
Количество просмотров 38K
Предыдущая часть.

  • Замыкания
    • Автоматическая сборка мусора
    • Создание замыканий

  • Что можно сделать с помощью замыканий?
    • Пример 1: setTimeout c ссылкой на функцию
    • Пример 2: Ассоциирование функций с методами экземпляра объекта
    • Пример 3: Инкапсуляция взаимосвязанной функциональности
    • Другие примеры

  • Случайные замыкания
  • Проблема утечки памяти в Internet Explorer

Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 11

Всё, что вы хотели знать об областях видимости в JavaScript (но боялись спросить)

Время на прочтение 8 мин
Количество просмотров 82K
У JS есть несколько концепций, связанных с областью видимости (scope), которые не всегда ясны начинающим разработчикам (и иногда даже опытным). Эта статья посвящена тем, кто стремится погрузиться в пучину областей видимости JS, услышав такие слова, как область видимости, замыкание, “this”, область имён, область видимости функции, глобальные переменные, лексическая область видимости, приватные и публичные области… Надеюсь, по прочтению материала вы сможете ответить на следующие вопросы:

— что такое область видимости?
— что есть глобальная/локальная ОВ?
— что есть пространство имён и чем оно отличается от ОВ?
— что обозначает ключевое слово this, и как оно относится с ОВ?
— что такое функциональная и лексическая ОВ?
— что такое замыкание?
— как мне всё это понять и сотворить?
Читать дальше →
Всего голосов 57: ↑47 и ↓10 +37
Комментарии 38

Бета-версия Unity3D 4.6, новые рекламные возможности от Google и продажа игровой студии за 1 млрд — главные мобильные новости за неделю

Время на прочтение 4 мин
Количество просмотров 13K


Много новостей и цифр про Unity3D c мероприятия Unite 2014


Мы решили составить список самой важной информации о Unity3D, которая была озвучена на конференции Unite 2014 в Сиэтле 20-22 августа. Думаем, комментарии здесь будут лишними.

1. Почти половина мобильных игр, сделанных не на нативных языках, создана на Unity.
2. MAU движка — 640 тысяч разработчиков.
3. Количество установленных игр, созданных на Unity3D, достигло почти 9 миллиардов!
4. Компания купила стартап Tsugi и переименовала его в Unity Austin. На базе технологии стартапа она создает Unity Cloud Build для автоматической сборки проектов из SVN, GIT и других репозиториев. Этого функционала очень не хватало. Многие команды делали этот инструментарий самостоятельно. Помимо этого появится возможность шарить билды. Сервис находится в стадии беты.
4. Стала доступна для скачивания бета-версия Unity3D 4.6. В ней появился следующий функционал:
— Мощная и быстрая система разработки пользовательского интерфейса, внешне очень напоминающая популярный ассет NGUI.
— Много готовых компонентов UI из коробки (кнопки, слайдеры, скроллирующиеся списки и т.д.).
— На UI можно применять эффекты и ставить отдельные источники освещения.
— Изменена система 2D-объектов. Она стала более гибкая и одинаково хорошо позволяет использовать 2D-спрайты для любых целей.

С полным списком изменений в версии 4.6 можете ознакомиться здесь: http://unity3d.com/unity/beta/4.6/release-notes
Читать дальше →
Всего голосов 25: ↑18 и ↓7 +11
Комментарии 8

Архитектура простой 2D игры на Unity3D. План, факт и работа над ошибками

Время на прочтение 12 мин
Количество просмотров 102K
Недавно команда Whistling Kite Framework выпустила в релиз очередную игру, на этот раз — Змейку, написанную на Unity3D. Как и в большинстве игровых проектов, при решении вопроса о том, насколько детально нужно проектировать приложение, критическим фактором было время. В нашем случае причина проста: т.к. разработка велась в свободное от основной работы время, то идеальный подход к проектированию отложил бы релиз ещё на год. Поэтому, составив первоначальное разделение на модули, мы закончили проектирование и приступили к разработке. Под катом описание того, что из этого получилось, а также пара уроков, которые я вынес для себя.


Осторожно, картинки!
Читать дальше →
Всего голосов 31: ↑25 и ↓6 +19
Комментарии 27

Как вращается камера в 3D играх или что такое матрица поворота

Время на прочтение 11 мин
Количество просмотров 122K
В этой статье я кратко расскажу, как именно преобразуются координаты точек при повороте камеры в 3D играх, css-преобразованиях и вообще везде, где есть какие-то вращения камеры или предметов в пространстве. По совместительству это будет кратким введением в линейную алгебру: читатель узнает, что такое (на самом деле) вектор, скалярное произведение и, наконец, матрица поворота.
Читать дальше →
Всего голосов 113: ↑105 и ↓8 +97
Комментарии 44

Побег из офиса, или как мы начинали разрабатывать свою мобильную игру. Часть 1

Время на прочтение 5 мин
Количество просмотров 11K
image

Преамбула


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

Сейчас у нас уже есть небольшой опыт работы в данном направлении, первая игра проходит бетта-тестирование, к тому же накопился какой-то пласт мыслей и выводов по ходу процесса, и не только.
Читать дальше →
Всего голосов 35: ↑17 и ↓18 -1
Комментарии 9

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность