• Deform: simple database as a service

    Представьте себе базу данных, способную валидировать JSON данные по схеме JSON Schema, отрабатывать события и обрабатывать данные. А если идея реализованна как сервис, использующий mongodb?


    Мы разработали именно такой сервис. Им пользуются наши сайд проекты:


    • docast.me — любые источники данных можно слушать/смотреть в любимом подкастинговом приложении
    • watchlater — решение проблемы watch later youtube
    • warhealth — мобильное приложение

    Под катом краткое описание основных особенностей сервиса с примерами.


    Читать дальше →
  • Что такое качество в веб-дизайне: примеры и рекомендации. Часть 2

    • Перевод
    Не забудьте почитать: Что такое качество в веб-дизайне: примеры и рекомендации. Часть 1. (или здесь).

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

    03. Хорошо продуманная типографика


    Хотя реальные тексты для сайта будет писать не дизайнер, они играют такую же важную роль, как и общее качество контента. Дизайнер должен потрудиться, чтобы тексты легко читались и удерживали внимание. Существует множество способов сделать текст легко читаемым и приятным глазу. По мере перечисления правил и норм того, что следует и чего не следует делать, я приведу несколько примеров сайтов, где рациональная типографика действительно работает.
    Читать дальше →
  • Бесстрашный гений: цифровая революция в силиконовой долине 1985-2000 (1-25)

    Доброго времени суток!

    В этом году у меня появилась возможность сходить на выставки в рамках Фотобиенале-2012, посмотрев афишу моё внимание привлек фотограф Даг Меньюз. Его проект в основном посвящен Стиву Джобсу в период 1986-2000гг., но постепенно работа вышла за рамки одной личности и серия фотографий превратилась в летопись компьютерных технологий.
    Я не планировал писать статью когда шёл на выставку, потому что о ней можно почитать и посмотреть, но после неё мир перевернулся я был поражен историей рассказанной фотографом на столько, что решил пересказать её хабрасообществу. Проект представляет из себя 50 фотографий с аннотациями которые написал сам Даг Меньюз. Трафик ~3Мб и много текста.
    С вашего позволения передаю слово автору
  • Стажировка в Google — Часть 2

      Это продолжение истории о том, как я стажировалась в швейцарском Google. Первая часть находится тут

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

      Читать дальше →
    • Настройка удаленного интерпретатора на Pycharm для Django


      В этой статье хочу рассказать, а также показать настройку полезного инструмента для удаленной разработки от компании JetBrains встроенное в IDE Pycharm. Такой инструмент есть уже давно, но многие разработчики относятся к этому не серьезно, и для внесения изменений в проект предпочитают разворачивать его локально. Когда намного легче на том-же сервере, сделать копию части проекта и изменять или тестировать на другом порту с помощью встроенных средств удаленного интерпретатора Pycharm. Конечно не во всех ситуациях это хороший вариант, но для правки, и доработки небольших проектов очень даже подходит. А если проект с нуля, то создавая его на удаленном сервере, исчезает потребность в переносе и адаптации его под сервер(хостинг), которые неизбежно ведут к появлению множества багов и несовместимостей.

      К тому же такой подход нас избавляет от таких проблем:

      • на разных серверах свой Unix и свои приколы, разворачивать локально и подгонять среду под особенности того или иного сервера может занять приличное количество времени;
      • разные версии python;
      • И если в файле req.txt для Django не указаны все зависимости;
      и т.д.
      Читать дальше →
      • +18
      • 25,2k
      • 7
    • Django на production. uWSGI + nginx. Подробное руководство

      • Перевод
      • Tutorial
      Перед вами руководство по настройке production окружения для Django. Здесь будут описаны необходимые шаги по настройке Django, uWSGI и nginx. Руководство охватывает все три компонента — полный стек серверного ПО для веб-приложений.

      Подразумевается, что вы используете Unix-подобную операционную систему и менеджер пакетов, эквивалентный aptitude. Найти эквивалент aptitude почти для любой операционной системы, в том числе и для Mac OS X, для вас не составит никакого труда.

      Руководство написно для версий Django 1.4 или выше. Если вы используете более раннюю версию, то вам придется самостоятельно найти wsgi модуль для нее. Также вы заметите, что файловая структура проекта будет немного отличаться от представленной здесь.

      Общая идея


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

      Для выполнения этих задач был разработан Web Server Gateway Interface — WSGI — стандарт взаимодействия Python программ и веб-сервра.

      uWSGI — одна из реализаций WSGI. В этом руководстве мы установим и настроим uWSGI для создания Unix сокета и взаимодействия с веб-сервером по протоколу WSGI.
      Читать дальше →
    • Как я решил потихоньку учить питон, а попал в дебри CS188.1x Artificial Intelligence

      Привет Хабр, или введение


      image

      Расскажу свою небольшую предысторию.

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

      Не могу сказать, что я уже был в программистах, но образование получил 3 года назад по специальности «Информационные системы и технологии» в Военмехе. А судьба занесла в схемотехники-электронщики еще во времена универа. Раньше спасали частые командировки на объекты (пока молод и холост — интересно), а последний год все окончательно надоело.
      Читая Хабр, выбрал себе Python.
      Читать дальше →
    • «Мнемотехника» и «изучение иностранного языка» несовместимые понятия?! Давайте разберемся

      Здравствуйте, Уважаемые Хабрапользователи!



      На написание данной публикации меня сподвигло возмущение от прочитанной недавно статьи одного хабраюзера, утверждающего, что мнемотехника «очень хороший способ запоминания информации, совершенно не подходящий для изучения иностранных слов». Я с этим высказыванием в корне не согласен, а потому, хотелось бы доказать обратное.
      Если вам интересно, как использовать мнемотехнику для запоминания иностранных слов, то добро пожаловать под кат.
      Читать дальше →
    • Упражнения для тренировки мозга


        В силу склада ума или давнего увлечения скорочтением, мнемотехникой и прочим, у меня был повышенный интерес к играм состоящим из набора упражнений для тренировки мозга(BrainChallenge, Dr.Kawashima и др.). Переиграв практически во все что было на десктопе и nds, появилось желание использовать такие игры для каждодневных тренировок, но для этого они не совсем подходят(в тексте объясню почему). Поэтому на досуге решил написал небольшой сайт с набором такого рода упражнений.
        Читать дальше →
      • Цвета в web-дизайне: Выбор правильного сочетания для вашего сайта

        Цвета в web-дизайнеЦвет, безусловно, является важным источником эмоции. Цвета могут устанавливать правильный тон и передавать необходимые эмоции посетителям, могут взволновать, вызвать множество чувств и стимулировать к действиям. Он является чрезвычайно мощным фактором воздействия на пользователей.
        Читать дальше →
      • Главный принцип хорошего кода

          За двадцать лет разнообразного программирования я сформулировал, убежден, главнейший принцип хорошего кода. Опираясь на него, мне и моим коллегам удавалось приводить в порядок самый страшный код, объединять в команде малосовместимых программистов и годами поддерживать системы без лишнего нытья.

          Прочтение этой статьи: 15 минут
          Осмысление методики: 10 минут
          Ощутимые результаты: 30 минут

          Итак,
        • Простые правила простой вёрстки

          Речь в этой небольшой статье пойдет не о специфических техниках для конкретных случаев, также не будет раскрыта тема правильной оптимизации кода и графики под высоконагруженные проекты. Не знаю, много ли здесь людей, часто имеющих дело с вёрсткой небольших проектов, для которых избыточно применение haml/sass и кучи методик правильной оптимизации, отлично описанных в статьях других профессионалов.

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

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

          Всем добрый день.

          Хочу рассказать про paramiko — модуль для работы с ssh в python.
          С его помощью можно написать скрипт, который получит доступ к удаленному серверу (или многим) и что-то на нем сделает.

          Кому интересно — прошу под кат.
          Читать дальше →
        • Учим Python качественно

          Здравствуйте всем!

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

          Удобочитаемый синтаксис, прост в обучении, высокоуровневый язык, Объектно-Ориентированый язык программирования (ООП), мощный, интерактивный режим, масса библиотек. Множество иных плюсов… И это всё в одном языке.
          Для начала окунёмся в возможности и узнаем, что же умеет Python?
          Читать дальше →
        • Будущее гибкой разработки ПО


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

            Проблема в том, что никто не знает, как на самом деле писать классный софт быстро и правильно. Waterfall благополучно скончался на рубеже веков, а новые методы разработки (agile) пока не могут решить фундаментальные проблемы.
            Узнать, что нам всем делать и как с этим жить
          • Work and travel — глупо, бесполезно, унизительно?

            Принятие решения занимает какую-то секунду, осуществление – чуть более, у меня заняло около 48 часов. Однако осмысление сделанного – куда более сложная задача. Такой и была поездка по программе Ворк энд трэвел в штаты.
            image
            Принятие решения на участие в программе было и на самом деле секундным делом, поговорил с другом, который учится в Дубае, и мы решили «Почему бы и нет». Грандиозных планов на лето у меня не было. И я сразу же позвонил в фирму «Х» и отвез загранпаспорт и фотки.
            Для участия в программе не нужно никаких сверхъестественных знаний английского, посещение медицинских осмотров и даже не пришлось ехать в военкомат за справкой об отсрочке. Требовалось лишь взять справку из университета, подтверждающую, что я студент, и подписать бумагу на участие в программе, которую подписали в деканате без проблем. Еще требовалось написать свое резюме, но оно составляется на основе уже готовых «рыб», так что и это не проблема.
            Читать дальше →
          • Goblin Wars II.NET – история создания сетевой игры на C# с нуля

              Добрый день, уважаемые хабровчане. Представляю вашему вниманию свой небольшой проект – сетевой 2D-шутер на C#. Несмотря на то, что визуальная составляющая весьма простая – в наш век уже никого не заинтересуешь 2D-играми, некоторые архитектурные решения могут заинтересовать людей, собирающихся написать свою игру. В статье я расскажу о вариантах реализации ключевых моментов игры.
              Читать дальше →
            • Самообразование: позвольте пригласить вас в путешествие!

              Привет, хабр.

              Некоторое время назад я загорелась желанием изучать веб-дизайн и какой-нибудь язык программирования. И, конечно же, у меня возник закономерный вопрос «с чего начать». Более того, положение дел усугублялось тем, что никакого опыта ни в веб-дизайне, ни в программировании у меня не было вообще.
              Что же делать? Как учиться самой? Куда двигаться, и за что хвататься?

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

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

              Читать дальше →
            • Web2py фреймворк

                Я не изобретатель очередного велосипеда марсохода, а просто хочу рассказать про python фреймворк WEB2PY. На Хабре почему-то нет каких-либо статей про этот чудесный инструмент. Если интересно, под хабракатом небольшая история использования web2py и его описание.

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

                Читать дальше →
              • Материалы продвинутого уровня по Питону

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

                  После прочтения Dive into Python или подобной ей и ознакомления с документацией возникает вопрос, а что читать дальше? Можно обратиться к списку книг на python.org. Там есть раздел Advanced Books, но в нем всего лишь 6 книг (седьмая не выходила), и только одну я бы назвал по-настоящему стоящей.

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

                  Ниже собраны сложные материлы про Питон, его устройство и возможности. Все на английском (грех, не знать технический английский). Про Dive into Python я слукавил. Большинство приведенных материалов требуют хорошее знание Питона и наличие опыта программирования на нем.

                  Подробнее