• Как в debian kde через терминал зацепиться на wifi?

    ulrich-schnauss
    @ulrich-schnauss
    Системный администратор, веб-разработчик
    3 комментария
  • Как обращаться с windows машины на web сервер Ubuntu desktop машины из одной сети?

    a13xsus
    @a13xsus
    Lazy developer
    Так сайты на localhost убунтовской крутятся, их нужно повесить на внутренний IP, а потом уже обращаться на внутренний IP:порт (80). Для этого нужно, чтобы была между ними локальная сеть. То есть в Virtual Box в настройках сети каждой гостевой машине нужно добавить сеть в режиме моста, указав свой реальный сетевой адаптер, затем сконфигурировать сеть в обеих гостевых ОС (либо dhcp, если роутер раздаёт сеть, либо вручную так же, как и на дебиан, только ip адреса различные). Потом перезапустить lamp и если он не привяжется к внутреннему ip, то идем в

    # vi /etc/apache2/ports.conf

    и пишем, например

    Listen ваш ip:80
    Listen ваш ip:8010

    и перезапускаем apache

    # /etc/init.d/apache2 restart

    и проверяем netstat'ом

    # netstat -tulpn | grep :80
    # netstat -tulpn | grep :8010

    Также желательно в /etc/host привязать имя хоста убунты к ip:

    192.168.0.235 hostname
    (ip_убунты имя_хоста_убунты)
    Ответ написан
  • Как обращаться с windows машины на web сервер Ubuntu desktop машины из одной сети?

    Так как внутреннего днс нету.
    Пропишите обе машины в файле hosts обоих машин.
    Ответ написан
    Комментировать
  • Как создать общую папку на VirtualBox, если основная система - Ubuntu, а гостевая - Windows 8?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    а дополнения VBoxGuestAdditions.iso установили для гостевой(Windows 8) системы ?
    глянуть для своей версии можно здесь

    п.с.
    Make-Permanent - только для чтения

    п.с.2
    В гостевой винде прописал в Выполнить:

    уже вроде как давно и без этого можно обходится, подхватывается автоматом после перезагрузки
    Ответ написан
  • Какие туториалы можно почитать о создании социального сервиса?

    copist
    @copist
    Empower people to give
    Можно взять и изучить социальные сервисы OpenSource на базе фреймворков, например https://www.humhub.org/en на базе Yii2 или https://elgg.org/ который сам по себе, на компонентной основе.

    Для себя надо найти ответ на вопрос: Чем простой сервис типа блога отличается от социального сервиса?

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

    Вот несколько отличий в формате утверждений "User Story":
    1. Как пользователь соц сервиса (далее ПСС для краткости, тут ограничение на длину ответа) я хочу публиковать свои записи и фотографии (далее КОНТЕНТ)
    2. Как ПСС я хочу изменять или удалять свой КОНТЕНТ
    3. Как ПСС я хочу, чтобы другие не могли менять свой КОНТЕНТ
    4. Как ПСС я хочу читать КОНТЕНТ других отдельных ПСС
    5. Как ПСС я хочу добавить в избранное (like, fork, pin, retwit, repost) КОНТЕНТ других отдельных ПСС с возможностью добавления своего описания или изменения оригинального, но с сохранением ссылки на оригинальную запись/фото
    6. Как ПСС я хочу добавить другого ПСС в избранное (friend, follow, watch)
    7. Как ПСС я хочу видеть список всех других ПСС, которых *я* куда то там навыбирал в п.6
    8. Как ПСС я хочу видеть список всех других ПСС, которые *меня* куда-то там навыбирали в п.6
    9. Как ПСС я хочу отправить сообщение другому ПСС
    10. Как ПСС я хочу видеть сообщения других ПСС, желательно instant, то есть в реальном времени
    11. Как ПСС я хочу комментировать свой и чужой КОНТЕНТ
    12. Как ПСС я хочу видеть напоминания о полученных сообщениях от других ПСС, которые я не получил в реальном времени (например, дайджест комментариев по электронной почте), а также о том, что кто-то меня зафрендил или лайкнул мой КОНТЕНТ, или прокомментировал мой КОНТЕНТ, или упомянул меня в комментариях где-либо
    13. Как ПСС я хочу запретить комментирование своего КОНТЕНТа другими ПСС
    14. Как ПСС я хочу создать сообщество по интересам (социальная группа, далее СГ) и стать её владельцем
    14. Как владелец СГ, я хочу пригласить других друзей (см п.6) и других пользователей (см. п.9) в СГ
    15. Как владелей СГ я хочу дать или забрать права модератора в СГ любому ПСС
    16. Как владелей СГ я хочу передать владение СГ любому другому ПСС
    17. Как ПСС я хочу видеть списки СГ и вступить (join, follow) в них, искать группы по заданным правилам, например, по ключевым интересам или хотя бы по названию
    18. Как владелей СГ я хочу сам исключить СГ из общих списков групп (скрытые группы)
    19. Как владелей СГ я хочу иметь возможность одобрять включение ПСС в СГ (приватные группы с ограничением на вступление)
    20. Как участник СГ я хочу публиковать свои записи и фотографии (далее КОНТЕНТ) в СГ
    21. Как модератор СГ я хочу менять/удалять записи участников СГ, опубликованные в СГ
    22. Как ПСС я хочу пожаловаться на другого ПСС или отдельный КОНТЕНТ
    23. Как глобальный модератор сервиса я хочу видеть жалобы от ПСС
    24. Как глобальный модератор сервиса я хочу забанить/разбанить любого ПСС
    25. Как глобальный модератор сервиса я хочу видеть КОНТЕНТ любого ПСС без ограничений
    26. Как глобальный модератор сервиса я хочу видеть все СГ без ограничений
    27. Как глобальный модератор сервиса я хочу отправить сообщение любому ПСС без ограничений

    Дейтинг, как во вКонтакте, и карму, как в Хабре, я не стал упоминать.

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

    За кадром остаётся финансовый вопрос: как обеспечить стабильный доход для поддержания работы соц сервиса.

    Надеюсь, ответ поможет составить картину мира социальных сетей :)
    Ответ написан
    3 комментария
  • Почему правильнее делать сайт по mvc?

    trevoga_su
    @trevoga_su
    www.phpinfo.su/articles/theory/model_view_controll...

    Что бы понять MVC, надо
    - иметь солидный опыт говнокодинга
    -- отсюда приходит понимание, что "что-то не так я делаю"
    - знать и понимать ООП. Не просто знать синтаксис, а уметь мыслить объектами
    Ответ написан
    4 комментария
  • Почему правильнее делать сайт по mvc?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    У вас может быть и модель, и прдставление и контроллер хоть в одном файле, суть то не в этом.

    MVC описывает не все приложение (есть Model2 которое убого но описывает все приложение, но я бы не рекомендовал вам сейчас на него ориентироваться). Оно описывает только "как сделать так, что бы приложение ничего не знало о UI".

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

    Далее, у нас есть представление. Вопреки вашему мнению, представление это не html а http. Поскольку PHP должен сформировать именно HTTP ответ (так или иначе, при помощи echo и header или при помощи абстракций над http). Просто обычно сайтики в качестве тела ответа содержат html. Но намного проще воспринимать "представление" как HTTP ответ. "шаблонизаторы" в этом плане не относятся к представлению, это способ его генерации. Сделаем допущение что весь view в нашем MVC это обычный HTTP ответ. Просто кусок текстовой инфы выплюнутый в буфер вывода. Помимо HTTP есть еще варианты: CLI или консольные скрипты, у них сфой формат представления. А еще есть менеджеры очередей и кучи других вариантов.

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

    Ранее мы уже сказали что "шаблонизаторы" это не часть представления а только способ его получения. Где мы должны использовать шаблонизатор тогда? Как сделать так, что бы наша "модель" или точнее наше приложение ничего не знало об этом "шаблонизаторе" (или сериалайзере, или json_encode, или еще чем-то там)? Положим между представлением и моделью что-то промежуточное - контроллер.

    Опять же контроллер - это не обязательно один объект. Это может быть целая цепочка объектов, которая может передавать запросы друг дружке и что-то с ними делать. Например один "контроллер" глянет мол "ага, он в качестве тела запроса прислал json - десериализуем". А второй контроллер такой "ага, он должен быть авторизован - надо проверить". Ну и т.д. покуда мы не дойдем до последнего контроллера в цепочке, который уже будет дергать "один" метод модельки. Это слой адаптеров между http и нашим приложением. Вот ключевая мысль MVC на бэкэнде (или ели точнее Mediating controller MVC или MVA, паттерн который реализован в большинстве современных бэкэнд фреймворков).

    Зачем нужно отделять UI от приложения? потому что что-то из этого явно меняться будет чаще и не одинаково. А еще можно распаралелить работу. А еще можно заменить реализацию одной из частей без вреда для другой. Словом мы получаем намного больше гибкости, но только если приложение ничего не знает о представлении.. В противном случае мы получаем антипаттерн под названием smart ui, для борьбы с которым 40 лет назад и придумывали MVC.
    Ответ написан
    3 комментария
  • Почему правильнее делать сайт по mvc?

    Maronus
    @Maronus
    Чем отличается мешок картошки, мешок морковки и мешок капусты от большого мешка с картошкой, морковкой и капустой? А если вам надо будет достать из большого мешка картошину с бабушкиной, а не с дядиной грядки?
    Ответ написан
    7 комментариев
  • Как настроить lamp для отлова ошибок в Yii1?

    @Mylistryx
    defined('YII_DEBUG') or define('YII_DEBUG', true);
    defined('YII_ENV') or define('YII_ENV', 'dev'); // - вот это надо добавить!

    Пардон, не доглядел, что это Yii1, но в теории там тоже надо включить режим разработки.
    Ответ написан
    1 комментарий
  • Как настроить lamp для отлова ошибок в Yii1?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Проверьте права на запись папки с логами дебага. Если на локалке работало, а на сервере нет - это самый вероятный вариант. Папка runtime (yii2), по yii1 не помню, уже давно его похоронил.
    Да и не забываете, что на сервере в конфиге надо прописывать свой ip для доступа к дебагу. Так как он по умолчанию доступен только с локалхоста.
    Ответ написан
    7 комментариев
  • Как заставить скрипт срабатывать, когда до него доскроллишь?

    BohdanK
    @BohdanK
    var circle_viewed = false;  // Вспомогательная переменная
        var circle_scroll = $('.circle');     // Класс самой диаграммы
        var offset = circle_scroll.offset(); // Расстояние в пикселях до самой диаграммы от верха страницы 
    
    $(window).scroll(function(){
            if ((($(document).scrollTop()) > ((parseFloat(offset.top)) - parseFloat($(window).height()))) && (!(circle_viewed ))) { //если страница прокручена то проверяем докрутили ли мы до самой диаграммы
                $('.circle-1').circleProgress({  // Если докрутили, инициализируем 
                    size: 160,
                    startAngle: -1.55,
                    value: 0.9,
                    fill:{ color: "#30bae7"}
                }).on('circle-animation-progress', function(event, progress) {  // Рисуем проценты во время анимации
                    $(this).find('strong').html(parseInt(90 * progress) + '<i>%</i>');
                });
    
                circle_viewed = true;
    });


    // эта конструкция ((parseFloat(offset.top)) - parseFloat($(window).height())) делает следующее, когда вы долистываете до нужно диаграммы, то отсчет пикселей начинается с верхней части экрана пользователя, соответственно мы отнимаем высоту экрана и получается что когда долистываем до диаграммы снизу экрана, то она будет стартовать.

    circle_viewed - это если мы один раз просмотрели диаграмму, то второй раз когда мы к ней долистаем, её анимировать не надо.
    jQuery, разумеется, должен быть подключен.
    Ответ написан
    Комментировать
  • Какие есть программы и способы запуска на windows 8 видеоролики вместо стандартной заставки?

    GaneevRR
    @GaneevRR
    Вместо спасибо отмечайте Нравится
    Посмотри вот это должно помочь тебе. Как минимум даст толчок.
    Ответ написан
    Комментировать
  • (git) Как организовать работу локальной и production версии сайта?

    Acuna
    @Acuna
    Заполнил свой профиль
    У меня все просто как топор! Имеется батник с прописанными командами
    git commit, git push, git pull, и далее по ситуации, который запускается автоматически в момент сборки проекта (короче когда запустишь))) ), он все коммитит на Гит, и он же деплоит все на удаленный сервер по sFTP (который по SSH c сертификатами) c помощью консольной утилиты winscp (ибо sFTP) с явками из отдельного конфига, который лежит вместе с батником, поэтому его можно легко изменять, не затрагивая сам батник. То есть отправили на Гит, все синхронизировали с локальной версией, если все норм - то развернули на удаленный. И все. Минус только один: пока работать можно только с одной веткой. Но это все только вопрос модернизации самого батника (у меня просто нет такой необходимости). Честно признаться, я не знаю, почему всем дают такие зубодробильные инструкции при ответе на вопросы такого рода, но как по мне - все гениальное просто. Не, исправьте меня если что, может быть я заблуждаюсь в своей правоте, я готов принять конструктивную критику такого подхода)
    Ответ написан
    Комментировать
  • (git) Как организовать работу локальной и production версии сайта?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Я уже четвёртый раз отвечаю на подобный вопрос:

    Собсно, как делаем мы - toroid.org/ams/git-website-howto . Это процесс деплоя. В свой локальный репозиторий добавил два ремоута - prod & test. Это помимо origin, который указывает на ваш общий bare git репозиторий, на гитхабе, например. Собсно сначала выкладываю на тест одной командой
    git push test master
    потом, если всё хорошо, уже на прод
    git push prod master
    Если нужны какие-нибудь пост-обработки, то они происходят на сервере через хуки гита.

    По поводу workflow. Простейший вариант - Github Flow.
    Есть одна ветка, master - там всегда то, что сейчас на проде.
    Чтобы сделать фичу/починить баг вы создаёте новую ветку из мастера, коммитите в неё, когда всё сделали мерджите её в мастер. Перед мерджем, понятное дело, обновите свой мастер, вдруг кто-то туда уже смерджил свою ветку с другой фичой. Хотите перед мерджем протестировать свою фичу?
    git push test my-feature:master
    это запушит вашу ветку на тестовый сервер.
    Ответ написан
    2 комментария
  • Как Yii1 правильно выставить scope для модели?

    EnChikiben
    @EnChikiben
    mysql ругается потому что не знает какой id использовать
    'condition' => 'tenant.id=:tenant_id',
    Ответ написан
    1 комментарий
  • Почему в yii1 по разному воспринимаются get параметры в клиентской части и в админке?

    в последних четырех правилах ошибка, должно быть w+ у controller
    именно поэтому они игнорируются при разборе урла
    Ответ написан
  • Почему в Yii1 Невозможно обработать запрос?

    @cd2005
    php разработчик
    Наверное запрос должен быть плана domen/2somecontroller/view/87
    Ответ написан