Pull to refresh
MAGnit @MAGnitos read-only

User

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

Vert Dider corporate blog


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

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

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

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

Total votes 15: ↑14 and ↓1 +13
Views 22K
Comments 5

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

Website development *JavaScript *Angular *
Tutorial
Translation

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


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


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

Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Views 21K
Comments 6

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

MBA Consult corporate blog GTD *
Translation
image

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

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

icanchoose.ru corporate blog IT career
Вы, наверное, уже знаете, что интервью — это не просто очередной этап при устройстве на работу, это также ваша возможность разобраться, подходит ли вам эта работа. Для этого важно задать некоторые вопросы. Что вы хотите знать об этой должности? О компании? О подразделении? О команде? О корпоративной культуре?



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

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

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

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

image
Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Views 96K
Comments 14

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

JavaScript *Node.JS *
Tutorial
Это первая часть про символы и их использование в JavaScript.

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

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

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

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

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

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

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

JavaScript *Programming *Angular *
Translation
У фреймворка AngularJS есть несколько интересных решений в коде. Сегодня мы рассмотрим два из них – как работают области видимости и директивы.

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

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

image

(В статье рассматривается AngularJS 1.3.0)
Читать дальше →
Total votes 38: ↑33 and ↓5 +28
Views 48K
Comments 4

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

Microsoft corporate blog Website development *JavaScript *TypeScript *


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

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

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

JavaScript *Programming *
Translation

Содержание




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

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


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

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

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

JavaScript *Programming *
Translation

Содержание




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

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

Читать дальше →
Total votes 40: ↑38 and ↓2 +36
Views 110K
Comments 4

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

Development for Android *
Recovery mode
Привет!

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

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

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

JavaScript *Programming *
Translation

Содержание




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

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


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

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

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

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

JavaScript *Programming *
Translation

Содержание




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

Дональд Кнут


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

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

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

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

JavaScript *
Translation
Предыдущая часть.

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

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

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

Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views 37K
Comments 11

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

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

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

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

KamaGames Studio corporate blog Development of mobile applications *Game development *


Много новостей и цифр про 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
Читать дальше →
Total votes 25: ↑18 and ↓7 +11
Views 13K
Comments 8

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

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


Осторожно, картинки!
Читать дальше →
Total votes 31: ↑25 and ↓6 +19
Views 98K
Comments 27

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

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

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

Game development *
Sandbox
image

Преамбула


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

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

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity