Задать вопрос
  • Могу ли я использовать Nest.JS + Apollo-сервер?

    Robur
    @Robur
    Знаю больше чем это необходимо
    доки, которые говорят сами за себя:
    The GraphQLModule is nothing more than a wrapper around the Apollo server.


    Скорее вопрос - можете ли вы _не_ использовать apollo в nest, но кому это нужно.
    Ответ написан
    Комментировать
  • Нужно ли помещать в стор все состояния компонента?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Все состояния не нужно.

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

    UI просто может отображать эти состояния каким-то образом, так же как он отображает данные когда они в сторе появляются.
    Ответ написан
    2 комментария
  • Можете дать пару ответов про Event Sourcing?

    Robur
    @Robur
    Знаю больше чем это необходимо
    1) решается по разному, в идеале - все созданные ивенты немутабельные и лежат в базе вечно. Это позволяет избежать кучи проблем. То есть при изменении надо создавать event v2. Но - это только на несовместимые изменение, добавление поля обычно можно сделать совместимым. Код который будет работать с этим полем будет работать должен учитывать что description может быть а может и нет. Старый код который работал без description - будет работать как работал и останется без изменений.

    Чаще всего достаточно добавить новые ивенты для новых вещей. Например раньше были аггрегаты без description, теперь появилось это поле, это значит что появились какие-то операции над этим полем и вы можете добавить ивент DescriptionAdded вместо того чтобы менять event создания.
    Однако я встречал статьи о том что люди переписывали историю ивентов для поддержки нового формата - возможно в каких-то случаях это действительно более оптимально. Не делал, подводных камней не знаю.

    2) создавать "исправляющие" ивенты. например ваш баг добавил всем к дню рождения лишний день при создании пользователей - создаете еще ивенты которые отнимают этот день.

    3) Зависиот от реализации стора, но читать все ивенты из стора чтобы их пофильтровать в памяти в любом случае подход так себе. Реальное приложение при таком подходе загнется крайне быстро.
    Для таких вещей используются проекции - когда из ивентов вы строите нужную модель в какой-то удобной форме и делаете запросы туда.

    например храните в SQL список todo на текущий момент, со всеми ивентами и просто делаете select * from todo.
    ну или хотя бы делаете таблицу со всеми create ивентами чтобы читать не 50 миллионов и фильтровать а сразу получить список аггрегатов одним запросом.
    Тут eventual consisntency встает в полный рост.
    Ответ написан
    2 комментария
  • Прототипы в js, прото и прототип прото ссылка на экземпляр?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Все что нужно понимать про прототипы, классы, наследование и ООП в JS:
    1. свойство prototype это ссылка на объект на который будет указывать __proto__ после вызова new.
    2. в любом объекте в JS при поиска поля если его нет в самом объекте, он будет искаться в объекте на который указывает __proto__
    Ответ написан
    6 комментариев
  • Что мотивирует IT специалистов кроме ЗП?

    Robur
    @Robur
    Знаю больше чем это необходимо
    до 30 - самоуверждение. норм денег, чтобы хватало на все, технологии покруче, все эти печеньки, звания, возможность ходить с гордым видом собственной важности и вообще.
    после 30 - возможность делать осмысленные вещи, понимать ценность потраченного на работу времени, профессиональный рост (не в плане изучения очередной новой технологии), принимать ответственность за решения и сознавать свой вклад в то на что тратишь свою жизнь. Все это работает когда комфортный уровень жизни к которому привык в период до 30 сохраняется естественно.
    Ответ написан
    4 комментария
  • Как стать Junior верстальщиком?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Я все починил, теперь ваша карьера и ориентация в порядке!
    Не благодарите.
    5de34eb3a4d87370303583.png
    Ответ написан
    10 комментариев
  • Что такое React Mock API? И как его использовать?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Что такое React Mock API?

    такого апи нет. Реакту вообще все равно ходите вы на сервер или берете данные еще откуда-то

    Можно замокать запросы и в приложении для работы без сервера, раз у вас axios, то смотрите как это лучше сделать для него.

    вот первое что попалось: https://github.com/ctimmerm/axios-mock-adapter
    Ответ написан
    Комментировать
  • Запуск и работа JADE с использованием IntellijIDEA?

    Robur
    @Robur
    Знаю больше чем это необходимо
    как запустить и настроить - https://www.jetbrains.com/help/webstorm/jade.html
    Jade/pug, принцип один и тот же
    Так как вы ни одной конкретной проблемы не озвучили, ни одной ошибки не показали - то большим помочь сложно.

    Если преподаватель сам не помнит как работать с Jade - попробуйте с ним договориться что сделаете pug, пусть зачтет как jade.
    Он же преподаватель а не проверятель, не должен спрашивать того чего сам рассказать не может.
    Ответ написан
  • Стоит ли работать под руководством человека, который все переделывает на свой лад?

    Robur
    @Robur
    Знаю больше чем это необходимо
    По вашему описанию звучит как будто новый лид как лид прокачан как раз хуже. Возможно у него и больше опыта разработки но опыта эффективного управления командой по вашему описанию у него маловато. Никакая пропасть в навыках не будет "коробить" нормального лида, он просто либо скорректирует ваши задачи под ваш уровень, либо что-то сделает чтобы вас прокачать, либо скажет что вы не подходите и объяснит почему.

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

    Несколько вопросов на которые стоит ответить
    1. С другими людьми в команде он так же себя ведет? Они так же мучаются и от них он свой идеальный код тоже защищает?
    2. Вы действительно уверены что ваша обида на критику не мешает вам оценивать ситуацию адекватно? Человек может с кислым лицом или резкими фразами говорить вам правильные вещи, а вы реагируете в первую очередь на подачу - это бывает куда чаще чем кажется.
    3. Что он сам говорит по поводу причин почему так делает?

    Тут вариантов два - либо принять ситуацию либо менять.
    Менять можно разными путями - поговорить с ним тет а тет - сказать что так и так иваныч, я тебя считаю за крутейшего профи, и многому хочу у тебя научиться, но мне сложно воспринимать информацию в такой грубой форме. Я вот хочу в твоей команде вырасти профессионально чтобы потом без тени сомнения говорить "а вот там я работала с крутыми чуваками и столькому научилась что до сих пор вспоминаю с гордостью". А ты хочешь чтобы это произошло? - если скажет да - решайте как это сделать, может выйдет может нет но первый шаг хороший, если скажет что нет - делайте выводы и решайте что делать дальше.
    Второе - можно пойти к начальству которое принимает решения о переводе из команды в команду и рассказать все как на духу - такая то проблема, это сильно сказывается на твоей работе, хочу в другую тиму, там буду работать эффективнее и развиваться быстрее.
    Адекватное начальство будет только за то чтобы работники работали лучше, конфликтов было меньше и люди не выгорали. Для фирмы это прямые потери в деньгах и в продукте.

    spoiler
    А может вы просто ему нравитесь, дергает за косички как может.
    Ответ написан
    5 комментариев
  • Почему ошибка в React приложении и не отображается список на странице?

    Robur
    @Robur
    Знаю больше чем это необходимо
    У вас в json - не массив, поэтому все и падает.
    как исправить - либо переделать на массив, либо менять логику чтобы умела работать с тем что вы в json положили
    Ответ написан
    Комментировать
  • Как запретить мутиацию стора через immutable.js?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Object.freeze на все подряд вам поможет.
    Ответ написан
  • Как получить число из строки с помощью JavaScript?

    Robur
    @Robur
    Знаю больше чем это необходимо
    если прямо такая - то можно и без регулярок
    const num = parseInt(str.replace('Товаров ',''))
    Ответ написан
    3 комментария
  • Как правильно компоновать множество запросов к MongoDB?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Это нормальный подход, можно просто Promise.all

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

    Если вы хотите прямо в один запрос завернуть что-то большее чем обычный find, то возможно вам будут полезны агрегаты https://docs.mongodb.com/manual/aggregation/
    Ответ написан
    Комментировать
  • Как вы планируете свой рабочий день, чтобы не выгорать?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Интенсивной работы в день 5-6 часов максимум. Больше - только на ограниченное время, с обязательной компенсацией отдыхом. В офисе 9-18 работают в целом так же, кулер, поболтать, что-то обсудить 10 раз в день, почитать статьи. По моим личным ощущениям на удаленке работа интенсивнее, даже с учетом меньшего количества часов. Поэтому работаю по часам и на ставке больше чем в офисе на 8 часовом рабочем дне.
    Пробовал помодоро - не зашло.
    Бывает что накапливается и какие-то дни работа вообще не идет - даю себе отдохнуть, могу поработать часа два-три.
    Что-то новое изучаю иногда в формате перерывов - поработал - почитал. Так как график и учет времени гибкий, это не считается рабочим временем, и совесть не мучает. Могу посередине дня отдохнуть пару часов если совсем не идет, или сходить прогуляться или еще что.
    Свои проекты сначала пилил "по вечерам и выходным", особенно когда работал 9-18 потом понял что так не пойдет, на долгий срок это провальный подход, поэтому сейчас больше работаю как часть рабочего времени. Уменьшаю основную работу (при этом естественно уменьшается доход).

    Самое главное - правильно оценить свои силы и исходя из этого решать сколько куда их потратить. Может у вас сил хватит и на работу и на проекты и на хобби и еще перед сном почитать - без проблем, делайте все это. А если их не хватает даже на 8 часовой рабочий день - стоит это признать и не пытаться себя нагрузить сверх меры, получите новый срыв. Или отказаться от чего-то или искать другие способы кроме как "работать больше". Тут главное быть честным с собой и не "добавлять себе очки".

    В целом выгорание не зависит от объема работы - объем работы влияет на усталость, на выгорание влияет нервное напряжение и оно может быть и при 2 часах работы в день а может и не быть при 10.
    Если у вас реально начинается истощение - то определитесь это усталость или выгорание, если усталость - то организовать рабочее время и контролировать нагрузку, может даже в ущерб доходу, свое состояние очень важно.
    Если выгорание - то надо искать причины, если их не устранить - то ничего не поможет.

    Если вы уже один раз проходили через все это - ищите общее, анализируйте и поймите что вы сейчас делаете так же как и тогда и что надо поменять.
    Ответ написан
    2 комментария
  • Стоит ли хранить зашифрованные данные пользователя в Local/Session Storage на клиенте?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Если вы раскодируете и что-то проверяете на клиенте - то и кодировать не надо. Это можно использовать только для улучшение UX - например показать пользователю сразу доступные ему пункты в меню.

    Если вы раскодируете и проверяете права на сервере, чтобы не лезть в БД, так делать можно, хороший пример - JWT, так же можно много чего попроще придумать.
    Можно не значит нужно - выше вам правильно сказали, чтобы оптимизировать запросы к БД надо сначала начать страдать от медленных запросов к БД.
    Ответ написан
    Комментировать
  • Как убрать моргание при resize?

    Robur
    @Robur
    Знаю больше чем это необходимо
    У вас ширина контейнера зависит от того свернули вы его или нет.
    Получается так:
    - длинное меню
    - поменяли размер экрана. контейнер не влез, свернули меню
    - меню короткое
    - поменяли размер экрана еще раз. Контейнер свернут - отлично влезает, разворачиваем.
    - длинное меню
    - повторяем все сначала

    соответственно при каждом следующем вызове mobileMenu он то сворачивается то разворачивается.

    ошибка в том что вы берете текущий размер контейнера чтобы понять влезает он или нет, а вам надо всегда сравнивать с "развернутым" вариантом. Сделать можно по разному, самый простой вариант - запоминать размер в самом же ресайзе в тот момент когда он развернут
    Ответ написан
    Комментировать
  • Где брать изображения для работы с envato.com?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Все что касается того чего можно и чего нельзя - https://themeforest.net/legal/author

    В общем случае - можете использовать те изображения на которые у вас есть такое право.
    Читайте условия стоков, точнее конкретных лицензий, но в целом они именно для того и сделаны - чтобы вы могли это право покупать, и использовать изображения легально где бы то ни было.
    Ответ написан
    Комментировать
  • Тема диплома ПО на C# для работы с API соц. сети?

    Robur
    @Robur
    Знаю больше чем это необходимо
    ПО которое в любой соцсети удаляет все для чего есть доступ, а там где нет - оставляет либо ругательные сообщения, выражающие полное недовольство этим фактом, либо жалостливые просьбы поудалять за вас в стиле болгарского вируса.
    Уверен что это будет что-то новое.
    Ответ написан
    Комментировать
  • Как можно организовать такие вычисления?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Я думаю что да.
    Надеюсь это вам действительно поможет.
    Ответ написан
    Комментировать
  • Как оформить вложенное меню на чистом JS?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Для фокуса сделайте свои css- классы. И их же для скрытия/показа.
    Ловите события мыши на меню - ховер, клик, работаете с дом элементами добавляя/удаляя эти классы как вам нужно.
    Ответ написан
    Комментировать