Pull to refresh
33
0.7

Разработчик передних концов

Send message

Если ваш проект изначально хорошо продуман и структурирован так, что каждый элемент этой структуры имеет выраженную функциональность

Такой проект я и сам с удовольствием буду поддерживать.

Ну, справедливости ради, Next.js на полноценный Fullstack фреймворк не тянет. Это именно что SSR фреймворк, для бэка в нём вообще ничего нет. Да и для фронта некоторые решения в нём сомнительны.

Почему другое? И блат и рекомендации вполне присутствуют и в России, и в США, и в Канаде. И нет, блат и рекомендации - это не одно и тоже.

Ну вот в этой истории (экс-бригадира предприятия РФ обвинили в удалении папки «Хлам» с критически важными расчетами с рабочего ПК) субъект выделели. Легче стало?

А что из написанного в статье неправильно или некорректно?

Так две трети или до 40%? 10% - это тоже ДО 40%, если что.

Здесь три кастомных оператора и парочка стандартных на реализацию дебаунса. А заодно вопросы вроде: "Куда втыкать breakpoint'ы при отладке?", "Куда вставлять setLoading?", "Куда вставлять cancellationToken, если вдруг нужно будет отменять запрос?".

Всё это объясняет почему в Angular при встроенном RxJS, тащили Redux, а сейчас наконец добавили нормальную реактивность на атомах.

А, вы про принудительное обновление по клику. Есть конечно.

У вас и так происходит перерендеринг из-за ввода в input на каждый символ. Вся разница в отдельном вызове setDebounceValue и setLoading. Лишние useEffect в обработчкие - это действительно плохо, но тут он ровно один и на внешний вызов setTimeout. Если вам нужно действительно сэкономить рендеры, то скорее всего сделают отдельный DebouncedInput.

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

Но повторюсь. Если уж очень нужен свой useDebouncedQuery, то Effection может и хорошее решение.

Замечательные истории. Одна увлекательнее другой.

Я когда в конце нулевых устраивался на всю страну было с десяток вакансий для новичков на Java. Претендентов было кратно меньше, но большинство из них были с дипломом профильного вуза, часто минимальным опытом. И не сказать, что меньше спрашивали: и SQL у любого бэкендера спрашивали на нормальном уровне, и jQuery могли спросить и верстку для IE6. И точно также важны были знакомства, чтобы ваше резюме не выкинули. Стек програмный был меньше, так его и требовалось часто знать весь. Ещё и на бумажке часто.

В стране кризис.

Если речь о той стране, о которой я думаю, то в ней всегда был кризис. IT просто в течение примерно 2012-2022 было довольно халявным местом.

В it сейчас в 2024 году чтобы ворваться из ничего. 

Так, а почему из ничего? В моё время и после вуза это было не тривиально.

Это понимание того, что ты интересен человеку только на первые полгода-год, по принципу на безрыбье и рак рыба. И что он свалит получив минимально приличное предложение. Потому что в их Рога и Копыта у всей компании суммарный опыт разработки меньше, чем у новоиспеченного канадца.

Хотя я больше по ближневосточной культуре.

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

2) Обратите внимание на поиск по тегу #hiring. У многих компаний нет денег выкладывать на Линкиде полноценную вакансию и они тупо выкладывают пост с описанием и тегом.

3) По C.V. — по-моему, всё нормально. Чисто субъективно

  • можно описание себя сделать по-короче

  • можно дописать описание компании, через запятую. Например, "Itransition Group, worldwide B2B Software Consulting". Канадцам даже название Yandex мало о чём говорит, что уж говорить о фирмах по-меньше.

4) Можете попробовать добавиться в контакты к действующим сотрудникам компании, в которую собеседуетесь. Если повезёт - сможете получить реферал.

5) Поищите вакансии и рефералы от других уехавших.

6) Попробуйте собеседоваться в компании, которые уже нанимают из восточной Европы, через всякие каналы в том же Телеграмм. Я первый офер в Израиле получил с Хабра.Карьеры.

7) Попробуйте прокачать LinkedIn профиль, как уже выше писали про SSI. Попробуйте подобавляться в контакты к местным рекрутерам. Порепостите всратые посты в ленте от местных рекрутеров.

P.S. Напишите потом, чем всё закончилось.

Неплохая альтернатива Redux-Saga, особенно если их действительно удобно использовать точечно.

Почему точечно? Генераторное API имеет преимущество перед async-await в поддержке отменяемости, но из-за этого же теряет в читабельности. Собственно код async-await с CancelationToken тоже выглядить так себе. Потому что отменяемость процесса приводит к тому что код не выглядит линейным, его становится тяжело читать.

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

То есть инструменты вроде Effector - это не для встраивания в компонент React. Это для встраивания во всякие библиотечный функции/хуки. Которые или пишутся в паре мест, нормально покрываются тестами и комментариями, или вовсе импортируются готовыми. В обоих случаях генераторный API будет приватным и за пределами модуля о нём никто знать не будет.

В реальном приложении код из примера будет выглядить так:

import useSWR from "swr";
import { useDebounce } from 'use-debounce';
import { fetcher } from "@api/utils" // const fetcher = (url) => fetch(url).then((res) => res.json());

const Autosuggest = () => {
	const [input, setInput] = useState('');
	const debouncedSearch = useDebounced(search, 300);
    const { data, error, isLoading } = useSWR(
      `/search?name=${debouncedSearch}`,
      fetcher
    );

	const onChange = async (e) => {
		const value = e.target.value;
		setInput(value);
	}

	return (
		<div>
			<input type="text" value={input} onChange={onChange}/>
			{data.map(res => (
				<div key={res.id}>{res.name}</div>
			))}
		</div>
	);
}

И по-моему такой код по простоте уже ничем не перебить, не теряя в функционале.

А вот внутри useSWR либо вашей какой-то библиотечной функции, вроде подключения к сокету, Effector вполне может оказаться нужон.

И здесь его возможность standalone работы — это большой плюс.

Он

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

Это смотря как долго эти параметры внутри браузера живут! Можно использовать плагин или кастомную сборку браузера, которая будет постоянно менять основные настройки fingerprinting'а. Успех вашего мероприятия можно будет легко заметить, когда сайты начнут вас банить просто по IP.

Языковые серверы ставятся из маркетплейса прямо внутри редактора одной кнопкой. Компиляторы - зависит от языка и от того, как в нём принято устанавливать компилятор. В случае того же TypeScript компилятор отдельный для какждого проекта.

А что есть например в Visual Studio или WebStorm, и чего нет в VSCode?

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

Что-то мне подсказывает, что такой "грязный" бизнес - основные клиенты Cloudflare.

Information

Rating
1,682-nd
Registered
Activity