Pull to refresh
60
-1
Коротаев Александр @aavezel

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

Send message

В том то и проблема в том что такие вещи очень хороши при нулевом зацеплении объектов в вакууме. В реальной сфере зацепление у объектов/функций почти никогда не нулевое. И даже не единичные. Даже если мы всегда обмазываемся DI, CI и прочими паттернами. И обычно они зацеплены на целый ряд сервисов и интерфейсов (и повезет если того же самого модуля). И изменение любого этого сервиса и интерфейса приводит к лавиообразной сложности поддержки тестового покрытия написанного методом copy-paste.

Смиритесь с избыточностью, если она поддерживает простоту.

О да... Этот метод очень хорошо работает если для разработки продукта использовать правило: write-once-modify-never. Иначе на этой избыточности можно хорошо прогореть, особенно если писать тесты для чтения. а не для тестирования. Недавно в подобном проекте делал исправление: добавил одно малюсенькое правило, которое зависит от дополнительного параметра в окружении. Всё бы хорошо было на бумаге: Посмотрел что с выключенным свойством все тесты не упали, написал пару тестов при включенном окружении - проверил правило. Но, прошлый программист с кюа пытались написать тесты именно выше написанным способом, а в окружении явно требовало указывать эти параметры. Из за чего мне пришлось вносить дефолтное поведение в более чем 3к тестов и писать ещё несколько тестов на новое правило. Забавное скажу вам занятие....

Легко если есть тестовое покрытие на типы )

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

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

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

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

потому как айтишники его уже завоевали

степень это оператор выше умножения.

а функции надо выделять на этапе разбора лексем первоначального выражения и выписывать их как унарный оператор на самом высоком уровне. Т.е. у нас есть выражение:

exp(1+x)*-2

Его надо распарсить на 2 массива

f1 = exp . [1, +, x]
[f1, *, -2]

далее преобразуем оба массива в обратную польскую

f1 = exp . [1, x, +] = 1 x + exp
f1 -2 *

И во втором выражении подменяем f1

1 x + exp -2 *

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

В период рассвета нейросетей, обучить SF и сделать промпт который бы генерировал нужный контент в pixel art 1080P, не такая неподъемная задача, как сделать 10к спрайтов...

Странно что для питона используется dict а для js используется множественные условия. Хотя и там и там можно писать примерно одинаково (разница в скобках):

function isValid(s) {     
  let stack = [];
  let brackets = {
    ')': '(',
    ']': '[',
    '}': '{'
  }

  for (let char of s) {
    if ('([{'.includes(char)) {
      stack.push(char);
    } else if (')]}'.includes(char)) {
      if (stack.length == 0 || brackets[char] != stack.pop()) {
        return false;
      }
    }
  }

  return stack.length == 0;
}

 А вот калькулятор все делали, и подскажут и посмотреть есть куда

не надо спрашивать куда смотреть. лучше попросить кодревью от какого нибудь сениора...

Особенно бесят задачи на 9 часов. Сделал за 8+1, кодревью прошел и сидят целый день без работы. сцки...

Как только РКН отпустит удавку и вернет доступ к Инсте, сколько это проживет?

Зависит от того сколько времени РКН буде держать эту удавку. Если месяц-два, или инстаграм не будет сражаться за российского пользователя - это одно. А если оно в режиме ВПН продлится год-другой то вполне вероятно, что массовый пользователь не вернется.

Контексты можно тоже преопределять, притом хрен кто поймет в каком месте это поменяно. Особенно если использовать displayName по извращенному кодестайлу. И в отличии от props drilling, это точно хрен найдешь...

 export function MiddleComponent() { 
	return (
		<AccountType.Provider value="debet"> 
			<LowComponent account={account} />
		</AccountType.Provider>
	);
 }

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

а ещё можно каждый компонент обвязать 5-6 различными контекстами (каждый компонент конечно своим списком контекстов), каждый контекст из которых инициализируется в разных родительских компонентах...

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

Вряд ли. Между официальным вымиранием птерозавров и появлением первых хомо прошло около 20 миллионов лет. Тогда как человек охотился на мамонтов, то даже предок человека не мог жить с птерозаврами в одно время.

шарить не код, а интерфейсы (типы) в общую библиотеку вроде всегда было нормой.

1
23 ...

Information

Rating
Does not participate
Location
Геленджик, Краснодарский край, Россия
Date of birth
Registered
Activity