• Задачи по javascript?

    FFxSquall
    @FFxSquall
    Могу писать код, могу не писать
    codewars

    P.S. Это не игры и не курсы, реальные (интересные) задачи, решив которые вы ещё и видите лучшее решение (скилл реально растет если уделять этому время)
    Ответ написан
    3 комментария
  • Как развиваться начинающему web-разработчику?

    @toZavtra
    Принимаю заказы, пишите vasya@incream.org
    Послушай человека, у которого 4 года опыта управления веб-студией.

    Тебе нужно в первую очередь понять, где ты хочешь работать и только потом уже думать о технологиях и их прокачке. Когда ты узнаешь, где ты хочешь работать, над какими проектами, то узнаешь и какие технологии там используются. Потом устраивайся туда junior'ом и так вырастешь быстрее всего.
    Заодно, посмотришь, надо ли тебе оно и может тебе идти в другую область с другими технологиями.

    Помимо программистских советов есть еще чисто практичные и зачастую они решают, например, ты любишь делать законченный продукт или ковыряться в старом коде? Все эти басни и бредни про фреймворки, пойми, эти люди, которые до тебя писали код на твоей будущей работе, мозгами намного хуже тех же программистов, которые создали тот же Wordpress, зато они позволяют себе хаять его. Так вот ты придешь и будешь за таким человеком искать ЕГО баги 4-х летней давности. А представь, что баги эти от кривой архитектуры.

    Далее, опять про фреймворки, сами по себе они тоже глючат, там есть куча нюансов, ускоряют разработку они далеко не всегда, как писали на хабре "это фабрика над фабрикой".

    Поэтому, в чем лучше кодить: в wordpress или в каком-нибудь symfony - это вопрос спорный, холиварный. Ни то ни другое не идеальное. Соответственно, какой стек технологий тебе учить, выбирать нужно отталкиваясь от того, чем хочешь заниматься. А учить стек лучше не на курсах, а идти джуниором.

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

    Потом, не забывай еще главное, мы живем в стране, где даже автомобиль нормальный сделать не могут, качество разработки здесь абсолютно такое же, то есть никакое, люди они одинаковые, что в АВТОВАЗЕ, что в Яндексе, поэтому на весь этот флёр вокруг каких-то там разработчиков клади болт.

    Я тебе расскажу, как это работает с точки зрения бизнеса в России, а не со стороны парняги в свитере и очёчках:
    1) Есть богатый дядя, который наворовал в своё время денег, у него есть сын, сын начитался хабра и бизнес молодости, взял у бати своего миллионов 50-100 и пошел пилить абсолютно никому не нужный стартап, нанял 30 человек, поставил компы, вот сюда нужно знать не столько сами технологии, сколько МОДНЫЕ технологии, смотришь модные тренды и их учишь или просишься джуниором, вауаля, и вот ты в струе.
    Делали делали, сыночке надоело пилить стартап, у него пати на мальдивах, свадьба, дети и тд - все разбежались.
    2) Есть государство или крупная контора, которая так или иначе, принадлежит кому-то из власть имущих, им нужно какой-то проект, они этот проект отдают фирме (то есть сыну, брату, свату), у которой сайт визитка. Эта фирма отдаёт это другой фирме, та отдает это еще двум-пяти фирмам. Где-то там в конце сидишь ты за компом и делаешь то, что тебе написали в ТЗ. Чтобы тебе что-то изменить в этом ТЗ, это должно пройти через 8 ртов и кучу согласований, и ты вообще лучше сиди и поменьше высовывайся. В таких конторах будешь пилить и пилить какую-нибудь хрень, в которой уже запутались все вокруг, но ты как-то делай, ведь скоро сдача. А потом они за два дня до сдачи, всей аравой посредников и программистов собираются в одном месте и наконец-то звонят главному заказчику и спрашивают, а как надо делать, то есть то, что ты спрашивал месяц назад. Иногда этот брейншторм помогает, иногда нет. Как туда устроиться? Опять таки, иди джуном.
    Примечательно, что качество продукта таких контор обычно хуже самой захудалой Джумлы, зато там все хаят CMS, но чтобы им в продукте прикрутить голосовалку, им нужно напрячь 8 ртов, распилить бюджет в тысяч 180-400, через кучу согласований сделать всё через жопу, но через ООП и какую-нибудь Symfony. Круто.
    3) Компании типа Яндекса, каких-нибудь банков. В таких компаниях обычно умные люди только на самом верху - это основатели компании, усмотреть за всеми аспектами фирмы им технически невозможно, поэтому часть продукта у них хорошая, основная, например, как поиск у гугла, а 90% других сервисов полное говно (посмотрите, что сделали эти "умы" из яндекса, вроде, с кинопоиском). Зато ЧСВ у каждого там Васи на уровне основателя компании. Вот эти Васи и делают там 90% продуктов, которые, как-бы второстепенны. Чтобы туда попасть надо не технологии учить, а изучать тренды какого-нибудь хабра, что там сейчас ценятся, какие авторы зарубежные: "Мега алгоритмическое программирование Алана Коуэла" и тд, таких книжек прочитать штук 10, выучить всё азы чистого программирования без фреймворков, одеться как мудак, чтобы выглядеть еще мудачее того гика, который тебя будет собеседовать, а то они ранимые и завистливые и опять таки, устроиться джуном.
    4) Компании локальные по созданию сайтов и прочего программирования. В таких фирмах свободы намного больше, чем в первых трёх, но нет столько денег, зато сразу видно продукт, который делаешь. Тут тебе пригодится и вордпресс и битрикс. Туда тоже лучше идти джуном. В таких компаниях шанс того, что ты потом запустишь боком собственный проект намного выше, т.к. у тебя будет опыт создания веб-сервисов, сайтов за Реальные сроки и ты будешь видеть ход их развития. Но с точки зрения денег, редкий случай, когда они тебе могут предложить даже столько, сколько в стартапе.
    Поэтому, если для души программировать, получать удовольствие, то варианты 1 и 4. Если хочется работы, от которой многие воют, то 2, 3.

    5) Есть еще компании, которые работают на запад, денег сейчас там в теории, может быть столько же, сколько и в стартапе у богатого буратино, там тебе сильно повезет, если будете делать пункт 4, если 2-3, то можешь брать веревку и мыло.
    Стартапы таким компаниям дают мало когда, ведь хипстеру миллионеру нужна атмосфера, нужны работнички перед глазами, а не на аутсорце. А вот латать баги в 6 летнем коде по цене продавщицы в ларьке Нью-Йорка - это запросто, это аутсорц. Текучка в таких местах дикая, поэтому они, отчаявшись, ищут негров за рубежом, никто вменяемый этим заниматься не хочет у них на родине. Поэтому если на аутсорце будет создание сайтов или каких-нибудь новых систем, это большая удача.
    Туда тоже нужно идти джуниором. Еще они почти всегда требуют английский, а если у тебя есть английский, зачем тебе они?

    6) Учишь английский, вордпресс, джумлу, магенто, цсс и идешь искать клиентов на английском языке. Из тебя вылупляется фрилансер, в перспектике открываешь собственную контору номер 5.

    Есть еще лайфхак, берешь абонемент в дорогой фитнес центр и знакомишься там с парнями, когда-нибудь тебе повезет и выйдешь на кого-нибудь богатого из чиновничков или олигаршьих родственников. Всем говори, что ты программист и у тебя есть "команда". Этого хватит, у богатых всегда "куча идей" куда бы просрать бабки (стартап) или наоборот где-то "намутить денег" (пункт 2). Они тебе сами предложат "тему", если ты обмолвишься, что ты программист. Всё, что у тебя будет к тому моменту, это сайт визитка, понимаешь к чему я клоню? Пункт 2, но ты будешь сверху, вторым ртом. Если повезет, будет и пункт 1, но ты будешь ко-фаундерем, ты посмотришь модные технологии и будешь под смузи составлять вакансии с reactJS, Angular, high load и еще кучу умных слов. А на биржах заказы пусть обычные люди ищут, которые за деревьями леса не видят. Или идут через жопу в пункт 2, когда надо заходить с другой стороны. Think different.
    Тот, кто на основании выше написанного лайфхака понял, что он ходил по кругу, а ключик в другом месте открывается, может мне скинуть денег за совет на кошелек R738086405346
    Точнее, это даже не совет, это инструкция, которая действительно рабочая.
    Ответ написан
    2 комментария
  • Почему sleep() ведет себя странно?

    Pjeroo
    @Pjeroo
    Веб-разработчик
    Это все из-за сессий
    Ответ написан
    1 комментарий
  • Как правильно технически организовать веб-разработку?

    @nikolaj
    По последнему пункту:
    1) обычно задач больше чем ресурсов на их реализацию
    2) зависит от компании, но большей части запросы приходят в таком виде, что их ещё нужно довести до стадии задачи. Иногда хотелки отваливаются сами собой после разговора про то, что именно нужно или преображаются до неузнаваемости
    3) задачи имеют свойство приходить как попало, а не в тот момент, когда разработчик готов переключиться на очередную

    Вобщем, если у вас не какая-то исключительная компания лучше, если задачи в трекере будут падать на вас, и только потом, переформулированными и с приоритетами, будут переходить к разработчикам.
    Причём если не critical — то лучше пачкой при планировании спринта.
    Ответ написан
    2 комментария
  • На чем лучше и быстрее написать парсер (PHP)?

    muhammad_97
    @muhammad_97
    PHP-разработчик
    DiDom: https://github.com/Imangazaliev/DiDOM

    + высокая скорость работы (сравнение с другими парсерами)
    + хорошая дока
    + большое количество поддерживаемых селекторов
    + самое главное - тесты

    Простой пример:

    $document = new Document('http://www.example.com/', true);
    
    echo $document->first('title::text');


    Чуть посложнее - парсим все ссылки:

    $links = $document->find('a[href]::attr(href)');
    
    var_dump($links);


    Еще сложнее - получить адреса всех ссылок-картинок:

    $links = $document->find('a[href]:has(img)::attr(href)');
    
    var_dump($links);


    Другие варианты:
    - Symfony DomCrawler
    - Zend Dom Query
    Ответ написан
    3 комментария
  • Parse error: syntax error, unexpected end of file in C:\web\sqltest.php on line 77 в чем проблема?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Выбросьте эту книжку, это какой то дикий говнокод из древних времен.
    От общего спагетти-стайла, до использования устаревшего mysql_
    Лучше возьмите любой современный framework типа Yii2 или Laravel и читайте к нему туториалы.
    Ответ написан
    3 комментария
  • Какие есть хорошие образцы сайтов на Node.js + Express, чьи исходные коды можно посмотреть в целях обучения?

    @yociyavi
    Всем известный learn.javascript.ru написан на ноде и опен сорс. Код можете глянуть здесь: https://github.com/iliakan/javascript-nodejs

    P.S. сам код не смотрел, но думаю его не глупный человек писал :)
    Ответ написан
    1 комментарий
  • Мотивация для разработчика. Как мотивировать себя/команду работать продуктивно?

    @lotse8
    соболезную организациям, которые держат разработчиков на окладе без привязки к результатам, они могут заранее заказывать себе надгробья с надписями типа "здесь похоронен самый гуманный в мире бизнес".
    у нас все давно получают по результатам, есть результаты - получите, нет результатов - ищите других работодателей
    Ответ написан
    Комментировать
  • Мотивация для разработчика. Как мотивировать себя/команду работать продуктивно?

    alexpic
    @alexpic
    Разработчика мотивируют задачи с уровнем сложности на пределе текущей компетенции
    Ответ написан
    Комментировать
  • Где посмотреть реальные примеры использования "правильных" клиентских javascript?

    нигде.

    Просто юзай webpack или browserify и не парься.

    Посмотри на React-router, там есть единая точка входа, посмотри на flux архитектуры, там так же есть единая точка входа.
    Ответ написан
    Комментировать
  • Как правильно записать условие в шаблоне Smarty?

    @HiIamRobot
    эти проверки должны идти на пхп, смарти это ж шаблонизатор, он для вывода html. Это просто не верно. Но на офф форуме смарти говорят что практически все пхп функции работают. К примеру проверка на число будет выглядеть так:
    {if is_numeric($getnumeric)}
    Ответ написан
    4 комментария
  • Мотивация для разработчика. Как мотивировать себя/команду работать продуктивно?

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    Ваш мозг вас обманывает.

    На всякое действие должно быть вознаграждение. Если его нет, вы не будете это делать. На работе основное вознаграждение - зарплата.

    Если за работу вы всегда получаете зарплату, ваш мозг начинает понимать, что зарплата постоянна, а значит работу нужно оптимизировать с точки зрения затрат. Например работать поменьше. И вы перестаете получать удовольствие от работы, потому что мозг считает, что зарплата и так будет (ведь в подавляющем большинстве случаев это действительно так - можно работать гораздо меньше и получать ту же зарплату).

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

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Достаточно солидны список, неправда ли?


    Вы не правильно сделали декомпозицию. Дробите список и перемещайте местами пока не будет абстрактных "базовое знание mysql". Да и зачем фронтэндщику вообще базовое знание mysql или php? Вам нужно знать как с бэкэндом взаимодействовать (HTTP, принципы REST хотя бы приблизительно понимать), примерно понимать что такое базы данных (localStorage, IndexedDB). Словом никаких mysql/php. Это потом когда-нибудь освоите.

    Или например список ваших фреймворков. Выкидываем backbone - о нем можно почитать просто что он есть и что из себя представляет, но на вашем этапе толку не будет. Есть тройка лидеров - React/Angular/Ember. Затем идут небольшие фреймворки и библиотеки - Aurelia/Vue/Backbone/etc.

    Вам на данном этапе стоит ознакомиться с одним зверинцем, посмотреть по рынку и подкинуть монетку если даже после этого не определились. Все фреймворки сегодня с большего похожи на уровне концепций, есть конечно и различия но лучше осознать общие а потом уже делить на частное.

    p.s. я бы требовал еще es2015/2016, webpack/systemjs/вообще модули, препроцессоры стилей (хотя бы основы и понимание зачем нужны) и т.д.

    Ну или еще - jquery можно не изучать. Ознакомиться - да, но на уровне джуниора нужно знать как решить стандартную задачку подключения плагина и организации очереди анимаций. А так в 90% случаев jquery даже и не нужен вовсе. Ну и AJAX - разберетесь с HTTP и вы познаете AJAX.

    Ну и последнее. Джуниор это разработчик с годом опыта работы. Это человек который запросто может решать типичные задачи (можно пробежаться по фриланс биржам и составить представление о типичных задачах). Перед джуниором идет стажер.
    Ответ написан
    3 комментария
  • Как лучше получать деньги из-за рубежа (в т.ч. фриланс) в РФ на 2016 год и дальше?

    StanEgo
    @StanEgo
    Для проживания в РФ и желания быть белым лучше вариант с ИП. Помимо белого бизнеса и смешного вклада в пенсию (но официально - это стаж) - больше простора в плане кредитования на территории РФ. Даже когда я был гендиром с белым НДФЛ, мне не предлагали таких кредитов.

    Первым делом надо погулять по банкам(с распечатками бумажек с используемой биржи), поболтать с валютными контролями (обычно на весь банк одна барышня), познакомиться поближе. Посмотреть условия, например вывод ИП->физлицо (сегодня модно брать процент даже за кассовый симол 58).

    На самом деле, на банки намного больше инструментов давления, чем кажется. А банк Х в Мухосранске тем более не захочет, чтобы на него писали кляузу в ЦБ РФ за нарушение его инструкций.

    Но я бы всегда держал в кармане два варианта. И если всякие скриллы, пейпалы (я уж не буду упоминать десятки всевозможных payment services расцвета 2005-2010) весьма волатильны, пионером я как пользовался лет 10 назад, так изредка и пользуюсь.

    1) Перевод хорош, но только для нерезидентов. В остальных случаях - палево. Но опять же зависит от банка. Например МКБ мне тупо дописывает код VO20100, что невозможно даже по ГК РФ.
    2) В розничных точках продажи - без проблем. Со счета сбился, во скольких странах оплачивал, проблем никогда не было. А вот онлайн могут быть косяки. Не раз были проблемы в оплате, скажем, авиабилетов. Требовали код потверждения, а саппорт спит сутками (на удивление саппорт в форуме рулит, некоторые вопросы решались за считанные часы).
    Ответ написан
    Комментировать
  • Meteor.js расцветает или чахнет?

    PQR
    @PQR
    Не согласен с предыдущим оратором (@geeek), в частности с утверждением
    В общем если хочешь быть в тренде - бери
    - Meteor совсем не в тренде.

    Если дать краткий и резкий ответ на вопрос "расцветает или чахнет?" - отвечу: интерес к Meteor чахнет, не смотря на все усилия команды разработки.

    Компания MDG (Meteor Development Group) подняла $31M инвестиций (https://www.crunchbase.com/organization/meteor) и хотела всё сделать круто, стать мейнстримом, а потом зарабатывать на хостинге Meteor проектов - такой план монетизации. Хостинг они, кстати, сделали. И в какой-то момент было много хайпа вокруг Meteor, казалось, что всё идёт по плану. Полтора года назад вышел Meteor 1.0 (октябрь 2014), потом была пара хороших релизов, которые убрали всю "сырость": Meteor 1.1 и 1.2.

    Но в середине 2015 стало понятно, что никаким мейнстримом они не стали, мейнстрим нынче React!
    Не смотря на простоту старта и скорость разработки с Meteor, были очевидны следующие минусы:

    1. Собственная система пакетов со своим центральным репозиторием https://atmospherejs.com - посмотрите на счётчики скачивания пакетов, это крохи по сравнению с npm. Посмотрите на активность разработки основных пакетов - всё очень тухленько.

    2. Собственная система сборки. С одной стороны всё работает из коробки, с другой стороны в неё не вклинишься (это сложно). Плюс всякие странные условности, что всё в глобальном пространстве имён и ваши js файлы загружаются в алфавитном порядке. В Meteor 1.3 частично решили проблему, ходят слухи, что в будущем будут использовать webpack.

    3. Собственный шаблонизатор blaze (похож на handlebars). В начале blaze выглядел хорошо, но теперь все внезапно пишут на React и многие потирают руки в ожидании Angular 2, в итоге blaze оказался ещё один велосипедом, с которым не понятно что делать.

    4. На бекенде всё ещё Node 0.10. Даже с Node 0.12 Meteor уже не работает из-за некоторых бинарных зависимостей! Обещали в будущих версиях обновиться с поддержкой Node 4.

    5. Метеор сильно завязан на MongoDb. Чтобы реактивно доставлять новые/изменившиеся данные от сервера в бразуер они парсят логи Mongo. Были попытки сделать аналогичное для SQL баз, но не увенчались успехом. В итоге встречайте их новый проект Apollo, который поверх GraphQL и не привязан к конкретной реализации бекенда www.apollostack.com А что теперь будет со старым добрым DDP?

    6. Ваше Meteor приложение одной командой можно упаковать в мобильное приложение Cordova - выглядит круто, но сейчас время ReactNative и вот мы читаем обсуждения на форумах, что возможно, они таки интегрируются с ReactNative, но когда?

    Подводя итог: ребята из MDG подняли кучу денег и хотели сделать всё сами: свои пакеты, свою сборку, свой шаблонизатор, свой реактивный протокол (DDP) и чтобы всё работало из коробки. И они сделали это!

    Только это оказалось никому не нужно, т.к. для пакетов все сидят на npm, сборка должна быть гибкой (и поэтому у нас есть gulp и webpack), самый модный шаблонизатор нынче - это React, реактивный протокол GraphQL и базы на сервере люди любят разные, а не только MongoDb. А Meteor, по сути, остался на обочине всей экосистемы и движухи вокруг JavaScript. Поняв это, MDG начали двигаться в сторону JS комьюнити и первый шаг сделан: Meteor 1.3 поддерживает нормальные модули ES2015, npm пакеты, рендринг через React и Angular. Но Meteor 1.3 - это куча костылей поверх старого велосипедного Meteor. Почитайте их планы на будущее в официальном блоге, хотя бы в этом посте: info.meteor.com/blog/announcing-meteor-1.3 - им по сути предстоит переписать всё заново! И первые ласточки такого "переписывания" - это выделение проекта Apollo.

    Возможно, со второй попытки они всё сделают правильно и Meteor 2.0 действительно выстрелит. Если только у них деньги не закончатся раньше.

    Сейчас можно взять Meteor и эффективно зарабатывать на маленьких/средних фриланс проектах, когда нужно сделать быстро и не думать о долгосрочной поддержке.
    Если же вы делаете большой продукт, то вас ждут большие потрясения и изменения в экосистеме Meteor.
    Ответ написан
    4 комментария
  • Как лучше получать деньги из-за рубежа (в т.ч. фриланс) в РФ на 2016 год и дальше?

    Все зависит от источника доходов:
    - Если доходы от объекта авторского права, т.е. прямая продажа прав, лицензионные отчисления, мобильные/десктопные приложения, то можно оставаться физиком и подавать раз в год 3-НДФЛ. В данном случае предпринимательская деятельность отсутствует.
    - Если источником доходов является оказание услуг, то лучше открыть ИП на упрощенке, т.к. в противном случае это попадает под нелегальную коммерческую деятельность. Расчетный счет вам открывать не обязательно и можно использовать лицевые счета. Расчетный счет желательно иметь если вы получаете деньги внутри россии, т.к. некоторые банки отказываются проводить подобные платежи с расчетного счета на лицевой. Про пионера лучше узнать на сколько он легализован в РФ, но с PayPal проблем точно нет. Налоговую теперь тоже уведомлять об этих счетах не нужно, достаточно указать их в КУДИР (расшифровка далее). Раз в год будете подавать декларацию, вести Книгу учета доходов и расходов (КУДИР), в которую будете записывать свои доходы, и раз в квартал платить страховые/налоговые отчисления. С учетом того, что налоговые отчисления будут уменьшаться на 100% от страховых отчислений, то реальных расходов на ведение ИП не много и, как правило, это гораздо выгоднее НДФЛ.
    Открыть ИП выйдет в районе 2 килорублей, с учетом заказа всех бумажек для открытия, и 1 неделю по времени.

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

    SilenceOfWinter
    @SilenceOfWinter Куратор тега PHP
    та еще зажигалка...
    Читайте про паттерны, но используйте только те что понимаете и кажутся удобными. Сейчас в области стандартов творится полный ахтунг, взять хотя бы psr-6..
    Ответ написан
    Комментировать
  • Есть ли учебный материал по паттернам на основе пошагового создания веб-приложения?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Бросайте паттерны. На вашем этапе обучения они пока не нужны. Изучайте принципы (SOLID, GRASP). Учитесь писать тесты, пробуйте TDD/ATDD. И тогда паттерны будут образовываться сами собой.

    Паттерны придумали не для того что бы ими проектировать, они нужны что бы называть ваши решения. Это просто словарь терминов что бы меньше времени приходилось тратить объясняя то или иное техническое решение. Но сначала код а потом паттерны, а не наоборот.
    Ответ написан
    106 комментариев
  • В чем суть роутера на php?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Роутер отвечает за доставку данных к контроллеру/сервису.
    Если нет пути - роутер обычно выдаёт 404 ошибку.
    URI роутером делится на: протокол, домен, сервис и переменные сервиса
    например:
    domain.com/catalog/145 - сервис catalog отображает ветку с ID 145
    роутер - перенаправляет лишь запрос по части URI: /catalog
    сервис catalog - сам берёт нужные ему переменные из запроса.

    Еще примеры:
    domain.com/catalog/145/add - сервис catalog отображает диалог добавления новой категории в существующую категорию с ID 145.
    domain.com/catalog/145/sort/price/09/col/1/2/title - сервис catalog отображает категорию с ID 145 с сортировкой по цене от наименьшей к большей и выводом колонок с ID:1, ID:2, и по названию столбца: title.

    Также, router может быть древовидным и рекурсивным.
    Пример: domain.com/catalog/145/add/prod/24/56/37
    Описание: Добавить в каталог с ID:145 товары с ID:24,56,37
    Вначале, определяется, что категория с ID:145 существует и необходимо добавление, затем снова вызывается роутер с линком: /prod/24/56/37 и уже сервис prod проверяет существование продуктов и добавляет к каждому ID категорию 145 и так же возвращает результат в сервис catalog.
    Шаблон страницы вывода - будет выбран согласно операции: add.

    Таким образом, URI превращается в понятные предложения для общения пользователя/JS (front-end) с сервером через URI-запросы. Router - это как-бы механизм, "понимающий" то, что вы просите от веб-сайта через URI.
    Суммарно: это примитивный язык общения в виде структурированных лексических "предложений" между сайтом и пользователем/JS посредством URI-запросов.
    Ответ написан
    Комментировать
  • Можно ли в Redux использовать EventEmitter?

    PQR
    @PQR
    Ведь придется подписываться на нажатие клавиатуры и тд. Менять состояние часто. В общем, не очень привлекательная затея.


    На самом деле в React всё так и делают - каждое нажатие клавиатуры, каждый клик - всё это генерирует события onChange или onClick. А если используем Redux, то как следствие на каждое нажатие клавиатуры или клик куда-нибудь у нас будут генерироваться action, например такое:
    dispatch({type: TEXTAREA_CHANGE, value: newValue})
    Ответ написан
    Комментировать