Pull to refresh
0
0
Send message

Делать ли мобильную версию? 5 распространенных проблем, которые решает адаптивная верстка. Опыт Яндекса

Reading time 9 min
Views 112K

C 2007 года очень быстро растёт количество используемых в мире смартфонов. В числе прочих причин резкого скачка популярности несколько лет назад покупателей привлекла способность этих устройств отображать сайты так, как они выглядели на экранах компьютеров. Но, купив смартфон и начав им пользоваться, люди отмечали, что для чтения отдельных блоков текста на относительно небольшом экране приходилось постоянно масштабировать страницу. Плюс к тому, многие элементы управления сайтов оказалось неудобно использовать. Это происходило потому, что страницы не были рассчитаны на управление с помощью прикосновений к экрану и зачастую требовали компьютерную мышь или другой манипулятор. Для решения этих проблем начали появляться отдельные версии сайтов, предназначенные исключительно для устройств с маленьким экраном. При этом пользователям оказалось не нужно знать адреса мобильных сайтов. Вместо этого сервер считывает информацию об устройстве из обращённого к нему запроса и определяет, какую версию предпочтительнее отдать посетителю.


Сайт smashingmagazine.com на различных размерах экранов


Вскоре многим стало понятно, что разработка отдельной мобильной версии — это долго и дорого в поддержке. Кроме того, это противоречит идеологии веба, который подразумевает, что размеченный документ универсален и может быть прочитан практически на любом устройстве вывода. Для решения возникшего противоречия в CSS был добавлен стандарт Media Queries. Появились новые возможности по определению особенностей устройства, в частности появилась возможность применять различное оформление страницы для произвольных размеров окна.

Читать дальше →
Total votes 103: ↑99 and ↓4 +95
Comments 102

Badoo перешли на PHP7 и сэкономили $1M

Reading time 16 min
Views 104K
Badoo перешли на PHP7 и сэкономили $1M

Мы сделали это! Несколько сотен наших application-серверов переведены на PHP7 и прекрасно себя чувствуют. Насколько нам известно, это второй переход на PHP7 проекта такого масштаба (после Etsy). В процессе мы нашли несколько очень неприятных багов в системе кеширования байт-кода PHP7, но они исправлены. А теперь — ура! — благая весть для всего PHP-сообщества: PHP7 действительно готов к продакшену, стабилен, потребляет значительно меньше памяти и дает очень хороший прирост производительности. Ниже мы подробно расскажем, как мы перешли на PHP7, с какими трудностями столкнулись, как с ними боролись и какие результаты получили.
Читать дальше →
Total votes 169: ↑159 and ↓10 +149
Comments 304

DeepDream — Визуализатор работы нейросети

Reading time 1 min
Views 59K

С месяц назад в блоге Google research появилась запись про визуализацию работы нейросети — мол, как она видит изображения при обработке, пестрящая картинками типа этой.
Народу стало интересно как такое можно сделать самостоятельно и спустя пару недель появилась новая запись с исходниками на гитхаб, которые позволяют все проделать самостоятельно.
Но нашлись те, кому быстро стало скучно, так что осторожно, подкатом психодел.
Читать дальше →
Total votes 45: ↑44 and ↓1 +43
Comments 35

Быстрый фильтр каталога для интернет-магазинов на основе битмапов Redis

Reading time 4 min
Views 61K


Не секрет, что каждый интернет-магазин должен помогать пользователям найти то, что им нужно. Особенно, если товаров у вас много (> 10). На помощь приходит каталогизация товаров, но разбить товары по категориям — полдела. Товары внутри категории нужно уметь фильтровать по их свойствам. Особенно, если товары у вас разношёрстные, например, одежда, электроника, ювелирные изделия и т.д. И тут любой разработчик, пишущий свой e-commerce продукт, сталкивается с неприятными реалиями жизни: у товаров могут быть совершенно разные свойства, у некоторых товаров они могут отсутствовать, некоторые товары по одному свойству могут попадать под разные значения (цвет платья то ли синий, то ли голубой, соответственно, неплохо бы его показать и по синему и по голубому цвету). Проще говоря, у вас EAV. Бывает ещё, что EAV вам диагностирует заказчик ближе к концу разработки, а то и просит добавить фильтр по динамическим свойствам уже после релиза.
Читать дальше →
Total votes 38: ↑35 and ↓3 +32
Comments 75

Porn Time вышел под Android

Reading time 2 min
Views 160K


После феерического успеха программы Porn Time для десктопа, которая вышла две недели назад, разработчики выпустили версию под Android. В каталоге Google Play такие программы запрещены, поэтому она распространяется только с официального сайта. Та же история будет с версией под iOS, которую планируют выпустить через три недели.
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 9

Голосовой персональный ассистент Hound, похоже, превосходит Google Now, Cotrana и Siri

Reading time 1 min
Views 21K
Hound — проект персонального ассистента от разработчиков SoundHound, приложения, схожего по функционалу с Shazam. Проект находится в разработке уже 9 лет, и, похоже, не зря. На официальный канал проекта на Youtube недавно было загружено видео с впечатляющей демонстрацией возможностей приложения.


Читать дальше →
Total votes 39: ↑37 and ↓2 +35
Comments 18

Как я использую трейты

Reading time 6 min
Views 38K
Недавно несколько человек просили меня рассказать об использовании трейтов в новом проекте, который я пишу. Примерно в тоже время Рафаэль Домс показал мне его новую речь о сложных когнитивных процессах, которые мы не замечаем. Так как наш мозг — это большой мешок, перемешивающий все, в результате получился пост, который пытается охватить и то как я использую трейты, и то как я решаю где они нужны.

Воздействие vs Абстракция


Первое, что вы должны сделать — пойти почитать пост “Abstraction or Leverage” от Майкла Найгарда. Это отличная статья.

Если же у вас мало времени, основная суть поста состоит в том, что части кода (функции, классы, методы и т.д.) могут предназначаться либо для абстракции, либо для воздействия. Разница в:

  • Абстракция содержит высокоуровневый концептуальный код, позволяющий лаконичнее работать с ним другому коду.
  • Воздействие содержит код, изменения в котором влияют лишь на определенную часть.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Comments 31

Уолтер Левин — Во имя физики

Reading time 1 min
Views 20K


16 мая 2011 года Уолтер Левин, заслуженный профессор MIT в отставке, вернулся в свой старый лекционный зал, чтобы провести последнюю лекцию, которая была приурочена к публикации его новой книги «FOR THE LOVE OF PHYSICS: From the End of the Rainbow to the Edge Of Time — A Journey Through the Wonders of Physics», написанной совместно с Уорреном Гольдштейном.

«Эта книга раскрывает перед нами незаурядный интеллект Уолтера Левина, его страсть к физике и блестящий навык преподавания. Надеюсь, благодаря ей еще больше людей узнает об этом потрясающем преподавателе и учёном».

— Билл Гейтс


Оригинальное видео

P.S. В комментариях вы можете предложить интересное видео на перевод и озвучивание.
Total votes 27: ↑27 and ↓0 +27
Comments 12

Как программисту нарисовать логотип, не умея рисовать?

Reading time 3 min
Views 59K
Так бывает, что перед программистом ставят неординарную задачу, которую выполнить он может только благодаря своей смекалке, а не опыту, которого в сфере требуемой задачи, по сути, и нет. И сегодня я хочу рассказать о том, как не дизайнеру нарисовать красивый логотип.


Читать дальше →
Total votes 73: ↑37 and ↓36 +1
Comments 32

Робот ATRIAS прогулялся по парку

Reading time 1 min
Views 9.7K

Робот-страус пугает своих «родственников»

ATRIAS — это робот, созданный группой специалистов Орегонского Университета (США). На днях его создатели решили прогулять робота по местному парку. Выглядит робот не слишком дружелюбно, но, насколько можно видеть, никто не был испуган. Цель самой прогулки — выяснить, насколько хорошо робот может передвигаться по пересеченной местности.

Парк — это, конечно, не горы, но и здесь не всякий робот сможет нормально прогуливаться. Насколько можно понять, испытания прошли успешно — проблем у системы не возникло.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 8

Определяем, свободен ли туалет, и выводим статус в web

Reading time 2 min
Views 22K
1. Intro

В нашем офисе порядка 30 человек, и на всех нас приходится 1 туалет, чтобы посетить который нужно пройти коридор, дёрнуть ручку и, если не открывается дверь — смириться и ждать, когда освободится.

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

1.1 Если нет желания читать весь текст, то можно сразу перейти к демонстрации
Читать дальше →
Total votes 39: ↑35 and ↓4 +31
Comments 46

Фаны GTA сняли GTA-like видео при помощи дрона

Reading time 1 min
Views 27K


Серия Grand Theft Auto уже давно стала супер-популярной серией. Миллионы игроков каждый день выполняют задания мафии, наслаждаясь геймплеем. Теперь, с выходом пятой части, у игрушки появился и онлайн-мир, GTA online. Графика здесь все более совершенна, а геймплей — все более реалистичен.

Тем не менее, остались свои поклонники и у прежних версий игры, которые разрабатывались еще в 2D. Для поклонников предыдущих частей на днях было снято видео такими же фанами. Видео было снято при помощи дрона, авторы ролика старались реализовать ракурс камеры, аналогичный тому, что мы видим в 2D-версиях игрушки.
Читать дальше →
Total votes 52: ↑46 and ↓6 +40
Comments 24

Unity 3d 4.6 (5) проект Survival shooter game на русском

