Pull to refresh
42
0
Винокуров Роман @Chaos_Code

User

Send message

Трасси… что? Доклад Яндекса

Reading time15 min
Views12K
Отладка приложения занимает бо́льшую часть нашего времени. Кто-то пользуется DevTools, кто-то обходится обычным console.log, кто-то использует профайлеры. Зачастую этих инструментов более чем достаточно. Но есть еще один, не такой известный и популярный в JavaScript-мире. О нем я и рассказал в докладе.

— Всем привет! Надеюсь, вы бодры, веселы, перекусили, заварили себе кофейку, потому что сейчас будет очень интересная и при этом доступная тема: «Трасси… что?». Правильнее было бы называть доклад «Трасси… что-о-о?!», но не будем так.
Total votes 22: ↑19 and ↓3+16
Comments4

15 малоизвестных свойств и методов объектов DOM

Reading time9 min
Views30K
При разработке современных веб-сайтов интенсивно используются возможности JavaScript по работе с DOM. Скрипты позволяют отображать и скрывать элементы, из которых строятся страницы, настраивать свойства этих элементов. У объектов DOM, с которыми взаимодействуют из программ, имеются свойства и методы. О некоторых из них, по мнению автора материала, перевод которого мы сегодня публикуем, знают практически все веб-программисты. А вот некоторые, о которых он и хочет здесь рассказать, пользуются куда меньшей известностью.


Читать дальше →
Total votes 62: ↑59 and ↓3+56
Comments23

Автоматизация UI-тестирования на PhoneGap. Кейс платежного приложения

Reading time8 min
Views6.1K


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

Но довольно метафор.

Дано: PhoneGap-приложение с iframe, внутри которых загружается сторонний сайт; стаж тестировщика 1,5 года; стаж программиста 0 лет.

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

Решение: много костылей, регулярные обращения к программистам за помощью.

Впрочем, тесты работают и я многому научился. И мораль моей ретроспективы будет не в том, что не стоит совершать моих ошибок, а в том, что я разобрался со странной и нетипичной задачей — по-своему, но разобрался.
Total votes 11: ↑10 and ↓1+9
Comments0

Асинхронные циклы и Stream API в Node.js 10

Reading time4 min
Views22K


В этом месяце выходит десятая версия Node.js, в которой нас ждет изменение поведения потоков (readable-stream), вызванное появлением асинхронных циклов for-await-of. Давайте разберемся что это такое и к чему нам готовиться.

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

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

Reading time5 min
Views26K

«Додо Пицца» развивается в США. В середине 2016 года мы открыли доставку в Оксфорде и быстро поняли, что предпочтения клиентов в США и России отличаются. Американцы — индивидуалисты. Они привыкли, что можно собрать пиццу из любых ингредиентов: пусть даже бекон с шоколадным соусом. Поэтому нам надо было сделать такой функционал для американских Додо. Мы назвали проект «Своя пицца».


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


Чтобы разобраться, мы использовали сторимэп. Этот инструмент помог спланировать работу и запустить «Свою пиццу» за 2,5 месяца. В статье рассказываем, как применяем сторимэп.

Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments26

19 неожиданных находок в документации Node.js

Reading time11 min
Views45K
Мне хотелось бы думать, что я вполне прилично знаю Node. Вот уже три года, как ни один из сайтов, над которыми я работал, не обходится без него. Но документацию до сих пор я как следует не читал.

Мне нравится записывать полезные вещи об интерфейсах, свойствах, методах, функциях, типах данных, и обо всём прочем, что относится к веб-разработке. Так я заполняю пробелы в знаниях. Сейчас я занят документацией к Node.js, а до этого проработал материалы по HTML, DOM, по Web API, CSS, SVG и EcmaScript.

image

Чтение документации Node.js открыло мне немало замечательных вещей, о которых я раньше не знал. Ими я хочу поделиться в этом небольшом материале. Начну с самого интересного. Так же я обычно делаю, когда показываю новому знакомому свои гаджеты.
Читать дальше →
Total votes 82: ↑75 and ↓7+68
Comments72

Чек-лист из 68 пунктов для продвижения сайта в ТОП10 Яндекса

