Pull to refresh
-1
0
Дмитрий Богданов @d-b

Designer UI/UX/CX

Send message

Почему мои коллеги/сотрудники ведут себя как @%§?

Reading time11 min
Views9.8K
Не за горами очередной старт курса для руководителей разработки «Team Lead 2.0». В связи с этим мы провели открытый урок под названием «Почему мои коллеги/сотрудники ведут себя как @%§?». На вебинаре поговорили о том, что заставляет людей вести себя некорректно, почему люди идут на конфликт, какие есть способы влияния на поведение.





Преподаватель — Станислав Михальский, технический директор «Развитие.Ру».

Каждый из нас сталкивался с конфликтными ситуациями на работе. При этом сам по себе конфликт может быть долгой историей, напоминающей шахматную партию со множеством ходов. Мы же поговорим про эпизод, когда два человека, находясь в конфликтном контексте, ведут взаимодействие. Прикладная цель занятия — научиться из подобных ситуаций выходить без потерь и даже с выигрышем (причём выигрыш необязательно означает проигрыш вашего оппонента).
Total votes 16: ↑11 and ↓5+10
Comments31

Инструмент, который поможет вам выбрать лучшие идеи для продукта

Reading time10 min
Views8K


Давайте представим, что вы управляете продуктом, который помогает малому бизнесу осуществлять техническую поддержку своих клиентов. Вы ищете способы увеличить степень вовлечённости (engagement) и возвращаемости (retention) своих клиентов. У вас есть две идеи:


  • Дашборд, который позволит владельцам бизнеса мониторить статистику вовлечённости.
  • Чат-бот, который поможет владельцам бизнеса автоматизировать коммуникацию с потребителями.

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


Что вы выберете?


Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments2

Паттерны ООП в метафорах

Reading time17 min
Views559K
Большинство литературы посвященной паттернам в ООП (объектно-ориентированном программировании), как правило, объясняются на примерах с самим кодом. И это правильный подход, так как паттерны ООП уже по-умолчанию предназначаются для людей, которые знают что такое программирование и суть ООП. Однако порой требуется заинтересовать этой темой людей, которые в этом совершенно ничего не понимают, например «не-программистов» или же просто начинающих «компьютерщиков». Именно с этой целью и был подготовлен данный материал, который призван объяснить человеку любого уровня знаний, что такое паттерн ООП и, возможно, привлечет в ряды программистов новых «адептов», ведь программирование это на самом деле очень интересно.
Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.
Читать дальше →
Total votes 214: ↑201 and ↓13+188
Comments86

Bash-скрипты: начало

Reading time11 min
Views1.7M
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

Сегодня поговорим о bash-скриптах. Это — сценарии командной строки, написанные для оболочки bash. Существуют и другие оболочки, например — zsh, tcsh, ksh, но мы сосредоточимся на bash. Этот материал предназначен для всех желающих, единственное условие — умение работать в командной строке Linux.


Читать дальше →
Total votes 69: ↑61 and ↓8+53
Comments123

NGINX изнутри: рожден для производительности и масштабирования

Reading time8 min
Views145K
NGINX вполне заслуженно является одним из лучших по производительности серверов, и всё это благодаря его внутреннему устройству. В то время, как многие веб-серверы и серверы приложений используют простую многопоточную модель, NGINX выделяется из общей массы своей нетривиальной событийной архитектурой, которая позволяет ему с легкостью масштабироваться до сотен тысяч параллельных соединений.

Инфографика Inside NGINX сверху вниз проведет вас по азам устройства процессов к иллюстрации того, как NGINX обрабатывает множество соединений в одном процессе. Данная статья рассмотрит всё это чуть более детально.
Поехали!
Total votes 93: ↑93 and ↓0+93
Comments32

Когда больше нет сил: как преодолеть эффект «плато» в английском

Reading time3 min
Views18K
image

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

Как понять, что вы оказались на плато? Очень просто: появляется ощущение, что никаких сдвигов, новых знаний и роста больше нет, хотя вы занимаетесь все так же регулярно.
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments9

Руководство по промисам для тех, кто хочет в них разобраться

Reading time9 min
Views35K
Лес чуден, тёмен — глянь в глубину.
Но прежде я все долги верну…
И много миль, пока я усну,
Так много миль, пока я усну...

Роберт Фрост

image

Промисы — это одно из самых замечательных новшеств ES6. JavaScript поддерживает асинхронное программирование посредством функций обратного вызова и с помощью других механизмов. Однако при использовании функций обратного вызова мы сталкиваемся с некоторыми проблемами. Среди них — «ад коллбэков» и «пирамида ужаса». Промисы — это паттерн, который значительно упрощает асинхронное программирование на JS. Асинхронный код, написанный с использованием промисов, выглядит как синхронный и лишён проблем, связанных с коллбэками.

Материал, перевод которого мы сегодня публикуем, посвящён промисам и их практическому использованию. Он рассчитан на начинающих разработчиков, которым хочется разобраться с промисами.
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments22

Книга «Теоретический минимум по Computer Science. Все что нужно программисту и разработчику»

Reading time4 min
Views44K
image


Хватит тратить время на скучные академические фолианты! Изучение Computer Science может быть веселым и увлекательным занятием.

Владстон Феррейра Фило знакомит нас с вычислительным мышлением, позволяющим решать любые сложные задачи. Научиться писать код просто — пара недель на курсах, и вы «программист», но чтобы стать профи, который будет востребован всегда и везде, нужны фундаментальные знания. Здесь вы найдете только самую важную информацию, которая необходима каждому разработчику и программисту каждый день.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments24

noBackend, или Как выжить в эпоху толстеющих клиентов

Reading time15 min
Views33K
Название статьи не стоит понимать буквально: backend никуда не делся, просто фокус разработки — особенно на начальном этапе развития нового проекта — сильно смещается в сторону «клиентской части». Появляется большой соблазн взять что-то понятное для хранения данных и уже «обвязанное» REST API, максимально отказаться от PHP/Python/Ruby/Java/etc, писать 80% кода «на стороне клиента», минимально заботясь о возне «на стороне сервера».

Эта статья основана на докладе Николая Самохвалова, который, в свою очередь, обобщил опыт ряда проектов, написанных на React, React Native и Swift и переходящих на парадигму noBackend за счёт PostgreSQL+PostgREST.

В конце, вы найдете список must-check-вопросов для работы с noBackend-подходом, а, если ваш Postgres-опыт позволяет, то сразу после прочтения вы можете приступить к разворачиванию безопасного, высокопроизводительного и годного для быстрого развития REST API.



О спикере: Николай Самохвалов больше десяти лет работает с PostgreSQL, является со-организатором российского сообщества RuPostgres.org и в данный момент помогает различным компаниям оптимизировать, масштабировать и автоматизировать процессы, связанные с эксплуатацией PostgreSQL. Далее — расшифровка доклада Николая на Backend Conf, рассчитанного и на бэкенд, и на фронтенд разработчиков.

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


Total votes 50: ↑46 and ↓4+42
Comments87

Полезные приёмы работы с массивами в JavaScript

Reading time6 min
Views53K
В большинстве приложений, которые разрабатываются в наши дни, требуется взаимодействовать с некими наборами данных. Обработка элементов в коллекциях — это часто встречающаяся операция, с который вы, наверняка, сталкивались. При работе, например, с массивами, можно, не задумываясь, пользоваться обычным циклом for, который выглядит примерно так: for (var i=0; i < value.length; i++ ){}. Однако, лучше, всё-таки, смотреть на вещи шире.

image

Предположим, нам надо вывести список товаров, и, при необходимости, разбивать его на категории, фильтровать, выполнять по нему поиск, модифицировать этот список или его элементы. Возможно, требуется быстро выполнить некие вычисления, в которые будут вовлечены элементы списка. Скажем, надо что-то с чем-то сложить, что-то на что-то умножить. Можно ли найти в JavaScript такие средства, которые позволяют решать подобные задачи быстрее и удобнее, чем с использованием обычного цикла for?

На самом деле, такие средства в JavaScript имеются. Некоторые из них рассмотрены в материале, перевод которого мы представляем сегодня вашему вниманию. В частности, речь идёт об операторе расширения, о цикле for…of, и о методах includes(), some(), every(), filter(), map() и reduce(). Здесь мы, в основном, будем говорить о массивах, но рассматриваемые здесь методики обычно подходят и для работы с объектами других типов.
Читать дальше →
Total votes 43: ↑35 and ↓8+27
Comments29

Как и зачем мы сделали свои банкоматы

Reading time8 min
Views86K
Идея создания собственного банкомата звучала несколько безумно. Но мы сознательно пошли на риск, чтобы наделить свой банкомат новыми возможностями, которых нет у конкурентов. В этом посте мы хотим рассказать, чему научилась наша команда в процессе разработки, тестирования и развертывания собственной сети банкоматов, и объяснить, почему изобретать велосипед заново отнюдь не бесполезное занятие.

Читать дальше →
Total votes 195: ↑187 and ↓8+179
Comments248

Как автоматизируют разработку команды различных размеров

Reading time11 min
Views17K

Прошедший в январе в Яндексе Team Leader Meetup подарил нам не только два часа видео, но и тему второй встречи, которые выбрали участники встречи в специальном чате. Говорить мы будем, как понятно из заголовка, об автоматизации разработки.




Выбор инструментов автоматизации во многом зависит от размеров команды, поэтому важно отслеживать их эволюцию с учётом роста небольшого стартапа до огромной, компании, которая сама создаёт инструменты для разработки. Чтобы понять, с чем в таком случае столкнутся руководители команд, мы задали несколько вопросов нашим экспертам, среди которых, Иван ginkage Подогов, Роман shadart Пузиков, Сергей profitware Собко, Алексей alexmog Могилевский.


  1. Предположим, вы решили открыть свой стартап. В нём на старте работает небольшая команда (пять программистов). Какие инструменты автоматизации разработки вы внедрите?
  2. Стартап зажёг! Теперь в нём работает очень много людей. Что изменится? Что добавится?
  3. Какой несуществующий инструмент (или даже тип инструмента) вам был настолько нужен, что вы не выдержали и сделали его для себя сами?

Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments4

Оптимизируем веб с Виталием Фридманом, — компрессия, картинки, шрифты, фичи HTTP/2 и Resource Hints

Reading time12 min
Views26K
Предлагаем вашему вниманию подборку всевозможных лайфхаков и трюков по оптимизации объема загружаемого кода и файлов, а также общего ускорения загрузки веб-страниц.


В основе статьи расшифровка выступления Виталия Фридмана из Smashing Magazine на декабрьской конференции Holy JS 2017 Moscow.
Total votes 49: ↑46 and ↓3+43
Comments4

Задачи с собеседований (front-end)

Reading time18 min
Views328K
Так получилось, что за свою карьеру front-end разработчика, я побывала на многих собеседованиях. Тема прохождения интервью не теряет своей актуальности, а в комментариях, когда речь заходит о собеседованиях, начинают ломаться копья. Хочу тоже внести свой вклад и поделиться накопившейся коллекцией вопросов. Прошу.

image
Читать дальше →
Total votes 74: ↑58 and ↓16+42
Comments230

Тонкости модульной системы ECMAScript 2015 (ES6)

