Pull to refresh
0
0
Send message

Django Gmap v3 Widget — геолокация с поиском, сохранение координат и адреса в JSONField

Reading time6 min
Views10K
Привет. Была поставлена задача реализовать геолокацию (google maps v3) для пользователей в одном из проектов на django, хочу поделиться своим решением.

Необходимый функционал:

  1. Вывод карты с маркером текущего положения, возможность перемещать маркер (dragged), ставить по click событию
  2. Поиск по адресу (autocomplete)
  3. Сохранение как координат, так и самого адреса (если он имеет место быть)

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

60+ средств для разработки мобильных приложений

Reading time19 min
Views150K
Появилось желание сделать свое приложение — быстро дешево и максимально полезно. Начал собирать информацию о современных инструментах разработки. Чтобы не потерять, а так же получить отзывы, мнения, комментарии и вообще любую полезную информацию, оформил в виде статьи.
Планирую использовать некоторые инструменты, и позже написать по ним более развернутый обзор. Итак, встречайте

1. Appmakr
appmakr.com
Платформы: iOS
Стоимость: free-$999, FREE- if you submit yourself to your own app store
Дополнительные услуги: Бесплатный доступ к ресурсам сайта.
Описание: Appmakr.com — веб-приложение, которое поможет вам создать приложения для айфона быстро и просто.
Замечания: Если вы не знаете как создать приложение для айфона, вы можете запросить помощь по телефону.
Владельцы могут размещать рекламу в своих приложениях и зарабатывать на ней.
Читать дальше →

Как добавить динамизма в Python 2.7?

Reading time4 min
Views4.5K
Вам когда-нибудь хотелось добавить поле в класс dict? Вы мечтаете написать action.name.len() вместо len(action.name)? Вы хотите добавить гибкости любимому Python-у? Вам говорят, что это невозможно? Тогда давайте погрузимся в некоторые детали объектной модели Python!
Читать дальше →

Способы улучшения звучания инструментов используя технологию Layering

Reading time3 min
Views22K
Статью попросил запостить хабрапользователь istinspring т.к. у него не хватает кармы. Если вам понравилась статья, не забудьте его плюсануть, он ещё много таких написать может.

В этой “пилотной” статье постараюсь как можно доступнее изложить основную концепцию, и приведу пару mp3 фрагментов в качестве примеров. Если эта тема окажется интересной, вполне возможно опишу некоторые моменты более детально.

Я думаю многие замечали, что инструменты в миксе звучат не так как хотелось бы. Вроде бы все то, но звук какой-то вялый, неяркий, как будто чего-то не хватает. В то время как на “фирменных” записях даже синусоида звучит “жирно”. На самом деле для этого есть множество причин, но остановимся на мой взгляд на самой главной.

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

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

Правильная клавиатура для информационных терминалов

Reading time2 min
Views6.4K
Интерфейсы приложений для информационных сенсорных экранов (столов, терминалов, киосков) обычно делают по аналогии с интерфейсами сайтов или мобильных приложений. Практика показывает, что это не правильно.
Читать дальше →

Понимаем декораторы в Python'e, шаг за шагом. Шаг 2

Reading time12 min
Views236K

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


Итак, в первой части данной статьи мы совершили базовое знакомство с декораторами, принципами их работы и даже написали свой вручную.
Однако, все декораторы, которые мы до этого рассматривали не имели одного очень важного функционала — передачи аргументов декорируемой функции.
Что ж, исправим это недоразумение!
Читать дальше →

Практика использования интерактивного прототипа на этапе коммерческого предложения

Reading time2 min
Views11K
Интерактивные прототипы сложных информационных систем (в нашем случае это система электронного архива), как известно, могут использоваться на разных стадиях разработки, например:
  • на этапе сбора требований для фиксации требований, проработки концепции и логики интерфейса, согласования их с заказчиком;
  • на этапе проектирования для постановки задач программистам;
  • на этапе реализации в качестве образца для программистов;
  • на этапе тестирования для проверки соответствия реализованной системы согласованному с заказчиком прототипу.

В моей компании первые три варианта используются в львиной доле проектов, четвёртый — реже (потому что не всегда прототип бывает проработан настолько, чтобы можно было его использовать в качестве эталона). Мы решили пойти дальше и предлагаем ещё один интересный вариант использования интерактивного прототипа.
Читать дальше →

Как раскрыть мощь HTML5 Canvas для игр

