Pull to refresh
1
0

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

Send message

Как посчитать длину текста и не привлекать внимание санитаров

Reading time10 min
Views33K

Привет! Меня зовут Алексей Ивасюта, я фронтенд-разработчик в Авито в кластере Seller Experience. В этой статье я расскажу, как правильно рассчитать длину текста в Java Script. Эта статья будет одинаково полезна как начинающим разработчикам, так и весьма опытным. Благодаря ей вы поймете устройство Unicode и особенности его работы в JS.

Читать далее
Total votes 58: ↑57 and ↓1+71
Comments58

Мы на Highload++ в этом ноябре: задай вопрос инженерам Badoo

Reading time8 min
Views10K


Привет, Хабр! А особенный привет тем, кто в этом году идет на конференцию Highload++, потому что мы там обязательно встретимся. Мы придем, и не с пустыми руками: восемь докладов в семь разных секций.


Но нам не хочется просто показать описания наших докладов, чтобы вы прочитали и сказали: “Понятно”. Мы разыграем 3 билета на конференцию. Для того, чтобы получить их, нужно задать вопрос в комментариях к этому посту одному из нижеперечисленных спикеров, а мы посоветуемся и наградим троих участников. Чтобы вы смогли придумать вопросы, каждый из ребят немного рассказал о команде, в которой работает, и о своей роли в ней.


Под катом – имена, пароли и, конечно, описания наших докладов на конференции.

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

Знай сложности алгоритмов

Reading time2 min
Views1M
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Total votes 312: ↑296 and ↓16+280
Comments99

Микропаттерны оптимизации в Javascript: декораторы функций debouncing и throttling

Reading time2 min
Views58K
Декораторы функций позволяют добавить дополнительное поведение функции, не изменяя ее. Сигнатура оригинальной и декорированной функции полностью совпадают.
Читать дальше
Total votes 74: ↑72 and ↓2+70
Comments28

CANVAS шаг за шагом: Основы

Reading time6 min
Views533K
CANVAS шаг за шагом:
  1. Основы
  2. Изображения
  3. Понг
  4. Пятнашки

Если верить англо-русскому словарю, то можно узнать что canvas переводится как холст, а если верить википедии, то можно узнать что тег canvas, это элемент HTML 5, который предназначен для создания растрового изображения при помощи JavaScript. Тому как создать это растровое изображение и будет посвящен мой небольшой текст. Прежде чем начинать пробовать свои силы в этом не легком деле рекомендуется уже иметь базовые знания о том что такое HTML и с чем едят JavaScript.
Читать дальше →
Total votes 84: ↑82 and ↓2+80
Comments48

Ликбез по техническому заданию

Reading time7 min
Views83K
Польза: получите знания о том, что такое ТЗ и как его составить. Обогатите словарный запас словами: концептуальная модель, data flow, mind card, user flow. use cases, wireframes, ER-model, client-server, API.

Для кого: начинающим разработчикам и желающим чтобы их поняли (заказчикам, стартапам и менеджерам).

Время чтения: 7 минут.

Отправная точка — требования

Хочу пирожное, потом морожное!
Вовка в тридевятом царстве

Существует распространенное заблуждение, что достаточно сказать: “Нужно приложение для музея/кошки/завода” и сразу станет понятно, что вам необходимо.
Total votes 5: ↑3 and ↓2+3
Comments11

Оптимизация загрузки изображений

Reading time4 min
Views28K
Привет, Хабр! Представляю вашему вниманию перевод статьи «How to optimize image loading on your website».

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

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

Проблема


Проблема в том, что часто бывает так, что сам контент уже загружен, а изображения все еще загружаются. В итоге пользователь может увидеть пустое пространство там, где изображения загружаются медленно. Это явно не то, чего вы хотели бы.
Читать дальше →
Total votes 11: ↑5 and ↓6+4
Comments22

Божественный Незнакомец

Reading time7 min
Views14K
Боксёрские перчатки. Перчатки для MMA. Вообще, полный набор для тренировок – лапы, шлем, защита на колени. Спортивный костюм, даже два – для лета и осени. Гитара. Синтезатор. Гантели. Кроссовки, купленные специально для пробежек. Беспроводные наушники, разумеется.

Всё это лежит в моей квартире. Формально всё это – моё. Но я этим не пользуюсь, т.к. купил не для себя. Не, я, конечно, пару раз тягал гантели, попиликал на синтезаторе, освоил аккорд A на гитаре, месяц ходил на тренировки по MMA, столько же занимался пробежками. Но нельзя же злоупотреблять чужой добротой? Вдруг вернётся хозяин всех этих замечательных вещей, и ему не понравится моё самоуправство?

Как думаете, кто он? Для кого я всё это купил? Потерпите, скоро узнаете.
Читать дальше →
Total votes 53: ↑46 and ↓7+52
Comments26

Как повысить КПД разработки, используя теорию ограничений

Reading time4 min
Views9.7K

Добрый день!


Хочу предложить небольшой экскурс в практическое применение теории ограничений для ИТ. А именно — в вопросе расчета "прохода" (throughput) отдела по разработке внутрикорпоративного ПО.

Читать дальше →
Total votes 11: ↑7 and ↓4+5
Comments12

Не лечите меня, доктор

Reading time13 min
Views43K
Когда собирали доклады на голосование для участия в одной специализированной конференции, я хотел рассказать такую тему – как подсидеть директора по качеству. Это был бы конъюнктурный доклад про карьерный рост для программиста или ИТ-директора.

С одной стороны, рост в сторону директора по качеству кажется странным – это вроде совсем другая область. Но, как мы все уже знаем, из программиста может вырасти дофига чего интересного. Это не только я говорю – такая мысль звучит все чаще. Например, на той же конференции другого года был доклад на эту тему — как на западе ИТ-директора уходят в операционный менеджмент, не связанный с ИТ.

Тема управления качеством лично мне кажется невероятно, просто ужасно интересной и безумно полезной. Не потому, что управление качеством – как новый сезон Шерлока или тряхнувшего стариной Джека Бауэра. Просто управление качеством в нашей стране – это пример исключительно наглого, циничного, элементарного, тупейшего, и оттого удивительно эффективного шарлатанства.

Я не знаю ни одной другой отрасли знаний, в которой трудилось бы такое же количество людей, ничего не понимающих в своей профессии. Это не шутка, не гипербола. Я наблюдаю за этими ребятами больше 15 лет — еще с тех пор, когда сертификат ISO еще был престижной редкостью. Я работал с директорами по качеству и специалистами, консультантами и аудиторами, преподавателями ВУЗов и президентами ассоциаций, студентами и аспирантами. Сколько из них, по-вашему, знают и понимают, что такое управление качеством и как его осуществлять? А, вы же знаете, я выше написал – ноль. Ладно, пусть будет 1 % — наверняка где-то, случайно, или волею небес, есть люди, которые что-то понимают. Ну и вы, если внимательно и без предубеждения отнесетесь к управлению качеством, тоже будете понимать. Так, может, и до 2% дотянем.
Читать дальше →
Total votes 109: ↑96 and ↓13+83
Comments216

Суррогаты

Reading time12 min
Views56K
Бизнес не любит:

1. 1С-Франчайзи, программистов 1С вообще, и почти все, что те делают;
2. веб-программистов и компании, создающие и продвигающие сайты, и все продукты их работы;
3. системы менеджмента качества и людей, которые занимаются их внедрением;
4. бухгалтеров и бух.учет;
5. экономистов со всеми их гигантскими экселевскими портянками;
6. внутренние проекты развития, на которые без слез уже смотреть невозможно;
7. Scrum и все эти доски, на которых неделями висят одни и те же стикеры;
8. ТОС, после внедрения которого дефицитов и неликвидов становится еще больше;
9. Контроллинг, который дает цифры позже, чем бух.учет;
10. KPI, адекватность которого приходится доказывать самому себе каждый раз, когда приносят эти цифры;
11. Системы мотивации, которые, как ни крути, «оклад+премия», хоть и названы модными словами, типа «грейд».

Продолжать можно до бесконечности. Никогда не задумывались, почему бизнес всего этого не любит? Или вообще не замечали, что бизнес этого не любит?

При этом, как ни странно, бизнес любит:

1. повышение прибыльности бизнеса за счет автоматизации;
2. увеличение количества лидов и рост оборота за счет правильного продвижения;
3. повышение качества процессов производства и бизнес-процессов;
Читать дальше →
Total votes 91: ↑80 and ↓11+69
Comments122

Логи фронтенд-разработчика Хабра: рефакторим и рефлексируем

Reading time9 min
Views15K


Мне всегда было интересно, как устроен Хабр изнутри, как построен workflow, как выстроены коммуникации, какие применяются стандарты и как тут вообще пишут код. К счастью, такая возможность у меня появилась, ведь недавно я стал частью хабракоманды. На примере небольшого рефакторинга мобильной версии попробую ответить на вопрос: каково это — работать тут фронтом. В программе: Node, Vue, Vuex и SSR под соусом из заметок о личном опыте в Хабре.
Читать дальше →
Total votes 80: ↑78 and ↓2+76
Comments33

Несколько простых, но полезных советов по работе с геттерами в Vuex

Reading time3 min
Views11K

Vuex предоставляет удобные инструменты для работы с данными, но некоторые разработчики используют их не всегда по назначению, либо создают избыточные конструкции там, где можно было написать более понятно и ёмко, такое также случается, когда разработчик только знакомится с данными инструментами. В данной статье будут приведены некоторые рекомендации по организации геттеров (Getters), которые вы сможете применить в работе.

Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments19

Async/await: 6 причин забыть о промисах

Reading time7 min
Views161K
Если вы не в курсе, в Node.js, начиная с версии 7.6, встроена поддержка механизма async/await. Говорят о нём, конечно, уже давно, но одно дело, когда для использования некоей функциональности нужны «костыли», и совсем другое, когда всё это идёт, что называется, «из коробки». Если вы ещё не пробовали async/await — обязательно попробуйте.

image

Сегодня мы рассмотрим шесть особенностей async/await, позволяющих отнести новый подход к написанию асинхронного кода к разряду инструментов, которые стоит освоить и использовать везде, где это возможно, заменив ими то, что было раньше.
Читать дальше →
Total votes 55: ↑48 and ↓7+41
Comments182

Прокачиваем разработку на Vue с помощью паттернов: HOC

Reading time3 min
Views26K

Паттерн HOC (Higher Order Component) очень популярен у React-разработчиков. А вот Vue-разработчики его как-то обходят стороной. Очень зря. Попробуем разобраться в этом.

Total votes 21: ↑21 and ↓0+21
Comments48

Кровососы. Классификация программиста

Reading time13 min
Views28K
Кто такие руководители, и зачем они нужны? Какая от них в жизни польза? Чем они вообще занимаются? А чем они должны заниматься?

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

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

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

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

Я использую специальную модель для оценки руководителей, с которой вам и предлагаю ознакомиться.
Читать дальше →
Total votes 53: ↑31 and ↓22+9
Comments29

Умный дом или игрушка для мужчин (продолжение №1)

Reading time4 min
Views26K
Спасибо читателям за поддержку предыдущей статьи. Думаю, пора раскрыть самое интересное, что есть в этой игрушке — это правила.

Для тех, кто не в теме читал предыдущую статью. Правила позволяют очень гибко управлять умным домом неподготовленному человеку. Нужно только понимать, что такое Амперы, Ватты, понимать, как работает «и» и «или», чем отличается Edge trigger от Level trigger, ну и, наконец, иметь логический склад ума. В общем, не все так просто, но ведь и «издание», где публикуется эта статья тоже не для «полных гуманитариев».

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



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

На входе после счетчика стоит автомат на 32 А. При длительном превышении общей нагрузки в 32 А отключится входящий автомат. Дачный участок останется без электричества. Правила настроены так, чтобы при превышении общего потребления от 25 А до 30 А отключались соответствующие неприоритетные потребители. При 30 А отключается все, что находится под управлением умного дома. Мимо него могут пройти сварочные работы на участке, использование других инструментов, требующих большого потребления таких как: пылесос, электрогриль, электрочайник и т.п.

Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments27

Как собрать умный дом

Reading time5 min
Views54K


Всем привет, с вами команда Wiren Board!

Нас часто спрашивают: «Что можно подключать к вашему контроллеру? Как на нём собрать “умный дом”?»
Чтобы немного прояснить этот вопрос, мы покажем стенд, где к Wiren Board 4 подключены периферийные устройства. На его примере расскажем про типовые варианты подключения устройств и датчиков.

На стенд можно посмотреть на него через онлайн-трансляцию и зайти в демонстрационный веб-интерфейс.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments40

Мобильное приложения для управления умным домом на базе Z-Wave с помощью OpenRemote

Reading time8 min
Views84K

Не так давно был представлен Z-Wave модуль для Raspberry Pi — RaZBerry, который превращает мини-компьютер в полноценный контроллер умного дома. Управление Z-Wave сетью осуществляется с помощью web-интерфейса, использующего HTTP/JavaScript API. Используя JavaScript можно создать набор функций для автоматизации (включение/выключение света, проверка температуры, опрос датчика движения и др.), которые затем можно выполнить, послав HTTP запрос.

Продукт компании OpenRemote с одноименным названием позволяет создавать мобильные приложения для умного дома без программирования, при этом в одном приложении могут использоваться разные технологии: Z-Wave, KNX, X10, ZigBee, управление компьютером по ssh и др.

OpenRemote это сервер выполняющий любые команды и конструктор интерфейсов в котором вы создаете кнопки, переключатели, надписи и др. и этим элементам уже назначаете команды, в нашем случае это HTTP запросы на выполнение JavaScript функций на сервере Z-Wave.

Далее я по пунктам расскажу как создать пульт управления умным домом для iPhone и Android! А вот так будет выглядеть наше приложения, когда мы закончим:


Под катом много картинок.
Будет интересно!
Total votes 52: ↑50 and ↓2+48
Comments40

Information

Rating
Does not participate
Location
Великий Новгород (Новгород), Новгородская обл., Россия
Registered
Activity

Specialization

Specialist
From 350,000 ₽