Pull to refresh
-2
0
Дмитрий Вальков @dlc

User

Send message

Многопоточность на Node.js. Event Loop

Reading time8 min
Views68K

Инфа будет полезна JS-разработчикам, которые хотят глубоко понимать суть работы с Node.js и Event Loop. Вы сможете осознанно и более гибко управлять потоком выполнения программы (web-сервера).


Эту статью я составил по материалам своего недавнего доклада для коллег.
В конце статьи есть полезные материалы для самостоятельного изучения.


Как устроена Node.js. Возможности асинхрона


Давайте посмотрим на этот код: он отлично демонстрирует синхронность выполнения кода в Node.js. Делается запрос на GitHub, затем записываем данные в файл и выводим результат в консоли. Что понятно из этого синхронного кода?


image

Читать дальше →
Total votes 14: ↑13 and ↓1+15
Comments16

Вам не нужен time management, вам нужен attention management

Level of difficultyEasy
Reading time7 min
Views19K

Привет, меня зовут Ася Исакова, и я организационный психолог. Я уже 10 лет работаю с разными командами, и за это время видела сотни горящих, выгорающих и сгоревших на работе людей. В этой статье я расскажу, как управлять своим вниманием так, чтобы хватало сил на важные дела и оставалось на себя.

Разбираемся с управлением вниманием на примере огурцов, снежков и медведей

Читать далее
Total votes 26: ↑22 and ↓4+20
Comments29

Дайджест публикаций про управление проектами за неделю

Level of difficultyEasy
Reading time5 min
Views2.9K

Что интересного писали про управление проектами за прошедшую неделю? Мы прочитали все публикации с Хабра, VC (и не только) и выбрали самые крутые и полезные. Читайте аннотации, сохраняйте и применяйте!

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

Тёмные боги корпоративной архитектуры

Reading time9 min
Views5.6K

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

Меня зовут Андрей Жуков, я директор по ML, AI и другим высокотехнологическим базвордам в ИТ-дочке авиакомпании С7, С7 ТехЛаб. Это подразделение создано в 2017 году под впечатлением от книги Skunk Works и было призвано привнести новые технологии в консервативный мир авиации. Так в авиакомпании и появились разные гики вроде меня. Я очень люблю играть в настолки, даже  коллекционирую их. Давно смотрел на Warhammer 40к как на большую и крайне необычную вселенную, читал лор, а недавно мне наконец подарили армию орков, которую в последние полгода я мучительно собираю и крашу. Именно вселенная вахи и будет развлекательным обрамлением для дальнейшего рассказа.

Читать далее
Total votes 12: ↑11 and ↓1+12
Comments8

Сохраняем простоту кода и ускоряем разработку за счет отказа от оверинжиринга

Reading time8 min
Views9K
В процессе программирования я всегда стараюсь сделать программу, минимально удовлетворяющую требованиям с максимально аккуратной архитектурой. Почему? Потому что хочу выдать продукт как можно скорее – у меня нет лишнего времени, нет лишнего внимания и хочется как можно скорее получить фидбек. Быстрое продвижение – это распространенная мотивация, но целенаправленность также имеет большое значение. Под давлением очень просто перескочить через этап планирования, но, когда цикл разработки запускается в спешке, это часто приводит к тому, что разработчик снижает требования к качеству и при этом, сам того не сознавая, уходит в оверинжиниринг.

Мой совет: если хотите ускориться, пишите код как можно проще и как можно чище.
Читать дальше →
Total votes 13: ↑11 and ↓2+14
Comments10

Как команда технарей свою студию создавала. Опыт первых месяцев. Достижения, фейлы, умозаключения…

Reading time9 min
Views137K

Уверен, многих технарей посещала идея создания своего бизнеса. Вот и у нас в определенный момент все звёзды сложились так, что казалось — это беспроигрышный вариант: сильная техническая команда, откуда ни возьмись появились менеджеры, готовые продавать наши услуги, есть даже пара проектов на старт. Грех не попробовать. И мы рискнули. Фактически всё надо ставить с нуля.
Читать дальше →
Total votes 126: ↑110 and ↓16+94
Comments118

Как команда технарей свою компанию создавала, сезон 2 (жизнь в кризис)

Reading time9 min
Views20K

Первая наша статья получила большой отклик на Хабре, 62 тысячи просмотров, +94 голосов, 340 раз добавили в избранное. Это очень круто, и мы с радостью расскажем, что у нас произошло за последний год.

В этом сезоне вы узнаете:
  • как в первый же год заработать 7 млн. в обороте на аутсорсе;
  • как потерять свой первый лям и не сойти с ума;
  • как стать спасителями для ваших клиентов, снять с них боль и ад вечно проблемного IT;
  • как выживать в кризис;
  • и супербонус для тех, кто хочет начать свой бизнес: наша бизнес-модель с преферансом и балеринами. Математически обоснованный расчет стоимости нормочаса на аутсорсе.

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

Как команда технарей свою компанию создавала, сезон 3 (наконец-то полетело!)

Reading time7 min
Views8.6K


Долина смерти пройдена. Мы вырастили аутсорс команду, получили крутые кейсы в портфолио и вышли в стабильную прибыль. Я расскажу, что мы вынесли из этого опыта, почему таки полетело, и какие задачи стоят перед нами сейчас.

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

Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments23

Как команда технарей свой бизнес создавала. Сезон 4 – крах и рост в серийного предпринимателя с амбициозным проектом

Level of difficultyEasy
Reading time6 min
Views2.4K

Тема развития из разработчика в предпринимателя очевидно актуальна. Предыдущие мои три статьи на эту тему собрали 160К+ просмотров и более 600 закладок. Точно знаю уже несколько кейсов, когда люди создавали свой бизнес после прочтения.

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

За эти 5 лет у меня поменялось очень многое. Это точно самый большой сдвиг в восприятии бизнеса, людей, да и в целом мира вокруг. Это колоссально повлияло на все, что я делаю. Повлияло в лучшую сторону.

Интересно, поехали
Total votes 9: ↑6 and ↓3+3
Comments4

Как тестировать не-REST-бэкенд. Часть третья, gRPC

Level of difficultyMedium
Reading time7 min
Views9.4K

Итак, мы с вами добрались до третьей, самой «хардовой» части цикла. Сегодня поговорим про gRPC.

Что такое gRPC? 

Сам RPC — удалённый вызов процедур (иногда вызов удалённых процедур; RPC от англ. remote procedure call) — класс технологий, позволяющих программам вызывать функции или процедуры других программ, делая это так, как если бы они находились в одном адресном пространстве. Буква g в названии — это гугловая реализация этих технологий.

Разберем это все на примере.

Допустим, что вы — программист и сидите в монолитной репе. У вас одно приложение. Сам проект открыт в IDE и вы в нем работаете. В репе реализован определенный класс (например, на Kotlin), у которого есть метод, возвращающий вам данные по пользователю.

Читать далее
Total votes 22: ↑21 and ↓1+25
Comments6

Недельный геймдев: #134 — 13 августа, 2023

Level of difficultyEasy
Reading time5 min
Views1.9K

Из новостей: Inside стала временным эксклюзивом Xbox только благодаря звонку Фила Спенсера, исходники переиздания Quake II теперь доступны на Гитхабе, Nintendo хочет запатентовать базовые механики.

Из интересностей: AI в Arcanum, список государственных фондов/хабов по IT и геймдеву, как Avalanche вложила душу в Hogwarts Legacy, финальная часть документалки к 20-летию Obsidian.

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

Английский, которому меня не учили

Reading time14 min
Views74K

Или максимы Английского языка, которые бы я хотел знать 20 лет назад.

Чем отличается хороший геймер от плохого? Хороший геймер сидит и изучает игру. Он знает каждый закуток. Он может без запинки назвать все характеристики всех юнитов в Star Craft. А самый крутой игрок знает все пропускные способности желтых, красных и синих конвейеров. А плохой игрок использует чит-коды или assistant apps. 

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

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

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

Okay, let's go...
Total votes 104: ↑102 and ↓2+131
Comments174

Domain Driven Design: модели вместо требований

Reading time6 min
Views7.3K

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

Решение — подход DDD, Domain Driven Design, было предложено Эриком Эвансом в 2003. Но прежде, чем о нем говорить, необходимо немного углубиться в историю развития разработки софта как такового.

Читать далее →
Total votes 9: ↑6 and ↓3+4
Comments36

Гики и нёрды: в чём разница?

Reading time8 min
Views49K

Английские слова «гик» и «нёрд» давно вошли в русский язык и не требуют перевода. Однако семантика этюдности в ранней прозе Пришвина… простите, увлёкся. Семантика этих понятий, то есть, их смысловое значение, до сих пор для многих слегка туманна. Порой их используют в качестве синонимов. Хотя это не совсем так, а местами и совсем не так.
Больше подробностей
Total votes 48: ↑41 and ↓7+55
Comments26

Изоляция модели предметной области

Reading time7 min
Views6.5K

Эта статья является переводом материала «Domain model isolation».

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

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

Правильное TDD

Reading time13 min
Views15K

Привет, Хабр! На написание этого поста меня вдохновил другой пост TDD есть опиум для народа, где обсуждаются спорные моменты в подходе TDD и в принципе делается вывод о его несостоятельности (хотя и признается необходимость тестов в любом случае). С автором я был полностью согласен... раньше, пока не понимал действительную суть TDD. Поэтому, я счел своим долгом рассказать суть Test Driven Development от лица человека, который пробовал писать тесты до реализации, разочаровался из-за сложностей, и только через некоторое время, уловив основную мысль, увидевшего новые возможности в разработке через тестирование.

Замечание: я всего лишь junior, и опыта разработки у меня не так много. Но надеюсь, что мне удастся донести мысль до читателя, а ошибки помогут исправить в комментариях. Примеры будут на Kotlin, мне кажется, это не должно стать помехой, язык достаточно хорошо читаемый. Несмотря на довод о слишком упрощенных примерах (наподобие калькулятора) в оригинальной статье, здесь я также не иду в дебри реальных повседневных задач, ограничиваясь кустарным примером. Да простит меня читатель, я не хочу заставлять сильно вникать в код, хочу просто объяснить идею.

Читать далее
Total votes 11: ↑8 and ↓3+7
Comments32

10 современных раскладок в одну строку CSS-кода

Reading time7 min
Views33K

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

Читать далее
Total votes 34: ↑33 and ↓1+39
Comments12

Современные архитектуры фронт-энда

Reading time12 min
Views47K

image


В статье "Contemporary Front-end Architectures" рассмотрены архитектуры фронт-энда с точки зрения потоков данных в исторической ретроспективе.


Материал состоит из трех частей


  1. Теория и история
  2. Реализация
  3. Перспективы

Читать дальше →
Total votes 22: ↑21 and ↓1+23
Comments14

Современные архитектуры фронт-энда (часть 2)

Reading time8 min
Views14K
image

Вторая часть статьи "Contemporary Front-end Architectures", в которой рассмотрены архитектуры фронт-энда с точки зрения распределения потоков данных. Начало здесь
Читать дальше →
Total votes 10: ↑8 and ↓2+8
Comments1

Вы — не Google

Reading time7 min
Views103K
Мы, программисты, иногда почему-то сходим с ума. Причём по каким-то совершенно нелепым причинам. Нам нравится думать о себе, как о супер-рациональных людях, но когда дело доходит до выбора ключевой технологии нового продукта, мы погружаемся в какое-то безумие. Вдруг оказывается, что кто-то слышал что-то об одной классной вещи, а его коллега читал комментарий о другой на Хабре, а третий человек видел пост в блоге о ещё чём-то похожем… и вот мы уже пребываем в полнейшем ступоре, беспомощно барахтаясь в попытках выбора между совершенно противоположными по своей сути системами, уже и забыв, что мы вообще пытаемся выбрать и почему.

Рациональные люди не принимают решения таким образом. Но именно так программисты часто решают использовать что-то вроде MapReduce.

Вот как комментировал этот выбор Joe Hellerstein своим студентам (на 54-той минуте):

Дело в том, что в мире сейчас есть где-то 5 компаний, обрабатывающие данные подобных объёмов. Все остальные гоняют все эти данные туда-сюда, добиваясь отказоустойчивости, которая им на самом деле не нужна. Люди страдают гигантоманией и гугломанией где-то с середины 2000-ых годов: «мы сделаем всё так, как делает Google, ведь мы же строим один из крупнейших (в будущем) сервисов по обработке данных в мире!»

image

Сколько этажей в вашем датацентре? Google сейчас строит четырёхэтажные, как вот этот в Оклахоме.
Читать дальше →
Total votes 252: ↑249 and ↓3+246
Comments197
1

Information

Rating
4,020-th
Location
Россия
Date of birth
Registered
Activity