Reading time8 min
Views40K


Браузеры, поддерживающие HTML5, и платформа HTML5 для Windows 8 Metro сегодня становятся серьезными кандидатами для разработки современных игр.

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

Цель данной статьи — дать вам несколько подсказок, как выжать максимум мощности из HTML5 Canvas. Статья состоит из двух основных частей [вы читаете первую]. David Rousset скоро опубликует вторую часть.

В статье я буду показывать ключевые идеи на одном и том же примере — это эффект 2D-туннеля, который я написал для Coding4Fun-сессии на TechDays 2012 во Франции.
Читать дальше →

Любителям музыки посвящается, или делаем интернет-радио «по-взрослому»

Reading time10 min
Views8.5K
Приветствую хабрапользователей!

Эта интереснейшая история о том, в чем правовые отличия работы в России Гугла и Яндекса, как можно практически в одиночку делать коммерческий продукт, при этом совершенно не зная Unix-системы, и даже, в общем-то, плохо понимая работу Windows, но очень любя музыку, и как не разориться на рекламе в интернете. Также мы развеем несколько известных мифов по поводу создания и работы своей радиостанции)

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

Звезды мирового фронтенда

Reading time5 min
Views28K
В любой профессии есть тонкая прослойка людей, которые являются действительно высококлассными специалистами. Не исключение и область фронт-енд разработки — здесь также есть выдающиеся личности. К их мнению прислушиваются, за ними следят в блогах и социальных сетях и читают их книги. В процессе своей работы они рождают различные оригинальные решения или техники, которые мгновенно расходятся по миру веб-разработки и остаются актуальными не один год. Они создают удобные онлайн-сервисы для верстки, пишут полезные js-библиотеки, совершенствуют браузеры, пропагандируют веб-стандарты и оказывают непосредственное влияние на их развитие. Они могут называть себя front end engineer, front-end developer, web developer, web designer, UI Designer, browser compatibility expert или просто css lover, но для большинства из нас они — звезды мирового фронт-енда, которые делают интернет таким, каким мы его знаем. На Хабре довольно часто появляются обзоры интересных решений, техник и новостей из мира веб-разработки с указанием западных авторов, однако далеко не все знают что-нибудь о них кроме имени. Мне захотелось вкратце рассказать для широкой публики о некоторых из этих товарищей.


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

Face.com API определяет возраст по фотографии

Reading time1 min
Views38K
В Face.com API добавлена функция определения возраста. Интерфейсы Face.com API используются многими приложениями, в том числе фейсбуковскими Photo Finder и Photo Tagger. «Яндекс» как один из акционеров Face.com использует их API на «Яндекс.Фотках».

API показывает минимальный и максимальный возраст, а также среднюю оценку.

Возможно, новая функция может использоваться на сайтах знакомств для сортировки набора фотографий (анкет), а также в системах безопасности, требующих авторизации по веб-камере — для запрета на доступ лиц моложе определённого возраста.
Читать дальше →

Дачный интернет

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

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

Сервис для более эффективного пополнения запаса английских слов

Reading time2 min
Views49K
Добрый день!

Я хочу представить небольшой сервис, который создан, чтобы помочь в эффективном пополнении словарного запаса для английского языка:

image

Если коротко, работает он следующим образом.

1. Вы загружаете текст, который хотите прочитать. Это может быть URL статьи из интернета, книга или статья в pdf, doc, txt, ps или субтитры.

2. Система строит статистику слов и отображает слова, отсортированные по частоте употребляемости в тексте. Предварительно к словам применяется лемматизация (т. е. слова make и made будут считаться идентичными).

3. Вы отмечаете знакомые слова, а также слова, которые надо изучить.

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

А теперь чуть подробнее

10 миллионов хитов в день с WordPress на сервере за $15

Reading time1 min
Views17K
Английский разработчик Эван Лейт (Ewan Leith) опубликовал пошаговую инструкцию, как поднять виртуальный микросервер на Amazon, Linode или другом облачном хостинге, который сможет крутить блог WordPress и выдерживать 10 миллионов хитов в сутки (отчёт составлен с помощью Blitz.io), при этом будет стоить всего пятнадцать долларов в месяц.

