Pull to refresh
31
0
Игорь Карелин @Igoryas

User

Send message

Как стать Python-разработчиком бесплатно? Программа обучения с нуля

Level of difficultyEasy
Reading time2 min
Views26K

Если вбить фразу «python разработка» в поисковую строку, можно найти огромное количество курсов по данному направлению. Дело в том, что все курсы являются платными и, как правило, имеют ценник в несколько десятков тысяч рублей. 

Чтобы разбавить обилие платных курсов, мы подготовили для вас программу обучения «Python-разработчик с нуля», которая состоит только из бесплатных курсов.

Читать далее
Total votes 33: ↑29 and ↓4+26
Comments10

Как в Node.js контролировать потребление памяти при обработке сетевых запросов

Level of difficultyMedium
Reading time10 min
Views6.8K

Всем привет! Я Виктор Кугай, руководитель команды разработки спецпроектов в Тинькофф. Мы создаем геймификационные проекты, основанные на данных, чтобы познакомить пользователей с экосистемой компании и повысить узнаваемость бренда.

Расскажу, как с помощью Node.js Streams и механизма Back Pressure протокола TCP реализовать пакетную обработку сотен гигабайтов данных на машинах с жестким лимитом памяти.

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

10 фактов, которые разработчики ПО должны знать про обучение

Reading time26 min
Views7.7K

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

Читать далее
Total votes 25: ↑23 and ↓2+24
Comments3

Ультимативный гайд по HTTP. HTTP/1.1 vs HTTP/2

Level of difficultyEasy
Reading time6 min
Views25K

Продолжаем цикл статей о протоколе HTTP: расскажем, что нового привнесла версия HTTP/1.1 и какие у нее принципиальные отличия с версией HTTP/2.

Читать далее
Total votes 9: ↑7 and ↓2+7
Comments10

Личный опыт: переход с Redux на Effector. И при чем тут DX

Level of difficultyMedium
Reading time6 min
Views5.7K

Frontend-разработка очень богата различными инструментами. Новые фреймворки и библиотеки выходят чуть ли не каждый день и, к сожалению, не все из них одинаково полезны или могут сделать ваш продукт лучше. Кроме того, они различаются по степени удобства именно для разработчика. Есть такое понятие DX – Developer eXperience – по аналогии с UX. Это то, насколько разработчику удобно, интуитивно понятно пользоваться определенным сервисом.

Меня зовут Аня, я frontend-специалист в компании SimbirSoft с опытом в разработке более трех лет. Уже успела поработать со многими инструментами, участвовала в проекте, где переносили огромное приложение на новые библиотеки, в том числе заменяли Redux на Effector. В этой статье хочу поделиться своими мыслями об этих стейтменеджерах с точки зрения DX. 

Да, их сравнивали много раз, но мой акцент будет на том, как писать код на Effector для привычных кейсов в Redux. Подчеркну, DX — это не про рациональные аргументы, а про комфорт, фэншуй и тому подобные вещи (вы же понимаете, о чем я, правда?…).

Забегая вперед, хочу сказать, что Effector мне понравился. И прежде всего своей простотой — да-да, один из наших любимых принципов KISS). И может быть, что я по поводу Effector испытываю ещё какую-то национальную гордость, потому что это разработка ребят из России.

Читать далее
Total votes 9: ↑7 and ↓2+5
Comments43

Основы CQRS

Reading time14 min
Views94K
Данная статья основана на материале из различных статей по CQRS, а также проектов, где применялся такой подход.

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

Поэтому при разработке зачастую можно наблюдать одни и те же проблемы в организации кода и архитектуры, а также в их усложнении. При неправильном подходе к проектированию рано или поздно может наступить момент, когда код становится настолько сложным и запутанным, что каждое внесение изменений требует все больше времени и ресурсов.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments88

Как уменьшить размер бандла раз и навсегда: приемы, метрики, мониторинг

Level of difficultyMedium
Reading time18 min
Views6.8K

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

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

Детальный React. Реконсиляция, рендеры, Fiber, виртуальное дерево

Level of difficultyHard
Reading time19 min
Views18K

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

На момент написания статьи, последняя стабильная версия React 18.2.0. За 10 лет разработчики Facebook проделали колосальный объем работы, было реализовано много фич и сделано не мало оптимизаций. За эти годы, так же, происходили и кардинальные архитектурные изменения. Очевидно, одной статьи мало, чтобы покрыть всю механику React, поэтому, данная публикация станет первой в серии статей о внутреннем устройстве React. Здесь мы познакомимся с основными сущностями и архитектурными решениями.

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

Наводим порядок в конфигах Webpack

Level of difficultyMedium
Reading time15 min
Views5.2K

Всем привет. Меня зовут Евгений Чернышев, и я возглавляю фронтенд-разработку в одном из направлений деятельности Домклик. Хочу поделиться своими мыслями о том, как управлять сложными конфигурациями Webpack. Сразу «проведу черту», чтобы предотвратить возможные холивары: сравнение Webpack с другими бандлерами (Rollup, Vite и прочими) выходит за рамки статьи.

Де-факто, Webpack является основным сборщиком фронтенд-проектов. Это зрелый продукт, который до сих пор развивается и повсеместно используется. Но, как и любой инструмент, он имеет свои слабые стороны. Я считаю что основной недостаток Webpack — это сложность его конфигурации. На крупных долгоживущих проектах конфигурационные файлы становятся слишком большими и нечитаемыми, превращаясь в мешанину вложенных объектов и spread-операторов. Чтобы показать, что я имею в виду, рассмотрим стадии развития проекта.

Читать далее
Total votes 18: ↑17 and ↓1+18
Comments5

Моя любимая задача для собеседований по программированию

Level of difficultyMedium
Reading time9 min
Views99K

В сети есть уйма постов и видео, где разбираются ответы на вопросы LeetCode. Но обычно рассмотрение в них происходит с позиции соискателя, а не работодателя. В этой же статье я приведу разбор собственной задачи по программированию, которую использовал при приёме людей на работу в Amazon, Google и Microsoft.
Читать дальше →
Total votes 100: ↑95 and ↓5+121
Comments170

Остаться в живых. Токсичность в ИТ глазами девушки-лида

Level of difficultyEasy
Reading time6 min
Views64K

Каждый из нас хоть раз сталкивался с токсичными людьми. Но одно дело, когда ты встречаешь их на улице, другое — когда ты в токсичном коллективе каждый рабочий день. Как обстоят дела в ИТ? Может, мы и правда «поколение снежинок»? Присутствует ли нездоровое общение в наших кругах? Давайте разбираться в статье.

В ИТ я 15 лет. Не буду зудеть: «В нашей молодости было по-другому», да и не было. Понятие токсичности распространилось широко где-то в 2018-м, но, например, резкие высказывания на ревью были всегда. Другое дело, что многое зависит от нашего восприятия.

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

Читать далее
Total votes 135: ↑112 and ↓23+115
Comments578

Не бойтесь брать джунов

Level of difficultyEasy
Reading time5 min
Views11K

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

Читать далее
Total votes 31: ↑27 and ↓4+26
Comments37

Основы Scrum менее чем за 10 минут (Scrum Alliance)

Level of difficultyEasy
Reading time6 min
Views17K

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

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

Итак, погружайтесь и узнайте все об основных принципах Скрама... и все это менее чем за 10 минут.

Scrum Alliance

Читать далее
Total votes 12: ↑6 and ↓6+2
Comments33

System Design 101

Level of difficultyMedium
Reading time42 min
Views81K



О сложных системах простыми словами.


В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы — рекомендую уделить им пристальное внимание. Полагаю, шпаргалка будет интересна всем, кто хоть как-то связан с разработкой программного обеспечения и, прежде всего, веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий, терминологии, логики/алгоритмов работы систем (в рамках того, что по этому поводу содержится в оригинале), а также в обнаружении очепяток.


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


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


System Design (сборник на английском языке).

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

Дорогая, я уменьшил пакет npm

Level of difficultyMedium
Reading time8 min
Views3.9K

При разработке программного обеспечения исходный код почти всегда поставляется в виде файлов .tar.gz или .tgz. Но gzip начинает устаревать, уступая место более новым, более современным алгоритмам сжатия, таким как Brotli и ZStandard. Теперь представьте себе мир, в котором npm использует один из этих новых алгоритмов. В статье поговорим о сжатии и возможности модернизации стратегии сжатия npm.

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

Как минимально жизнеспособный продукт стал максимально переоцененной концепцией

Level of difficultyEasy
Reading time5 min
Views7.1K

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

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

Почему Array.isArray(Array.prototype) возвращает true?

Reading time7 min
Views7.7K

Сегодня мы с вами разберемся в следующем: что за метод такой Array.isArray(), как он устроен под капотом, что изменилось с ним после выхода ES6, почему он возвращает для Array.prototype значение true и еще много связанных с этим методом тем.

Читать далее
Total votes 19: ↑18 and ↓1+26
Comments8

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Specialist
JavaScript
Node.js
HTML
CSS
React
TypeScript
Webpack
Web development
Angular