• Какую версию Angular актуально учить сейчас?

    StivinKing
    @StivinKing
    Есть 2 разных фреймворка Angular. Это, уже успевший устареть, AngularJS и Angular.
    Angular развивается, выходят новые мажорные версии (2, 4, 5, 6, ...) которые всем, почему, то кажутся новыми фреймворками. Но на самом деле это просто улучшения, которые в большинстве случаев даже не заметны разработчикам.
    Изучать, конечно же, нужно Angular и просто следить за новыми версиями данного фреймворка, чтобы оставаться всегда в курсе событий и иметь возможность быстро обновиться для обеспечения наибольшей безопасности и скорости своего приложения
    Ответ написан
    Комментировать
  • Что учить Angular или React новичку?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Лучше Angular - помимо того, что будете знать популярный и востребованный JS фреймворк, так еще и освоите концепт model–view–controller (MVC), что в наши дни весьма полезно.

    React - запутает мозги только с непривычки. Это механизм подключения чего приспичило куда попало. Потом разберетесь по ходу дела, когда понадобится.

    P.S. А вообще - для практики и освоения концепции DOM - не лишним будет уверенно освоить jQuery для начала. Еще до тотальной очередной повсеместной реинкарнации MVC, жили и не тужили с JS и jQuery и в ус не дули. Если не уметь поддерживать разработку в этих рамках, то и фреймворки не спасут - будет ад и содом в коде.
    Ответ написан
    Комментировать
  • Использование Api сайтом, нужно ли?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Почему нельзя, просто, выделить common часть для обоих модулей?
    А в модель поста можно прописать метод который будет доставать и мапить результаты.

    Тогда у вас будет примерно такой код в rest:
    router.get('/', routeCache.cacheSeconds(20), async (req, res) => {
        const posts = await models.Post.getPostsList({ limit: 10 });
    
        res.json(posts);
    });


    и такой для сайта:
    router.get('/', async (req, res) => {
        const posts = await models.Post.getPostsList({ limit: 10 });
    
        res.render('index', { posts_list: posts });
    });


    Все просто и никаких костылей.
    Обращения сервера сайта к rest это лишний код и лишние операции.

    Метод res.json() сам добавляет к ответу заголовок Content-Type со значением 'application/json' если он не добавлен до этого.
    Ответ написан
    Комментировать
  • Наследование в JS. Почему выдает false?

    pterodaktil
    @pterodaktil
    js developer
    Animal.prototype.getName = function() {
            var animalName = this.name;
            console.log(animalName);
            return animalName;
        };

    потому что функция ничего не возвращает (undefined !== 'Doggy')
    с bark() аналогично
    Ответ написан
    1 комментарий
  • Есть ли смысл учить два фреймворка?

    vicodin
    @vicodin
    Имею некоторый опыт
    параллельно не стоит, по очереди изучайте сколько угодно (но я бы скипнул ангуляр)
    Ответ написан
    Комментировать
  • Как восстановить второй монитор после обновления Windows 10 (HDMI)?

    edinorog
    @edinorog Куратор тега Windows
    Троллей не кормить!
    зайти на сайт производителя видеокарты и скачать драйвер! прикинь как все просто)
    Ответ написан
    8 комментариев
  • Как восстановить второй монитор после обновления Windows 10 (HDMI)?

    Ezhyg
    @Ezhyg
    1 удалить устройство
    2 обновить конфигурацию обуродования
    3 дождаться установки драйвера
    4 перезагрузиться
    если не поможет - откатить драйвер на прежнюю - рабочую версию
    Ответ написан
    4 комментария
  • Почему при подключенном модуле express, не распознает sendfile?

    rhino_o
    @rhino_o
    Студент
    Скорее всего вы перепутали значения аргументов, т.е первый request, а второй response, а не наоборот
    Ответ написан
    1 комментарий
  • Что значит @ перед Component в Typescript файле Angular?

    flexaccess
    @flexaccess
    Намерен работать программистом
    Это декоратор, который выступает в качестве аннотации, которая рассказывает некую информацию о нижеописанном классе. Ссылаясь на ответ выше, здесь декоратор говорит, что класс ниже это компонент, у которого есть селектор greet, который потом будет искаться в html шаблоне и подставлять туда результаты работы данного компонента, его шаблон и стили. template содержит в себе html шаблон. Если заменить его на templateURL, то в него можно указать ссылку на шаблон, который будет подставлен в то место, где будет вызван селектор greet - <greet></greet>
    Ответ написан
    4 комментария
  • В чем смысл enum типа в typescript?

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

    Это могут быть дни недели, список статусов по документам и любые другие списки.

    Зачем использовать для этого целый тип, если можно обойтись абстрактным набором числовых значений или строк? Ну потому, что цель одного программиста - написать понятный и логичный код. А цель его напарника - без труда заниматься поддержкой решения, а не ломать голову, что же там за список статусов {0, 1, 2, ..., N} такой.
    Ответ написан
    4 комментария
  • Не избыточно ли использовать rxjs/Observable?

    search
    @search
    мама говорит что я особенный
    В ангуляре практически все (если не все) асинхронные операции возвращают Observable. Избегая его использование вы не получите никаких выигрышей, а наоборот сильно усложните себе жизнь выбиваясь из экосистемы фреймворка. Вот статья, которая помогла мне разобраться с rxjs https://habrahabr.ru/company/infopulse/blog/338910/
    Ответ написан
    Комментировать
  • Как практиковаться JavaScript?

    Ни в коем случае не забивайте!

    Лично я никогда не учил что-то просто читая литературу и выполняя задачки как в школе. Теоретические знания это хорошо, но практические куда важнее. Придумайте себе какой-нибудь проект, что-нибудь интересное и попробуйте его реализовать. Так вы наберётесь практических знаний, к тому же, это намного интереснее чем просто читать и делать задания.
    Ответ написан
    3 комментария
  • JS последний элемент массива?

    alvvi
    @alvvi
    export default apathy;
    Как сеньер разработчики бы выбрали последний эллемент массива?

    Наверное, как и все остальные
    array[array.length - 1]

    Чтобы без лишних операций в виде поиска длины массива

    Если тут и есть лишняя операция, то это как раз -1, длина массива - это свойство, ничем от вашего array.last оно не отличалось бы, если бы второе существовало, конечно.
    Ответ написан
    Комментировать
  • Как аргументировать начальству создание существующего проекта заново, с ноля?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Никак. Постигайте кунгфу рефакторинга legacy кода - многопроходного бережного улучшения архитектуры приложения, без перебоев в работе приложения и в параллели с разработкой новой функциональности. Покрывайте логику тестами, изолируйте / локализуйте проблемы, ослабляйте связность кода между модулями, наводите порядок внутри модуля. Повторяйте снова и снова.

    P.S. Не тот программист хорош, кто старый мир разрушит и по-своему накосячит (а это обязательно произойдет), а тот, кто может огрехи найти, осмыслить и исправить без ущерба для бизнеса, который этот софт обслуживает. При этом, не забывая о разработке новых фич. (С) Я 2017
    Ответ написан
    3 комментария
  • Typescript vs ES7?

    vitali1995
    @vitali1995
    Без типизации в крупных проектах будет туго, да и в небольших использовать типизацию приятнее. Я полностью перешёл на TS, который постоянно меня выручает.

    Примеры:
    * В JS изменить название переменной - это целый подвиг. С TS это делает за нас IDE.
    * Забудьте про опечатки - вам не придётся с удивлением обнаруживать их в процессе выполнения и искать причину внезапного undefined.
    * Новые возможности для рефлексии, которые (например) во всю использует Angular.
    Ответ написан
    Комментировать
  • Когда стоит использовать Rxjs?

    @napa3um
    Как мне показалось, что весь ее функционал можно заменить с помощью Lodash и Promises.

    Пока справляетесь промисами и лодашем - справляйтесь ими. Когда отдельных промисов и асинхронных обработчиков данных в вашем приложении станет слишком много, возможно, появится видение, как эти промисы и обработчики можно систематизировать и обобщить до потоков распространения изменений данных и комбинаций таких потоков, вот тогда RxJS и пригодится. Это уже следующая ступенька абстрагирования.

    https://github.com/Reactive-Extensions/RxJS/tree/m... - тут куча наглядных примеров.
    https://xgrommx.github.io/rx-book/content/mappingr... - примеры задач, решаемых библиотекой Async.js, c переложением их на RxJS (ну и остальные главы книги будут полезны).
    rxmarbles.com - визуальный "тренажёр" для понимания работы операторов RxJS.
    Ответ написан
    2 комментария