Pull to refresh
-20
0
Андрей Рудин @rudinandrey

Разработчик со стажем, full стек.

Send message

Надували, надуваем и будем надувать. Пузыри программистов

Reading time4 min
Views54K

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

Но мы – круче. В определённых условиях мы умеем надувать огромные перламутровые пузыри, которые потом годами не лопаются. Толку от них нет, но… Красиво же!

Читать далее
Total votes 111: ↑87 and ↓24+98
Comments72

Как писать хорошую документацию

Reading time14 min
Views16K

Несколько лет назад я услышал от одного коллеги историю. Он в то время работал начальником отдела технической документации в IT компании. Дело было на собрании, посвященном знакомству с новым техническим директором. Тот, пожав моему коллеге руку и узнав о его роли, пошутил: “Документация? Так ее же не читает никто! Двадцать первый век на дворе”.

Вряд ли кому-то из нас было бы приятно оказаться на месте этого человека. Но, коллеги, положа руку на сердце, нет ли в подобном отношении нашей вины? К сожалению, я нередко сталкиваюсь с ситуациями, в которых документация, официальная или нет, не может мне помочь. А ведь ее кто-то писал, тратил время и усилия. Зачем это было сделано? И как можно сделать лучше? В этой статье я поделюсь своим видением того, как писать документацию, приносящую реальную пользу читателям.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments16

Как работает Middleware в Express?

Reading time6 min
Views19K

Эта статья представляет собой адаптированный отрывок из книги "Express API Validation Essentials". Она научит вас полноценной стратегии валидации API, которую вы можете начать применять в своих Express-приложениях уже сегодня.

__________________

Документация Express говорит нам, что "приложение Express - это, по сути, серия вызовов функций промежуточного ПО". На первый взгляд это звучит просто, но, честно говоря, промежуточное ПО может быть весьма запутанным. Вы, вероятно, задавались вопросом:

Читать далее
Total votes 8: ↑5 and ↓3+2
Comments1

Запросить 100 серверов нельзя оптимизировать код. Ставим запятую

Reading time7 min
Views6.5K

Можно выделить ряд алгоритмов, которые являются базовыми и лежат в основе практически каждой строчки программ, написанных на языках высокого уровня. Хорошо иметь под руками классический многотомный труд Дональда Кнута "The Art of Computer Programming", там детально разобраны многие базовые алгоритмы. Но прочесть и усвоить все — задача, требующая много усилий и времени, которая должна как-то быть мотивирована.


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


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


Является продолжением серии предыдущих публикаций.

Читать дальше →
Total votes 38: ↑37 and ↓1+50
Comments2

Вакцины vs антибиотики: почему люди не доверяют вакцинам, но не боятся злоупотреблять антибиотиками

Reading time12 min
Views27K
Реакция мира на новый коронавирус в 2020 году и идущая с разным успехом в разных странах прививочная кампания от него него в 2021, обнажили и обострили множество слабых мест экономики и социальных проблем. Фактически, многие аспекты социального (коллективного) бытия сейчас переживают стресс-тест, подобного которому не было с начавшейся в 1929 году Великой депрессии.

Одна из особо проявивших себя, но недостаточно обсуждаемых динамик — разница в коллективном восприятии вакцин и антибиотиков.

Вакцины, можно сказать, лучшее, что изобрела фармакология: и по эффективности, и по безопасности. Антибиотики, например, чем дальше — тем больше приносят проблем. Они ослабляют иммунитет, выполняя работу за него и уничтожая микрофлору, и усиливают бактерии, приводя к возникновению супербактерий. Вакцины — усиливают иммунитет и перекрывают бактериям и вирусам путь к передаче и эволюции. Не говоря уж ни о каких вообще таблетках или чём-то ещё.



Однако в коллективном восприятии отпечаталась, почему-то, вывернутая наизнанку картинка: антибиотики среди людей очень, чрезмерно популярны. Врачи в один голос говорят о важности основных прививок и предупреждают об опасностях злоупотребления антибиотиками — однако в народе процветает антиваксерство, а антибиотики в аптеках сметают с полок как витаминки.
Как в массовой культуре перепутались опасности вакцин и антибиотиков
Total votes 100: ↑60 and ↓40+37
Comments877

Гайд по тестированию рекламы для мобильных приложений

Reading time8 min
Views6.4K

Тестировать рекламные механики не так просто, как может показаться. Главные действующие лица здесь — сторонние SDK, которые не особо подконтрольны команде разработки. А так как рекламные интеграции — важная часть наших мобильных приложений, то ниже вместе с @maiscourt и @santypa расскажем, как мы это делаем.

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

Читать далее
Total votes 32: ↑31 and ↓1+35
Comments0

<img>. Доклад Яндекса

Reading time30 min
Views27K
«Просто добавь картинку на сайт», — говорили они. А оказалось, что «просто» не значит «правильно». В докладе я постарался разобраться, как эффективно добавлять изображения на страницу, какие форматы графики для каких случаев полезны и как автоматизировать автоматизируемое.

— Всем привет. У меня доклад с интригующим названием в виде одного тега.
Total votes 45: ↑45 and ↓0+45
Comments4

Что читать на английском языке чтобы не умереть от скуки

Reading time9 min
Views48K

Читать на английском – интересно и полезно. Однако, многолетнему обитателю рунета непросто найти хорошие иностранные ресурсы. Плюс, многое из найденного оказывается скучным или слишком сложным. Я постарался подобрать интересные сайты для практики английского и понять, какие из них имеют доступный уровень сложности, а какие – более 9999999.

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

Читать далее
Total votes 20: ↑19 and ↓1+23
Comments16

Wireshark для всех. Лайфхаки на каждый день

Reading time7 min
Views100K

Пакет с сертификатами от Хабра

Wireshark — очень известная программа для захвата и анализа сетевого трафика, незаменимый инструмент хакера, сетевого инженера, программиста, специалиста по безопасности. Да вообще любого любознательного человека, который хочет детально изучить трафик со своего или чужого мобильного телефона, фитнес-браслета, телевизора.
Читать дальше →
Total votes 44: ↑42 and ↓2+52
Comments16

Всегда старайтесь быть н̶е̶заменимым

Reading time3 min
Views42K
Есть хорошая жизненная философия, которой можно придерживаться на рабочем месте, — это «постоянно быть готовым увольняться» («always be quitting»). Это не значит думать о том, чтобы уйти с работы. Но вести себя так, как будто вы можете уйти в кратчайшие сроки. Парадоксально, но это сделает вас лучшим инженером и откроет возможности для роста.

Так что же значит «постоянно быть готовым уйти»? Это означает «сделать себя заменимым»; «унизить себя»; «автоматизировать свою работу». Возможно, вы слышали эти более популярные ярлыки (и вам нужно будет с этим поразбираться и выяснить что это), и они дают подсказку что делать.

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

Парадоксально, но, будучи легко заменимым, вы освобождаете себя. Вы облегчаете себе переход к роли более высокого уровня и вам легче менять проекты, над которыми вы работаете. Не согласны? В замешательстве? Вот 10 конкретных вещей, которые вы можете сделать:
Читать дальше →
Total votes 80: ↑70 and ↓10+81
Comments119

Как подобрать дизайнера для проекта?

Reading time7 min
Views3.2K

Если вы не хотите, чтобы ваш проект закончился на этапе разработки дизайна, или пользователи не убежали в страхе - дизайнера нужно выбрать с умом, о чем я расскажу в этом материале. 

Я постаралась систематизировать в этой статье свой опыт подбора множества дизайнеров на проекты различной сложности: от пакета баннеров, лэндинга до интерфейса No-code платформы без ТЗ. Материал будет полезен тем, кто слабо разбирается в дизайне, впервые подбирает дизайнера на проект или получает проекты не того качества, которого хотелось бы.  

Читать далее
Total votes 4: ↑2 and ↓2+2
Comments9

Работа в распределенной команде: типичные проблемы и их решения

Reading time12 min
Views7.3K

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

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

Всё это я проговаривал в подкасте Кода Кода.

Однако я уверен, что есть такие люди, которым не хочется полчаса слушать подкаст, а хочется за 5-10 минут прочитать структурированный текст. Поэтому я размещу его тут, в надежде на то, что он найдет своего заинтересованного читателя

Небольшой дисклеймер: Я веду телеграм-канал с названием Тимлид Очевидность. Поэтому все мои советы и рекомендации, вроде бы, довольно очевидные и плавают на поверхности. Однако при общении с разными командами оказывается, что не всегда всё настолько ясно и понятно. А еще важно, что ценность очевидных советов ощутимо возрастает, если применять их более-менее комплексно.

Читать далее
Total votes 15: ↑13 and ↓2+16
Comments24

Как и зачем Mail.ru Group провела редизайн мобильной версии главной страницы портала

Reading time5 min
Views4.4K


Появление новых сервисов стало испытанием для главной страницы Mail.ru — пользователям стало сложнее находить нужные разделы, и в компании решили обновить дизайн. Специалисты Mail.ru Group рассказали об изменениях в мобильной версии главной страницы портала, какие задачи он решает и к каким результатам позволил прийти.
Читать дальше →
Total votes 20: ↑12 and ↓8+15
Comments9

Управление зависимостями в Node.js

Reading time6 min
Views9K
Управление зависимостями — это часть повседневной работы Node.js-программиста. Сегодня мы поговорим о разных подходах к работе с зависимостями в Node.js, и о том, как система загружает и обрабатывает зависимости.

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



Прежде чем мы перейдём к разговору об управлении зависимостями, поговорим о модулях. Что это такое? Зачем разработчику задумываться о неких «фрагментах кода», вместо того, чтобы просто писать весь код в одном файле?
Читать дальше →
Total votes 36: ↑24 and ↓12+21
Comments8

Как масштабировать разработку при 400 000 RPM и не надорваться

Reading time10 min
Views3.5K
Если бизнес идет вверх, то запросы и нагрузка на разработку увеличиваются в разы. Рано или поздно каждый управленец сталкивается с выбором из двух крайностей: встать на сторону бизнеса, двигать продукт и демотивировать разработчиков бесконечным техдолгом или дать свободу разработке и потерять контроль над задачами бизнеса.

Mindbox 15 лет развивает B2B-продукт и вырос с 3 до 70 человек в разработке. Мы тестировали разные подходы к масштабированию и готовы поделиться опытом, чтобы вам не пришлось наступать на те же грабли. Ниже расскажу, как попробовали полную автономию команд и централизацию, роняли надежность, демотивировали команды, как в результате с этим справились и выработали свою систему масштабирования.

По материалам выступления на Agile Days 2021:


Total votes 4: ↑4 and ↓0+4
Comments2

Микросервисы — не способ масштабироваться

Reading time4 min
Views12K

В большом количестве статей, источников микросервисы, помимо всего прочего, представляются как способ построить масштабируемое решение. Рассмотрим на примерах, почему это не так. А так же попытаемся внести свою лепту в извечный вопрос: "Что лучше: монолит или микросервис?"

Читать далее
Total votes 25: ↑10 and ↓150
Comments54

7 лучших библиотек для создания молниеносно быстрых приложений ReactJS

Reading time6 min
Views19K

ReactJS по умолчанию обладает высокой производительностью. Но время от времени у вас появляется шанс сделать его еще лучше. И замечательное сообщество React придумало для этого несколько фантастических библиотек.

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

Давайте начнем.   

.     .     .

Читать далее
Total votes 16: ↑12 and ↓4+8
Comments6
12 ...
70

Information

Rating
Does not participate
Location
Лениногорск, Татарстан, Россия
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Mobile Application Developer
Lead
From 300,000 ₽
JavaScript
HTML
CSS
Adaptive layout
JQuery
Web development
React
Node.js
Webpack
Vue.js