Pull to refresh
39
0
Евгений Рубан @yrouban

Java, LLVM, compiler, runtime, performance tools

Send message

О «чистоте» мобильного веба, мошенниках и рекламе

Reading time6 min
Views22K
Покажите мне только богатого человека, и я отниму у него деньги.
С деньгами нужно расставаться легко, без стонов.
Остап Бендер

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

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

О проблеме уже писали несколько раз на хабре, и вообще — http://bit.ly/ReGcFd.
В интернете информации тоже полным полно — статья википедии, например. Само по себе мобильное мошенничество невозможно без привлечения новых и новых "клиентов". Один из самых "дешевых" способов — это реклама в мобильном интернете. К моему удивлению, даже известные сети мобильной рекламы не борются с мошенниками. Примеров тому множество. Из последнего — вот эта статья на хабре.
Если вы размещаете на своих ресурсах рекламу самостоятельно, то вы тоже не защищены от мошенников, т.к. когда сервис становится массовым, остро встает вопрос модерации. В случае, если модерацию проводит не специалист в этой области, риск разместить "алярм" возрастает. В этом плане сети ИМХО даже несколько безопаснее, чем самостоятельное размещение рекламы, т.к. там запрет мошенничества как минимум заявлен.
Под катом я расскажу о видах мошенничества и о том как мы выявляем мошенников в plus1.wapstart.ru

Читать дальше →
Total votes 55: ↑46 and ↓9+37
Comments30

C++0x (С++11). Лямбда-выражения

Reading time13 min
Views303K
Буквально на днях случайно наткнулся на Хабре на статью о лямбда-выражениях из нового (будущего) стандарта C++. Статья хорошая и даёт понять преимущества лямбда-выражений, однако, мне показалось, что статья недостаточно полная, поэтому я решил попробовать более детально изложить материал.

Читать дальше
Total votes 75: ↑71 and ↓4+67
Comments83

Графический стек Linux

Reading time19 min
Views97K
(оригинал — Jasper St. Pierre, разработчик GNOME Shell, взято отсюда)

Это обзорная статья о составных частях графического стека Linux и том, как они уживаются вместе. Изначально я написал её для себя после разговоров об этом стеке с Оуэном Тейлором, Рэем Строудом и Эдэмом Джексоном (Owen Taylor — мэйнтейнер Gnome Shell; Ray Strode — мэйнтейнер большого количества десктопных пакетов сообщества RedHat; Adam Jackson — разработчик графического стека Gnome Shell и интеграции с XOrg; прим. переводчика)

Я постоянно дёргал их, снова и снова расспрашивал о всяких мелочах, а потом эти мелочи благополучно забывал. В конце концов, я задал им вопрос — а нет ли какого-нибудь обзорного документа, уткнувшись в который я бы избавил ребят от своего назойливого внимания? Не получив утвердительного ответа я решил написать эту статью, которая по завершению была вычитана Эдэмом Джексоном и Дэвидом Эйрли. Они оба работают над этим стеком.
Читать дальше →
Total votes 196: ↑191 and ↓5+186
Comments49

Использование пожертвований для поощрения авторов

Reading time2 min
Views793
В английском языке есть слово «donation», самым близким аналогом которому в русском языке является «пожертвование». Близким, но не эквивалентным, т.к. donation, кроме пожертвования, переводится ещё и как «дарение». Вот именно об этом и пойдет речь.

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

Голосование монетой от голосования "+" (плюсом) отличается тем, что:
— такой «голос» будет отдан полезному материалу, но не обязательно популярному
— такой «голос» может быть получен даже при отрицательном рейтинге статьи
— такой «голос» не лимитирован ни по размеру, ни по времени (одна статья может получить сто раз по рублю, а другая 500 за раз)

Правила
— пожертвование должно быть добровольным
— пожертвование должно быть анонимным (может быть открытым по желанию «дарящего»)
— пожертвование можно делать как за конкретную статью, так и просто автору
— добровольное участие статей и авторов в рейтинге по пожертвованиям (если это будет возможно технически)


Читать дальше →
Total votes 34: ↑25 and ↓9+16
Comments30

Реализация разделяемой памяти между драйвером и приложением

Reading time6 min
Views9.7K

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

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

Об ИИ в интеллектуальных играх

