Обновить
326
36.2
Igor Agapov@aio350

JavaScript Developer

Отправить сообщение

Спасибо. Я уже устал объяснять коллегам преимущества использования dialog перед div для модалок) Хуже только доказывать, что не надо использовать redux в современный приложениях)

// 👎
@media (1250px < width) {
  article:nth-child(1) { 
    grid-column: span 4;             
  }
  article:nth-child(2), article:nth-child(3), article:nth-child(4), article:nth-child(5), article:nth-child(6), article:nth-child(7), article:nth-child(8) { 
    grid-column: span 2; 
  }
}
// 👍
@media (width > 1250px) {
  article {
    grid-column: span 2;
  }
  article:first-child {
    grid-column: span 4;
  }
}

"переехали с Redux на MobX;
перешли с функционального подхода на ООП;"
звучит как "переехали с устаревшей архитектуры на еще более устаревшую архитектуру" :)
По моему скромному субъективному мнению, @tanstack/react-query + zustand - лучшее, что есть на сегодняшний день для управления состоянием в React-приложениях

Третьей части не будет, про безопасность можно почитать тут: https://my-js.org/docs/cheatsheet/security-headers.

В строке netstat -tunl | awk '/^tcp|^udp/ {state=$6} END { вместо state=$6 должно быть state[$6]++

Для раздачи статики фронта в любом случае нужен сервер, обычно для этого используется nginx, у нас - Node.js (http-server).

Спасибо за дополнения, нет желания поконтрибьютить в раздел: https://github.com/harryheman/my-js/tree/master/docs/algorithms ?

Еще раз спасибо, внес уточнения.

Спасибо, поправил.

Тут есть о чем подумать. Опыт показывает, что клиентских компонентов в приложении гораздо больше, чем серверных, поэтому приходится постоянно писать use client. С другой стороны, серверные компоненты все-таки являются первичными с точки зрения рендеринга в Next.js. На подходе Turbopack и React Compiler, возможно, кто-то из них будет автоматически определять клиентские компоненты. А для удаления use client, скорее всего, выпустят codemod.

Нет, я его просто дополнил)

Цитата из официальной документации React:
"React - это библиотека. Она позволяет использовать компоненты, но не предписывает, как выполнять маршрутизацию или получение данных. Для разработки приложения с помощью React рекомендуется использовать клиент-серверный фреймворк React, такой как Next.js или Remix".

Нет, это перевод статьи из блога Vercel, подразумевается использование Next.js. В SPA у вас весь код работает на клиенте, нет необходимости специально помечать его с помощью 'use client'.

Мне очень понравилась книга Николая Кукушкина "Хлопок одной ладонью".

Спасибо за уточнение.

Речь о том, что SEO-теги возвращаются на первый запрос.

Функция для выполнения переданной функции с помощью веб-воркера:

/**
  @example
  const expensiveFn = () => {
    let result = 0
    for (let i = 0; i < 10000; i++) {
      for (let j = 0; j < 700; j++) {
        for (let k = 0; k < 300; k++) {
          result = result + i + j + k
        }
      }
    }
    return result
  }
  worker(expensiveFn).then(console.log) // 11546850000000
 */
const worker = (fn: Function) => {
  const worker = new Worker(
    URL.createObjectURL(
      new Blob([`postMessage((${fn})())`], {
        type: 'application/javascript; charset=utf-8',
      }),
    ),
  )
  return new Promise((res, rej) => {
    worker.onmessage = ({ data }) => {
      res(data)
      worker.terminate()
    }
    worker.onerror = (err) => {
      rej(err)
      worker.terminate()
    }
  })
}

export default worker

Спасибо за статью, но не помешала бы ссылка на репозиторий с кодом проекта.

1
23 ...

Информация

В рейтинге
233-й
Откуда
Екатеринбург, Свердловская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Фронтенд разработчик
Старший
JavaScript
HTML
React
TypeScript
CSS
Веб-разработка
Node.js
Express
Webpack
Next.js