Задать вопрос
  • Как найти максимальный id в ассоциативном массиве?

    Negwereth
    @Negwereth
    lvivcss.com.ua
    let maxId = Math.max(...array.map(i => i.id));
    Ответ написан
    Комментировать
  • Как эффективно выучить технологии для backend'a?

    @frozen_coder
    Java-developer
    Я за изучение через практику. Поэтому вот вам несколько ссылок с идеями для проектов.

    1. https://eax.me/programming-language-learning/ - вот это просто огненная статья с примерами проектов для любого ЯП. Выбирайте что-нибудь по душе и пилите, в процессе изучите всё, что надо.
    2. https://proglib.io/p/project-list/ - тут дофига всякого
    3. https://habr.com/ru/post/345092/ - ну и тут чуток
    Ответ написан
    Комментировать
  • Как сделать прелоадер в Vue?

    @askhat
    Если операций много и они асинхронны, можно воспользоваться паттерном Locking Pool:

    const store = {
      state: {
        lockingPool: 0
      },
      getters: {
        isUiLocked: state => state.lockingPool > 0
      },
      mutations: {
        lockUi: state => state.lockingPool++,
        unlockUi: state => state.lockingPool--
      },
      actions: {
        async someAction ({ commit }) {
          commit('lockUi')
          const { data } = await http.get('/some-url')
          commit('unlockUi')
        }
      }
    }
    Ответ написан
    9 комментариев
  • Для чего в шрифтах форматы EOT и WOFF?

    У гугла даже отдельная статья по шрифтам есть https://developers.google.com/web/fundamentals/per... специально для вас) и там все необходимые форматы шрифтов рассмотрены
    Ответ написан
    Комментировать
  • Для чего в шрифтах форматы EOT и WOFF?

    SagePtr
    @SagePtr
    Еда - это святое
    eot - для старых версий Internet Explorer
    woff и woff2 - современные форматы шрифтов для веб (весят меньше, чем ttf)
    woff2 более современный и весит ещё меньше, чем woff, но меньшая поддержка старыми браузерами
    https://caniuse.com/#search=eot
    https://caniuse.com/#search=ttf
    https://caniuse.com/#search=woff
    https://caniuse.com/#search=woff2
    Ответ написан
    2 комментария
  • Каким скриптом можно реализовать обучение пользователей?

    deepblack
    @deepblack
    Для vue.js
    https://github.com/pulsardev/vue-tour
    https://pulsardev.github.io/vue-tour/

    Vue Tour is a lightweight, simple and customizable guided tour plugin for use with Vue.js. It provides a quick and easy way to guide your users through your application. -
    Ответ написан
    1 комментарий
  • Каким скриптом можно реализовать обучение пользователей?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    https://introjs.com/ - пару раз приходилось делать туториал на vue, юзал эту библотеку.

    Создаёте компонент, кладёте его поверх приложения, например, в app.vue, описываете в нём шаги и селекторы к элементам.

    Есть готовый компонент с intro.js под капотом, но его я не юзал https://github.com/alex-oleshkevich/vue-introjs
    Ответ написан
    1 комментарий
  • Vue.js + Wordpress?

    @FullStackAlex Автор вопроса
    Веб-разработчик, электрик, кочевник
    Наконец таки я решил все технические вопросы для внедрения Vue.js в WordPress-Workflow. Долго я к этому шёл. Трудно было совместить freelancing на основе WordPress и WooCommerce и одновременно самообучение Symfony и Vue.js и создание первых реальных проектов на их основе. Но создание первого большого проекта на основе headless Symfony 4 (JSON API) и потребителя на основе Vue.js меня хорошо продвинуло вперед в направлении внедрения Vue.js в WordPress. Почему мне так интересен WordPress/WooCommerce умея делать Backend на основе Symfony? Потому что WordPress делает доступным веб технологии и маленьким клиентам по "демократическим" ценам, при этом всё ещё позволяя фрилансеру хорошо заработать (по крайней мере в Берлине, где я проживаю).

    Так как путь сюда до сих пор никем в интернете детально не описан и я угрохал недели если не месяцы на решение этой задачи прочитывая все статьи и docs с этой темой связанные (освоил для этого даже наконец таки Docker и Nginx и углубил знания в настройке Webpack) и пройдя многие не верные пути (vue-cli, nuxt.js) - я решил создать в течении следующих недель курс на Udemy.com на английском за 20 баксов. Если будет тут достаточно интереса (хотя бы лайков 10 ), то сделаю туториал и на русском. Курс будет содержать настройки Webpack, Docker (optional), Apache/Nginx. Моё решение сохраняет в отличии от nuxt.js все преимущества как WordPress так и Vue.js при этом соблюдая "законы" SEO и Social Marketing (Twitter Cards, Facebook Open Graph итп) и самое главное Hot Module Replacement с PHP/WordPress Templates!!!!!! .
    Я очень разочарован Nuxt.js и расскажу в Tutorial почему он далеко не во всех случаях технически годен и почему с точки зрения open source этот проект не оптимальный исходя из моего личного опыта.

    UPDATE 15.05.2019
    К сожалению руки до туториала так и не дошли. Но создал Github Repo с простым Starter Theme.
    Демо можно тут просмотреть: wue-theme.app
    Пока без доскональной документации. Надеюсь к концу месяца создам.
    Приколы темы:
    -Hot Module Replacement с PHP файлами (если только это интересно можно и тут скачать Webpack config)
    -полная поддержка SEO без Server Side Rendering (SSR). Реализуется это за счёт загрузки данных вместе с HTML в глобальном JS объекте "technomad", вместо дополнительного AJAX-запроса, что не поддерживается гуглом и для чего и нужны все прибамбасы типа Nuxt.js и phpv8/v8js.
    -элементы меню и новости автоматически добавляются через WordPress-Backend.
    -тема устонавливается как и любая другая тема без каких либо дополнительных настроек сервера (нужно скачать всю Repository и скомпремировать "wuetheme" папку в ZIP и тогда можно просто загружать как и обычную тему).
    -Github Repo без данных из демонстрации. Может ещё добавлю функцию установки демо данных.
    -сервер демо во Франкфурте без CDN. Так что во Владивостоке загрузка наверное немного дольше длится будет)) Из Берлина за 600-700ms загружается с VPS.
    -есть ещё много над чем работать (pagination, проверка загруженны ли скрипты и стили плагинов при Ajax route change, пока они загружаются только при инициальной загрузки, но скрипты и стили могут быть на каждой странице иные) , нo даже в данном виде эта тема на сколько я знаю уникальная.
    -тут можно проследить прогресс перестройки моего сайта с этой темой: stage.alexfullstack.dev, там больше клёвых анимаций))
    Пока всё. Have fun :)

    Update 30.05.2019
    Много чего обновил на Github.

    Update 02.06.2019
    Я решил вчерашнюю проблему)))
    Нужно было просто выспаться))
    Завтра подробно опишу и обновлю Github Repo.

    Update 03.06.2019
    -загрузил на Github новую "bulletproof SEO" версию с "Dynamic Rendering Implementation"
    -подробная статья тут

    Update 14.06.2019
    Перенёс сайт на wue-theme.app.
    Демонстрация Github версии тут: starter.wue-theme.app
    Добавил простую Load More Pagination и очистил код.
    Ответ написан
    21 комментарий
  • Как выводить фото instagram через проектор?

    @best91 Автор вопроса
    Сам спросил - сам нашел. Кому нужно djchuang.com/2014/show-instagram-photos-screen
    Ответ написан
    Комментировать
  • Post и Get запросы, какая между ними разница и что лучше и для каких целей?

    socengel
    @socengel
    7 лет native php в продакшене, онлайн 20000+,
    Общего между ними то что они работают одинаково. Разницы между ними технически никакой. А вот идеологические различия есть.

    Я расскажу о них в контексте PHP. Прошу заметить что протокол HTTP к PHP имеет косвенное отношение потому что он создавался для обмена html страницами а PHP просто расширяет возможности и того и другого.

    GET запрос используется чтобы получить данные а POST чтобы отправить. (Напоминаю что технически они работают одинаково).

    Поэтому в контексте PHP опираясь на эту идеологию сделали следующим образом:
    1. При каждом запуске PHP по умолчанию создаются суперглобальные массивы ($_GET, $_POST).
    2. Если в строке запроса есть вопросительный знак(?). То все что после него считается параметрами GET запроса они представлены в формате 'ключ'='значение' и в качестве разделителя используется знак амперсанда (&)
    Пример:
    GET /index.php?name=Андрей&surname=Галкин
    это строка запроса, тут 2 параметра. эти параметры попадут в массив $_GET.
    3. $_POST заполняется другим способом. содержимое этого массива заполняется из "заголовков запроса". То есть из места, скрытого от глаз в явном виде. Всю рутину по созданию таких заголовков берет на себя браузер. Хотя иногда и что-то редактируется в заголовках в ручную.

    Чаще всего пост запрос используется в формах (для отправки данных).

    Например у нас есть форма для входа 2 поля логин и пароль.

    Представим что мы используем GET метод. Тогда при отправке формы мы перейдем на следующий адрес /login.php?login=Андрей&password=123 согласитесь что так передавать такую информацию совсем не безопасно. Любой может открыть ваш браузер и начиная вводить адрес сайта он из истории может увидеть ваши пароли и логины.

    А вот если бы мы указали методом POST то мы бы получили следующий запрос:
    POST /login.php (login=Андрей&password=123) то что в скобочках было бы скрыто и никак не сохранено в браузере.

    Теперь другая ситуация например форма поиска. Мы вводим текст и получаем страницу с результатами. Вот тут уместнее GET форма. потому что нам было бы удобно сразу иметь ссылку на результат поиска, то есть добавить в строку запроса можно выразится "Публичные параметры", которыми можно поделиться. И как результат в строке браузера будет конкретная ссылка на текущую страницу. Мы можем ее скопировать, и разместить где-нибудь, или например скинуть другу. И получить при переходе одну и ту же страницу. А не просить других людей зайти на сайт и в поиск вбить определенную фразу чтобы получить необходимую страницу.

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

    И еще одна хорошая новость их можно комбинировать, например
    POST /index.php?page=login (login=Андрей&password=123) Думаю я уже достаточно объяснил что из этого получится и какие параметры в какой массив попадут.
    Ответ написан
    2 комментария
  • Как соединить линиями блоки div?

    arsenty
    @arsenty
    Full Stack Designer
    Без JS и с описанной адаптивностью: https://codepen.io/arsenty/pen/mYxXoQ
    Ответ написан
    1 комментарий
  • Как сверстать эту секцию?

    @forspamonly2
    Максим Ленский, вполне реально и с добавлением блоков сделать, и дивками, и чтобы тянулось.

    Ответ написан
    2 комментария
  • Зачем нужен frontend, если всю начинку сайта или проекта можно реализовать с помощью backend'a?

    Jump
    @Jump
    Системный администратор со стажем.
    • Во первых бэкэнд это долго - к примеру вам нужно изменить один символ на странице, страница весить пять мегабайт. Вы посылаете запрос на сервер, ждете когда его сервер обработает, и скачиваете новыую страницу с измененным символов. В итоге скорость замены одного символа на странице 0,5 -200секунд.
      А на фронтенде вы можете менять поменять за 0,5секунд этот символ хоть сотню раз.
    • Во вторых бэкэнд это дорого - фронтэнд позволяет разгрузить сервер, выполняя задачи на клиенте - в результате сайт можно хостить на недорогом хостинге, а в случае бэкэнда хостинг может потребоваться в сотни, а то и тысячи раз дороже.

    Для чего нужны такие языки, как JavaScript, HTML, CSS и тому подобное?
    • JavaScript нужен чтобы писать программы так же как и питон например или C.
    • HTML языком программирования не является и служит для разметки страниц.
    • СSS языком программирования не является и служит для описания стилей.

    Для преобразования простых детских рисунков в произведения исскусства
    Детские рисунки изначально являются произведением искусства. Их нельзя преобразовать в произведения искусства.

    все это реализовано на серверной части, с помощью серверных языков. Таких как phyton, node.js, PHP
    Не бывает серверных языков - бывают языки программирования.
    Ответ написан
    6 комментариев
  • Почему отправленное письмо с помощью php скрипта попадает в спам?

    bitniks
    @bitniks
    Go/PHP/Symfony developer
    Проблемы могут быть разные. Проверить письма на спам можно с помощью этого сервиса
    https://www.mail-tester.com

    Он проведет проверку письма и выдаст список проблем и советы, как их исправить
    Ответ написан
    Комментировать
  • Есть ли готовые админ панели для проекта на Vue.js?

    evgensenin
    @evgensenin
    Yii2 || Laravel, vue & nuxt
    Ответ написан
    Комментировать
  • Что почитать по архитектуре Vue-приложения?

    @FullStackAlex
    Веб-разработчик, электрик, кочевник
    Я лично не назвал бы себя особо большым спецом. Но написал уже пару приложений от и до с Vue.js и так получилось что создал насколько я знаю первую полноценную plug and play тему для WordPress (то есть без Node.js SSR но при этом с полной SEO поддержкой, таким образом пользователь может её просто установить как обычную тему на своём сайте и использовать без каких либо дополнительных работ над кодом сайта, что на данный момент при остальных существующих концептах для WordPress в сфере Vue.js не возможно).

    При самообучении (главным образом 22-ух часовый курс от Maximilian Schwarzmüller на Udemy.com) я не натыкался на серьёзные ресурсы с углублённым обсуждением архитектуры Vue.js приложений. Наверное те кто в этом шпарит не сидят особо на тостере или stackoverflow :) По этому я лично просто подстраивал архитектуру своих приложений под endpoints данного Backend (Symfony 4 и WordPress). Для WordPress я просто организую компоненты как я бы организовал обыкновенную тему для WordPress:
    post.php ---> src/components/main/single/post.vue
    index.php ---> src/components/main/lists/posts.vue
    front-page.php ---> src/components/main/pages/home.vue
    page.php ---> src/components/main/single/page.vue
    archive-{custom-post-type}.php ----> src/components/main/lists/{custom-post-type}-posts.vue

    Сайт я делю на части Main, Header, Footer, (Sidebar, если навигация не в Header,) и Modals. (Глобальная) Коммуникация между ними происходит через Vuex модули. А Vue-Router обрабатывает HTTP запросы, используя при этом Axios.

    Обширные и многочисленные методы и hooks (activated, mounted, etc) одной компоненты пытаюсь насколько можно переносить в Mixins и делать их универсальными для использования в других компонентах чтобы держать script tag максимально чистым (когда ищешь ошибки, 200-400 строчек скрипта и 10 разных между собой связанных методов могут стать огромным pain in the ass).

    Совсем недавно натолкнулся на этого парня, которого пару статей и сайт мне понравились:
    https://markus.oberlehner.net/
    Возможно уже в его обширных статьях вы найдёте кучу нужной информации. В добавок он собирается как раз на эту тему выпускать книгу и тут можно на его newsletter подписаться (я подписался и пока никакого спама, только по теме):
    https://oberlehner.us20.list-manage.com/subscribe?...

    А вот куча интересных ссылок которые получаешь при первых же результатах поиска "Vue.js аrchitecture" (то есть без гарантий с моей стороны):
    https://v1.vuejs.org/guide/application.html
    https://learn-vuejs.github.io/vue-patterns/useful-...
    https://itnext.io/how-to-structure-a-vue-js-projec...
    https://dev.to/maxpou/3-tips-for-scaling-large-vue...

    В этой книге есть часть под названием "Large Application Patterns with Vuex":
    https://www.amazon.de/dp/B01N6VAO4P

    Эта книга тоже кажется интересная, более 200 страниц посвящены Vuex и Vue-Router:
    https://www.amazon.de/Fullstack-Vue-Complete-Guide...

    Ну и последним самые авторитетные ресурсы на эту и похожие темы с VueConf Talks:
    https://www.vuemastery.com/conferences/vuejs-amste...
    https://www.vuemastery.com/conferences/vueconf-tor...
    https://www.vuemastery.com/conferences/vueconf-tor...
    https://www.vuemastery.com/conferences/vueconf-tor...
    https://www.vuemastery.com/conferences/connect-tec...
    https://www.vuemastery.com/conferences/vueconf-us-...
    https://www.vuemastery.com/conferences/vueconf-us-...
    https://www.vuemastery.com/conferences/vueconf-us-...
    https://www.vuemastery.com/conferences/vueconf-us-...
    https://www.vuemastery.com/conferences/vueconf-us-...
    https://www.vuemastery.com/conferences/vueconf-us-...
    https://www.vuemastery.com/conferences/vueconf-us-...
    https://www.vuemastery.com/conferences/vueconf-us-...

    Have fun :)
    Ответ написан
    3 комментария
  • Для Vue какие есть лучшие formbuilder?

    boratsagdiev
    @boratsagdiev
    Если не нужен визуальный редактор, то https://github.com/vue-generators/vue-form-generator конечно. JSON-based генерация форм.
    Ответ написан
    1 комментарий
  • Как тестировать верстку на кроссбраузерность?

    xPomaHx
    @xPomaHx
    1vs9
    ие есть в винде сафари у меня стоит мак в виртуалке, а айфоны смотрю тут
    https://appetize.io/demo?device=iphone4s&scale=75&...
    Ответ написан
    Комментировать
  • Как научится давать сроки по проекту?

    daniilnikitin
    @daniilnikitin
    Контент-менеджер
    1. При планировании мы представляем себе прямую из точки А в точку Б. На самом деле это будет дуга. Поэтому нужно предполагаемый нами срок умножить на Пи, так как длина окружности расчитывается по формуле Пи x диаметр.

    2. Планируй не только работу, но и тестирование.

    3. Если срок в днях, добавь день, в неделях - неделю, в месяцах - месяц. Обычно этого времени всегда не хватает на шлифовку результата.

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

    5. Сдавай работу раньше назначенного тобой срока и проси упоминать об этом в отзыве.
    Ответ написан
    Комментировать