Reading time5 min
Views129K
Чтобы Яндекс показал Ваш сайт в числе первых, нужно чтобы он максимально полно отвечал на запрос пользователя. И это будет уже половина успеха. Оставшаяся половина это удобство, техническая составляющая сайта и его простота. Ниже я привел чек-лист из 68 пунктов, который был разработан специально для системы управления задачами PTYSH, совместно с компанией DFAKTOR. А теперь я делюсь им с Вами. Кропотливое выполнение каждого пункта из данного чек-листа позволит вывести практически любой сайт на самый верх поисковой выдачи. Но придется как следует поработать. Начнем с самого малого.


Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments32

Пол Грэм (Y Combinator) и Дмитрий Калаев (акселератор ФРИИ) о причинах успеха и провала стартапов

Reading time10 min
Views23K


Мы начинаем публиковать в блоге ФРИИ материалы нового формата — для того, чтобы сравнить подходы к развитию стартапов в США и России мы будем устраивать перекрестные интервью, в ходе которых, на одни и те же вопросы будут отвечать знаменитые предприниматели, инвесторы и ИТ-эксперты двух стран. В первом выпуске представлены мнения основателя знаменитого акселератора Y Combinator и директора акселерационных и образовательных программ ФРИИ Дмитрия Калаева.
Читать дальше →
Total votes 38: ↑31 and ↓7+24
Comments9

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

Reading time3 min
Views16K
Для автозапуска приложений 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
Comments10

Экспресс-курс «Проектное планирование»

Reading time8 min
Views22K

Везде ли применимо проектное планирование


Любую деятельность компании или отдельного человека можно разделить на два состояния:

  1. Я делаю (сделаю) что-то сейчас;
  2. Я буду это делать в будущем.

Первое состояние очень популярно в торгово-закупочной деятельности:

  • купить прямо сейчас;
  • заказать прямо сейчас;
  • позвонить прямо сейчас.

На вас сваливается десяток задач которые надо сделать прямо сейчас. Как правило, это задачи на «на пять минут», хотя иногда подготовка к выполнению самой задачи может занять и больше пары часов. Если такое происходит, тогда весь поток задач, которые надо сделать «прямо сейчас», останавливается, пока короткая задача не будет завершена, Однако, каким-то мифическим образом все такие задачи «рассасываются» к концу недели.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments5

Транзакционный ад

Reading time4 min
Views7.8K
В прошлых статьях мы уже упоминали о управлении транзакциями в нашей платформе. В этой статье расскажем подробнее о реализации транзакций, их управлении и прочем.

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

Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments11

Практическая холакратия. Нарезаем круги и готовим роли

Reading time15 min
Views49K
В середине лета мы впервые услышали слово «холакратия». За пару дней отвадили себя от неправильного написания (холОкратия) и научились отличать эту модель организации бизнеса от почившей в бозе формы правления с созвучным названием «охлократия». Дальше началось самое интересное: мы решили попробовать холакратию в деле. Момент был подходящим, не хватало только информации. Пришлось изучать скудно описанный опыт западных коллег, призывать на помощь менторов из Амстердама и нырять в бездны поисковиков. Спустя полгода новая концепция начала приживаться, а у нас появился опыт, которым не стыдно поделиться.



В предыдущей статье мы писали о том, что такое холакратия и почему она вам не нужна. Сегодня разбавим сладкую теорию горькой практикой и посмотрим, как это работает в Кнопке. Не обойдём стороной опыт Zappos, Medium, David Allen Company и поспорим в комментах о ситуации в GitHub. Вы с нами? :)
Читать дальше →
Total votes 21: ↑14 and ↓7+7
Comments25

Как формальный менеджмент целый отдел загубил

Reading time8 min
Views83K


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

Цели: классические. Повысить качество работы, эффективность, вывести отдел на новый уровень в целом.
Читать дальше →
Total votes 42: ↑34 and ↓8+26
Comments38

Как мы делали аналитику для высоконагруженного сайта

Reading time9 min
Views27K
image

Недавно на хабре была публикация о том, как реализована аналитика на ivi.ru. После прочтения захотелось рассказать об аналитике, которую мы делали для одного крупного сайта. Заказчик, к сожалению, не разрешил публиковать в статье ссылку на сайт. Если верить Alexa Rank, то трафик на сайте, для которого мы делали аналитику, раз в 10 больше, чем на ivi.ru.
Читать дальше →
Total votes 34: ↑29 and ↓5+24
Comments78

Семь принципов создания современных веб-приложений

Reading time19 min
Views187K
Эта статья основана на моей презентации с конференции BrazilJS в августе 2014 года. Она базируется на идеях, о которых я писал в блоге недавно, в основном, в связи с UX и производительностью.

Я хочу представить 7 действенных принципов для веб-сайтов, которые хотят применить JavaScript для управления UI. Эти принципы являются результатом моей работы как веб-дизайнера, но также как давнего пользователя WWW.

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

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

  • Должен ли JavaScript использоваться как замена функциям браузера: история, навигация, рендеринг?
  • Умирает ли бэкенд? Нужно ли вообще рендерить HTML?
  • Правда ли, что будущее за приложениями на одной странице (Single Page Applications, SPA)?
  • Должен ли JS генерировать страницы на веб-сайте и рендерить страницы в веб-приложениях?
  • Нужно ли использовать техники вроде PJAX или TurboLinks?
  • Каково точное отличие между веб-сайтом и веб-приложением? Должно ли остаться что-то одно?
Читать дальше →
Total votes 108: ↑99 and ↓9+90
Comments33

Вся правда о венчурных инвесторах, часть 2

Reading time4 min
Views9.4K
Часть 1

Выбираем инвестиционные компании и инвесторов внутри компаний


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

Это противоречит интуиции, да и качество фирмы, конечно, важно. Но партнёр – это человек, с которым вы будете работать. Остальных членов фирмы вы увидите пару раз за всю жизнь. Лучше, конечно, выбрать хорошую фирму и хорошего партнёра в ней, но даже в лучших фирмах встречаются слабые партнёры.
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments3

Руководство по созданию стартапов, часть 9, и Вся правда о венчурных инвесторах

Reading time5 min
Views16K
Часть 8

Руководство по созданию стартапов, часть 9: Как нанять профессионального генерального директора компании (CEO)?


Никак. Если никто из основателей стартапа не может быть CEO — немедленно продавайте компанию.

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

Вся правда о венчурных инвесторах, часть 1


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

Часто такие мнения основаны на единичном случае, произошедшем с конкретным человеком, или же неприятном опыте кого-то из знакомых – как обычно, люди больше склонны делиться негативом, нежели позитивом. Попробую поделиться своим,– надеюсь, достаточно широким,- мнением на этот счёт.
Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments7

Мелочи мышления или статья о дендритных шипиках

Reading time12 min
Views50K


Несколько месяцев назад был опубликован цикл статей под общим названием «Логика мышления». Оптимистично планировалось продолжить его через месяц-другой. Но жизнь внесла свои коррективы. Моделирование паттерно-волновой модели коры дало настолько интересные результаты, что пришлось на время отложить все остальное, в том числе и написание продолжения цикла для хабра.

Однако, не так давно я написал и выложил на препринт статью (http://arxiv.org/abs/1406.6901). В чем-то она может быть интересна тем, кто ранее заинтересовался волновой моделью. Напомню, что ключевой момент модели – это утверждение, что нейроны способны запоминать и узнавать не один единственный образ, описываемый весами его синапсов, а еще и огромное количество других отличных от этого образа сигналов. Конечно, такое усложнение нейрона идет в разрез со многими существующими теориями и требует более, чем серьезного обоснования. Ниже я, как раз, и попробую описать один из приведенных в статье аргументов в пользу моей модели.
Читать дальше →
Total votes 59: ↑56 and ↓3+53
Comments16

Логика мышления. Часть 11. Динамические нейронные сети. Ассоциативность

Reading time7 min
Views43K


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

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

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

Идеология рекуррентной сети зависит от того, как соотносится задержка обратной связи и интервал смены образов. Если задержка много меньше интервала смены, то нас, скорее всего, интересуют только конечные равновесные состояния, и промежуточные итерации стоит воспринимать, как исключительно расчетную процедуру. Если же они сопоставимы, то на первый план выходит именно динамика сети.
Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments6
1
23 ...

Information

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