• Зачем нужен redux-thunk?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Если я правильно понял вашего коллегу, то речь была не о том, что нужно асинхронные функции через setTimeout вызывать, а это был просто пример, как сделать какой-то кусочек "типа асинхронным".
    Его довод был в том, что вместо вызова dispatch из замыкания (полученного с помощью redux-thunk, например) он вызывал store.dispatch напрямую (то есть у объекта store, и этот store импортировал бы в каждом файле).

    В таком случае, у redux-thunk - одно преимущество явное - не нужно импортировать store в каждом файле.

    В остальном, все очень четко расписано в ответе Дэна Абрамова, который привел holymotion.
    Если быть кратким, то вам нужна функция dispatch, ведь именно через нее вы "диспатчите" свои экшены. Вы не можете в асинхронном ответе написать:
    ...
    axios.get('/user')
          .then(res => {
            // успешно получили данные
            dispatch({ // <-- здесь вы вызываете функцию dispatch, а если она к вам не пришла в анонимной функции, с помощью redux-thunk, то октуда вы ее возьмете?
              type: GET_PROFILE_SECCUESS
              payload: res.data
            })
          })
    ...


    Поэтому вы были бы обязаны в каждый action creator, который является асинхронным, передавать бы помимо нужных вам аргументов, еще и функцию dispatch из своего контейнера. Что не удобно. (это все есть по ссылке на stackoverflow, но более подробно)
    Ответ написан
    1 комментарий
  • Как отправить HTTP запрос методом POST на URL через PHP?

    GeneMoss
    @GeneMoss
    void
    $url = 'http://localhost/post.php';
    $params = array(
        'param1' => '123', // в http://localhost/post.php это будет $_POST['param1'] == '123'
        'param2' => 'abc', // в http://localhost/post.php это будет $_POST['param2'] == 'abc'
    );
    $result = file_get_contents($url, false, stream_context_create(array(
        'http' => array(
            'method'  => 'POST',
            'header'  => 'Content-type: application/x-www-form-urlencoded',
            'content' => http_build_query($params)
        )
    )));
    
    echo $result;
    Ответ написан
    1 комментарий
  • Как отправить HTTP запрос методом POST на URL через PHP?

    Tyranron
    @Tyranron
    Действительно, за время, которое потратили на создание вопроса, Вы могли без проблем найти интересующую Вас информацию в любом поисковике.

    Но раз вопрос уже задан, то должен быть и ответ(ы).
    Собственно, @OnYourLips дал ссылку на хороший фреймворк, но если нет смысла тащить в проект/скрипт целый фреймворк ради одного запроса, к примеру, то логичнее воспользоваться упомянутым CURL. В Вашем случае сценарий использования CURL будет выглядеть примерно следующим образом:
    $myCurl = curl_init();
    curl_setopt_array($myCurl, array(
        CURLOPT_URL => 'http://target.site.com/form.php',
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => http_build_query(array(/*здесь массив параметров запроса*/))
    ));
    $response = curl_exec($myCurl);
    curl_close($myCurl);
    
    echo "Ответ на Ваш запрос: ".$response;

    Если надо передать при этом ещё и файлы, или обратиться по https, или ещё чего Вам понадобится - добро пожаловать в документацию:
    http://php.net/manual/ru/book.curl.php
    Советую обратиться к документации в любом случае, дабы ознакомиться со всеми возможными нюансами, а также понять и выбрать то, что конкретно Вам потребуется для решения Вашей задачи.
    Ответ написан
    3 комментария
  • Как убрать frontend/web/index.php c url в yii2 advanced?

    @bultikk
    Начинающий веб-разработчик.
    Комментировать
  • Как узнать, что за входящий параметр в функции, в чужом коде?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега JavaScript
    Руководитель frontend направления, предприниматель
    1. Прочитать код, понять его.
    2. Понять, что автор поленился придумать название для людей.
    3. Принять это, смириться с ним и жить дальше.
    Ответ написан
    1 комментарий
  • Как узнать, что за входящий параметр в функции, в чужом коде?

    @res2001
    Developer, ex-admin
    Тут dt - объект типа Date, учитывая как она используется в коде.
    А вообще смотрите как вызывается интересующая вас функция.
    Ответ написан
    2 комментария
  • Как добавить сопровождающего пользователя в приватный github репозиторий?

    cissav
    @cissav
    Руководитель Omnidesk.ru
    Заходите в репозиторий - Settings - Collaborators - добавляете нужного.
    Ответ написан
    1 комментарий
  • Как преобразовать timestamp в дату вида мм.дд.гггг?

    dummyman
    @dummyman
    диссидент-схизматик
    console.log( new Date( 1497094200000 ) );

    ("" + (new Date(1497094200000)).toISOString()).replace(/^([^T]+)T(.+)$/,'$1')

    "2017-06-10"

    ("" + (new Date(1497094200000)).toISOString())
            .replace(/^([^T]+)T(.+)$/,'$1')
            .replace(/^(\d+)-(\d+)-(\d+)$/,'$3.$2.$1')

    "10.06.2017"
    Ответ написан
    Комментировать
  • Какой необходимый уровень знаний для junior React.js Разработчика?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    UPDATE: реальные тестовые задания и разборы здесь, ответы на все вопросы из поста в моем блоге об обучении react.

    не включая основы js

    Извините, но стандартная задача, про "напишите функуцию add, которая при вызове add(1)(2) вернет 3" - многих положила на лопатки =) Поэтому будьте готовы..

    React
    0) Какую проблему решает react ?
    1) Мгновенно ли срабатывает setState? Если нет, то как выполнить код, который 100% выполнится после того, как новый state будет установлен?
    2) Зачем многие постоянно пишут в constructor: this.FUNCTION_NAME = this.FUNCTION_NAME.bind(this) и отсюда вопрос вытекает чему равно this в разных местах вашего компонента...
    3) в каких методах жизненого цикла стоит выполнять xhr запросы? В каких стоит "обновлять state на основе props"?
    4) Что будет если вызвать this.setState в render методе компонента?
    5) зачем нужен componenWIllUnmount, приведите пример..
    6) Контролируемые, не контролируемые компоненты
    7) Как организовать роутинг в реакт приложении? (ответ: взять react-router - подходит, но было бы круто, если бы вы рассказали, как он примерно работает)*
    8) Зачем нужны propTypes? Что происходит с ними в production сборке?
    9) Как можно удобно "отлаживать" чужой код приложения, написанного на react (намек в сторону React devtools)
    ...

    Redux
    0) Какую проблему решает redux?
    1) Зачем многие создают типы действий NAME_REQUEST / NAME_SUCCESS ? А заодно, что такое "действие", а что такое "создатель действия"...
    2) Что такое редьюсер? Можете написать простой редьюсер без react/redux?*
    3) Для чего нужен redux-thunk? Как он работает? Напишите (можно псевдокод) асинхронный создатель действия (либо, если надоело говорить "терминами" - асинхронный aciton)
    4) Как компоненты приложения получают "пропсы" из "стора"?*
    5) Можно ли (и считается ли это нормальным) использовать state, если используется Redux?
    6) Почему в reducer'ax мы возвращаем новые объекты? Приведите пример, когда вы возвращаете новый объект, а когда тот же самый.
    6.5) А так же, "как в js вообще это работает?". Например:
    let obj1 { name: 'Test', age: 100 }
    let obj2 = obj1
    obj2.name = 'Test_new'

    Что будет в obj1, почему? В каких случаях объекты могут быть равны?
    7) Что возвращает функция connect (из react-redux)?
    ...

    Общее:
    0) package.json
    1) Webpack, gulp, etc...
    2) node.js
    3) promise

    Что-нибудь практическое:
    1) Как бы вы валидировали форму, если ошибки валидации приходят после submit'a ее на сервер..
    2) Почему не работает следующий код, сделайте чтобы работало
    ...
    На истину не претендую, но такие вопросы имели место быть на собеседованиях. В беседе можно многое разузнать дополнительными вопросами и так далее. Так же, если часть вопросов вам неизвестна - не беда, многие и на половину ответить не могут.

    p.s. возможно дополню...
    p.p.s. звездочкой отметил, на мой взгляд не самые необходимые для junior-собеседования вопросы.
    Ответ написан
    31 комментарий
  • Чем webpack лучше gulp/grunt?

    Webpack - это система сборки с массой возможностей. В частности, он анализирует JS-код (а также CSS или другой, через лоадеры), это даёт ему superpowers.

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

    То есть, это две разные вещи. В качестве одной из задач на gulp/grunt вполне может быть сборка webpack, так обычно и делают.

    Простую сборку вполне можно написать и на gulp/grunt напрямую. А если посложнее или просто хочется иметь задел "на будущее", то можно воспользоваться специальным инструментом (Webpack).

    P.S. У меня когда-то были и gulp task'и сборщики и browserify, но уже давно их место плотненько занял Webpack.
    Ответ написан
    18 комментариев
  • Где искать разработчиков софта для трейдинга?

    mistik_max
    @mistik_max
    Копирайтер, йог и созидательный инвестор))
    я бы на вашем месте обратился в тех поддержку любой более не менее успешной брокерской компании, там вам точно посоветуют адекватных разработчиков, которые им портал делали)
    Ответ написан
    Комментировать
  • Где искать разработчиков софта для трейдинга?

    @vl12
    Смотря какой софт и ЯП. На MT4 и MT5 - mql4.com/ru и mql5.com/ru, как ни странно. )
    Ответ написан
    Комментировать
  • Как в PyCharm из проекта создать репозиторий на GitHub?

    @balamut108
    Py
    Создаёте новый проект, активируете VCS (Enable VCS), создаёте новый репозиторий Git, добавляете в него нужные файлы, делаете коммит, далее в VCS выбираете Import Into Version Control -> Share Project in GitHub.
    Это будет работать при условии что у Вас корректно настроены VCS в Settings -> Version Control.
    Ответ написан
    1 комментарий
  • Какие отличия между битрикс, битрикс24, 1С-Битрикс, bitrix, и имеет ли это отношение к 1С:Предприятие?

    promconsulting
    @promconsulting
    Настройка и обучение Битрикс24
    Битрикс (рус) и bitrix (анг)
    это названия CMS Bitrix Framework
    Битрикс24 - CRM система, компания, торговая марка
    1С-Битрикс - компания, торговая марка
    1С:Предприятие - программа для бухгалтерского и оперативного учета, торговая марка
    Ответ написан
    Комментировать
  • Что такое '-m' в командах в работе с Python?

    ri_gilfanov
    @ri_gilfanov
    Web- and desktop-developer
    В последних версиях Ubuntu установленные пакеты Python не прописываются как команды оболочки. А прописывать это ручками не каждый умеет.

    Таким образом, привычное:
    pyvenv .venv
    из коробки работает не во всех операционных системах.

    И в гайдах стали писать более универсальное:
    python3 -m venv .venv

    А что это такое, можно посмотреть в справке к Python:
    python3 --help

    Где можно увидеть описание опции:
    -m mod : run library module as a script (terminates option list)


    То есть, запуск установленный библиотеки в качестве скрипта. Хотя, очевидно, не все библиотеки имеют какой-то полезный функционал, который можно так запустить.
    Ответ написан
    2 комментария
  • Автоопределение ссылки на javascript

    @shsmad
    Замените на:
    var test = str.match("((http|https):\/\/)?(www.)?([a-z0-9-]+\.)+[a-z]{2,6}");
    
    Ответ написан
    4 комментария
  • Как вывести содержимое подключаемого модуля в браузер?

    notiv-nt
    @notiv-nt
    Как ваше ничего? Да, моё тоже
    const http = require('http');
    const util = require('util');
    
    http
      .createServer(function(req, res) {
        res.end(util.inspect(http));
      })
      .listen(3000);
    Ответ написан
    5 комментариев
  • Что за "require is not defined" ??

    @xutesayor
    Браузеры сами по себе не понимают модули. Нужно чем-то собирать проект. Рекомендую webpack.
    Ответ написан
    Комментировать
  • Как учить Node.js?

    @Nwton
    Для начала посмотри весь скринкаст: YouTube
    Далее советую выполнить три простых вещи:
    1) установить node js на vds
    2) развернуть http сервер
    3) прикрутить к нему socket io

    Тогда тебе станет понятно, что из себя представляет нода и в каком направлении двигаться. Все это можно сделать за два дня. Затем переходи на литературу и углубляйся.
    Ответ написан
    2 комментария
  • Профессия frontend HTML Academy стоит ли того?

    victory_vas
    @victory_vas
    При подборе фронтендера в нашу компанию приходилось просто продираться сквозь тонны резюме, в которых кроме этой HTML Академии ничего не было - ни опыта работы, на собственных проектов, сделанных без наставника. Это чисто уровень джуниора, который может что-то сверстать, но не имеет ни кругозора, ни опыт решения нестандартных задач, которым не учат на курсах.
    Т.е. претендовать надо будет на работу джуна, а то мы взяли одного такого на позицию мидла, а он тупо не справился. С тех пор более придирчиво проводит отбор кандидатов и более скептически смотрим на все эти курсы. В общем, мой вывод - курсы - это замечательно для получения знаний. Но не ждите что это вам даст какое-то особенное преимущество при поиске работы.
    Ответ написан
    1 комментарий