Reading time7 min
Views33K
Не так давно я увлёкся игрой в сёги. К сожалению, эта чудесная игра практически не известна в России, поэтому пока я не научил играть друзей, мне приходилось играть с программой. Конечно, мне было интересно, как эта программа работает.
Ниже представлен небольшой рассказ о компьютерных алгоритмах, используемых в интеллектуальных играх.
Читать дальше →
Total votes 68: ↑66 and ↓2+64
Comments71

Руководство по оформлению HTML/CSS кода от Google

Reading time12 min
Views355K

От переводчика


С удовольствием ознакомился с этими рекомендациями и теперь предлагаю вам перевод.

Введение


Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

Это относится к рабочим версиям файлов использующих HTML, CSS и GSS

Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено.
Читать дальше →
Total votes 295: ↑286 and ↓9+277
Comments168

Разработка сайта — от первой встречи с заказчиком до сдачи проекта, или как быть фрилансером и выжить

Reading time12 min
Views73K
Привет, Хабр!

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

Тут проскакивало множество топиков про то, как правильно составлять ТЗ, управлять своим временем, говорить с заказчиками об оплате, вести переговоры и т.д. Не в пику авторам этих топиков, но все эти мысли подчас выглядели для меня разрозненными, да и речь, подчас, велась о слишком «высоких материях» и несколько однобоко — то есть, в большинстве случаев подразумевается, что либо у вас уже есть своя «молодая, динамично развивающаяся компания» с неким штатом зарплатных фулл-таймовых сотрудников, либо вы — наемный сотрудник-руководитель в уже сформировавшейся компании, и вышеописанный штат сотрудников у вас также имеется.

Я попробую описать весь процесс создания сайта с собственной и, как мне кажется, более приближенной к жизни для большинства точки зрения. Просто в один момент я решил уйти из компании, где я работал по найму, и начать делать своё дело — без стартового капитала, офиса и какого бы то ни было прикрытия «пятой точки»; разве что отсутствия острой необходимости в съеме жилья и наличия питерской прописки.

Кому интересно — добро пожаловать под кат!
Читать дальше →
Total votes 89: ↑78 and ↓11+67
Comments64

62 полезных инструмента для адаптивного дизайна (Responsive web design)

Reading time14 min
Views202K
UPD. Для краткого введения в адаптивный дизайн рекомендую прочитать статью «Как сделать один сайт для всех устройств (Responsive Web Design)».

Перевод крайне ценной статьи «Responsive Web Design Techniques, Tools and Design Strategies» популярного интернет-издания для разработчиков Smashing Magazine.

Еще в январе мы опубликовали статью об адаптивном дизайне «Responsive Web Design: What It Is and How To Use It» (Адаптивный веб-дизайн: Что это такое и как им пользоваться). Адаптивный веб-дизайн продолжает привлекать к себе много внимания, но, учитывая, насколько он отличается от традиционных методов разработки сайтов, он может показаться заоблачно сложным для тех дизайнеров и разработчиков, которые его не пробовали.

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

Техники Responsive web design


1. CSS Transitions and Media Queries
CSS Transitions и Media Queries

Elliot Jay Stocks подробно рассказывает о методе сочетания CSS Media Queries и CSS transitions. Основная идея в следующем: разрабатывая адаптивный сайт с помощью Media Queries, вы постоянно изменяете ширину вашего браузера, чтобы посмотреть, как сайт ведет себя при этом. Но каждый раз, когда отрабатывает один из ваших Media Queries, виден жесткий переход между стилями (первый, например, для десктопов, второй — для планшетов). Почему бы не использовать CSS transitions для сглаживания этих жестких переходов с помощью анимации?



Читать дальше →
Total votes 112: ↑107 and ↓5+102
Comments14

Web-Drawing библиотеки: Paper.js Vs. Processing.js Vs. Raphael.js

Reading time12 min
Views37K
Набрёл на статью со сравнением трёх JS библиотек для рисования в WEB Paper.js, Processing.js и Raphael.js. Думаю она будет интересна не только мне.

Прежде чем начать рисовать что-либо в браузере, спросите себя о следующих трёх вещах:


  • Вам нужна поддержка старых браузеров?
    Если ответ да, тогда единственный выбор, это Raphaël. Он поддерживает браузеры вплоть до IE 7 и Firefox 3. У Raphaël есть даже ограниченная поддержка IE 6, несмотря на то, что некоторые базовые для библиотеки технологии не могут быть реализованы в этом браузере.
  • Вам нужна поддержка Android?
    Android не поддерживает SVG, так что вам придется использовать Paper.js или Processing.js. Существуют слухи, что Android 4 будет поддерживать SVG, но большинство современных Android устройств уже не будет его поддерживать.
  • Ваш рисунок интерактивный?
    Raphaël и Paper.js сосредоточены на взаимодействии с рисуемыми элементами посредством клика мышкой, перетаскивания и касания. Processing.js не поддерживает никаких события уровня объекта, потому обработать движения пользователя в нём довольно сложно. Processing.js может рисовать классную анимацию на Вашей домашней страничке, а Raphaël и Paper.js более подходят для интерактивных приложений.

Читать дальше →
Total votes 68: ↑63 and ↓5+58
Comments30

Новая функциональность в Google Chrome Canary

Reading time1 min
Views22K
Многие наверное знают о Canary — девелоперской ветке Google Chrome, которая получает ежедневные обновления и которую можно поставить параллельно со стабильной версий Хрома.
Сегодня в блоге Google Developers Blog появилась новость об очередном нововведении, которое коснулось нативных инструментов для разработчиков в Google Chrome.
Теперь у нас появилась возможность посмотреть, как будет выглядеть и вести наш сайт или веб-приложение на мобильном устройстве, имитируя нужные нам размеры экрана и тач-ивенты с помощью мыши.
Как это выглядит, можно посмотреть под катом
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments35

Как мы будем верстать, когда экраны станут многопиксельными, а пиксели еле различимыми

Reading time2 min
Views4K
Данный пост не про конкретные решения по верстке сайтов в будущем, а сбор мнения хабрасообщества, как нам жить дальше.

Вопрос этот у меня возник не случайно. Есть интересный проект, заказчиками которого являются фанаты Айпадов и Айфонов. Им очень важно, чтобы сайт одинаково хорошо отображался и там и там. То есть ширина экрана плавает от 800 до 2000 пикселей в ширину.


Что нам делать с картинками в оформлении?


Да, сейчас все браузеры научились хорошо масштабировать сайты. Нажал Ctrl, покрутил скроллом, и твой сайт в том размере, как тебе удобно. Но если растровую картинку 30 на 80 пикселей увеличить в трое, красоты это не прибавит.

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

Я вижу 2 принципиальных решения:

1. Использование разных файлов под конкретное разрешение, JS определяет размер экрана, предлагает определенный файл CSS, который в свою очередь подгружает нужные картинки.

2. Переход на векторную графику в оформлении сайта.

Плюсы и минусы обоих вариантов
Total votes 74: ↑58 and ↓16+42
Comments70

Масштабируем CSS спрайты с SVG, убивая сразу трех зайцев

Reading time6 min
Views66K
Привет, Хабр.
Сразу хочу отметить, что если мы говорим об иконках, их можно масштабировать двумя способами (других я просто не знаю): конвертировать иконки в шрифт и подключать их через @font-face, либо использовать SVG в качестве формата для этих иконок.

Немного отойду от темы и расскажу предысторию.

Предыстория


Я было решил использовать у себя на сайте шрифтовые иконки, казалось бы все хорошо: и размер менять можно, и цвет задавать и запрос к серверу всего один (на подключение шрифта). Другими словами, подключаемый шрифт это и есть своеобразный «CSS спрайт», верно?

Я давай проверять, везде ли все красиво выглядит. Оказалось, что не все так хорошо как хотелось бы, потому как в некоторых размерах иконки выглядели кособокими, а при отключенном сглаживании вообще противно смотреть на них стало. Что делать? Использовать второй вариант — SVG, о чем и пойдет речь.
Подробно о создании CSS спрайтов с SVG
Total votes 64: ↑57 and ↓7+50
Comments73

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

Reading time8 min
Views40K


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

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

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

В статье я буду показывать ключевые идеи на одном и том же примере — это эффект 2D-туннеля, который я написал для Coding4Fun-сессии на TechDays 2012 во Франции.
Читать дальше →
Total votes 57: ↑49 and ↓8+41
Comments88

Интерактивная визуализация данных Envision.js

Reading time1 min
Views5.2K
Envision.js библиотека для создания быстрых динамических и интерактивных визуализаций данных на HTML5.


Возможности:

1) Визуализация в реальном времени.
2) Временная шкала
3) Визуализация валют ( как на яндексе прям )
4) Поддержка Ajax в интерактиве.
5) Можно побаловаться фракталами.

Читать дальше →
Total votes 88: ↑84 and ↓4+80
Comments17
12 ...
15

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity