Search
Write a publication
Pull to refresh
91
0
Евгений Лепёшкин @Spearance

веб-программист

Send message

Учебник AngularJS: Всеобъемлющее руководство, часть 1

Reading time7 min
Views274K

Содержание


1 Введение в AngularJS
2 Engineering concepts in JavaScript frameworks
3 Modules
4 Understanding $scope
5 Controllers
6 Services and Factories
7 Templating with the Angular core
8 Directives (Core)
9 Directives (Custom)
10 Filters (Core)
11 Filters (Custom)
12 Dynamic routing with $routeProvider
13 Form Validation
14 Server communication with $http and $resource

1 Введение в AngularJS


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

MVW означает Model-View-Whatever (модель – вид – что угодно), то есть гибкость в выборе шаблонов проектирования при разработке приложений. Мы можем выбрать модели MVC (Model-View-Controller) или MVVM (Model-View-ViewModel).

Этот обучающий материал задумывался как отправная точка для изучения AngularJS, его концепций и API, чтобы помочь вам создавать великолепные веб-приложения современным способом.
Читать дальше →

Начинаем ликбез по патентному праву

Reading time2 min
Views7.5K
С удивлением для себя обнаружил, что мозг среднего Хабрапользователя содержит массу пробелов и заблуждений относительно патентного права, а данный раздел радует, в основном, новостями, чего, очевидно, недостаточно. Я не бог весть какой специалист, тем не менее рискну попробовать воткнуть, так сказать, пылающий факел знаний…

Читать дальше →

Sortable v1.0: Новые возможности

Reading time6 min
Views28K
Привет хабр! В преддверии нового года хочу поделится своей радостью — выходом Sortable v1.0. Ровно год назад я представил на ваш суд мой маленький инструмент для сортировки списка при помощи drag’n’drop. Всё это время я скрупулезно собирал обратную связь, добавлял новые возможности и правил мелкие баги. Под катом я расскажу о новых возможностях, интеграции с AngularJS, Meteor и других нюансах.
Читать дальше →

Выразительный JavaScript: Node.js

Reading time22 min
Views150K

Содержание




Ученик спросил: «Программисты встарь использовали только простые компьютеры и программировали без языков, но они делали прекрасные программы. Почему мы используем сложные компьютеры и языки программирования?». Фу-Тзу ответил: «Строители встарь использовали только палки и глину, но они делали прекрасные хижины».

Мастер Юан-Ма, «Книга программирования»


На текущий момент вы учили язык JavaScript и использовали его в единственном окружении: в браузере. В этой и следующей главе мы кратко представим вам Node.js, программу, которая позволяет применять навыки JavaScript вне браузера. С ней вы можете написать всё, от утилит командной строки до динамических HTTP серверов.

Эти главы посвящены обучению важным идеям, составляющим Node.js и предназначены для передачи вам достаточного количества информации, чтобы вы могли писать полезные программы в этой среде. Они не пытаются быть всеобъемлющими справочниками по Node.

Код из предыдущих глав вы могли писать и исполнять прямо в браузере, но код из этой главы написан для Node и в браузере работать не будет.

Если вы хотите сразу запускать код из этой главы, начните с установки Node с сайта nodejs.org для вашей операционки. Также на этом сайте вы найдёте документацию по Node и его встроенным модулям.
Читать дальше →

Звоним на мобильные телефоны из браузера с записью разговоров

Reading time6 min
Views80K


В сегодняшнем мире тонких клиентов, Интернета, продвинутых веб-интерфейсов появляется все больше задач, связанных с необходимостью совершения звонков из браузера/принятия звонков в браузер. Это, черт возьми, удобно! Сидит сотрудник перед монитором, выбирает клиента, нажимает позвонить — и, пока идет дозвон, на этой же странице просматривает его карточку, освежает в памяти последние договоренности и намеченные шаги.

Или другой сценарий — входящий в компанию звонок. Как здорово, когда ты в качестве клиента звонишь на безликий 8800 и девушка на том конце телефона отвечает тебе приятным голосом — здравствуйте, Алексей (подставить_свое_имя)! Это производит потрясающий эффект. Когда вместо «назовите себя, номер паспорта и имя кота, информация грузится — послушайте шестую симфонию Моцарта» оператор уже поднимая трубку знает, как вас зовут и видит по вам всю информацию. Сервис, что и говорить.

Но есть ли возможность реализовать такую систему без погружения в дебри настройки АТС — максимально быстро и минимальной кровью? Желательно еще, чтобы все разговоры записывались для целей контроля и обучения сотрудников. Ответ — конечно, погнали под кат.
Читать дальше →

