• Идеи мини-проектов в backend на node js?

    @vshvydky
    работодателю будет интересно видеть не то для чего написано апи, а как
    плюсом будет, если напишешь рест апи сервис с использованием TS на экспресс и рядом на nest
    покажешь что понимаешь принципы построения архитектуры и масштабируемости
    из полезных тем, которые тебе персонально могут в дальшейшем пригодиться:
    1. система авторизации
    2. система почтовых рассылок
    3. система пушей
    4. система подготовки печатных форм
    и тп, любые прикладные задачи, которые ты можешь применять в проектах вне зависимости от его тематики.
    Ответ написан
    Комментировать
  • Должна ли оплачиваться работа по фиксу бага?

    Zoominger
    @Zoominger
    System Integrator
    Безусловно, это косяк программиста и он обязан его исправить, ибо нечего за продукты жизнедеятельности своих кривых рук требовать деньги, коль сделать нормально не можешь.

    Другое дело, если это доработка и косяк надо исправлять чужой - тогда эта работа должна оплачиваться.
    Ответ написан
    4 комментария
  • Как оформить api доступ к данным, что бы было с ним комфортно работать?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    чем плох сваггер?
    а так оформите генерацию документации на основе комментов в коде, и у вас будет всегда актуальная документация. Если вы конечно не адепт самодокументированного кода.

    Зачем вам graphql? У вас крутая аналитика и нужны сложны срезы?

    Насчет оформления кода доступа. Напишите на чем можете, и главное добавьте примеры на чистом http, например как в яндексе, там вызов любого апи описан именно через запросы curl
    Ответ написан
    2 комментария
  • Чем отличается web-разработчик от web-программиста?

    Zoominger
    @Zoominger
    System Integrator
    Web-Разработчик занимается разработкой сайтов, а web-программист занимается программированием сайтов.
    Ответ написан
    3 комментария
  • Как выявить неиспользуемые node модули в проекте?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    У меня в голове только пройтись через ctrl+shift+f по импортам

    И это неплохое решение. Но есть же https://www.npmjs.com/package/depcheck
    P.S. Как люди гуглят?
    Ответ написан
    4 комментария
  • Какие стратегии повышения зарплаты существуют?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Центральный показатель для бизнеса, а следовательно и руководителей, как людей представляющих интересы этого самого бизнеса - это коэффициент возврата инвестиций (ROI). Соответственно, сотрудник должен приносить компании больше денег, чем потребляет. Естественно, что чем выше разрыв между затратами и прибылью, тем лучше, поэтому фонд оплаты труда руководитель должен держать на том минимальном уровне, который гарантирует бесперебойную работу сотрудников. Один из факторов этой бесперебойности - низкая текучка. Сотрудников терять нежелательно. И чем ценнее для компании сотрудник, чем более он профессионален и/или чем больше на него завязано, тем дороже обходится его потеря. Натурально в деньгах. Придётся затратить больше, чем обычно, денег на поддержание работы без него. Придётся затратить деньги и время (те же деньги) на поиск, найм, введение в работу, возможно, обучение нового сотрудника. При этом он может оказаться совсем неподходящих и цикл придётся повторить. Или может оказаться просто хуже прошлого и эффективность отдела снизится. Поэтому, когда сотрудник приходит просить прибавку, руководитель оценивает может ли этот сотрудник уйти или только блефует, насколько легко его будет заменить, какой урон компании будет нанесён его уходом. Потом руководитель оценивает стоимость расширения ФОТ - есть ли резервы, какой сейчас ROI, будет ли больший ROI от реинвестиции этих средств во что-то другое? Если уход сотрудника будет стоить меньше, чем увеличение ФОТа, сотруднику откажут.

    Естественно, всё описанное справедливо для случая, когда руководитель - профессиональный менеджер. А то часто на месте руководителя сидит человек руководствующийся эмоциями и мутными соображениями вычитанными в сомнительной бизнес-литературе.

    Из этого вывод, стратегия проста - увеличивайте собственный профессиональный уровень на столько, чтобы свободно менять компанию, как только вас что-то перестало устраивать.
    Ответ написан
    4 комментария
  • Направление для развития в React?

    RomReed
    @RomReed
    JavaScript, Flutter, ReactNative, Redux, Firebase
    Хуки тема конечно полезная но считаю что пока что важнее знать редукс и как он работает. Думаю что вас даже на собеседование не пустят без редукса ))).
    Ответ написан
    1 комментарий
  • Направление для развития в React?

    @Kred24
    Согласен с Романом. Без редукса разве что на тестировщиком на аутсорсе можно в наше время
    Ответ написан
    Комментировать
  • Как передать переменную в вызванную функцию?

    longclaps
    @longclaps
    Ух, поклонники глобальных переменных фестиваль констант устроили. Зачем, спрашивается?
    function foo() {
        bar.a = 42;
    }
    
    function bar() {
        console.log(bar.a)
    }
    
    foo();
    bar();
    Ответ написан
  • Как изменить state в React?

    hzzzzl
    @hzzzzl
    this.setState(state => {
      const newState = { ...state }
      newState.data.text.value.title = 'new title'
      return newState
    })
    Ответ написан
    1 комментарий
  • Кто может проверить грамотность кода?

    @Azperin
    Дилетант
    Ну раз уж тут все скидывают свои варианты
    function fearNotLetter(str) {
      var missingLetter;
      str.split('').map(v => v.charCodeAt(0)).forEach((v,i,arr) => {
        if (!missingLetter && arr[++i]) {
          if ((++v) !== arr[i]) {
            missingLetter =  String.fromCharCode(v);
          };
        };
      });
      return missingLetter;
    }
    
    console.log(fearNotLetter("bcdf"));

    Либо можно через создание заведомо правильного ряда

    function fearNotLetter(str) {
    	var missingLetter;
    	Array(str.length).fill(str.charCodeAt(0)).map((v,i) => v + i ).forEach(v => {
    		if (!missingLetter && !str.includes(String.fromCharCode(v))) {
    			missingLetter = String.fromCharCode(v);
    		};
    	});
      return missingLetter;
    }
    console.log(fearNotLetter("stvwx"));
    Ответ написан
    Комментировать
  • Сортировка перед добавлением в массив?

    hzzzzl
    @hzzzzl
    так не подойдет?

    arr = Object.values(obj).sort((k, kk) => kk[2] - k[2])
    Ответ написан
    3 комментария
  • Как вручную вставлять компоненты DOM дерево react?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Ответ написан
    Комментировать
  • Реактовское состояние в чистом JS?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Достаточно грубый пример, но суть должен передать:
    const updater = (component, prevState) => {
      if (Object.keys(prevState).some(
        key => prevState[key] !== component.state[key],
      )) {
        component.render();
        
        if (component.componentDidUpdate) {
          component.componentDidUpdate(prevState);
        }
      }
    }
    
    const domRender = (Component) => {
      const component = new Component();
      
      component.render();
      
      if (component.componentDidMount) {
        component.componentDidMount();
      }
    }
    
    class Component {
      constructor() {
        this.updater = updater;
      }
      
      setState(newState) {
        const prevState = this.state;
        
        if (typeof newState === 'function') {
          this.state = newState(prevState);
        } else {
          this.state  = { ...prevState, ...newState };
        }
        
        this.updater(this, prevState);
      }
    }
    
    class Example extends Component {
      constructor() {
        super();
        this.state = {
          value: 'Initial value',
        }
      }
      
      componentDidMount() {
        setTimeout(() => {
          this.setState({ value: 'New value' });
        }, 2000);
      }
    
      componentDidUpdate(prevState) {
        console.log('Prev state: ', prevState);
        console.log('New state: ', this.state);
      }
    
      render() {
        const { value } = this.state;
        
        document.querySelector('.example').innerHTML = value;
      }
    }
    
    
    domRender(Example);

    Демо
    Ответ написан
    4 комментария
  • Как найти разработчика мобильного приложения в стартап?

    qlkvg
    @qlkvg
    python backend developer
    Ответ написан
    Комментировать
  • Простые open source проекты на JS для их 'разбора'?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    React. Пишем в google:
    weather app react github,
    todo app react github,
    reddit app react github,
    etc.
    Ищем посвежее и изучаем.

    Node JS:
    chat node github,
    rest api node github,
    video editor node github,
    etc.

    Ищем посвежее и изучаем.

    JS:
    <То к чему душа лежит> github.
    Ищем посвежее и изучаем.

    Open source библиотеки - забудьте. Неподготовленному уму по ним учиться писать вредно.

    Если действительно хотите научиться писать более менее хороший код, идите работать в компанию.
    Ответ написан
    2 комментария
  • Где найти начинающих веб разработчиков для совместной работы над образовательным проектом?

    alex-1917
    @alex-1917
    Если ответ помог, отметь решением
    Я согласен — и впредь не платите, 
    Пусть шатает меня на ходу, 
    Не давайте жилья, не кормите, 
    Всё равно на работу приду. 
    
    День получки — нет траурней даты, 
    Просто нет её в этом году, 
    Не давайте паёк и зарплату, 
    Всё равно на работу приду. 
    
    Отдыхать ни за что не поеду, 
    Это море имел я (в виду), 
    Чай пустой и сухарик к обеду, 
    Всё равно на работу приду. 
    
    И лечиться мне вовсе не надо, 
    Могут вылечить вдруг на беду, 
    Не нужны никакие награды, 
    Всё равно на работу приду. 
    
    Ничего, что одежда в заплатах, 
    Я не вру Вам, имейте в виду, 
    Даже если проезд будет платным, 
    Всё равно на работу приду.
    Ответ написан
    Комментировать
  • Как на одной из страниц убрать footer?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Условный рендеринг.

    Оберните App в withRouter:
    export default withRouter(App);

    Добавьте условие:
    const shouldShowFooter = this.props.location.pathname !== '/basket';

    Отображайте футер по условию:
    {shouldShowFooter && <Footer />}
    Ответ написан
    Комментировать
  • Хочу понять, с чего мне начать путь в геймдев?

    goodsprite
    @goodsprite
    HyperCasual Game Dev
    Я перешел в геймдев в 32, когда за плечами уже было 12 лет дизайна и разработки. При это в нашей компании есть те, кому 18.

    Освоил Unity за месяц до уровня, когда можешь делать свои небольшие игры.

    Это я к чему?
    1. Чтобы работать разработчиком в игровой компании, нужно программировать и знать теорию, иначе просто не пройдете собеседование. Разбираться в движке не достаточно. А чтобы быть крутым разработчиком в крутой компании: раз и два
    2. Чтобы работать художником, аниматором, дизайнером, нужен скилл и портфолио. Это несколько лет упорного труда. Джунам платят очень мало.
    3. Чтобы придумывать игры, механики, концепции, нужен опыт либо в геймдеве, либо в других проектах с игровыми механиками. В продюсеры и геймдизайнеры можно переквалифицироваться из продуктовых или проектных менеджеров. То есть нужен опыт управления командой, решения бизнес задач (запуск, монетизация, повышение конверсий и так далее). Как понимаете, это тоже годы труда.

    В итоге если вы хотите заниматься именно продумыванием игр, то самый простой путь это:
    0. Просмотреть на ютубе видео по тематике геймдева, выбора профессий, про гейм-дизайн, продюсеров. Потратьте пару недель на изучение темы.
    1. Изучить движок Unity, разработать свой проект (дизайн, разработка, звук, анимации и всё остальное делаете сами), один из лучших курсов для начинающих на английском.
    2. Выпустить его в стор,
    3. Продумать вход и удержание игроков, монетизацию, довести проект до максимально идеального состояния.
    4. Затем повторить несколько раз.
    Только так вы сможете максимально быстро получить опыт геймдизайнера и продюсера за 2-3 года.

    После этого уже решите: хотите работать в компании или собрать свою команду и делать свои игры.

    В любом случае вам всего 21 год. Даже уделяя разработке только свободное от работы время вы можете набраться достаточно опыта к 25 годам.

    Добавлю другие пути через смежные профессии вроде:
    1. Тестировщики.
    2. Саппорт.
    3. Сценаристы.
    4. Переводчики.
    5. Моддеры (сперва делают моды для игр, затем становятся левел-дизайнерами).
    6. Видео-монтажеры и режиссеры.
    7. Маркетологи.
    8. СММ (приходят вести группы в соцсетях, потом изучают геймдев кухню и другую профессию).

    Путей много. Но это всё работа. Не только развлечение.
    Ответ написан
    3 комментария
  • Что такое {Component}? И для чего оно в конкретном примере?

    miraage
    @miraage
    Старый прогер
    Это называется named export. Изюминка в том, что у React есть только default export.
    Вопрос - как оно тогда работает, если это named export, а у React только default?

    Ответ в том, что React поставляется как CommonJS версия, а не ESModule.
    Можно увидеть в исходниках, что везде в конце пишется "module.exports = React"
    https://unpkg.com/react@16.8.6/index.js
    https://unpkg.com/react@16.8.6/cjs/react.development.js
    https://unpkg.com/react@16.8.6/cjs/react.productio...

    Дальше происходит магия (вероятно, вебпака), и получается, что default export дополнительно продублирован named export'ами.

    Смотрите пример: https://codesandbox.io/embed/charming-wilbur-b6fwo

    Я везде пишу React и всем советую.
    И по поводу "меньше символов":

    // 70 chars
    import React from 'react';
    export class Foo extends React.Component {};
    
    // 79 chars
    import React, { Component } from 'react';
    export class Foo extends Component {};
    Ответ написан
    Комментировать