• Какова суть фреймворков и библиотек?

    @stratosmi
    1) Фреймворк, как правило, рекомендует (а некоторые и навязывают) определенную организацию структуры кода, да. За это он тебе тоже кое-что дает - берет на себя типовую работу, что повторяется из проекта в проект, зачем ее делать каждый раз заново.

    Да, функционал их разный. От минималистичного до всеобъемлющего.

    Вполне можно использовать на одном сайте фрейморк CSS для верстки, фреймворк JS для динамики, фреймворк для бекенда. Если фреймворк для CSS и фреймворк для JS еще, возможно, и могут мешать друг другу (но как правило не мешают), то фреймворк для бэкенда функционирует на сервере как вообще независимая от CSS/JS вещь (CSS/JS фунционируют в браузере, а не на сервере).

    2) Да. Если они специализированы на разных проблемах (Zurb Foundation для CSS и Vue.js для JS и Yii для PHP, например).

    Но если они занимаются сходными вещами (например, React и Vue) то целесообразность такого применения непонятна. Более того - они запросто могут мешать друг другу. Нужно смотреть по ситуации.

    3) Библиотеки - весьма конкретно-местный инструмент. Потому более независимы от проекта.
    Фреймворки же нацелены на большую автоматизацию решения ваших проблем в какой-то конкретной ситуации, а вас от них более зависимыми (что не плохо, учитывая приносимую фреймворками пользу, просто нужно учитывать).

    То что фреймворки используют библиотеки - не позволяет нам делать никаких дополнительных выводов.
    Все используют библиотеки, это норма.

    4) Штатные API выбранного сервиса карт (Yandex Maps, 2GIS Maps, OpenStreet Maps и пр.). Эти API реализованы в виде библиотек. Фреймворки тут вообще не при делах.

    P.S.:
    2GIS специализированный сервис:
    В 2GIS очень хорошо представлены предприятия\фирмы\организации (в городах, где 2GIS присутствует), лучше прочих. Между городами 2GIS нет в принципе.
    Ответ написан
    Комментировать
  • Возможно ли существование вызова функции js через php код?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    Ну, php грубо говоря, это генератор текста (в данном случае html). И в нем вы можете вывести какой-то тег, то тот же скрипт. Это обычная практика. Но мне кажется, не очень красивая, я бы лучше вызывал эту функцию в каком-нибудь JS скрипте, который как-нибудь проверял бы, нужно ли запускать старт.
    Ответ написан
    9 комментариев
  • Возможно ли существование вызова функции js через php код?

    @NataliaCh
    Лучше использовать аякс. И подтягивать данные с сервера по событию onload, например.
    Ответ написан
    Комментировать
  • Как удалить почтовый заголовок X-Priority?

    @MechanID
    Админ хостинг провайдера
    1 Этот хедер добавляет аппликешон который шлет письмо.
    2 Если нужно его удалять на всех сообщениях то читайте про exim параметр remove_headers =
    Ответ написан
    1 комментарий
  • Почему после нескольких обновлений страницы с Google maps, слетает api key?

    Да, гугл уменьшил число запросов. Вот тут подробнее: тык. Альтернативы гугл картам перечислены в той же статье.
    Ответ написан
    Комментировать
  • Как исправить Ошибку при импорте конфига .ovpn?

    Radjah
    @Radjah
    Если я правильно понял, то ты прочитал по диагонали некий мануал из интернета, скопировал пример конфига и без редактирования и вникания в опции пытаешься его запустить, так?

    > route remote_host 255.255.255.255 net_gateway
    Вместо remote_host и net_gateway должны быть конкретные адреса.

    Директива route добавляет маршрут до указанной подсети. Используется обычно при соединении сетей через туннель.
    Ответ написан
    3 комментария
  • Программирование RoR для создания сайтов, в каком порядке осваивать?

    Для разработки веб-сайтов типа визиток/блогов/магазинчиков чаще всего используются готовые CMS типа WordPress, Joomla!, Drupal и для них используются различные плагины для расширения базовой функциональности.

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

    Для веб-разработки нужно осваивать все по порядку:
    Основы frontend (веб-клиент)
    1. основы HTML
    2. основы CSS, лишь для того, чтобы научиться не писать стили внутри кода HTML
    3. основы языка JavaScript безо всяких библиотек и фреймворков, особенно DOM, events & callbacks
    4. основы www: протокол HTTP
    5. JavaScript: HTTP запросы при помощи AJAX и JSON
    6. JavaScript: чуток мега-популярной ранее библиотеки jQuery - для общего ознакомления что можно делать по сравнению с голым JavaScript
    7. основы архитектурного паттерна MVC, используемого в разных фреймворках, в RoR в том числе


    Основы backend - там где и находится фреймворк Ruby on Rails
    1. Что такое веб-сервер
      https://zametkinapolyah.ru/servera-i-protokoly/htt...
    2. Самый простой вход в веб-разработку будет использование веб-фреймворка Sinatra. RoR стоит изучать после него, иначе будет трудно.
    3. В RoR проще всего будет начать с рендеринга вьюх (view) со статичными данными, без использования СУБД. Скажем, сверстать страничку (about.html.erb) для сайта-визитки с текстовыми данными прямо внутри шаблона. То есть используя лишь View-Controller, без Model.
    4. RoR: Asset Pipeline
    5. Для хранения данных в СУБД и подставления их в шаблон необходимо изучить основы SQL. Можно изучать сначала даже на SQLite (вся БД в одном файле), а потом MySQL/PostgreSQL - для промышленного использования. Можно обойтись хранением данных не в реляционных СУБД типа K/V (Redis, Memcached), или документо-ориентированных (MongoDB), но знание SQL важно иметь в дальнейшем по-любому.
    6. RoR: следующим этапом перейти к изучению доступа к данным в СУБД, а это именуется Модели (Model), при помощи RoR ActiveRecord.
    7. RoR: далее I18n, тестирование, rake task и другие фичи, по мере необходимости


    Источники:
    https://habr.com/post/303896/
    htmlbook.ru
    rusrails.ru
    Ответ написан
    Комментировать
  • Почему символ новой строки "\n" вместо новой строки добавляет пробел?

    @Pavel333
    Нужно использовать тег
    для вставки в html. Будет новая строка.
    echo $fio."<br>";
    Ответ написан
    Комментировать
  • Как запустить nodejs приложение на apache?

    Softovick
    @Softovick
    программист, администратор
    Для работы приложения на node.js нужна собственно среда node.js на сервере, без нее код не будет работать никак.
    Практически всегда веб-приложение на node.js уже запускает свой вебсервер, это действительно хороший вариант и производительный. Никаких прослоек, обычно не требуется. Иногда поверх пускают nginx, так как он лучше справляется с отдачей статики (например css, js и картинок).
    В вашем случае, так как порт для сайтов уже занят Apache, то вам достаточно создать в нем вхост, где сделать прокси на порт, на котором будет работать ваше приложение на node.js. При этом напрямую доступа Apache к папке с файлами приложения иметь не обязательно (да и не нужно, лишняя дырка).
    В идеале конечно следует избавиться от Apache в пользу nginx. Так как Apache будет создавать узкое горлышко для производительности приложения на node.js
    Ответ написан
    Комментировать
  • Как проверить на работоспособность все радиодетали импульсного блока питания ПК не выпаивая их?

    Ezhyg
    @Ezhyg
    Нет сердечника в странной спиральке

    Это "бессердечный" дроссель :). Дроссель без сердечника это нормально, в БП они встречаются часто.

    Давай начнём с... – умеешь ли ты запускать современный БП?
    Поясню, при втыкании в розетку таких БП включается только дежурная цепь (цепь дежурного питания), поэтому на выходном разъёме может быть (но не всегда) только одно напряжение +5VSB - фиолетовый провод.
    Посмотреть можно там: https://ru.wikipedia.org/wiki/Компьютерный_блок_питания

    Для запуска БП нужно подключить хотя бы минимальную нагрузку на один из четырёхконтактных разъёмов, например CD/DVD. Затем замкнуть контакты Зелёный - Power on и любой чёрный (там все соседи такие), после замыкания БП должен запуститься, сигналом будет вращающаяся крыльчатка вентилятора. После этого уже можно проверять напряжения в соответствии со схемой разъёма в википедии.

    А вот если не заработает, тогда уже думать дальше. Приходящее напряжение, исходящее с трансформаторов... шимку и т.д.
    Ответ написан
    4 комментария
  • Сайт перестал слать почту, как починить?

    @feanor7
    Системный администратор
    1. Убедитесь что почта отправляется от сервера, для этого убедитесь что MTA поднят, в логах есть записи что почта ушла.
    2. Отправьте тестовое письмо с Вашего MTA к себе...на разные ящики, 3-4
    3. Если хоть до одного ящика дошло, как правило gmail принимает, то смотрите через mxtoolbox и прочие сервисы как они оценивают Ваш почтовик
    4. Если не дошло никуда, нанимайте специалиста
    Ответ написан
    2 комментария
  • Как в .sh копировать текущую папку?

    @pfg21
    ex-турист
    cp ./* ../clones/NAME
    скопирует все файлы в из рабочей директории (это либо там где запустился скрипт, либо директория в последней команде cd)
    на каждую поддиректорию в рабочей директории выведет инфо-сообщение
    cp: не указан -r; пропускается каталог './траляля'

    ну и
    cp -r ./* ../clones/NAME
    скопирует файлы рабочей директории а также обойдет все поддиректории и скопирует их содержимое - в общем все что есть.
    Ответ написан
    Комментировать
  • Почему не открываются некоторые сайты и иногда редиректит на другой сайт?

    @generalx
    Системный администратор
    1. ресетнуть модем и самому настроить. настройки посмотреть в договоре или уточнить у провайдера.
    2 dns кривые. попробуйте в ручную прописать днс на интерфейсе не меняя айпи адрес.
    Ответ написан
    Комментировать
  • Почему не приходят письма?

    devspec
    @devspec
    Помогло? Отметь решением
    1. php mail вполне может быть отключен у хостера
    2. письма, отправленные через php mail, может не принимать почтовый сервер
    юзайте чей-нибудь SMTP
    Ответ написан
    6 комментариев
  • Как увеличить расстояние ethernet?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Оптика вам в помощь, если внутри помещения то можно и свитчами растянуться но это изврат.
    Ответ написан
    Комментировать
  • Почему пингуется другой адрес?

    @Wexter
    Потому что адрес 192.168.0.43 не пингуется и ваш хост (192.168.0.30) отвечает вам что он недоступен
    Ответ написан
    1 комментарий
  • Vesta CP - почему письма попадают в спам после чистой инсталляции?

    @nurjigit92
    Необходимо настроить авторизацию почты(связь с почтовым сервером) . Критично чтобы письмо отправлялось с почтового сервера. Надо правильно настроить почтовый сервер. (использую протокол SMTP).

    Дело в том что сейчас почтовые сервера проверяют отправителя, если видят что, что то не так то отправляют ему запрос; Если ты почтовый сервер отправь повторно свое письмо. и в таких случаях ваше письмо отбросится или попадет в спам. Это только один из примеров проверки почты...

    Есть такие моменты, у вашего почтового сервера должны быть настроен следующее:
    Записи в DNS (MX,A,SPF,DKIM)
    Обратный DNS(PTR записи)
    Так же следует проверить ваш ІР в спам базах
    Ответ написан
    Комментировать
  • Как заблокировать пользователя через Ansible?

    opium
    @opium
    Просто люблю качественно работать
    Зачем?
    Это тупое и непонятное решение
    Можно тупо сменить например ему Шелл на Бин фалсе через стандартный модуль юзерс в ансибл
    Ответ написан
    1 комментарий
  • Как локально получить голос в asterisk?

    Francyz
    @Francyz
    Photographer & SysAdmin
    Покупаете микрофон за 300р и ставите на ПК какую нибудь IP звонилку (aka софтфон) и подключаете ее к вашему астериску.
    Ответ написан
    2 комментария
  • Как вернуть результат из setInterval?

    rockon404
    @rockon404
    Frontend Developer
    Почему функция возвращает undifinded?

    Потому что функция f синхронно отрабатывает и не возвращает никакого результата.

    Как вернуть результат из setInterval?

    Можно захардкодить, можно использовать колбек или Promise.
    Хардкод:
    function f() { 
      setTimeout(console.log, 500, 1);
    }
    
    f(); // 1


    Колбек:
    function f(cb) { 
      setTimeout(cb, 500, 1);
    }
    
    f(console.log); // 1


    Promise:
    function f() {
      return new Promise(resolve => {
        setTimeout(resolve, 500, 1);
      });
    }
    
    f().then(console.log); // 1
    Ответ написан
    Комментировать