5 практических примеров для изучения фреймворка React

Reading time10 min
Views256K
Перевод статьи «5 Practical Examples For Learning The React Framework», Martin Angelov

Вы вероятно слышали о популярном JavaScript фреймворке от Facebook – React. Он используется на многих популярных веб-сайтах, в том числе в Facebook и Instagram. В этой статье вы увидите 5 практических примеров, построенных при помощи React, которые помогут вам начать работать с этим фреймворком.
Читать дальше →

Обзор сервисов отсылки мобильных push-уведомлений

Reading time4 min
Views45K
Недавно заметил за собой, что получать уведомления из разных программ на email для меня стало неудобным. Уже давно устоялся термин “email overload” и компании вроде Google с этим стараются работать (вводят папки, фильтры, а теперь и вкладки в Gmail).

Мне понравилась концепция центра уведомлений, которая успешно показала себя на ОС Android, появилась в iOS6 и запланирована к выпуску в Windows Phone. Это одна лента уведомлений для всех сервисов, удобный просмотр, работа с уведомлениями, простая очистка списка. На своем опыте убедился, что это в разы удобнее, чем привычные email уведомления, которые превращают inbox в кашу.

Поскольку наша команда работает одновременно над несколькими проектами (где-то летят “билды”, где-то пушатся изменения и так далее), мне показалась интересной идея подключить свои проекты к такому варианту уведомлений о событиях, происходящих в системе. В идеале я хотел иметь возможность рассылать уведомления разным членам команды, а при необходимости и на всю команду целиком. Только мне хотелось получать их именно от ПО, с которым я работаю — начиная от инструментов Continuous Integration и автоматического тестирования, и заканчивая непосредственно логами ошибок, статистикой и критикалами из проектов.
Читать дальше →

Прокачай свой iMac: апгрейд new iMac 21.5”

Reading time4 min
Views179K
Эта статья может заинтересовать владельцев новых аймаков 2012-13 года (это которые плоские и красивые), а также желающих приобрести себе такой. И позволит сэкономить Ваши финансы. Те кто приценивался знают, что разница в цене, между самой простой комплектацией и максимально прокачанной, может доходить чуть ли не до двух раз.

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

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

Покажем на примере. Информацию берем с сайта Apple, цены оттуда же в $ (и надо учитывать, что покупая у нас разница будет побольше, желающие сами могут прицениться по нашим ценам).
Читать дальше →

Апгрейд дискретной графики MacBook Pro 15” late 2011г: перепаиваем видеопамять с 512MB на 1GB

Reading time2 min
Views127K


Продолжаю серию постов, посвящённых апгрейду компьютеров Apple. На этот раз речь пойдет о MacBook Pro 15” (A1286) выпуска 2011г. Очень достойный аппарат, на мой взгляд: четырёхъядерный процессор Intel Core i7, графика Ati 6 серии, поддержка 16GB оперативной памяти 1333MHz. Его производительности и на сегодняшний день, вполне хватит для большинства задач.

Apple выпустила четыре комплектации этой модели, которые отличается процессором и графикой. Подробные характеристики смотрите в таблице. Эксперимент был проведен над комплектацией MD 318 (i7 2.2GHz, Ati 6750M(512MB)). Штатную видеопамять (vram) объёмом 512MB, перепаяли на более ёмкие чипы и получили 1GB vram.
Читать дальше →

Управление запасами для небольших интернет-магазинов

Reading time6 min
Views11K
image
Вопрос управления запасами торгового предприятия является одним из базовых для повышения эффективности его работы. Обычно этот термин ассоциируется со сложными аналитическими моделями, которые составной частью входят в крупные компьютерные системы управления предприятием (ERP). Легко представить себе заумных аналитиков, работающих с гигабайтами накопленной статистики с какой-то отдаленной целью «повысить эффективность».

На самом деле, это так и есть. Но это не вся правда.
Читать дальше →

Всё новое в AIR 2.0

Reading time3 min
Views437
Появилась необходимость узнать что же нового в AIR 2.0. Всё описал Кристиан Кантрелл, а я – перевёл.

Multi-touch – тач-события подобны событиям мыши, но вы можете обрабатывать сразу несколько таких движений – например, двумя пальцами. Пока Multi-touch поддерживается только на windows-платформе.

Отсюда же – поддержка Gestures (жестов) – то есть air-приложение может поддерживать как тач-движения, так и жесты – они обрабатываются в рамках одного события и являются по сути синтезом тач-движений. Жесты пока поддерживаются на win- и mac-платформе. И вот какие жесты бывают:

— GESTURE_TWO_FINGER_TAP (печать двумя пальцами);
— GESTURE_PRESS_AND_TAP (один палец “нажат”, другой – печатает, а на некоторых девайсах – вызов контекстного меню);
— GESTURE_PAN;
— GESTURE_ROTATE;
— GESTURE_SWIPE;
— GESTURE_ZOOM.

Новый API File.openWithDefaultApplication() – позволит вам открывать файлы, которые ассоциированы с air-приложением. Решение кросс-платформенное, и позволяет интегрировать одно приложение с другим.
Читать дальше →

Что же нового ожидает нас в AIR 2.0

Reading time6 min
Views892
imageAdobe MAX 2009 — самая большая конференция, где Adobe представила множество интересных проектов и заявила о выходе в следующем году линейки CS 5 своих продуктов (а там много интересного уже сейчас, например, Flash CS 5 обещают доступную бету уже к концу года). Но для веб-разработчиков наиболее ожидаемым является достаточно небольшой проект (по сравнению с другими) — Adobe AIR 2.0. Текущая версия 1.5.х обладает мощной поддержкой индустрии и разработчиков, в том числе и потому, что использует всем привычные технологии для разработки — JavaScript/HTML и Flash. Приложения для AIR выпускают многие компании, в том числе гиганты индустрии вроде eBay, NASDAQ, FedEx, медиагигант Fox и другие, сама Adobe создала несколько мультимедийных проектов для распространения своей платформы.

Но на горизонте уже есть новости о следующем поколении AIR, которое должно не просто еще больше укрепить позиции в сфере платформ для веб-приложений, но даже, без преувеличения, просто отстранить все остальные конкурирующие платформы. Что же нового ожидает нас в AIR 2.0?
Сейчас рассмотрим подробнее.

Первые шаги на пути к покупкам на ebay, dealextreme, focalprice, kaidomain…

Reading time2 min
Views8.4K
Не секрет, что на ebay, DX, KD и прочих онлайн-магазинах существует много гаджетов и товаров, которых в РФ не найти. Чтобы удовлетворить свои гиковские потребности, а также просто тратить с умом, рано или поздно приходится обращаться к интернет магазинам. Однако новички теряются во всех этих «палках, клеймах, лотах, диспутах, EMS, USPS и прочее», а также некоторые не владеют английским для того, чтобы элементарно зарегиться в paypal.
Для этой цели админом форума ebay-forum.ru был создан подробнейший pdf-мануал, с которым я и предлагаю всем желающим ознакомиться.
Читать дальше →

Добавляем любое видео в коллекцию iTunes

Reading time3 min
Views65K

Предыстория


iTunes, как вам известно, прекрасно работает не только с музыкой, но и с фильмами. При чем возможности его в этом вопросе широчайшие, тут и разделение на фильмы и ТВ сериалы, поддержка обложек, жанров и метаданных. Но вот незадача, все это поддерживается только для родных mov файлов. Установка кодеков, например Perian, ситуацию нисколечко не спасает. Хотя QuickTime прекрасно проигрывает все видео файлы, iTunes добавлять их в библиотеку отказывается. Ну не умеет он оттуда метаданные забирать!

Пути решения


Путей решения этой проблемы есть целых три.

Читать дальше →

Продвижение интернет-магазина в поисковиках

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

Шаги касаются как оптимизации сайта магазина, так и внешних факторов.

Шаг 1. Оптимизируем ссылки


Необходимо закрывать от индексации ненужные для поисковиков страницы:
  1. корзина интернет-магазина
  2. страница регистрации и входа в бэкофис магазина
  3. другие служебные страницы

Закрывать их можно лучше всего путём добавления к ссылкам на эти страницы параметра: rel=''nofollow''
Читать дальше →

Города России в именительном и предложном падеже

Reading time1 min
Views3K
Необходимо было писать названия городов России в предолжном падеже типа в Москве, в Ростове-на-Дону и т.д. После полуавтоматической обработки списка городов товарищем sofrus появилась таблица, которая содержит два поля с названием города в именительном и предложном падежах. И мы совершенно бескорыстно предлагаем эту таблицу (около 2400 городов) в двух вариантах:
  1. CSV
  2. MySQL


P.S. Почему хабр так уродует ordered list, для меня загадка.

ОЧЕНЬ ВАЖНЫЙ P.S.
Я не хочу присваивать себе чужие заслуги, поэтому я специально проверил, так как не исключал этого. Карма начала расти у меня, а не у sofrus, если вы считаете нужным поднять за пост карму, то поднимайте ему. Просто у него с компанией NDA подписан и в должностной инструкции нет пометки о том, что он может оценить важность информации. Поэтому я и запостил. Но в появлении этих таблиц нет моей заслуги.

Основные принципы организации приема SMS платежей. Преимущества и тонкости оплаты по SMS, описание платежных SMS систем.

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

Методы монетизации аудитории


Традиционно существует два основных способа заработка на аудитории проекта: продажа его рекламных возможностей и предоставление пользователям платных сервисов.
И если про первый уже сказано достаточно много, то второй еще только начинает свое активное развитие.

По предоставляемых пользователям услуг можно выделить три основных категории сайтов:
  • Специализированные интернет-магазины и сервисы (магазины программного обеспечения, музыки, видео, рефератов, темплейтов веб-дизайнов, документации, специализированных статей для профессионалов, сервисы доставки сообщений пользователям, розыгрыши и викторины, ответы на вопросы), основной задачей которых является предоставление посетителям специфических услуг или продажа контента (с оплатой за единицу контента). Такие ресурсы считают получение дохода от рекламы второстепенным заработком.
  • Сайты, доступ к которым можно получить только на платной основе (нишевые и узкотематические профессиональные ресурсы с ценной информацией для определенной аудитории, ресурсы для взрослых) – обычно пользователям демонстрируют только общую информацию о ресурсе, а для того, чтобы получить к нему доступ, требуется сначала внести оплату. Рекламы на таких ресурсах практически не бывает.
  • Ресурсы, предлагающие своим пользователям дополнительные сервисы и услуги – так, например, на сайте знакомств пользователи могут выделить свою анкету в результатах поиска, а в социальных сетях подарить другу какой-нибудь подарок.

Читать дальше →

Список конкурсов, как возможность «засветиться» стартапу

Reading time8 min
Views25K
С каждым годом запускается все больше интернет-проектов. Участие в конкурсах стало возможностью выделиться, найти инвестора и попасть в стартаперскую тусовку. В связи с этим захотелось собрать полный список стартап ивентов, который многим мог бы быть полезен.
Читать дальше →

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

Reading time15 min
Views59K
Перевод статьи Ричарда Корнфорда Javascript Closures.

  • Введение
  • Разрешение имен свойств объектов
    • Присваивание значений
    • Чтение значений

  • Разрешение имен идентификаторов, контексты исполнения и цепь областей видимости
    • Контекст исполнения
    • Цепь областей видимости и свойство [[scope]]
    • Разрешение имен идентификаторов

  • ...

Введение


Замыкание
Замыкание — это выражение (обычно функция), которое может иметь свободные переменные, вместе со средой, которая привязывает эти переменные (т.е. “замыкает” это выражение).

Замыкания относятся к наиболее мощным особенностям ECMAScript (javascript), но они не могут быть применены должным образом без понимания. Несмотря на то, что их легко создать, даже случайно, их создание может иметь пагубные последствия, в частности, в некоторых относительно распространенных окружениях браузеров. Чтобы избежать случайных столкновений с недостатками и использовать преимущества замыканий, необходимо понимать их механизм. Это сильно зависит от роли цепи областей видимости в разрешении имен идентификаторов (identifier resolution) и от разрешения имен свойств в объектах.

Самое простое объяснение замыкания в том, что ECMAScript допускает вложенные функции, определения функций и функции-выражения (function expressions) внутри тел других функций. И эти вложенные функции имеют доступ ко всем локальным переменным, параметрам и функциям, находящихся внутри их внешней функции (внешних функций). Замыкание образуется, когда одна из этих вложенных функций становится доступной вне той функции, в которую она была включена, таким образом, она может быть выполнена после завершения внешней функции. В этот момент она все еще имеет доступ к локальным переменным, параметрам и внутренним декларациям функций (function declarations) своей внешней функции. Эти локальные переменные, параметры и декларации функций (изначально) имеют те же значения, которые были во время завершения внешней функции и могут взаимодействовать с внутренней функцией.

К сожалению, правильное понимание замыканий требует понимания механизмов, которые стоят за ними, и немало технических подробностей. Хотя некоторые из алгоритмов, определенных в ECMA 262, затронуты в начале последующего объяснения, большинство не могут быть опущены или просто приведены к упрощенному виду. Если вы знакомы с разрешением имен свойств объектов, то можете пропустить этот раздел, но только люди, уже знакомые с замыканиями, могут позволить себе пропустить последующие разделы и прямо сейчас перестать читать и вернуться к их использованию.
Читать дальше →

Information

Rating
Does not participate
Location
Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
Date of birth
Registered
Activity