Задать вопрос
  • Лестница изучения фронтендера?

    html - css - js - Практика на этих языках - сборщики проектов - изучение фреймворков, препроцессоров и другого сахара.

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

    SPAHI4
    @SPAHI4
    реактовцы - это не девы, а прокидыватели пропсов
    Комментировать
  • Зачем дизайнер рисует сайт, если верстальщик всеравно описывает его на HTML?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Зачем архитектор чертит чертёж дома, если строитель всё равно его потом строит?
    Ответ написан
    1 комментарий
  • Лучший client-stack: React + ...?

    @GreenAnon
    Web developer
    Рекомендую: React + Redux + CSS Modules + Webpack
    Ответ написан
    Комментировать
  • Где найти курсы обучения JS для детей?

    Sanes
    @Sanes
    Не отбирайте у ребенка детство. Один дедушку программированию учить собирался, второй ребенка.
    Путь мяч гоняет.
    Ответ написан
    2 комментария
  • Почему на Тостере нет обфускации email в контактах пользователя в целях защиты от роботов?

    @FoxInSox
    Роботы не посещают тостер, т.к. рассылать что-либо на почтовые адреса школьников бессмысленно.
    Ответ написан
    4 комментария
  • Объясните простыми словами как работает Redux?

    У вас есть одно большое дерево, в котором хранится все состояние (state) приложения - это хранилище (store).
    Также у вас есть набор редьюсеров (которые скомбинированы в один общий rootReducer) - это функции, который принимают текущее состояние и действие и возвращают новое состояние:
    function someReducer(state = initialState, action) {
      // обычно выглядит как switch 
      // action - простой js-объект
      //              и обязательно имеет строковое поле type
      switch(action.type) {
        // обрабатываем действие с типом SOME_ACTION_NAME
        case 'SOME_ACTION_NAME':
          // берем какие-то данные из экшена и возвращаем новое состояние
          // при этом менять sate нельзя!
          // state.someProperty = action.newStateData <--- НЕТ!
          return { ...state, action.newStateData };
        // Если мы не обрабатываем действие - просто возвращаем старое состояние
        default:
          return state;
      }
    }


    Также есть экшен креаторы (actionCreators) - это функции, которые возвращают действие. затем это действие вещается в хранилище (диспатчится). Типичный пример:
    function someActionCreator(someArg) {
      return {
        type: 'SOME_ACTION_NAME',
        newStateData: someArg + 5, // <-- разная логика
      };
    }


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

    Если мы хотим получить доступ к состоянию в экшен креаторе - воспользуемся thunkMiddleware:
    import thunkMiddleware from 'redux-thunk';
    
    function createStore(initialState) {
      const reducer = combineReducers(reducers);
      const finalCreateStore = applyMiddleware(
        thunkMiddleware // <-- добавляем middleware
      )(defaultCreateStore);
      return finalCreateStore(reducer, initialState);
    }


    Теперь мы можем делать так:
    function someActionCreator(someArg) {
      return (dispatch, getState) => { // <-- возвращаем фукнцию, а не объект!
        const someState = getState().reducerName;
        return {
          type: 'SOME_ACTION_NAME',
          newStateData: someArg + someState, 
        };
      };
    }


    В общем схема выглядит так:

    actionCreator --action--> dispatch --action--> middleware --action--> store --action--> reducer --> newState


    Затем мы берем из react-redux метод connect, который подключает Ваш умный компонент к хранилищу:
    import { connect } from 'react-redux';
    import { bindActionCreators } from 'redux';
    
    class MyComponent extends Component {
      static propTypes = {
        someProp: PropTypes.string.isRequired,
        someFunc: PropTypes.func.isRequired,
      };
    }
    
    // Тут мы берем из глобального состояния необходимую нам часть
    // В ownProps - свойства компонента. Тут могут быть например свойства от роутера
    function mapStateToProps(state, ownProps) {
      return {
        someProp: state.someReducer,
      };
    }
    
    function mapActionsToProps(dispatch) {
      return bindActionCreators ({ // <-- биндим все на disptach для удобства
        someFunc: (someArg) => someActionCreator(someArg + 1),
      }, dispatch);
    }
    
    export default connect(
      mapStateToProps,
      mapActionsToProps
    )(MyComponent);
    Ответ написан
    3 комментария
  • Как организовать правильный вывод билетов?

    var places = document.querySelectorAll('.place'),
        freePlaces = [1, 3];
    
    [].forEach.call(places, function (place) {
        freePlaces.indexOf(+place.textContent) > -1 && place.classList.add('free');
    });

    Пример
    Ответ написан
    Комментировать
  • Проблема с клиентом на фрилансе?

    Jump
    @Jump
    Системный администратор со стажем.
    Это никак не проблема с клиентом, это явная проблема с исполнителем.
    Работа оплачена, а исполнитель шантажирует заказчика.
    За такое отрицательный отзыв он просто обязан поставить.
    Чтобы другие не нарвались.
    Ответ написан
    Комментировать
  • Какой JS фрэймворк/библиотеку использовать совместно с laravel?

    @OneFive
    React.js <3
    У reactJS есть интеграция с laravel https://github.com/talyssonoc/react-laravel
    Ответ написан
    Комментировать
  • Какой JS фрэймворк/библиотеку использовать совместно с laravel?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Reactjs + flux (пока angular2 не вышел)
    Angular (но тогда будут нюансы в плане организации сервер сайд рендринга + много статей и учебных материалов которые учат делать не правильно).

    Другой вопрос что если у вас уже готов backend значит вам не подходит SPA (при этом подразумевается что backend это чисто HTTP API). А это значит что нам нужен jquery и вперед и с песней. Ну и может дополнительно библиотеки для маршрутизации запросов на клиенте и т.д.
    Ответ написан
    3 комментария
  • Какой JS фрэймворк/библиотеку использовать совместно с laravel?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    В сообществе Laravel активно продвигается библиотека vue.js.
    Ответ написан
    Комментировать
  • Какой JS фрэймворк/библиотеку использовать совместно с laravel?

    @bromzh
    Drugs-driven development
    Ангуляр. У него есть такая классная штука, как ngResource. Если бэкенд следует RESTful, то в ангуляре для CRUD-задач достаточно лишь указать url с апи, и что считается id. И сервис готов к использованию.

    devdactic.com/improving-rest-with-ngresource
    www.masnun.com/2013/08/28/rest-access-in-angularjs...
    Ответ написан
    Комментировать
  • Какой JS фрэймворк/библиотеку использовать совместно с laravel?

    erniesto77
    @erniesto77
    oop, python, php, js
    AngularJS и выстроить структуру js-файлов по принципу MVC
    Ответ написан
    4 комментария
  • Почему так сильно подорожали аккаунты pro на российских биржах фриланса? С чем это связано?

    tin-iven
    @tin-iven
    Фрилансер до костей
    d4b3d05717394f538a0470236a5d53f8.png

    Все понимаю - козлы, жлобы, эксплуататоры, жмоты - акционеры и руководство.
    Но: хлеб у вас в магазине не дорожал? тюлька не дорожала? услуги провайдера? абонемент в спортзале? и т.д.?
    Все или почти все поднялось в цене. Виноват проклятый доллар (ну, или не доллар, не важно). Поднялись и цены на бирже.

    А теперь конкретно по FL. Как это работает - есть акционеры (Мажирин и аптекари) и руководство (Росошанский и Тараханов). Раз в полгода акционеры собираются и говорят руководству - уровень прибыльности должен быть такой. Аптекари покупали долю в у.е. и получать хотят у.е. Мажирину тоже у.е. нужны - хотя бы на танцы свои. Итак, в начале 2013 прибыль была 200 000 у.е. в месяц, а в начале 2015 стала 75 000 у.е. Акционеры говорят руководству - нужно вернуть хотя бы до 150 000 у.е.

    Как это сделать - проблема не акционеров, а руководства. И руководство начинает действовать - вводит Profi, поднимает цену Pro, добавляет закрепления и прочие мелкие платности, увольняет кучу людей штата - почти 90%! www.the-village.ru/village/blogs/business/221897-c...
    Прибыль пошла в гору. "Ф-у-у-х! Акционеры не уволят, даже премию дадут" - так думает руководство. На первом этапе это так и работает.

    Но. Что имеем с итоге: сервис теряет в качестве - не хватает людей для нормального обслуживания пользователей, кода, серверов - отсюда постоянные падения, взломы и недовольство (https://vc.ru/n/fl-off, https://vc.ru/p/fl-hacked и т.д.). Сервис становится дороже (замечу - в рублях, в у.е. остается на том же уровне или дешевле) - отсюда снова недовольство пользователей.

    Блин, так почему же эта биржа не умирает? Почему все снова идут и платят (судя по анализу количество PRO за последний год не уменьшилось, а только выросло)? А я скажу - потому что есть заказы. Не просто заказы, а много заказов. Смотрим сколько - primelance.com/analytics/. Блин, да столько же, сколько на всех остальных биржах вместе взятых.

    Итог повествования: в обозримой перспективе ничего не изменится. На FL будет много заказов - к ней привыкли, она выделяет денег на рекламу больше остальных, только она обслуживает юриков. Поэтому туда будут идти фрилансеры, будут платить дорогой Pro. Этот самый Pro будет дальше дорожать - думаю, к середине 2016 на уровне 2000-2500 рублей. Если рубль продолжит плохо себя вести - еще больше, или переведут ценник в доллар.

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

    Поэтому - если вы знаете или учите английский - валите по быстрому с отечественного фриланса. Если не знаете и учить не собираетесь - радуйтесь, что FL просят 1600 в месяц с неограниченным числом ответов, а не 600 за 10 ответов в месяц, и дальше по 120 рублей за каждый ответ + 10% с каждого заказа (каждого!), как это есть на Upwork.
    Ответ написан
    8 комментариев
  • Изменение внутри html а не css?

    dmitriy_novikov
    @dmitriy_novikov
    Занимаюсь web-разработкой с 2010г. http://dmnv.ru
    инлайновые стили пробовали?
    <header style="background-image: url(img/header.jpg);">...</header>
    Ответ написан
    2 комментария
  • Важна ли корочка при устройстве на работу?

    @Chekhoved
    Важна, если это корочка хлеба. Вдруг придется в очереди ждать, будет чем перекусить.
    Ответ написан
    2 комментария
  • Почему single.php не выводит CSS файлы?

    r3st1k25
    @r3st1k25
    Senior PHPomidor
    Лучше подключи в functions.php вот так, это все твои стили:
    function add_resources(){
        wp_enqueue_style('style', get_stylesheet_uri()); 
        wp_enqueue_style('style-main', get_template_directory_uri() . '/style-min/style-main.css');   
    }
    
    add_action('wp_enqueue_scripts','add_resources');

    и в header.php в тег пропиши wp_head();
    результат будет 100%.
    Ответ написан
    1 комментарий
  • Как вернуть мотивацию к обучению?

    При повторной потере мотивации алгоритм следующий:
    1) Идем высыпаемся. По-нормальному так, без будильников. Чтоб глаза вообще больше не закрывались.
    2) Если мотивация не вернулась (возвращается в 70% случаев) - берем велик (хотя можно и пешком) - и на улицу. Если есть приличный парк в городе - находим пару нестандартных физ. упражнений (можно боевых), пытаемся выполнить. Работа с телом и физические нагрузки - это совершенно другая часть вашего сознания, про нее нужно не забывать.
    3) Если мотивация не вернулась (уже где-то 85% случаев) - берем случайную книгу (не техническую), в идеале - из жанра который вам нравится. Читаем. Спокойно, страницы не считаем.
    4) Если не вернулась, повторить с п. 1 до пяти раз, не думая о времени и выполняя только самые важные дела (срочные задачи по учебе, работа, если есть), можно даже попросить родных/знакомых помочь по дому и бытовым делам, чтобы себя разгрузить.
    5) Если не помогло после 5 раз, задаем новый вопрос на тостере, подробно описываем что делали).

    Хотя бы один из п. 1-3 выполняем для профилактики каждый выходной.
    P.S. в принципе плохо сравнивать себя с кем-то - для "сравнения" на свете есть всякие соревнования и состязания, где есть правила и контекст. В жизни правил нет, один учится в MIT, другой учится в колледже в России - какие могут быть сравнения? Вы думаете тут большинство людей за один год все узнало и всего добилось? Вы глубоко заблуждаетесь) PHP-шники-выскочки не в счет, у них искаженное представление о реальности.
    Ответ написан
    11 комментариев