• Мультизадачность или потоки: возможно такое в браузере?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Web Workers предоставляют простое средство для запуска скриптов в фоновом потоке. Поток Worker'а может выполнять задачи без вмешательства в пользовательский интерфейс. К тому же, они могут осуществлять ввод/вывод, используя XMLHttpRequest (хотя атрибуты responseXML и channel всегда будут равны null). Существующий Worker может отсылать сообщения в JavaScript код, который его создал, отправляя сообщения в обработчик событий, указанный этим кодом (и наоборот).

    https://developer.mozilla.org/ru/docs/DOM/Using_we...
    Ответ написан
    1 комментарий
  • Как отправить данные из mongodb?

    bingo347
    @bingo347 Куратор тега Node.js
    Crazy on performance...
    насколько понимаю koa?

    что бы koa дожидался Вашего асинхронного действия в роуте, нужно возвращать промис:
    router.get('/1', ctx => new Promise(resolve => {
        mongoClient.connect(url, (err, client) => {
            client.db("qq").collection("bb").find({}).toArray((err, users) => {
                ctx.body = users;
                console.log(users);
                client.close();
                resolve();
            });
        });
    }));


    P.S. открывать новый коннект с БД на каждый запрос не очень то хорошо...
    Ответ написан
    1 комментарий
  • Хороши ли корструкторы для создания сайта?

    solidcreature
    @solidcreature
    Развиваю сообщество WordPress в Москве
    Плюсы конструкторов
    • Возможность сделать проект без дизайнера и программиста
    • Широкий набор блоков и возможностей
    • Почти все конструкторы имеют дополнения и расширения
    • Наборы готовых шаблонов
    • Удобство для пользователя для дальнейшего использования / наполнения


    Минусы конструкторов
    • Если мало опыта и нет вкуса в результате получится говно
    • Намного сложнее делать сайт по готовому дизайну, так как нужно создавать свои или переназначать существующие блоки
    • При прочих равных сайт на конструкторе более тормозной чем хорошо написанный сайт под конкретную задачу
    • Удобство для пользователя для дальнейшего использования / наполнения


    Если вы начинающий веб-разработчик, то нет ничего плохого в использовании конструкторов. Полезно разобраться в одном из популярных конструкторов (скажем Elementor или Visual Composer), это поможет сократить время на разработку/наполнение в некоторых случаях.

    Но это не полноценная замена умению программирвоать
    Ответ написан
    Комментировать
  • Что нужно иметь и знать в фреймворке React джуну?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Хороший кандидат на должность Junior React Developer, по моему мнению, должен соответствовать следующему перечню требований:
    1. Хорошее знание JavaScript. В React разработке используется ES6 и большинство экспериментальных фич еще не вошедших в стандарт.
    2. Хорошее знание HTML и CSS. Кроссбраузерная верстка. Так же, хорошо иметь представление о том, что такое css-in-js.
    3. Web APIs. Умение работать с объектной моделью документа(DOM) и все эти XMLHttpRequest, localstorage, cookie, history и прочее.
    4. Хорошее знание API React. Вы должны хорошо знать React, знать его возможности, понимать основные концепции и уметь ответить на большинство типовых вопросов. Для этого достаточно хорошо изучить документацию, разобрать пару типовых проектов на github и попрактиковаться. Много полезной информации, приёмов и идей можно подчерпнуть из тематических статей и докладов. Так же, на просторах интернета можно найти подборки типовых вопросов, часто задаваемых на собеседованиях. В англоязычном сегменте их больше.
    5. Redux. Уверенное знание API. API библиотеки до боли пост. Знать, что такое промежуточное ПО и зачем оно. Понимать базовые концепции архитектуры Flux. Все это есть в документации и многочисленных курсах.
    6. Умение работать с менеджером пакетов npm на базовом уровне.
    7. Node.js. Хотя бы уметь написать простейший express/koa сервер, который будет отдавать ваше приложение и статику.
    8. Webpack. Базовые знания.
    9. Умение работать с git. Хотя бы знать и уметь примерять команды: init, clone, add, commit, push, pull, merge, checkout.
    10. Иммутабельность. Четкое понимание зачем это надо. Знание приемов иммутабельного изменения структур данных. Это есть в официальном туториале React.
    11. Статическая типизация TypeScrpt/Flow. Для начала хватит самых основ и способности понимать чужой код.
    12. Функциональное программирование. Хватит знаний полученных в процессе изучения JavaScript, а так же не помешает знать, что такое каррирование, чистые функции и рекурсия.
    13. Базовые концепции ООП. Хватит знаний полученных в рамках изучения JavaScript.
    14. Асинхронный код. Понимать как его правильно организовывать. Promise, async/await.
    15. Сетевые протоколы передачи данных. Вполне хватит базовых знаний о http/https, о том, что такое заголовки и какие они бывают. Хорошо знать о том, что такое websocket.
    16. За плечами должен быть хотя бы один учебный проект на React. Хватит типового тестового задания.
    Примеры таких заданий: 1, 2, 3(сайт может быть не доступен на территории РФ, советую отрыть через VPN и посмотреть), 4, 5. Если подобного проекта у вас нет, то будьте готовы, что потенциальный работодатель предложит вам выполнить тестовое задание и только по его результату вас, может быть, пригласят на техническое интервью. Если напишите хорошо, вас скорей всего пригласят.
    17. Желателен опыт создания типовых UI элементов. Например, чтобы не вызывало трудностей написать простой кастомный чекбокс. Куча примеров реализаций типовых элементов есть на codepen.

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

    Похожий вопрос.
    Ответ написан
    18 комментариев
  • Как вернуть результат fetch после запроса к API?

    `fetch(URL)` возвращает обещание(Promise), а вы сразу возвращаете результат. Колбэк функция передаваемая в метод then будет вызвана позже, когда закончится процесс `fetch`.
    Функция `myfunc` должна тоже возвращать Promise вот так:
    function myfunc() {
      results = [];
      return fetch(URL)
        .then((response) => response.json())
        .then((hitsJSON) => {
          return hitsJSON.hits.map(item => {
            return {
                  id: item.id,
                  url: item.previewURL,
                  tags: item.tags
              };
          }));
      });
     }
    
    // и использование 
    myfunc()
      .then((results) => {
        // do something
      })
    Ответ написан
    Комментировать
  • Как прибавить три дня к текущей дате?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    var addDays = 3;
    var date = new Date()
    date.setDate(date.getDate() + addDays);
    Ответ написан
    4 комментария
  • Интервьюируем программиста?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Шутка «найди того, кто тебе проинтервьюирует будущего интервьюера» слишком поверхностна, чтобы её можно было считать остроумной.
    А это не шутка.
    Чтобы быть хорошим разработчиком, нужно очевидно обладать техническими компетенциями.
    Чтобы прособеседовать человека на должность разработчика, нужно обладать не меньшими компетенциями.
    Все, круг замкнулся.

    И кстати что это за интервью на фрилансе? Если у вас такого масштаба проект что кто-то согласен ждать интервью - зачем вам вообще фрилансеры? Обратитесь в любое HH агенство и возьмите людей в штат.

    Ну или как вариант, выбирайте сами исходя из рекомендаций знакомых, ну и в целом:
    - как быстро человек отвечает на сообщения
    - скинул он шаблонный отклик или же изучил задачу (Пример плохой оценки "300 часов за все". Хорошая оценка декомпозируется на кусочки не более 4-8 часов)
    - Задает ли он вопросы и какие.

    Готовьтесь что 49 из 50 будут этим требованиям не соответствовать.

    Отдельно хочу подчеркнуть еще несколько моментов:
    - не работайте с сильно дешевыми фрилансерами. Если у человека в портфолио сплошные "сайт под ключ за 10 000") - он очевидно не сделает вам нестандартное тз.
    - если ваше тз больше 5 страниц - его будут читать только люди с высоким рейтом и то не все.
    - любые технологии которые предлагает вам разработчик проверяйте на массовость. Go хороший язык, но искать замену этому разработчику вы будете долго и больно. Не путайте массовость и модность. Node.js модный - но ситуация см выше.
    Ответ написан
    2 комментария
  • C# vs Java для удалённой работы за рубежом. Что востребовано?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Ориентироваться на зарплаты по языкам программирования - это полный идиотизм.
    Много платят за уровень специалиста, а не за язык.
    Найти опытного специалиста по PHP, который зарабатывает больше среднего специалиста по Java или C# - несложно.

    Поэтому пока вы годами будете выбирать и прыгать с одного на другое, кто-то другой уже приобретет опыт и устроится.
    Ответ написан
    Комментировать
  • C# vs Java для удалённой работы за рубежом. Что востребовано?

    @Ambrosian
    Востребованы специалисты.
    Знание конкретного языка - не важно. Да и вы упомянули - оба мейнстримовых
    А специалист - это не язык.
    Синтаксис учится быстро.
    Знания специалиста - это парадигмы, алгоритмы, паттерны и архитектура.
    А вовсе не знания языка. Если только это не английский
    ;)
    Ответ написан
    Комментировать
  • C# vs Java для удалённой работы за рубежом. Что востребовано?

    sim3x
    @sim3x
    tl;rd учить нужно то что не вызывает отвращения
    На зп на других ЯП нужно ориентироваться, когда у вас будет за плечами 1-5 лет разработки
    И понимание, что программинг - ремесло и в редких случаях важен инструмент

    Сразу нормальных денег не будет

    В этом году я решил, что программирование может помочь мне заработать деньги
    не поможет. Для того чтоб помогло нужно 1-5 лет вкалывать

    Сравните стоимость труда PHP и Python программиста за рубежом, и поймете, о чем речь.
    сравнивали. Мидл - в обоих стеках получает одинаково

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

    Java №1 в мире
    первое правильное утверждение

    Из чего следует, что C# развивается, и кросс-платформенность тоже развивается.
    ну да

    По сравнению с Java у C# выше производительность,
    ну да

    У меня знакомый информатик крутил JVM, говорит, что как-то вроде можно, но непонятно как. А в C# говорят, что можно в некоторых областях программы сделать неуправляемый код и контролировать память.
    сын маминой подруги btw умеет гуглить

    В C# комфортнее работать. Более того, он меньше по объему, чем Java.
    очень важный параметр

    Наши Украинцы тоже считают, что Java №1, но при этом, востребованность выше у C#, чем у Java.

    Колличество вакансий для Украины (от джуна до синьора)
    Java 306
    .NET 315
    Ответ написан
    4 комментария
  • Лучший веб сервер для Angular?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Конструктивный ответ: сервер который вы умеете администрировать.
    пс. Nginx ;)
    Ответ написан
    2 комментария
  • Почему get запрос в браузере работает в а в node.js нет?

    rockon404
    @rockon404
    Frontend Developer
    А вы текст ошибки попробуйте вдумчиво прочитать:
    No 'Access-Control-Allow-Origin' header is present on the requested resource.
    Origin 'http://localhost:3000' is therefore not allowed access.
    The response had HTTP status code 403.

    Research link
    Ответ написан
    3 комментария
  • Как менять содержимое сайта в зависимости от пола и возраста посетителя?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    счетчики берут из Яндекса и Гугла

    а посетителя спрашивайте что значит слово kodak
    Ответ написан
    Комментировать
  • Работа в Figma .Язык интерфейса?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Лучше вбейте в переводчике, и узнайте перевод нужных пунктов. Будет сложно, если вы привыкните к русскому интерфейсу, потом читать статьи и новости по фигме, где весь интерфейс на английском.
    Да и к тому же, она очень быстро развивается, вряд-ли вы найдете актуальный руссификатор.
    Ответ написан
    1 комментарий
  • Что делает оператор "||" при присвоении?

    @askhat
    Эквивалентно
    var URL
    if (window.URL) {
      URL = window.URL
    } else {
      URL = window.webkitURL
    }
    Ответ написан
    Комментировать
  • Как сделать тяжелый импорт из excel 800к товаров?

    webinar
    @webinar Куратор тега PHP
    Учим yii: https://youtu.be/-WRMlGHLgRg
    1. xls - это похититель ресурсов, пересохраняем в csv
    2. проверяем файл на размер и на лимиты при отправке через post
    3. вероятно стоит его разбить на части, а не обрабатывать весь
    4. наверное стоит повесить задачи по обработке на cron
    5. можно и даже нужно установить больший timeout

    Если для этой задачи есть web интерфейс, я бы разбивки вообще возложил на клиент. Отправлял маленькими частями ajax-ом, получал бы ответ, рисовал бы % выполнения и отправлял дальше.
    Ответ написан
  • Почему нет профсоюза IT-работников?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Imho все адекватные люди аполитичны и предпочитают тратить время на зарабатывание денег.
    В текущих реалиях проще эмигрировать, чем тратить время на это вот все.

    А про забастовку, ну право смешно. Вы реально считаете что правительство рассматривать it отрасль как социально значимую? Это скорее что-то непонятное, мешающее свету из телевизора проникать глубь народных масс.

    Тем более что государственных то it компаний практически нет. Будете бастовать внутри своей коммерческой структуры - никому кроме этой структуры вы не навредите.

    Поднимите столько хайпа что государство обратит внимание на регулирование работников - вот тут то вы и взвоете по настоящему.
    Ответ написан
    10 комментариев
  • Как сделать в javascript рассылку путем добавления строк в базе?

    @Yan-s
    Что еще за глупости, делать это на JS.

    Просто надо решить задачу на PHP правильно.
    Непонятно, в чем у вас проблема с дублями? Из-за чего они появляются? Как это связано с "wait", для чего задержка?

    Длительные операции, а в частности рассылки должны выполнятся в фоне. Реализуется с помощью очереди задач. Из интерфейса добавляете задачу в очередь, а запускается она кроном в CLI режиме, без ограничений на время исполнения.
    Ответ написан
    Комментировать