• Что такое Vue Native?

    andykov
    @andykov
    Shit happens
    Vue Native это обертка над React Native.
    NativeScript это отдельный кроссплатформенный фреймворк который дает доступ к нативным компонентам платформы. И оба эти инструмента это не WebView.
    NS использует движок V8 JavaScript для Android и JavaScriptCore для iOS. RN использует только JavaScriptCore
    для обеих платформ. NS может в JS, TS, Angular и в этом году добавили официальную поддержку Vue за счет интеграции с плагином nativescript-vue
    Можно в playground'e пощупать.

    С RN я не работал, как и с VN, но мне интересно развитие NS.
    В общих чертах RN и NS похожи, но отличаются архитектурой взаимодействия с родными модулями платформ.
    NS работает c API интерфейсом платформы непосредственно в движке JS, отправляя вызовы и конвертируя данные на лету. При компиляции все XML компоненты передаются на собственные компоненты Android и iOS перед упаковкой в ​​двоичный файл платформы. В оф.документации все расписано
    Есть хорошая статья в блоге NS, где они разбирают серию статей от Airbnb об опыте с RN.

    Считаю что NativeScript недооценен сообществом, годный продукт.

    Простые приложения можно строить и на NS, что то более сложное где память решает, лучше писать нативно.
    Ответ написан
  • Показ рекламы через подмену DNS?

    Zoominger
    @Zoominger
    System Engineer
    дабы

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

    Вообщемразпостронять разпостронять

    А, понятно.

    как можно было б это реализоват

    Абсолютно никак, вы не первый такой умный.
    Ответ написан
  • Vue или Jquery?

    @deliro
    Агрессивное программирование
    На Vue можно сделать всё, что можно сделать на jQ.
    На jQ можно сделать всё, что можно сделать на Vue, но сложнее.
    На чистом JS можно сделать всё, в том числе Vue и jQ (sic!)

    Я участвовал(ую) в проектах, где в качестве фронта один единственный Vue-бандл. Это сложные интерактивные приложения, где jQ просто иррационально использовать из-за огромного количества реактивных связей. А Vue справляется с этим "из коробки".

    Также, конечно, были проекты, где нужно было показать слайдеры, при определённых действиях обновить DOM, перехватить пару сабмитов форм, но в целом это просто HTML. Там Vue использовать иррационально и jQ подходит отлично.

    Есть даже проекты, в которых jQ и Vue отлично уживаются вместе. Почти везде jQ, а на некоторых сложных страницах, где много связей, аяксов и перерендера DOMа стоит Vue и экономит гигантское количество кода, разметки и моих нервов.

    Вот только чего не стоит делать — так это использовать jQ в качестве HTTP клиента для Vue. Я имею ввиду, что есть куда более легковесные и заточенные под это axios'ы и fetch'и.
    Ответ написан
  • Что выбрать: Syncthing vs nextCloud vs Seafile vs OwnCloud vs Другой сервис?

    fdroid
    @fdroid
    press any key
    mike153: пробовал все варианты. Nextcloud - это форк Owncloud. По сути, одно и то же, хоть и NC считается более продвинутым и вообще вся опенсорсная тусовка туда ушла. Поэтому пишу о нём. Всё исключительно на правах IMHO. Плюсы:
    - Самый главный - это работа с файлами именно в файловом варианте. То есть, если предположить, что "всё упало", вы можете подключить диск с рухнувшего сервера к любому линуксу и вытащить инфу из /var/www или где она там у вас храниться будет. Также можно подключать внешние хранилища, то есть, предположим, есть у вас на сервере папка с фильмами и музыкой - их можно просто подключить в NC.
    - CardDAV, CalDAV из коробки.
    Минусы:
    - Тормозит всегда, рандомно, в любой момент времени. Независимо от того Apache или Nginx, MySQL или MariaDB, тормозит на любом софте.
    - Интерфейс - УГ, ШГ

    Теперь о Seafile. Плюсы:
    - Турбореактивный просто. Работает очень быстро.
    - Интерфейс очень приятный.
    - Продвинутое версионирование.
    - Умеет открывать docx, odt, xlsx и т.д. без дополнительного софта. Но без редактирования. Если нужно редактирование - нужен отдельный Document Server от Collabora или Onlyoffice.
    - PRO-версия бесплатна для 3-х пользователей, но смысла особого нет, т.к. enterprise-фишки заключаются в 1. полнотекстовому поиску по документам с помощью elasticsearch, у которого просто чудовищное потребление ресурсов 2. двух-факторной авторизации 3. и что-то там ещё, не особо нужное дома
    - Есть клиенты для всех основных платформ
    - Устанавливать можно как вручную по мануалу на сайте, так и воспользовавшись установочным скриптом, который сам всё сделает.
    Минусы:
    - Файлы хранятся в собственном формате, как это правильно называется? - на уровне блоков, что ли. Доступ к инфе только через веб-интерфейс, WebDAV, ну и приложения для синхронизации. То есть, вся информация в Seafile на диске представляет просто кучу мала из папок и файлов, которые нельзя так просто взять и использовать - нужен ещё дамп базы данных. То есть, в случае проблем с системой, достать информацию будет затруднительно. Но выход есть - seaf-cli - это безгуёвый клиент для синхронизации. Смысл в том, что на сервере, на котором крутится Seafile, дополнительно можно установить seaf-cli, натравить его на директорию, и он в эту самую директорию будет складывать синхронизированную копию инфы основной базы Seafile, причём в виде нормальных файлов, которые можно расшаривать как угодно, бэкапить и т.д. Минус решения с seaf-cli в том, что нужно вдвое больше дискового пространства для хранения инфы.
    - Ну и как следствие такой организации файлов - невозможность подключить внешние хранилища, в отличие от тёплого лампового Nextcloud.

    В общем, лично я остановился на Seafile.
    Ответ написан
  • Как сделать Ajax запрос на React js?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Или используйте старый xhr (новый fetch тоже норм). В общем, тут суть в том, что ваш вопрос больше о том, как сделать асинхронный запрос в React. Все просто: храните начальное состояние и флаг загрузки в стейте. При запросе обновляйте. Реакт сам все отрисует при изменение стейта.

    Пример (код с одной из глав нового учебника, если интересно инфа в профиле)
    class App extends React.Component {
      constructor(props) {
        super(props)
        this.state = {
          data: [],
          isLoading: false,
        }
      }
      componentDidMount() {
        const xhr = new XMLHttpRequest();
        xhr.open('GET', 'http://localhost:3000/data.json', true); // замените адрес
        xhr.send();
        this.setState({ isLoading: true })
    
        xhr.onreadystatechange = () => {
          if (xhr.readyState !== 4) {
            return false
          }
    
          if (xhr.status !== 200) {
            console.log(xhr.status + ': ' + xhr.statusText)
          } else {
            this.setState({
              data: JSON.parse(xhr.responseText),
              isLoading: false,
            })
          }
        }
      }
      renderProducts() {
        const { data, isLoading } = this.state
        if (isLoading) {
          return <img src='/i/preloader.gif' alt='загружаю...' /> // рисуем прелоадер
        } else {
          return data.map(item => {
            // я здесь отрисываю все через другой компонент, вы же можете просто рисовать сразу верстку для начала
            return <ProductCard key={item.id} name={item.name} price={item.price} quantity={item.quantity} />
          })
        }
      }
      render() {
        return (
          <div className='App'>
            <div className='product-list'>
              {this.renderProducts()}
            </div>
          </div>
        )
      }
    }
    Ответ написан
  • Как прописать автотесты в python для тестирования GUI?

    @maqstein
    Python developer
    Обычно это делается через api , но если таковой нет , то можно разобраться с библеотекой pyautogui https://pyautogui.readthedocs.io/en/latest/
    И сделать с ее помощью
    Ответ написан
  • Как заблокировать jivosite?

    @Bobson8
    Системный администратор
    Везде советуют лочить jivosite adblock-ом, фильтр свой создаете с таким параметром *jivosite.com* должно работать. Обратите внимание на домен! Именно .com! Можно и .ru запихать туда, заодно.
    Ну и в хостс тоже с .com пропишите, как вариант.
    Ответ написан
  • Почему сайт конкурента находится всегда в топе а мой сайт падает?

    Metiza
    @Metiza
    Digital-маркетолог в Netpeak Software
    Так-с...
    Я бы на вашем месте, в первую очередь, взглянула на проблемы непосредственно вашего сайта.
    И, присоединяясь к Максим Тимофеев, нужно что-то делать с юзабилити и дизайном.

    В чем основные проблемы:
    • Нет мобильной версии;
    • Не внедрен AMP;
    • HTTP вместо HTTPS (и если вы не хотите начать падать еще стремительнее, то поторопитесь с этим и с тем, о чем говорил Exploding;


    Ну а исходя из отчета Netpeak Spider по вашему сайту:
    • На 13 страницах не заполнен meta Description;
    • Есть битые ссылки;
    • Несколько H1 на странице со статьями;
    • 19 не оптимизированных изображений;
    • 18 страниц с низкой скоростью загрузки;
    • Отсутствие ALT-ов у изображений.
    1JS5CU.png
    Ответ написан
  • Какую файловую систему использовать для разнесения бекэнда и фронтэнда?

    leahch
    @leahch
    Я мастер на все руки, я козлик Элек Мэк :-)
    Вариантов немного, конечно же NFS, но есть возможность повеситься при обращении к файловой системе (причем на очень продолжительное время), когда она (NFS) недоступна например из-за отсутствия связи.
    Со своей стороны я бы такого не делал, а поставил бы какой нибудь CDN сервис типа S3, куда и бросал бы файлы. Например minio https://www.minio.io
    Вот еще один интересный проект, немного не S3, но по архитектуре довольно прикольный - https://github.com/chrislusf/seaweedfs
    Ответ написан
  • Как рассчитать стоимость разработки сайта?

    dummyman
    @dummyman
    диссидент-схизматик
    Вы скорее всего не примите мои советы как руководство к действию. Это ваше право. Я сам не понимаю, зачем раздаю эти бесплатные советы.

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

    Сам занимался вэбом с 1997 по 2012. За это время видел много подобных фэйлов.

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

    Бывает ситуация, когда дела идут хорошо, оборотные средства растут, появляются излишки. В таких и только таких случаях можно нанимать на работу человека более опытного чем вы. Если вы найдете такого человека. А таких людей ищут годами. Человек придет, и принесет новый конструктив. Как говорится, разрулит все нависшие за время деятельности ступоры.

    Чтобы браться за такой проект, у вас уже должна быть сформирована команда, у вас уже должны быть десятки аналогичных проектов "по-меньше", "по-локальнее". Вы должны обладать 100% знаниями как все реализовать самому.

    Рассмотрим другую ситуацию. Если к вам обратился клиент-тостосум. И вам на данном этапе нужно назвать цену. Я рекомендую найти в себе сил отказаться от проекта. Сколько бы не было денег, без опыта вам понадобится мимнимум 10 лет чтобы понять как организовать эту работу. И вам ваш клиент-толстосум не поможет советом. Он также как и вы не работали над масштабными проектами в интернете. И так же как и вы будете ждать чудо от наемных работников, толстосум будет также ждать чуда от вас.

    Ну как-то так...
    Ответ написан
  • Так у чего производительность выше и вероятность успешного завершения проекта у node.js или Python?

    @nirvimel
    Для того чтобы дать квалифицированный и обоснованный ответ по всем пунктам надо быть как минимум ПМ с опытом подобного рода крупных проектов на обоих языках и стеках технологий. Каждый такой проект растягивается на годы, вероятность того что ПМу за свою карьеру посчастливится руководить крупными проектами на обоих стеках существует, но не высокая. Еще меньше вероятность что такой ПМ сидит на Тостере 1 января. Так что мое мнение и мнение других, здесь присутствующих, программистов следует понимать как мнение каменщиков о смете на строительство дворца. То есть все это полное ИМХО, заангажированное в сторону знакомых по опыту технологий. И все же постараюсь ответить объективно на сколько возможно.

    1. Цена вопроса разработки.

    Больше зависит от работы по подбору кадров. В целом средняя ставка оплаты кодера на node и на python примерно равная, чуть выше чем php, но ниже чем java, c++ и др. нескипторые языки.

    2. Цена серверов.

    Обратно пропорциональна производительности. Ни node, ни python не налагают никаких особых требований, влияющих на цену серверов.

    3. Вероятность успешного завершения проекта.

    Полностью зависит от подбора команды и лично от ПМ. Точно так же с любыми другими технологиями.

    4. Производительность.

    Сейчас тут кто-то обязательно упомянет про V8, как решающий аргумент в ползу node. V8, конечно, шедевр в своем роде, но не все так однозначно, потому что на python (в отличии от js) не принято писать критичные по производительности участки на самом скрипте (подробно это этом я уже писал: На чем писать back-end, в котором много математики? ).

    5. Маштабируемость.

    Зависит от архитектуры приложения. Построение легко масштабируемых решений возможно на обоих технологиях.

    6. Отказоустойчивость.

    Сильно зависит от архитектуры приложения и от выбора инструментов (фреймворков, библиотек). Построение отказоустойчивых систем возможно на обоих технологиях.
    Ответ написан
  • Имеет ли смысл backend игрового сервера на python?

    syschel
    @syschel
    freelance/python/django/backend
    Ну всем известная WOT от Wargaming использует много Python.

    Вот их канал на ютубе Wargaming CIS, очень много питона.
    Ответ написан
  • На чем писать back-end, в котором много математики?

    @nirvimel
    Python для вычислений медленный!? Вы просто не умеете его готовить!
    Я уже писал тут, что питон только сверху динамически типизированный скрипт (что необходимо для скорости разработки), но векторные вычисления numpy выполняются на самом железе, то есть так, что вы не напишите это на C/C++ быстрее чем на несколько процентов.
    Кроме того, для тех случаев, когда векторных вычислений не хватает, существует Cython, это такой же компилируемый (и не уступающий в производительности) как C/C++ язык, с прямым доступом к питоновым объектом, передаваемым из скрипта.

    статистика, fft, свертки, обработка звука и изображений, возможно немного распознавания

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

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

    @nirvimel
    Дело в том, что метод click создает событие click, которое имеет свойства screenX и screenY, то есть должно происходить на "видимом" экране. Работа через Selenium не меняет того факта, что браузер и все скрипты на странице работают с неким "видимым" экраном. Иначе одной строкой на js можно было бы легко выявить весь обман и отсутствие живого человека по ту сторону браузера.
    Но find_elements_by_xpath возвращает все соответствующие данному xpath элементы дерева в независимости от их реальной видимости. При этом невозможно вызвать click на элементе за пределами "видимого" экрана.
    Частично решить эту проблему можно путем вызова scrollIntoView на элементе перед click. Но у этого метода тоже могут возникать проблемы с элементами, у которых (или у их родителей) style="display:none".
    Ответ написан
  • Какого уровня подзадачи можно создавать в Redmine?

    dimonchik2013
    @dimonchik2013
    КАКОЙ ТЫ ДИВАН?
    стопицот

    20 точно можно, думаю, и больше можно, просто такая "декомпозиция" немного противоречит здравому смыслу
    в работе бывают milestones,, планы, сроки, а если подзадачи плодятся как кролики...
    Ответ написан
  • На каком европейском регистраторе можно платить через КИВИ?

    Awake
    @Awake
    Рулю разработкой ;-)
    на любом. Заводите виртуальную карту киви visa и платите.
    Ответ написан
  • Как научить общаться phantomjs и python?

    @mefisto
    Как вариант сделать очередь на базе redis/rabbit.
    А с какой целью вы хотите перевести часть парсеров на фантом?
    Ответ написан