Reading time5 min
Views116K
Уже около полугода я пишу на ES6 (который в итоге назвали ES-2015) и ES7, с использованием бабеля в качестве транслятора. Писать мне приходилось в основном серверную часть, соответственно, использование модулей было само собой разумеющимся: до ES6 — с помощью модульной системы самой ноды, а теперь — с помощью стандартизированной семантики самого языка. И мне захотелось написать статью, в которой расписать тонкости, плюсы, подводные камни и необычности новообретенной модульной системы языка: отчасти — чтобы другим было проще, отчасти — чтобы разобраться во всём окончательно самому.

Я разберу, что такое модуль, как происходит экспорт сущностей, как происходит импорт сущностей, чем система модулей ES6 отличается от системы модулей в NodeJS.
Итак, начнем.
Total votes 39: ↑39 and ↓0+39
Comments38

Введение в стрелочные функции (arrow functions) в JavaScript ES6

Reading time5 min
Views79K
“Толстые” стрелочные функции (=>), так же известные, как arrow функции – абсолютно новая функциональность в ECMAScript 2015 (ранее известном под именем ES6). Если верить слухам, то в ECMAScript 2015 => синтаксис стал использоваться вместо –> синтаксиса под влиянием CoffeeScript. Так же, не последнюю роль сыграла похожесть передачи контекста this.

У стрелочных функций есть две главные задачи: обеспечить более лаконичный синтаксис; обеспечить передачу лексического this с родительским scope. Давайте детально рассмотрим каждую из них!
Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments45

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

Reading time11 min
Views582K

От переводчика:
Предлагаю вашему вниманию перевод краткого (действительно краткого) руководства по 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

Сохранение JS и CSS ресурсов в Локальном хранилище браузера

Reading time3 min
Views17K
Вопрос, стоит ли хранить javascript и css ресурсы веб-страницы в LocalStorage браузера или позволить ему самому отрабатывать кэширование, не имеет однозначного ответа. Есть плюсы и минусы. С моей точки зрения, основной плюс — скорость загрузки — перевешивает все остальное. Это очень хорошо чувствуют пользователи EDGE и 3G.

Для поклонников стандартного кэша браузеров, гордо показывающих на слово «Кэшировано» в Средствах разработчика, советую открыть Fiddler и увидеть, что по каждому кэшированному ресурсу за 304 HTTP ответом всё равно идет запрос. Затем советую зайти на что-нибудь типа pingdom.com и увидеть, что непосредственно передача данных во всем времени исполнения запроса занимает проценты. То есть толку в абсолютном значении от такого кэширования — кот наплакал, особенно если файлы небольшие.
Читать дальше →
Total votes 27: ↑14 and ↓13+1
Comments114

Генератор статических сайтов metalsmith

Reading time5 min
Views13K


С каждым годом происходит развитие технологий, используемых разработчиками front-end. И здесь речь идет не только о конкретных фреймворках и архитектурных паттернах для реализации клиентской логики в браузерах, но и о различных альтернативных инструментах, таких как, например, генераторы статических сайтов. Их основной целью является упрощение процесса создания статических сайтов. Безусловно они не являются универсальным инструментом, но в некоторых случаях они подходят как нельзя лучше:

  • Прототип web-интерфейса
  • Блог с редко обновляемым контентом
  • Отдельная статическая часть другого web-приложения
  • Сайт-визитка или landing-page
  • Онлайн-документация
Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments3

Эти невероятно ценные навыки помогут вам стать успешнее

Reading time6 min
Views15K


Навык – это сопряжение опыта, интеллекта и страсти, воплощенное на практике.

Джон Рёскин донельзя хорошо сформулировал, что такое «навык».

Когда вы стараетесь постоянно совершенствовать свои навыки, вас балует успех в жизни и работе.

Никогда не прекращайте учиться, это дело всей жизни. Всегда.

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

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

«Любой приобретаемый навык удваивает ваши шансы на успех».
— считает Скотт Адамс


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

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

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

Переведено в Alconost
Читать дальше →
Total votes 16: ↑9 and ↓7+2
Comments2
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity