Pull to refresh
4
Karma
0.2
Rating
Роман @romanere

A full stack web developer

  • Followers
  • Following

Как мы ускоряли комментарии Хабра

Сказ о том, как 13 человек в течении полугода убирали постраничную навигацию в комментариях ;)

Когда же нужно использовать useCallback

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

Рабочий код без русских символов
import React, { useState, useCallback } from 'react';

function Page() {
  const listOfCities = ['Beijing', 'Tokyo', 'Kinshasa', 'Moscow', 'Jakarta'];

  const [name, setName] = useState('');
  const [list, setList] = useState(listOfCities);

  const handleClick = () => {
    setList([...list, name]);
    setName('');
  };

  const handleChange = (event) => {
    setName(event.target.value);
  };

  const handleRemoveClick = useCallback(
    (item) => {
      const filteredList = list.filter((listItem) => listItem !== item);

      setList(filteredList);
    },
    [list]
  );

  console.log('Page render');

  return (
    <div>
      <input type="text" value={name} onChange={handleChange} />
      <button onClick={handleClick}>Add</button>
      <CitiesList list={list} onRemoveClick={handleRemoveClick} />
    </div>
  );
}

export const CitiesList = React.memo(({ list, onRemoveClick }) => {
  console.log('List render');

  return list.map((item) => {
    return <City key={item} city={item} onRemoveClick={onRemoveClick} />;
  });
});

export const City = ({ city, onRemoveClick }) => {
  const handleCityClick = () => onRemoveClick(city);

  console.log('City render');

  return <div onClick={handleCityClick}>{city}</div>;
};

export default Page;

Китай объявил о борьбе с майнингом и торговлей криптовалютой — майнеры уже начали покидать страну

Виталька себе в нулевом блоке 72 009 995 эфиров нарисовал (всего в обороте 116 006 968 эфиров), теперь благодаря им он сам будет почти все транзакции подтверждать, после перехода на PoS.
В этой криптовалюте прекрасно всё!

Роскомнадзор требует от Facebook обосновать блокировку 530 российских пользователей Instagram

Разве факт того, что РКН начинает «вписываться» за эти бот-аккаунты не подтверждает «доказательства их связи с российскими государственными органами».

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

Да и мемы за которые заблокировали не очень, могут же лучше
image
image
image
image

Хостим Bitwarden — open-source менеджер паролей

Проверил, не устанавливается без ID и ключа с сервера разработчика.

Если ввести неправильные значения:

image

Установка обрывается.

Если попытаться пропустить ввод:

image

Установка обрывается.

Похоже, не такое и self-hosted официальное решение у Bitwarden. Если их сайт перестанет работать, установить этот официальный «open-source» нельзя будет.

Однако, есть неофициальный сервер (без аудита безопасности) github.com/dani-garcia/bitwarden_rs

Хостим Bitwarden — open-source менеджер паролей

Дальше установщик запросит id и ключ установки.

Кто может объяснить, self-hosted решение разве предполагает получение каких-то ключей с оф. сервера резработчика? Без этого ключа, установка невозможна?

С информации на оф. сайте, выглядит это так, что нужно только чтобы собрать email адниминистраторов, для важных объявлений и не более того. Так ли это?

В 2020 году трафик пиратских сайтов резко упал из-за нового алгоритма Google

Google копает себе могилу и когда яма будет достаточно просторна, надеюсь DuckDuckGo даст ему пинка.

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

Пример поиска в Google фильма Довод
Пример поиска в Google фильма Довод

С таким же успехом, Google мог бы сам себя индексировать и на первое место ставить свой же результат запроса. Хотя, с Яндексом он так и делает, вводишь запрос в Google, а в 6-7 результате он предлагает ссылку на поиск в Яндексе.

Как я разработал мобильную игру на Android с использованием React.js и выложил её в Google Play Store

Если коротко, то это провал.

image

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

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

image

Стив Возняк стал совладельцем блокчейн-платформы для повышения энергоэффективности Efforce и выпустил токен WOZX

Чтобы провести ICO в плюс нужно:
2017: создать лендинг и изменить в смарт-контракте с GitHub одну строку;
2018: 2017 + насоздавать очень много тем на околокриптовых форумах;
2019: 2018 + покупать обзоры, снимать видео, заказывать аудит смарт-контракта;
2020: 2019 + знаменитость, готовая вписаться.

Самодельный гироскутер

Статья написана 5 лет назад. Теперь уже гироскутерами никого не удивишь.

Давайте теперь моноколесо, пока ими малость, но удивляются =)

Швейцарская разведка с 1993 года знала о контроле над шифрованием в стране со стороны ЦРУ

Ох, сколького же мы еще не знаем.
Через N-лет окажется, что Protonmail на службе у Швейцарии, Tutanota у Германии, 1password льёт всё в США, а Телеграм на Git имеет один код, а в продакшине крутится совсем другой.

Силовики в Беларуси использовали электромагнитную пушку

Может владелец не веган, тогда пронесет =)

Сбер увеличивает долю в Rambler Group до 100%

Интересно видеть в списке раздел Рамблер/гороскопы, который подается судя по всему, наравне с Окко, Лентой, Газетой и пр.
Т.е. ежедневная публикация 12 случайно сгенерированных историй = инфраструктура из десятков серверов и гигабиной пропускной способностью Окко.
Как же я боюсь людей, читающие гороскопы и тот факт, что этот раздел продается за миллионы, говорит что он пользуется популярностью.

Сегодня Луна в Овне «за» азарт, авантюризм и импульсивные поступки.

«Красную Кнопку» пустили в App Store

В App Store добавили, а из Google Play похоже удалили.

В Китае запретили онлайн-сервисы, которые вызывают у детей зависимость

TikTok можно продавать, 99% контентмейкеров будут заблокированы.

В Беларуси блокируют большое количество интернет-сервисов

Ночка будет веселой.

Из-за поломки цифрового плеера Кевину Смиту пришлось качать с торрентов собственный фильм для показа в автокинотеатре

В 2015-2016 годах в Донецке в кинотеатрах камрипы крутили, т.е. можно было видеть не только реальные затылки людей, но и вртуальные на экране :)

Началось beta-тестирование нового дизайна GitHub

Было бы еще неплохо, если бы они файлы выделяли иконками как в GitLab.

image

Фидбэк отправил, но примут ли.

Пользователь нашел простой способ просмотра видеороликов на YouTube без рекламы, а также онлайн-статей без подписки

Объясните, почему браузер не бросает ошибку? Как этот домен обрабатывается на стороне Nginx?
1

Information

Rating
2,270-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity