Pull to refresh
40
0
Антон Жуков @MrCheater

Team Leader, Full-Stack JS, React, Node.JS

Send message

Любой сайт может получить информацию о том, в каких популярных сервисах вы авторизированы

Reading time3 min
Views68K
Разработчик Робин Линус на своей странице на GitHub Pages (визит по следующей ссылке небезопасен и его не рекомендуется выполнять с рабочего места, так как кроме видимой части сервисов страница проверяет, залогинены ли вы на сайтах для взрослых, а это останется в логах файрволла как попытка перехода прим.) продемонстрировал, как сайты могут снимать с вас «медийный отпечаток», то есть вести учет того, в каких популярных сервисах залогинены посетители даже без какой-либо авторизации на посещаемой странице.

Для автора публикации «медийный отпечаток» выглядит следующим образом и является абсолютно верным:



И это весьма неприятно.
Как это работает
Total votes 119: ↑112 and ↓7+105
Comments96

Универсальний (изоморфный) «шлем» для React js или Как удобно работать с head на React js

Reading time4 min
Views42K
image

Ребята из nfl вылечили одну из болей React js, работу с head. Речь пойдет о библиотеке react-helmet. Она работает как на клиенте, так и на сервере.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments6

WebPack: как внутри устроено Hot Reloading

Reading time7 min
Views44K
Наша платформа voximplant активно использует javascript. С помощью него клиенты управляют в реальном времени звонками, на нем работает наша backend логика и большинство frontend. Javascript мы любим, ценим и стараемся быть в курсе последних новостей. Сейчас наши разработчики активно экспериментируют с перспективной связкой webpack + typescript + react (кстати, для typescript мы сделали type definitions к нашему web sdk, но об этом как-нибудь в другой раз).

Особенно нам нравится «hot module replacement»: возможность при изменении исходников очень быстро отобразить изменения в браузере без перезагрузки страницы. Выглядит как магия. К сожалению, документировано тоже как магия — по словам eyeofhell, нашего технического евангелиста, «пример на офсайте — это уникальная комбинация частных случаев и особых команд, любое изменение в которых делает его неработоспособным». На наш взгляд все не так плохо, за пару вечеров вполне можно разобраться. Но и не так просто, как хотелось бы. Поэтому специально для Хабра под катом мы максимально просто и понятно расскажем как работает под капотом вся эта машинерия.
Открыть попкорн и посмотреть шоу с эвалом и вебсокетами
Total votes 26: ↑26 and ↓0+26
Comments12

Двенадцать полезных Chrome DevTools Tips

Reading time4 min
Views81K
В данной статье мы рассмотрим некоторые функции инструментов разработчика Chrome. Конкретно я использую Chrome Canary и вам советую. И не потому, что это отсылка на маленьких милых птиц, которые пожертвовали своими жизнями чтобы мы могли добывать свежий уголь.

Некоторые из DevTools функций вы возможно не знали. Я буду очень счастлив, если хотя бы одну из них вы найдете для себя полезной.

(В статье ниже присутствуют анимированные гифги, которые начинают раздражать после первого цикла. Поэтому я советую открыть dev tools и удалить DOM ноды, которые отвечают за изображения.)

Итак, поехали:

Копируем переменную в буфер обмена


Об этой возможности я узнал из комментариев, и считаю ее достаточно полезной чтобы быть описанной в начале. Иногда бывает нужно скопировать содержимое переменной в буфер обмена. Например html код или json объект. Для этого можно использовать copy функцию.

copy (someVariable)

Теперь текстовое представление переменной скопировано в буфер обмена.
Читать дальше →
Total votes 71: ↑69 and ↓2+67
Comments17

NanoFL: краткое описание возможностей

Reading time2 min
Views6.3K
image

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

Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments7

О новых успехах противостояния (СР УВЧ!*)

Reading time3 min
Views16K
Пару дней назад появилась статья, которую почти никто не освещал. На мой взгляд, она замечательная, поэтому про неё расскажу в меру своих способностей. Статья о том, чего пока не было: машину научили играть в шутер, используя только картинку с экрана. Вместо тысячи слов:



Не идеально, но по мне — очень классно. 3D шутер, который играется в реальном времени — это впервые.
А теперь чуть-чуть теории
Total votes 45: ↑45 and ↓0+45
Comments47

Шаблон бизнес-плана (финансовая модель) студии/агентства

Reading time7 min
Views113K
Привет, Хабр!

В рамках нашего спецпроекта с NetCat для веб-студий и агентств мы подготовили большой материал по финансовой модели студии с кучей KPI, разработали реальный образец — и предлагаем обсудить его. Это эксклюзивный материал, ранее я не публиковал нигде этого шаблона и не выступал по данной теме.

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

image

Вводная


Данный бизнес-план, несмотря на то, что он выглядит довольно сложно, на самом деле, является очень упрощенной моделью. Мы сделали ряд допущений и упрощений, чтобы показать в простом виде, как зависят друг от друга основные значения. «Боевые» финансовые модели реальных агентств, конечно, еще более сложны.

Надеюсь, что вы постараетесь «поиграть» со значениями – изменяя константы и показатели, которые подаются на вход «руками» — и посмотрите, как меняется динамика развития компании.
Читать дальше →
Total votes 55: ↑49 and ↓6+43
Comments15

Бизнес-планирование веб-студии на старте

Reading time3 min
Views44K


Как и в любом другом бизнесе, планирование — это обязательная часть. Оно почти никогда не сбывается (разве что только у таких фанатиков как мы), но и без него нельзя. Если вы хотите что-то улучшать, это нужно запланировать и замерить. Сейчас и в последствии считать будем все. Привыкайте. Это не сложно + я дам для этого нужные инструменты.

P.S. Это вторая статья из цикла «Как сделать веб-студию эффективной и начать зарабатывать?» Первую тоже желательно прочитать. Теперь к бизнес планированию!
Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments10

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

Reading time8 min
Views23K
Если кто следит за нашим блогом, наверняка уже знает, что мы проводим хардкорные технические конференции в разных областях программирования (Java, .NET, HolyJS, iOS/Android, тестирование). Конференции эти традиционно проходят в Москве и Петербурге, почему? Потому что в этих городах физически больше разработчиков – это позволяет собирать под одной крышей по 500-1000 единомышленников.



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

Как выглядит идеальная на наш взгляд трансляция? Вот несколько ссылок на свежие трансляции последних конференций:
















А если вам интересно, чего нам стоило отточить трансляцию и видеозаписи до такого состояния, а также какие факапы с реал-тайм системой вызывают самый сильный баттхерт, читайте под катом.
Читать дальше →
Total votes 69: ↑66 and ↓3+63
Comments41

Over 9000: неочевидные сложности работы со счетчиками социальных кнопок (+ задачка)

Reading time7 min
Views7.2K


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

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

  • счетчик может отвалиться в самый неподходящий момент;
  • некоторые социальные сервисы не предоставляют данных о репостах в принципе;
  • а другие не всегда в состоянии обеспечить корректную передачу этой информации.

Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments5

Пора рассказать, как я 4 года был Билайном на Хабре — и что за это время узнал про Хабр

Reading time16 min
Views62K
Вчера был очередной семинар Хабра о том, как надо делать корпоративные блоги, и я там не выдержал и рассказал эту историю.



Конечно, это был не совсем я, но близко. Дело в том, что давным-давно мне предложили помочь Вымпелкому с блогом. На немного необычных условиях. Первым стало отсутствие всякой официальщины – отсюда и совершенно отрывные посты (за часть из которых в корпоративном сегменте смело оторвали бы руки и не только), и самые актуальные темы (Базовая станция вредная? Ещё как!), и вообще много всего.

Но начну с самого начала. Итак, Хабр тогда был торт — большой и зверски агрессивный, хабов не было, а корпоративные блоги были чем-то вроде раздела «тупиковый отстой». За любую ссылку или рекламу тогда почти банили. Или забивали до -50 за час, например. С корпоративным рылом в такой калашный ряд было никак нельзя.

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

Технари, кстати, оказались совершенно офигенные. Только плевать они хотели на Хабр, по большому счёту. Как и везде.
Читать дальше →
Total votes 228: ↑217 and ↓11+206
Comments108

Как по маслу, или анимируем со скоростью 60 FPS на CSS 3

Reading time5 min
Views61K

Изображения и текст принадлежат их авторам.


Анимация элементов в мобильных приложениях — это просто. Правильная анимация тоже может быть простой… если вы последуете представленным в статье советам.


Сегодня кто только не использует CSS 3 анимацию в своих проектах, тем не менее не только лишь все, но мало кто может делать это правильно. Даже описаны так называемые «лучшие практики», но люди продолжают делать всё по-своему. Скорее всего потому, что просто не понимают, почему всё устроено именно так, а не иначе.


Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments27

HolyJS в Москве: первые доклады и CallForPapers

Reading time4 min
Views6K
Вселенная JavaScript прекрасна: язык растет и развивается огромными темпами, фреймворки плодятся (возможно, даже слишком:)), коммьюнити цветет и пахнет, в России появляются профессиональные конференции.



Если вы следите за событиями, то знаете, что в июне в Питере прошла первая в России масштабная профессиональная конференция по JavaScript – HolyJS. Все тогда прошло хорошо, а сама конференция 11 декабря приедет в Москву, об этом и поговорим.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments14

Это маленькое чудо — алгоритм Кнута-Морриса-Пратта (КМП)

Reading time9 min
Views178K
Алгоритм Кнута-Морриса-Пратта используется для поиска подстроки (образца) в строке. Кажется, что может быть проще: двигаемся по строке и сравниваем последовательно символы с образцом. Не совпало, перемещаем начало сравнения на один шаг и снова сравниваем. И так до тех пор, пока не найдем образец или не достигнем конца строки.
Читать дальше →
Total votes 69: ↑67 and ↓2+65
Comments57

Когда использовать неструктурированные типы данных в PostgreSQL? Сравнение Hstore vs. JSON vs. JSONB

Reading time5 min
Views37K

С тех пор как PostgreSQL начал поддерживать NoSQL (посредством HStore, JSON и JSONB), вопрос о том, когда использовать PostgreSQL в реляционном режиме, а в каких в режиме NoSQL, стал подниматься достаточно часто. Получится ли у вас полностью отказаться от традиционных структур таблиц и работать с представлениями документов в будущем? Смешивать ли оба подхода? Ответ на этот вопрос не удивителен — все зависит от многих факторов. Каждая новая модель хранения данных включая Hstore, JSON и JSONB имеет свои идеальные варианты применения. Тут мы копнём глубже и узнаем об особенностях каждой из них и посмотрим когда что использовать


Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments12

Особенности продвижения приложений в СНГ, на западных рынках и в Азии

Reading time21 min
Views14K
Предыдущая статья про 15 нестандартных инструментов продвижения мобильного приложения неожиданно хорошо зашла на Хабре. Это говорит о том что тема для сообщества актуальна.

В данной статье вас ожидает большой текст (TLD:DR!) о продвижении приложения в СНГ, на западных рынках и в Азии, с подробным разбором каждого из рынков и большим количеством полезных ссылок.

Запасайтесь чаем и добро пожаловать под кат.

image
Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments7

ES6 по-человечески

Reading time11 min
Views588K

От переводчика:
Предлагаю вашему вниманию перевод краткого (действительно краткого) руководства по ES6. В нём можно ознакомиться с основными понятиями стандарта.
Оригинальный текст в некоторых случаях был дополнен или заменён на более подходящий источник. Например, часть определения ключевого слова const является переводом документации с MDN.
Чтобы лучше разобраться в некоторых концепциях (для выполнения качественного перевода) использовалось описание стандарта на сайте MDN, руководство "You Don't Know JS: ES6 & Beyond" и учебник Ильи Кантора.


Перевод выложил на Гитхаб: https://github.com/etnolover/ES6-for-humans-translation. В случае нахождения ошибок пишите, исправлю.
Ссылка на оригинальный текст: https://github.com/metagrover/ES6-for-humans


Update 22.07.2016: добавил опрос про const


Содержание



Читать дальше →
Total votes 62: ↑60 and ↓2+58
Comments87

Честный MVC на React + Redux

Reading time5 min
Views65K

MVC


Эта статья о том, как построить архитектуру web-приложения в соответствии с принципами MVC на основе React и Redux. Прежде всего, она будет интересна тем разработчикам, кто уже знаком с этими технологиями, или тем, кому предстоит использовать их в новом проекте.

Читать дальше →
Total votes 37: ↑29 and ↓8+21
Comments44

Никогда не сдавайся: как Netscape вел неравную борьбу с Internet Explorer

Reading time11 min
Views37K
image
Источник: wired.com

Считается, что первый браузер появился 25 декабря 1990 года. Его создателем был Тим Бернерс-Ли, младший сотрудник Европейской организации по ядерным исследованиям. По его словам, разработка не заняла много времени (около двух месяцев), потому что он использовал платформу со специальным конструктором приложений. Тим создал так называемый Консорциум всемирной паутины (World Wide Web Consortium, сокращенно W3C), который разрабатывал стандарты, внедряемые в программное обеспечение.

К концу 1992 года, кроме самого первого браузера под названием WorldWideWeb, на рынке появилось множество других, большинство из которых было основано на библиотеке libwww – Line Mode Browser, ViolaWWW, Erwise, MidasWWW, MacWWW и другие. Следующими браузерами, выпущенными в 1993 году, были Cello, Arena, Lynx, tkWWW и NCSA Mosaic.

Mosaic, мультиплатформенный браузер, был разработан в организации National Center for Supercomputing Applications (NCSA). В октябре 1994 года Mosaic был на пути к превращению в эталонный для всего мира интерфейс. Несколько компаний лицензировали Mosaic, чтобы создать свои собственные коммерческие браузеры, такие как AirMosaic и Spyglass Mosaic.
Читать дальше →
Total votes 35: ↑28 and ↓7+21
Comments42

Шпаргалка по шаблонам проектирования

Reading time2 min
Views1.4M

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.

Под катом — много картинок.

Читать дальше →
Total votes 192: ↑179 and ↓13+166
Comments66

Information

Rating
Does not participate
Location
Тула, Тульская обл., Россия
Date of birth
Registered
Activity