Pull to refresh
49
0

CTO/Full-Stack Developer

Send message

Chatter — основанный на python 2.7 websocket-framework с использованием tornado

Reading time3 min
Views8.1K
Хочу представить сообществу своё небольшое творение — Chatter.

Chatter основан на python 2.7, использует tornado.

Имеется готовое API для python (бэкэнд) и для js (фронтэнд)

Примеры и исходный код на github.

Для чего же собственно он был создан?



Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments7

WebSocket RPC или как написать живое WEB приложение для браузера

Reading time4 min
Views62K


В статье речь пойдет о технологии WebSocket. Точнее не о самой технологии, а о том, как ее можно использовать. Я давно слежу за ней. Еще когда в 2011 году один мой коллега прислал мне ссылку на стандарт, пробежав глазами, я как-то расстроился. Выглядело настолько круто, и я думал, что в момент, когда это появится в популярных браузерах, я уже буду планировать, на что потратить свою пенсию. Но все оказалось не так, и как гласит caniuse.com WebSocket не поддерживается только в Opera Mini (надо бы провести голосование, как давно кто-либо видел Opera Mini).

Кто трогал WebSocketы руками, тот наверняка знает, что работать с API тяжело. В Javascript API достаточно низкоуровневый (принять сообщение — отправить сообщение), и придется разрабатывать алгоритм, как этими сообщениями обмениваться. Поэтому и была предпринята попытка упростить работу с вебсокетами.

Так и появился WSRPC. Для нетерпеливых вот простое демо.
Читать дальше →
Total votes 39: ↑34 and ↓5+29
Comments64

Быстрое знакомство с Docker-контейнерами для Django-разработчика

Reading time5 min
Views65K


Разработка такого проекта как кешбек-сервис подразумевает использование различных сервисов, нетипичных для обычного ноутбука, даже если это ноутбук разработчика. Postgresql, Redis, Celery и так далее. Желание создать комфортную среду разработки и тестирования привело нас к необходимости использование какой-то системы виртуализации/изоляции. Как вариант — некоторое время использовался Vagrant, но это всё-таки ovrerhead и наши поиски оптимального способа привели, на данный момент, к Docker.

Docker — платформа для запуска приложений в изолированных контейнерах. Использование контейнеров в Linux позволяет программному обеспечение быть изолированным от базовой системы. В отличии от Virtualbox, исключаются системные издержки (overhead), необходимые для виртуализации оборудования. Docker может помочь в разработке и развертывании веб-приложений и сервисов. Давайте посмотрим, как это происходит.
Читать дальше →
Total votes 31: ↑26 and ↓5+21
Comments19

AngularJS 1.x – перевод курса от CodeSchool

Reading time12 min
Views75K
Данная публикация является переводом оригинального курса CoodSchool с небольшими дополнениями, которые показались мне уместными в данном контексте. Публикация рассчитана на тех, кто только начинает знакомится с Angular.

Введение


