• Тренды на рынке наушников: что мы будем покупать в ближайшее время
    0
    еще как играют, звукоизоляции ноль
  • Разбираемся с перехватчиками в React
    +1
    Но почему перехватчики?!
  • Басня о Burger King и данных пользователей. Комментарии разработчика
    0
    Уважаемый e-Legion, писать ответ в таком пассивно-агрессивном тоне — очень некрасиво с вашей стороны. Мне кажется, вам стоит извиниться перед аудиторией и автором расследования.
  • Как работает mobx изнутри и сравнение его с redux
    –1
    Печально становится, когда вы мне отвечаете на манер китайской комнаты. Всего доброго.
  • Как работает mobx изнутри и сравнение его с redux
    0
    Универсальных решений не бывает. Редукс позволяет описать логику приложения в чистых функциях, которые легко тестировать; предоставляет удобный фреймворк для описания изменения состояния сложных данных и дебаггинга их переходов. Но не во всех приложениях это к месту: делать 60 fps анимацию через redux это безумие — спорить сложно и зачем :)
  • Как работает mobx изнутри и сравнение его с redux
    0
    Очень интересно посмотреть на передачу того самого объекта, например, в json.
  • Как работает mobx изнутри и сравнение его с redux
    0
    Раскройте мысль? Я говорю о том, что если не нормализовать данные, то в дереве могут быть дубликаты объектов (например, на третьем уровне иерархии). Если вы все таки как-то от них избавитесь, это будет, внезапно, нормализацией. И неясно, какое отношение топология данных имеет к мутабельности.
  • Как работает mobx изнутри и сравнение его с redux
    0
    А с точки зрения производительности мы все равно выполняем кучу работы — а) создаем новый объект


    Тут сложно спорить, но оптимизации такого рода нужны довольно редко. И когда они нужны, есть компромиссные решения (например, redux-ignore). Зато мы получаем иммутабельность и полную определенность чистых функций. Тоже, кстати, простор для оптимизации быстродействия, которого лишён мутабельный подход.

    Но основная проблема с нормализованным подходом в другом — мы теряем возможность обращаться к другим частям состояния просто обращаясь по ссылке


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

    И с точки зрения производительности — операция получения объекта по ссылке


    Я бы не оценивал доступ по ключу объекта к свойству как log n, т.к. разницей для небольших объектов можно пренебречь. Что, на мой взгляд важнее, нормализация решает проблему дупликации данных.
  • Как работает mobx изнутри и сравнение его с redux
    +1
    То для того чтобы обновить текст у объекта комментария мы не можем просто выполнить comment.text = 'new text' — нам нужно выполнить сначала пересоздание объекта комментария (comment = {...comment, text: 'updated text'}), дальше нужно пересоздать объект задачи и скопировать у туда ссылки на другие комментарии (task = {...task, tasks: [...task.comments]}), дальше пересоздать объект проекта и скопировать туда ссылки на другие задачи (project = {...project, tasks: [...project.tasks]}) и в конце уже пересоздать объект состояние и также скопировать ссылки на другие проекты (AppStat = {...AppState, projects: [...AppState.projects]}).


    Не надо, пожалуйста, так делать. Храните данные в нормализованное виде: сущности в плоских словарях, ссылки как идентификаторы.
  • Ускоряем vagrant shared-folder на Windows хосте (UPD. не всё так гладко)
    0
    А нет решения для чистого virtualbox?
  • Redux store: Расширение по «горизонтали»
    0
    dagen расскажите, пожалуйста, в чем смысл такой конструкции?
    Зачем комбинировать info и credentials в profileParams, если потом reduceReducers снова его раскомбинирует в плоскую структуру? Почему просто не указать info, credentials на уровне account-reducer?
  • Когда docker-compose не хватает
    0
    У меня сложилось впечатление, что вы сами себе создали проблему на ровном месте и затем героически решали её, используя как можно больше дополнительного софта и понятий. Можно же образ нужного сервиса собирать в CI, а потом подключать в docker-compose.yml конкретного проекта.
  • О бравом React'е замолвите слово
    0
    Полагаю, в тексте речь идет о том, как это сделать «на глаз». При взгляде на компонент сразу видно, при каком состоянии элемент скрыт. В jQuery коде может быть десять разных фрагментов, которые скрывают/показывают элемент и предсказать его видимость непросто.
  • Честный MVC на React + Redux
    0
    Всё проще, чем вы думаете. Любой stateless-компонент, по определению, можно записать в виде чистой функции от props, например:

    const StatelessName = ({ name, color }) => <strong style={{ color }}>{name}

    Ваш же пример уже нельзя так записать — из-за побочного эффекта в виде, по-сути, коллбека. Корректнее будет сделать HOC вокруг stateless-компонента для описания внешней логики, например, так:

    class NotSoStatelessName extends Component {

    componentWillMount() {

    }
    render() {
    return <StatelessName {...this.props} color={this.state.color} />
    }
    }

    Правда, в этом случае всё еще нельзя будет сказать, что всё строится исключительно из stateless-компонентов, но хотя бы презентационные компоненты действительно останутся без состояния.
  • Честный MVC на React + Redux
    0
    Если речь о redux-приложении, лучше хранить в локальном state только параметры отображения (развернут/свернут пункт меню, например), а всё, что касается данных — в самом redux.
  • React в браузерах и на мобильных платформах
    +1
    А что вы хотели? Качество статьи ожидаемо соответствует качеству продуктов Битрикс.
  • Честный MVC на React + Redux
    +1
    1. Компонент с componentWillMount — это уже не stateless компонент. Stateless-компонент не должен иметь никаких lifecycle-методов, иначе, по определению, это уже не stateless компонент, т.к. его жизненный цикл это тоже состояние. Настоящий stateless-компонент это чистая функция от props.
    2. Используйте в reducer метод combineReducers: невозможно же читать, тестировать и поддерживать такой код. Кроме того, кто-нибудь же посмотрит и сделает так же.
  • Бесплатный антивирус Касперского запретят устанавливать компаниям
    –1
    А зачем он нужен даже бесплатный, когда есть множество отличных альтернатив, от не настолько жадных компаний?
  • Закон об обязательном переносе серверов на территорию России отложен на неопределённое время
    0
    Начался процесс выведения свиньи из дома?
  • Как команда технарей свою студию создавала. Опыт первых месяцев. Достижения, фейлы, умозаключения…
    +1
    Если не брать мелкие проекты, тогда баланс останется.
  • Как команда технарей свою студию создавала. Опыт первых месяцев. Достижения, фейлы, умозаключения…
    0
    Мне кажется, все зависит от адекватности клиента, в самом широком смысле. Зачем ему некорректный сайтмеп, например? Бизнесу нужно, чтобы он работал корректно, остальное уже вопрос приоритета, иначе такая задача бы и не была поставлена. На самом деле, еще важный момент — доверие к исполнителю. Приходилось сталкиваться с ситуацией, когда «предыдущий подрядчик уже все сделал, осталось включить фичу в конфиге». А по факту, задачу делать даже не начинали, хотя акт уже приняли. Вообще, вся win-win стратегия построена на диллеме двух заключенных: если одна из сторон не настроена на плодотворное сотрудничество, вторая терпит убытки. Но если обе стороны настроены на win, выигрыш максимален.
  • Как команда технарей свою студию создавала. Опыт первых месяцев. Достижения, фейлы, умозаключения…
    +3
    Недавно у Яндекса в какой-то статье была фраза про несколько сотен лет суммарного опыта. Это, конечно, впечатляет, но никакой практический смысл не несет. Только поэтический :)
  • Как команда технарей свою студию создавала. Опыт первых месяцев. Достижения, фейлы, умозаключения…
    0
    Зато в случае фикс прайса у разработчика нет никакой мотивации искать проблемы на свою голову. Ведь решать их придется, скорее всего, за свой счет. Например, на одном проекте (довольно большой интернет-магазин) была поставлена задача немного модифицировать сайтмэп. Как оказалось, он в принципе не обновлялся, а был написан руками год тому назад. Ничего проще, чем добавить в статический файл пару строк и придумать нельзя, а вот написать с нуля логику формирования правильного сайтмепа, который по факту и нужен клиенту — уже не минутное решение. И принять в данном случае правильное с точки зрения бизнеса решение проще, если не думать о фиксированной цене выполнения задачи.
  • Как команда технарей свою студию создавала. Опыт первых месяцев. Достижения, фейлы, умозаключения…
    +1
    Думаю, второй пункт действительно очень важен. Но не все клиенты готовы слушать и корректировать задачу или сроки, к сожалению.
  • Обзор ноутбука ASUS X550CC
    0
    Спасибо. Дурацкая привычка читать по диагонали.
  • Обзор ноутбука ASUS X550CC
    0
    Непонятна целевая аудитория устройства.
  • Релиз GitLab 5.0
    0
    Нет, чтобы можно было совместно комментировать, обсуждать места в коде, коммите. Мы пользуемся Atlassian Crucible, но он глючноватый — вот я и думаю об альтернативах :)
  • Релиз GitLab 5.0
    +2
    Скажите, а что-нибудь для код-ревью там есть?
  • Google намерен унифицировать все коммуникационные сервисы в один — Google Babble
    +7
    Гугл, иди к черту
  • Google Reader закрывают
    +2
    Скажите, пожалуйста.
    Можно ли менять ширину левой колонки — названия не вмещаются?
    Как не отображать в левой колонки фиды, в которых нет новых сообщений?
    Как вообще попасть в настройки?

    Очень неудобно без этих фич.
  • В интернете оказалась ранняя альфа-версия игры Half-Life 1997-го года
    +1
    Все же таки Quake, а не Quake 2.
  • С Новым Кодом!
    +1
    Спасибо вам за то, что вы делаете!
  • Эволюция школьного компьютера. Часть первая, историческая
    +1
    Отличная была игра Laser Squad. Помню, была еще какая-то игра подобного же жанра, где в конце миссии нужно было отступить обратно в капсулу. По стилистике чем-то вархаммер напоминала. А на школьных компьютерах запомнилась монохромная игра «вертолет», где можно было менять цвета неба и земли. А официально нам компьютеры включать запрещали, вдруг сломаем. Так они и стояли.
  • Документальный фильм «Тим Кук. Гениальный руководитель легендарной компании»
    +6
    Скромно-то как
  • Суд присяжных признал Samsung виновным в нарушении патентов Apple
    0
    Очередная победа над здравым смыслом :)
  • Земля в информационной блокаде?
    +2
    Очень рекомендую книгу «Ложная слепота» Уоттса на тему парадокса, китайской комнаты и других интересных вещей на означенную тему
  • Вы не настолько круты, чтобы так себя вести
    +2
    Работал пару лет в студии. Представьте себе подобное же начало, только бюджет сократите раз в десять. И таких примеров было не раз, и не два.
  • Fidel.ru — всё
    +6
    Мне кажется, это, скорее, проблема раскрутки. Вот он я, готовый платить за подобный сервис. Но о фиделе узнал только из этого топика.
  • Fidel.ru — всё
    0
    Почему? Я думаю, есть множество людей, готовых платить за удобный сервис. Вк — не удобный сервис.
  • Fidel.ru — всё
    +1
    Было бы очень классно, если бы у нас появились какие-нибудь аналоги спотифая, например. А то приходится держать свой сервер с subsonic для тех же целей. Это удобно, конечно, но как же хочется в облака :) Оставил заявку.