A presentation at HolyJS in December 2016 in Moscow, Russia by Denys Mishunov
gger ; debu DENYS MISHUNOV DIGITAL GARDEN AS @mishunov
LIVE & BREATHE * CODE * also drink, eat, and don’t forget to enjoy
return path.slice(0, dotIndex); }, isDeep: function (path) { return path.indexOf('.') !== -1; }, isAncestor: function (base, path) { return base.indexOf(path + '.') === 0; }, isDescendant: function (base, path) { return path.indexOf(base + '.') === 0; }, translate: function (base, newBase, path) { return newBase + path.slice(base.length); }, matches: function (base, wildcard, path) { return base === path || this.isAncestor(base, path) || Boolean(wildcard) && this.isDescendant(base, path); } };Life.Base._addFeature({ _prepAnnotations: function () { if (!this._template) { this._notes = []; } else { var self = this; Life.Annotations.prepElement = function (element) { self._prepElement(element); }; if (this._template._content && this._template._content._notes) { this._notes = this._template._content._notes; } else { this._notes = Life.Annotations.parseAnnotations(this._template); this._processAnnotations(this._notes); × 3 ! 1 }Elements Network Performance Console ⠇×
return path.slice(0, dotIndex); }, isDeep: function (path) { return path.indexOf('.') !== -1; }, isAncestor: function (base, path) { return base.indexOf(path + '.') === 0; }, isDescendant: function (base, path) { return path.indexOf(base + '.') === 0; }, translate: function (base, newBase, path) { return newBase + path.slice(base.length); }, matches: function (base, wildcard, path) { return base === path || this.isAncestor(base, path) || Boolean(wildcard) && this.isDescendant(base, path); } };Life.Base._addFeature({ _prepAnnotations: function () { if Elements (!this._template) Network {Performance Console × 3 ! 1 this._notes = []; } else { Frustration: repeat count must be less than infinity life.html:1300 × var self = this; Life.Annotations.prepElement = function (element) { 24/7: BRAIN is not a constructor life.html:1315 × self._prepElement(element); }; if (this._template._content && this._template._content._notes) { Perfectionism: too much recursion life.html:1316 × this._notes = this._template._content._notes; } else { ! Narrow-mindedness: unreachable code after return statement life.html:1325 this._notes = Life.Annotations.parseAnnotations(this._template); this._processAnnotations(this._notes); } ⠇×
× Frustration: repeat count must be less than infinity
ЗОНЫ ПУЛЬСА
(frustration)
return path.slice(0, dotIndex); }, isDeep: function (path) { return path.indexOf('.') !== -1; }, isAncestor: function (base, path) { return base.indexOf(path + '.') === 0; }, isDescendant: function (base, path) { return path.indexOf(base + '.') === 0; }, translate: function (base, newBase, path) { return newBase + path.slice(base.length); }, matches: function (base, wildcard, path) { return base === path || this.isAncestor(base, path) || Boolean(wildcard) && this.isDescendant(base, path); } };Life.Base._addFeature({ _prepAnnotations: function () { if Elements (!this._template) Network {Performance Console × 3 ! 1 this._notes = []; } else { Frustration: repeat count must be less than infinity life.html:1300 × var self = this; Life.Annotations.prepElement = function (element) { 24/7: BRAIN is not a constructor life.html:1315 × self._prepElement(element); }; if (this._template._content && this._template._content._notes) { Perfectionism: too much recursion life.html:1316 × this._notes = this._template._content._notes; } else { Narrow-mindedness: unreachable code after return statement life.html:1325 ! this._notes = Life.Annotations.parseAnnotations(this._template); this._processAnnotations(this._notes); } ⠇×
× 24/7: BRAIN is not a constructor
ЗАКОН ПАРКИНСОНА “ Работа заполняет ровно то время, что на неё отпущено
#йаусталъ
СЧАСТЬЕ СТРЕСС
СЧАСТЬЕ 1:3 СТРЕСС
гиппокамп
гиппокамп • • • концентрация внимания способность к обучению память
Эй, ты! ПРРР
“ 90% чего угодно — ПОЛНАЯ ЧУШЬ — закон/откровение Старджона — ”
62 134 МИЛЛИАРДЕРА НОБЕЛЕВСКИХ ЛАУРЕАТА HARVARD UNIVERSITY EST. 1636
ЧТО? КАК? ПОЧЕМУ?
× Perfectionism: too much recursion
https://habrahabr.ru/company/pvs-studio/blog/118204/
• снижение КПД • паралич перфекционизма • решение необнаруженных проблем
АДЕКВАТНЫЙ перфекционизм
“ В аду для перфекционистов Ни серы нет, и нет огня. А лишь слегка асимметрично стоят щербатые котлы. — Неизвестный (мне) автор — ”
! Narrow-mindedness: unreachable code after return statement
vs.
I T vs.
“ Сам доклад поставлен на отлично. У меня один вопрос: … Почему на технической организации мы говорим о психологии пользователя? — Неизвестный (мне) автор — ”
БЮДЖЕТ ПРОИЗВОДИТЕЛЬНОСТИ
ФИЧА БЮДЖЕТ ПРОИЗВОДИТЕЛЬНОСТИ
БЮДЖЕТ ФИ ПРОИЗВОДИТЕЛЬНОСТИ ЧА
20% БЮДЖЕТ ФИ ПРОИЗВОДИТЕЛЬНОСТИ ЧА
Elements Network Performance Console × 3 ! 1 ⠇× × Frustration: repeat count must be less than infinity life.html:1300 × 24/7: BRAIN is not a constructor life.html:1315 × Perfectionism: too much recursion life.html:1316 Narrow-mindedness: unreachable code after return statement life.html:1325 !
СПАСИБО ДА, ИЛЛЮСТРАЦИИ МОИ:) DENYS MISHUNOV • DIGITAL GARDEN AS Elements Network Performance Console TWITTER: @MISHUNOV × 3 ! 1 ⠇× × Frustration: repeat count must be less than infinity life.html:1300 × 24/7: BRAIN is not a constructor life.html:1315 × Perfectionism: too much recursion life.html:1316 Narrow-mindedness: unreachable code after return statement life.html:1325 !
View debugger; on Notist.
Dismiss
As presented at HolyJS 2016, December 11th, Moscow