Search
Write a publication
Pull to refresh
18
0
Валентин М. @monolithed

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

Send message
// Код сервера
function loader() {
    const {title, id, authorId} = await loadArticle();

    return {
        header: <Header title={title}/>,
        article: {
            id,
            title,
            _links: {
                self: {
                    href: `/articles/${id}`
                },
                edit: {
                    href: `/articles/${id}/edit`
                },
                delete: {
                    href: `/articles/${id}`,
                    method: 'DELETE'
                },
                author: {
                    href: `/users/${authorId}`
                }
            }
        }
    };
}

// Код клиента
function Component() {
    const {header, article} = useLoaderData();
    const {title, _links} = article;

    return (
        <main>
            {header}

            <p>{title}</p>

            <Link to={_links.edit.href}>Редактировать</Link>

            <fetcher.Form method={_links.delete.method} action={_links.delete.href}>
                <button type="submit">Удалить</button>
            </fetcher.Form>

            <Link to={_links.author.href}>Читать</Link>

        </main>
    );
}

export default Component;

Почему бы и нет?

console.error или даже весь поток process.stderr.write можно перехватить, разобрать и вывести на экраны. Вероятно, автор сохранил интригу для следующей статьи. Один retry чего стоит =)

// Код сервера
function loader() {
  const {title} = await loadArticle();

  return {
    header: <Header title={title} />
  };
}

// Код клиента
function Component() {
  const {header} = useLoaderData();

  return (
    <main>
      {header}
    </main>
  );
}

export default Component;

Пример приложения: https://rsc-movies.fly.dev

Подробности: https://remix.run/blog/rsc-preview

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

Мы даём хорошие рецепты на каждый кейс, который разбираем.

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

Жаль, что не с нами. У них собственные сервисы по коррекции и продвижению резюме :)

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

Отвечу по порядку.
1. Курс основан на глубокой аналитике 20+ рекрутеров, с которыми мы в трудовых отношениях.
2. Возможно неудачная формулировка, байки про ботов и ATS мы напротив опровергаем — рассказываем, как на самом деле работают эти системы и чем они отличаются от обычных автофильтров.

Ну почему же, мы как раз даем гарантию, на сайте об этом написано.

Не совсем, мы этот вопрос тоже разбираем. Главное, не находится в этом статусе «вечно».

Мы единственные, кто запилил полноценную образовательную платформу под такой курс ))

Изменение состояния и рендер — разные вещи

Как бы вы не меняли местами названия файлов проблему нагрузки на ЦП и версионирования это не решает. Фигма отличный инструмент, но очень непродуманный для больших и закрытых проектов.
Cookie и localStorage в контексте заголовка отличаются лишь степенью доступности.
Если куки прочитать нельзя (выставив флаг HttpOnly), то зачем их сравнивать?

Содержимое статьи можно уложить в три предложения — храним сессию в куках с флагами secure, HttpOnly и SameSite. Выставляем заголовки X-Content-Type-Options, Strict-Transport-Security, X-XSS-Protection, X-Frame-Options, Referrer-Policy, Content-Security-Policy, Expect-CT, Feature-Policy и Cache-Control. Ну и не забываем про токен.
я с 2015 года вообще ни разу не работал с теми кто может в момент написания кода нагенерировать кучи ошибок, даже если ошибки появляются, их тут же видит разработчик

У вас искаженное восприятие о своих коллегах, и о себе в том числе.
За прошедшие полгода я провел свыше 160 технических интервью, из которых взял каждого 4-го и лишь единицы отправили на первое ревью код, который не ломал обратной совместимости или не вызывал ошибок.
Если вы не видите своих ошибок — это не значит, что их нет.

А какие есть настоящие аргументы в пользу unit тестов против тестировщиков на проекте?

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

писать авто тесты, то это опять же идиотизм ничем не обоснованый в реальной жизни и программист становится тестировщиком ручным в том числе, потому что только ручное тестирование выявляет 99% багов и 1% выявят автотесты

Начните писать тесты, чтобы было наоборот.

У меня было 2 крупных проекта на TS и того: профита 0, оверхед по временным затратам ощутимый, неоправданная головная боль и вынужденные костыли с типами для всех компонентов которые претендуют хоть на какую-то универсальность…

Если вы не справились с описанием типов для собственных же интерфейсов, то сложно представить, что вы там написали.
Первый раз в своей жизни воспользовался Почтой России… и не могу сказать, что 22 сортировки в московских отделениях меня порадовало. Что касается медицины, то средства, которые идут в ОФМС могут мне покрыть два ДМС!
Моя посылка путешествовала 22 дня по московским отделениям, но радует, что дошла :)
Можно еще короче:

new Intl.DateTimeFormat('ru').format(new Date());
let date = new Date();

date.toLocaleString('ru-RU', { day: 'numeric', month: 'numeric', year: 'numeric' });
Для работы с датами есть Intl.DateTimeFormat и Date.prototype.toLocaleString. Базовые потребности они удовлетворяют более чем.
1
23 ...

Information

Rating
2,717-th
Registered
Activity