AngularJS — популярная JavaScript библиотека, предназначенная, главным образом, для создания одностраничных веб-приложений с динамически обновляемым содержимым. Библиотека была написана словацким программистом Мишкой Хевери, который, работая в Google, получил от своего шефа задание выучить JavaScript. Он решил, что лучший способ изучить язык — это создать на его основе собственный фреймворк. Angular (звучит как «Ангула» и дословно переводится как «Угловатый») использует концепцию разделения данных и их представления, известную как MVC (M — model (данные), V — view (представление), С — controller (контролер, управляющая прослойка между ними обеспечивающая логику работы приложения).
Читать дальше →
Total votes 50: ↑44 and ↓6+38
Comments20

Аутентификация на основе JSON Web Token в Django и AngularJS: часть вторая

Reading time8 min
Views19K
В первой части мы рассмотрели, что для формирования JSON Web Token необходимы: сериализаторы и представления.

Теперь мы создадим шаблоны и поработаем над сервисами для аутентификации и получения данных.

Bower, менеджер пакетов для web-приложений


Прежде чем перейдем к коду, давайте установим все необходимые зависимости. Для этого мы будем использовать Bower, он является идеальным инструментом для управления зависимостями web-приложений.

Предполагается что у вас уже установлен Node.js. Для установки bower просто выполните следующую команду:
$ npm install -g bower

Примечание: Возможно понадобятся права администратора.
Для того чтобы изменить каталог по умолчанию, в который bower будет устанавливать пакеты, в корне вашего проекта создайте файл с названием “.bowerrc ” и добавьте в него следующие строки:
{
    "directory": "static/bower_components"
}

Мы указали каталог “static”, чтобы эти компоненты были доступны в Django.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments3

Несколько интересностей и полезностей для веб-разработчика #33

Reading time5 min
Views53K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Walkway.js и Vivus.js




Вы видели этот великолепный лэндинг посвященный анонсу Sony PlayStation 4? Обратите внимание на анимацию SVG объектов состоящих из контуров. Они словно рисуются художником в режиме реального времени. Отныне этот эффект можно легко повторить с помощью Walkway и Vivus. Обе библиотеки максимально просты в использовании и применимы только для path элементов, поскольку принцип их работы основывается на взаимодействии с CSS свойством strokeDashoffset. Хоть и у Walkway значительно больше звезд на Гитхабе, зато Vivus предоставляет несколько вариантов отрисовки: Delayed, Async и OneByOne.

//Walkway
var svg = new Walkway('#test');

svg.draw(function() {
  console.log('Animation finished');
});

//Vivus
new Vivus('my-svg-id', {type: 'delayed', duration: 200}, myCallback);

Читать дальше →
Total votes 66: ↑52 and ↓14+38
Comments5

Семь принципов создания современных веб-приложений

Reading time19 min
Views187K
Эта статья основана на моей презентации с конференции BrazilJS в августе 2014 года. Она базируется на идеях, о которых я писал в блоге недавно, в основном, в связи с UX и производительностью.

Я хочу представить 7 действенных принципов для веб-сайтов, которые хотят применить JavaScript для управления UI. Эти принципы являются результатом моей работы как веб-дизайнера, но также как давнего пользователя WWW.

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

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

  • Должен ли JavaScript использоваться как замена функциям браузера: история, навигация, рендеринг?
  • Умирает ли бэкенд? Нужно ли вообще рендерить HTML?
  • Правда ли, что будущее за приложениями на одной странице (Single Page Applications, SPA)?
  • Должен ли JS генерировать страницы на веб-сайте и рендерить страницы в веб-приложениях?
  • Нужно ли использовать техники вроде PJAX или TurboLinks?
  • Каково точное отличие между веб-сайтом и веб-приложением? Должно ли остаться что-то одно?
Читать дальше →
Total votes 108: ↑99 and ↓9+90
Comments33

Internet Archive выложил классические игры 70-х и 80-х годов бесплатно

Reading time2 min
Views56K


В классические игры 30-40-летней давности теперь можно поиграть прямо в браузере и совершенно бесплатно. Коллекция Internet Archive включает в себя игры для приставок Atari 2600 (1977 года выпуска), Atari 7800 (1986 г.), ColecoVision (1982 г.), Philips Videopac G7000 (1978 г.) и Astrocade (1983 г.).
Читать дальше →
Total votes 40: ↑35 and ↓5+30
Comments20

Tesla D: Два двигателя, полный привод, разгон до 100 км/ч за 3,2 секунды

Reading time2 min
Views193K


Tesla Motors во главе с Илоном Маском представили новые возможности электрического седана модели S, под названием D.
Как выяснилось, таинственные индекс D обозначает двойной двигатель. Автомобиль стал полноприводным, имеет более высокие скорости, больше мощности и высокую эффективность. Теперь топовая версия электрокара P85D обладает мощностью 691 л.c., разгоняется до 100 км/ч за 3.2 секунды, оставляя позади не самые плохие мотоциклы. Без внимания не осталась и технологическая начинка. Tesla получила кучу электронных помощников и систем, которые позволяют автомобилю быть еще более автономным.
Читать дальше →
Total votes 126: ↑110 and ↓16+94
Comments235

Роботизированный завод компании Tesla

Reading time1 min
Views81K
Журналисты Wired вчера опубликовали видео, снятое на роботизированном заводе во Фремонте (Калифорния), собирающем электромобили Tesla S. Футуристическая харизма владельца компании — Элона Маска — в данном случае соблюдена полностью, даже с учётом того, что видео постановочное. В целом, сделана очень неплохая попытка в менее чем пять минут дать представление о современном роботизированном производстве автомобилей от начала (выбора материал, штамповка деталей) до конца, когда готовый Tesla S выезжает из сборочного цеха.

Завод расположен на участке площадью 5 млн квадратных футов (464500 м2) — на заводе работают 3000 человек и 160 роботов, причём уровень автоматизации постоянно повышается — роботы устанавливают батареи, сам двигатель, внутренности салона автомобиля, все кабели (примерно в середине видео видно, что сиденья машины и лобовое стекло устанавливает робот, а человек уже позднее контролирует этот процесс). Всё это позволяет выпускать примерно 400 машин в неделю.


Источник
Total votes 100: ↑98 and ↓2+96
Comments44

Как быстро создать опрос на вашем сайте с помощью форм Google?

Reading time4 min
Views145K
Как быстро создать опрос на вашем сайте с помощью форм Google?Рано или поздно, практически все, у кого есть собственный сайт, сталкиваются с необходимостью создания форм обратной связи для сбора данных (проведения опросов) с посетителей сайта.

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

Есть несколько подходов в создании подобных форм:

• Формы можно сделать, используя теги HTML и завязать нажатие кнопки «Отправить» с отправкой введенных данных вам на email

• Можно сделать связку PHP+MySQL (или любой другой язык программирования и базу данных) и все введенные данные сохранять в базу данных для дальнейшей работы.

• Если ваш сайт сделан с использованием какой-нибудь популярной CMS (например, Joomla, Drupal или WordPress), то вы можете поискать в сети плагины, модули и компоненты, которые достаточно просто позволяют создавать формы

• А можно для создания форм обратной связи использовать бесплатные инструменты всем известного Google.Docs

И в этой статье я хотел бы показать как с помощью Google.Docs вы можете легко и быстро создавать всевозможные формы опроса для ваших сайтов.
Читать дальше →
Total votes 63: ↑48 and ↓15+33
Comments16

Космонавты, которые намного круче чем любой герой боевика

Reading time6 min
Views100K
От переводчика: В последнее время на первый план выходит техническая часть космических программ. В сети можно найти большое количество статей, рассказывающих о тех или иных научных достижениях, помогающих нам в освоении космоса. Но не стоит забывать и про космонавтов, отважно бросающих вызов звездам. В этой статье автор рассказывает о пяти случаях, которые заставляют как никогда проникнуться уважением к этим покорителям космоса.

Читать дальше →
Total votes 229: ↑227 and ↓2+225
Comments46

Gmail увеличивает размер вложений до 10 ГБ (ссылками на GDrive)

Reading time1 min
Views47K
Компания Google объявила, что с сегодняшнего дня можно добавлять к письмам файлы из облачного хранилища GDrive, не покидая при этом интерфейса Gmail. Для этого на нижней панели в интерфейсе для составления письма появилась дополнительная кнопка со значком «Google Диска».



Максимальный размер каждого такого типа вложений составляет 10 гигабайт, в соответствии с ограничениями Google Drive, тогда как размер обычного вложения не превышает 25 МБ. При отправлении Gmail также проверяет, что для всех получателей установлен допуск к этому файлу на GDrive, одним нажатием кнопки файл можно «расшарить».
Total votes 73: ↑62 and ↓11+51
Comments31

Доклад о вреде копирайта был удалён с сайта одного из комитетов конгресса США через день после публикации

Reading time4 min
Views127K
В пятницу, 16 ноября на сайте Republican Study Committee — организации, объединяющей более 170 членов палаты представителей США от республиканской партии, появился интереснейший документ. Под этим 9-страничным докладом не постеснялись бы подписаться многие активисты пиратских партий по всему миру. Не прошло и суток, как этот доклад убрали с сайта под предлогом того, что он не прошёл всех согласований и вообще не соответствует стандартам RSC. Что же было в этом, столь поспешно спрятанном документе?
Читать дальше →
Total votes 192: ↑183 and ↓9+174
Comments104

Работа с 3G-модемом и смс с помощью Python

Reading time3 min
Views6.8K
Привет, %username%!

Недавно мне пришлось столкнуться со следующей задачей: есть старенький десктоп с установленной на нем Windows XP. Необходимо, чтобы с заданным интервалом времени программа на этом десктопе посылала GET-запрос на нужный сервер, парсила ответ и, в зависимости от результата, отсылала смс-сообщения на нужные номера. Из дополнительных девайсов имелся только 3G-модем E160g от Биллайна, а подключение к интернету по проводной сети или WI-FI было физически невозможно.

Задача была выполнена с помощью только этого модема и языка Python.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments4

Жизнь разработчика (в картинках)

Reading time1 min
Views65K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



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



Читать дальше →
Total votes 884: ↑700 and ↓184+516
Comments132

LG и Qualcomm совместно представили LG Optimus G — первый смартфон на Snapdragon S4 Pro

Reading time5 min
Views67K
image
Сегодня южнокорейская корпорация LG совместно с американской компанией Qualcomm представили первый смартфон на базе системы-на-чипе Qualcomm Snapdragon S4 Pro с четырёхъядерным процессором архитектуры Krait и видеоускорителем Adreno 320. Кроме нового SoC инженеры LG представили ещё несколько технологических фишек (новую уберкрутую (по заявления LG) камеру, новый аккумулятор и несколько софтовых инноваций). В продаже смартфон будет доступен уже на следующей неделе, правда только в Южной Корее. Выход на мировые рынки начнётся с октября 2012 года.
Осторожно, трафик!
Читать дальше →
Total votes 36: ↑29 and ↓7+22
Comments55

Haipai I9220 — Как китайцы копировали Galaxy Note, а получился 5" планшет

Reading time7 min
Views189K


  • Процессор MT6575, работающий на частоте 1ГГц
  • 512MB оперативки, и 2Гб памяти
  • 2 активные сим-карты(в режиме ожидания, конечно), одна из которых может работать в 3G сетях.
  • Экран 5.1", с емкостным сенсором и разрешением 800х480.
  • Акселерометр, датчик приближения
  • Коммуникации: GPS, Wi-Fi(n), BT
  • 2 камеры: задняя 5Мп, авто-фокус, светодиодная подсветка и фронтальная 0,3Мп
  • Android Ice Cream Sandwich 4.0.3
  • Батарея(даже две) емкостью 2800mAh

Читать дальше →
Total votes 81: ↑69 and ↓12+57
Comments128

Как я не покупал монитор

Reading time5 min
Views12K
Захотел я тут к выходу Diablo III в порядке планового апгрейда купить себе монитор. И лучше хороший, чем плохой. Дюйма этак на 24, да на нормальной матрице. Вообще я товары покупаю в интернет-магазинах — там и цены хорошие, и характеристики честные, и вообще сплошь одни плюсы. Но вот монитор… В интернете куда ни плюнь — везде рассказы о «неправильном чёрном», «неравномерности подсветки», «эффекте кристаллизации», «охвате цветового пространства» и т.д. По цифрам в табличке и картинке фиг поймешь, как этот монитор на самом деле будет показывать. И решил я пойти посмотреть на них в живую.

Два с половиной магазина бытовой и компьютерной техники моего родного городка ничем меня не порадовали. Ну, я особо и не надеялся — благо до столицы час на электричке, так что можно на досуге прокататься и посмотреть. Что я и сделал. Заранее узнал, где есть магазины с мониторами — причём постарался захватить все категории:
  • крупные сети бытовой техники
  • чисто компьютерные магазины
  • офлайн-представительства интернет-магазинов
За день я обошел в сумме около 20 мест. Ни в одном магазине я не обнаружил ни мониторов, ни продавцов-консультантов. Вернее, были, конечно вещи и люди, которые пытались выдать себя за две вышеуказанные категории, но им это катастрофически не удавалось.
Читать дальше →
Total votes 219: ↑181 and ↓38+143
Comments238

Information

Rating
Does not participate
Location
Vancouver, British Columbia, Канада
Date of birth
Registered
Activity