Reading time 2 min
Views 27K
Здравствуйте!

Сегодня мы приступаем к изучению и сборке готового проекта от команды Unity 3d под названием Survival Shooter.

При детальном изучении проекта мы коснемся таких игровых аспектов в изучении, как новая UI (версия Unity 3d 4.6), создание скриптов для движения камеры, управления игровым персонажем, точки спауна врагов и многое другое.

Рассмотрим виды анимации и ее логического применения с помощью Animator Controller.
Читать дальше →
Total votes 16: ↑13 and ↓3 +10
Comments 2

парсим сайты легко и непринуждённо вместе с phpQuery

Reading time 3 min
Views 111K
Привет хабр, думаю у некоторых из вас возникала потребность стянуть что нибудь нужное с какова нибудь сайта. Но писать тонны функций, чтобы вытащить фразу, это очень муторно, долго и не продуктивно.
Представляю вашему вниманию phpQuery. Это php вариант известного javascript фраемворка — jQuery.
Автор постарался на славу и портировал почти всё что нам нужно.
  • Selectors
  • Attributes
  • Traversing
  • Manipulation
  • Ajax
  • Events
  • Utilities
  • Plugin ports

Давайте посмотрим что она умеет.
Поехали
Total votes 42: ↑38 and ↓4 +34
Comments 35

Nginx + uWSGI + Django, один из вариантов запуска

Reading time 4 min
Views 33K
Статья описывает один из способов развертывания Django-проектов, в связке Nginx + uWSGI на Unix-подобных операционных системах. Тестирование, а так же дальнейшая рабочая эксплуатация производилась на FreeBSD, однако на Linux процесс будет схож, за исключением некоторых незначительных моментов.
Читать дальше →
Total votes 56: ↑50 and ↓6 +44
Comments 56

Пример запуска Django 1.7.4 под Python 3.4.2 на Ubuntu 14.04

Reading time 6 min
Views 39K
Всем привет.



В данном примере я покажу один из способов запуска актуальной версии Django под свежим Python.

Python 3.4.2 | Release Date: 2014-10-13
Django 1.7.4 | January 27, 2015

Будут использованы virtualenvwrapper и pyenv:
— virtualenvwrapper будет работать с «системным» python2
— используем pyenv для установки последней версии Python
— используем virtualenvwrapper для создания виртуального окружения с последней версей Python «внутри»
Читать дальше →
Total votes 35: ↑16 and ↓19 -3
Comments 44

Борьба с 2D-физикой в Unity на примере бесконечной игры

Reading time 9 min
Views 83K


Мой странный творческий путь занес меня в разработку игр. Благодаря отличной студенческой программе от IT-компании, название которой СостоИт из одной Греческой МАленькой буквы, сотрудничающей с нашим университетом, удалось собрать команду, родить документацию и наладить Agile разработку игры под присмотром высококлассного QA-инженера (здравствуйте, Анна!)

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

Наша игра использовала физический движок неожиданным для него способом, что породило множество проблем с производительностью на мобильных платформах. В этой статье, на примере нашей игры, описана моя борьба с физическим движком и все те особенности его работы, которые были замечены на пути к жизнеспособной бета-версии.
Читать дальше →
Total votes 56: ↑49 and ↓7 +42
Comments 32

Unity3d. Уроки от Unity 3D Student (B13-B16)

Reading time 5 min
Views 120K
Предыдущие уроки вы можете найти по следующим ссылкам:
Уроки B01-B03
Уроки B04-B08
Уроки B09-B12

PS: Так же исправленны некоторые ошибки в предыдущих уроках, большое спасибо хабравчанинам ufomesh и MikhailS.

Перейти к урокам
Total votes 14: ↑12 and ↓2 +10
Comments 7

Автозапуск приложения Node.js на CentOS 6.2

Reading time 3 min
Views 16K
Для автозапуска приложений Node.js есть много способов, но после некоторых поисков мне удалось отыскать такое решение, которое и работает, и не представляет большой трудности.

Сперва я испробовал forever работает превосходно, но только до тех пор, пока вам не понадобится запустить приложение при начальной загрузке системы. Я пробовал добавить строчку в /etc/rc.d/rc.local — иногда она срабатывала, а иногда нет, и до сих пор я не разобрался, почему так.

Затем я поглядел на Upstart и на Monit. Upstart сделал сочинение скрипта для автозагрузчика таким же простым, как autoexec.bat во времена DOS, а Monit умеет проверять приложение, чтобы убедиться, что оно всё время работает.

Тут я понял, что моя потребность проста: во-первых, запускать приложение при начальной загрузке системы, а во-вторых, перезапускать, если оно упадёт (с приложениями Node.js такое случается) — и одного upstart достаточно для того, чтобы устроить и то, и другое.
Читать дальше →
Total votes 29: ↑20 and ↓9 +11
Comments 10

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer