Как стать автором
Обновить
1
0

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

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

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

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

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

Читать далее
Всего голосов 73: ↑72 и ↓1 +71
Комментарии 58

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

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


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


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


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

Читать дальше →
Всего голосов 53: ↑53 и ↓0 +53
Комментарии 96

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

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

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

Время на прочтение 2 мин
Количество просмотров 58K
Декораторы функций позволяют добавить дополнительное поведение функции, не изменяя ее. Сигнатура оригинальной и декорированной функции полностью совпадают.
Читать дальше
Всего голосов 74: ↑72 и ↓2 +70
Комментарии 28

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

Время на прочтение 6 мин
Количество просмотров 523K
CANVAS шаг за шагом:
  1. Основы
  2. Изображения
  3. Понг
  4. Пятнашки

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

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

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

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

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

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

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

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

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

Время на прочтение 4 мин
Количество просмотров 25K
Привет, Хабр! Представляю вашему вниманию перевод статьи «How to optimize image loading on your website».

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

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

Проблема


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

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

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

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

Как думаете, кто он? Для кого я всё это купил? Потерпите, скоро узнаете.
Читать дальше →
Всего голосов 66: ↑59 и ↓7 +52
Комментарии 26

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

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

Добрый день!


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

Читать дальше →
Всего голосов 13: ↑9 и ↓4 +5
Комментарии 12

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

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

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

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

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

Суррогаты

Время на прочтение 12 мин
Количество просмотров 56K
Бизнес не любит:

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

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

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

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

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

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


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

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

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

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

Читать дальше →
Всего голосов 25: ↑23 и ↓2 +21
Комментарии 19

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

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

image

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

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

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

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

Всего голосов 21: ↑21 и ↓0 +21
Комментарии 48

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

Время на прочтение 13 мин
Количество просмотров 28K
Кто такие руководители, и зачем они нужны? Какая от них в жизни польза? Чем они вообще занимаются? А чем они должны заниматься?

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

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

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

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

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

Создание викторины на Vue.js

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

Vue.js


Я не понимаю Angular. Мне очень нравится React, но я все еще изучаю его основы. Давайте попробуем Vue. Я расскажу, как я сделал микро-викторину.

Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 12

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

Время на прочтение 4 мин
Количество просмотров 26K
Спасибо читателям за поддержку предыдущей статьи. Думаю, пора раскрыть самое интересное, что есть в этой игрушке — это правила.

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

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



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

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

Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 27

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

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


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

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

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

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

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

Не так давно был представлен 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! А вот так будет выглядеть наше приложения, когда мы закончим:


Под катом много картинок.
Будет интересно!
Всего голосов 52: ↑50 и ↓2 +48
Комментарии 40

Информация

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

Специализация

Специалист
От 350 000 ₽