Инструкция описывает, как последовательно установить Ubuntu 11.10 (Oneiric), MySQL, PHP с PHP FPM, APC и модулем MySQL, Nginx с конфигурацией для WordPress, ну и сам WordPress. После этого сервер работает ещё довольно медленно, но всё меняет установка W3 Total Cache и Varnish, которые вместе с Nginx способны сотворить настоящее чудо.

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

Python threading или GIL нам почти не помеха

Reading time7 min
Views25K
Наверное всем, кто хоть раз интересовался Python, известно про GIL — его одновременно и сильное и слабое место.
Не мешая однопоточным скриптам работать, он ставит изрядные палки в колеса при многопоточной работе на CPU-bound задачах (когда потоки выполняются, а не висят попеременно в ожидании I/O и т.п.).
Подробности хорошо описаны в переводе двухгодичной давности. Побороть GIL в официальной сборке Python для настоящего распараллеливания потоков мы не можем, но можно пойти другим путем — запретить системе перебрасывать потоки Python между ядрами. В общем пост из серии, «если не нужно, но очень хочется» :)
Если вы знаете про processor/cpu affinity, пользовались ctypes и pywin32, то ничего нового не будет.
Читать дальше →

Использование Deferred объектов в jQuery 1.5

Reading time6 min
Views37K
Deferred объекты появились в jQuery 1.5. Они позволяют отделить логику, которая зависит от результатов выполнения действия от самого действия. Для JavaScript Deferred объекты не новы, они уже были в MochiKit и Dojo, но с изменениями логики jQuery ajax от Julian Aubourg, внедрение Deferred объектов было неминуемо. С Deferred объектами несколько callback могут быть связаны с результатом задачи и любые из них могут быть привязаны к действию даже после начала его выполнения. Выполняемая задача может быть асинхронна, но не обязательно.

Deferred объекты теперь встроены в $.ajax() таким образом вы будете получать их автоматически. Обработчики теперь могут быть связаны с результатом следующим образом:
// $.get, ajax запрос, он асинхронный по умолчанию
var req = $.get('foo.htm')
   .success(function( response ){
      // что-нибудь делаем с ответом
   })
   .error(function(){
      // делаем что-нибудь если запрос провалился
   });
 
// это выполнится перед тем как $.get() будет выполнено
doSomethingAwesome();
 
// Делаем что-то ещё перед завершением запроса
req.success(function( response ){
   // делаем  что-то ещё с ответом
   // он будет выполнен когда запрос завершится, а если запрос завершен, то будет вызван немедленно
   // если запрос уже был выполнен
});

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

Google выпустила финальную версию языка программирования Go 1

Reading time1 min
Views6.6K
Вчера стало известно о том, что поисковый гигант выпустил финальную версию языка программирования Go 1, анонс о котором появился в 2009 году. Загрузить бинарные дистрибутивы языка для Linux, FreeBSD, Mac OS и Windows можно здесь. Язык выпущен под лицензией BSD.

Язык Go1, согласно команде его разработки, представляет из себя «попытку объединить скорость разработки динамических языков, таких как Python, с производительностью и безопасностью компилируемых языков, таких как C или C++» Справедливости ради, один из инженеров Google, занимающихся новым языком, признаёт, что экосистема языка ещё развита недостаточно — отсутствует IDE и набор поставляемых библиотек не очень большой, но, тем не менее, компания активно работает над улучшением ситуации.

Узнать подробности

Ответ на Python vs Ruby

Reading time2 min
Views36K
Пользователь eyeofhell недавно написал статью Python vs Ruby.
Знатный холивар получился. Не могу не поддержать. Сначала думал написать в комментарии — но ответ вышел слишком объемным.

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

Создание соединительных стрелок для блочных элементов используя canvas

Reading time2 min
Views14K
arrows_for_blocksЗдравствуйте!

Недавно появилась необходимость сделать простое иерархическое дерево для web страницы (структура организации). Блоки получились неплохие, но когда пришло время соединить все стрелками, возник вопрос – как? Решение было два: рисовать стрелки в .png или же использовать спецсимволы.

Но хотелось чего-то более быстрого, удобного, современного – т.е. просто указать: стрелка от блока А к блоку Б. Уже к вечеру была написана небольшая библиотека, позволяющая реализовывать задуманное…
Читать дальше →

JavaScript в диаграммах (Часть 1)

Reading time5 min
Views2K
Одним из секретов эффективного JavaScript-разработчика является глубокое понимание семантики языка. В этой статье я объясню основные элементарные части языка, используя максимально простые и понятные диаграммы.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity