Задать вопрос
  • Как переделать request запрос с PHP на Java(под Android)?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Как переделать request запрос с PHP на Java(под Android)?

    по сути никак, только если у вашего девайса выделенный IP.

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

    Вообще попробуйте разобраться что вам нужно сделать, а как - это уже мелочи.
    Ответ написан
  • Как из php вызвать javascript(jQuery) функцию?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    основа основ - php и javascript выполняются на разных концах в рамках клиент-серверной архитектуры и могут общаться только посредствам HTTP.

    Так что вы не вызываете javascript фунцкию при помощи PHP и никак не можете этого сделать (во всяком случае не на прямую)

    Запишите все внутри одного тега script, php тут вообще не причем.
    Ответ написан
    Комментировать
  • Как слушать музыку которая нравится обоим и управлять ею одновременно с 2-х ПК?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    www.tomahawk-player.org/
    Ответ написан
    Комментировать
  • Как утилизировать все ресурсы сервера в mongodb?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ну начнем с того что вариант с репликами и виртуалками это откровенный бред и пустая трата ресурсов, ладно бы шардили, тогда можно было бы при правильном подходе распаралелить map-reduce (в теории). Да и виртуалки не нужны, можно же просто на разных портах несколько инстансов поднять.

    А вообще тема довольно изъезженная. В частности CPU грузить банально нечем, все упирается в IO.

    https://groups.google.com/forum/#!topic/mongodb-us...
    Ответ написан
    1 комментарий
  • Как сделать "беспроблемную" перемотку в любой момент аудио?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    "неловкая пауза" - последствие того что вам нужно буферизовать кусок данных что бы начать проигрывать аудио. Просто до этого момента нечего проигрывать. Как это обойти... да никак по сути. Чем быстрее будет происходить буферизация - там меньше задержка. Что бы невилировать паузу - можно попробовать усложнить логику и останавливать воспроизведение, дожидаясь пока у нас сбуферизуется минимально необходимый кусок данных что бы можно было начать играть.

    В любом случае с медленным коннектом к серверу задержки всеравно будут иметь место.
    Ответ написан
    Комментировать
  • Динамическая форма symfony 2, как сделать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Если при регистрации нужно просто указать ссылки на видео (что я считаю более мение адекватным по вашему описанию), то через формтайп коллекции можно добавлять динамически новые элементы определенного типа.

    Если же нужно загружать файлы - я бы предложил разделить эту логику. То есть если уж так нужно сделать это все на одном скрине - сначала посредствам AJAX регистрируемся, затем начинаем процесс загрузки файлов.
    Ответ написан
    Комментировать
  • Можно ли задать закругление не через border-radius, а через linear-gradient или что-нибудь другое?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Нет
    Ответ написан
    Комментировать
  • Как лучше реализовать код?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    $taskManager = new TaskManager(); // вынести инстанцирование во вне а еще лучше использовать DI
    // таск есть таск, имеет он при себе родителя или нет
    // по сути у нас обычное дерево
    $parentTask = new Task();
    $subTask = new Task($parentTask);
    $subSubTask = new Task($subTask);
    // вся логика по сохранию тасков инкапсулируется в менеджер тасков
    $taskManager->addTask($parentTask);
    $taskManager->addTask($subTask);
    $taskManager->addTask($subSubTask);


    Если используете Doctrine в качестве ORM, то в менеджере вы должны делать только persist записи. flush в идеале должен быть только один (коммит транзакции), и желательно его делать в каком-нибудь так же даже не в контроллере, а сделать глобальный обработчик, мол если у нас не возникло ошибок во время обработки http запроса - делаем flush. Таким образом мы никогда не забудим закоммитить изменения в базу.
    Ответ написан
    7 комментариев
  • Что делает выражение?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    заменяет '\x' на '%'.... внезапно. Причем тольо первый встреченный символ.
    Ответ написан
    3 комментария
  • Замыкания, что не так?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    ну начнем с того что лучше так вообще не делать, геттеры/сеттеры так же надо либо выносить в прототип либо использовать defineGetter/setter.

    А не работает потому что у вас внутри геттеров и сеттеров не тот контекст. То есть вы должны либо использовать у замыкания метод bind и привязать их к вашему объекту, либо указывать ссылку на this в конструкторе (не очень хорошо).
    Ответ написан
    3 комментария
  • Какой язык программирования(библиотеку) выбрать для редактирования звуковой дорожки?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    C# норм. узкие места (декодирование/кодирование, фильтры, FFT и прочее) можно написать на C++ и сделать биндинг, хотя для всего этого биндинги скорее всего уже есть. А дальше уже идет UI.
    Ответ написан
    Комментировать
  • CSS background linear-gradient fixed сильно грузит CPU при прокрутке, как пофиксить?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    По сути никак, разве что отказаться от всего-этого. Комбинация box-shadow + градиенты + background-attachment: fixed по идее всегда будет тормозить ибо вызывает перерисовку всей страницы на каждый чих.
    Ответ написан
    Комментировать
  • Как проверить добавление в базу в PDO?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    lastInsertId надо вызывать когда вы удостоверились что данные были записаны в базу. А удостовериться можно банально проверив что при выполнении запроса не возникло ошибок. mysql_affected_rows тут не нужен, достаточно делать проверки на наличие ошибок после exec, а еще лучше - сказать PDO в случае чего выкидывать исключения и обрабатывать их.
    Ответ написан
    Комментировать
  • Куда двигаться дальше в php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Куда дальше? Попробуйте еще пару тройку фреймворков (как минимум Symfony и Laravel). Попробуйте пописать на других языках (Ruby/Python), что бы посмотреть как одни и те же задачи решаются в разных языках. Это хорошо будет сказываться на развитии. Углубитесь в вопросы архитектуры (ООП, SOLID), различных методологий разработки (TDD/BDD/DDD) и т.д.

    Так же следует прокачаться в Linux (хотя бы самые базовые вещи в плане администрирования), разберитесь с автоматизацией деплоя, автоматизация тестирования.
    Ответ написан
    Комментировать
  • Как настроить foreach?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    А что не так то?
    Ответ написан
    Комментировать
  • Что нужно изучить, чтоб написать виджет чат с нуля?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Пройдемся по пунктам:
    1) WebSockets
    2) Все что касается авторизации не относится конкретно к задаче чатика. Можно конечно замарачиваться, и выносить функционал авторизации в отдельный демон или поток и общаться через Pub/Sub (например ZeroMQ). По сути главное что бы во время верификации пользователя мы могли обрабатывать другие соединения
    3) Если вы хотите p2p доставку сообщений с WebRTC, то сервер вам нужен будет только для авторизации и аунтефикации клиентов, ну и что бы клиенты могли найти собеседников. В этом плане серверная часть упрощается и снижаются требования по нагрузкам, но усложняется клиентская часть.
    4) К сожалению вы не можете отправлять бродкастом сообщения, так как используется TCP. Можно конечно организовать что-то типа очереди, но я не вижу причин для выйгрыша в производительности. Тут больше вопрос архитектуры и каким образом вы синхронизируете списки пользователей.
    5) Ну... тут не вижу проблемы. Если вы хотите иметь один сервер для всех виджетов, то просто добавить поддержку CORS и токены для запросов (в заголовках) что бы разграничивать по доменам.
    6) А что именно вам надо хранить в базе? Сообщения у вас на сервере, как вы сказали, не хранятся... Пользователи - любой вариант, тот же MySQL (а лучше PostgreSQL, для которого есть возможность использовать асинхронные запросы в базу, что бы было интереснее). Текущих пользователей и прочее можно хранить в Reddis и т.д. Главное что бы хранилище было быстрым.

    Вообще задумка интересная, вариантов реализации масса. Это можно спокойно и на PHP написать, есть ReactPHP + Ratchet для организации сети пользователей, а для доставки сообщений вы и так хотите использовать WebRTC. Просто на сервере в супервизор надо поставить парочку демонов (по одному на ядро) и сверху поставить nginx, который будет балансировщиком и проксей. Учитывая что вы нехило можете за счет WebRTC и каких-нибудь архитектурных трюков уменьшить итоговую нагрузку на сервер, проблем с производительностью быть не должно. Так же для ReactPHP было бы неплохо поставить libev/libeven, словом там по документации можно пройтись и почитать что да как.

    Update:
    отстал я от жизни, как раз таки UDP можно использовать в браузерах (во всяком случае в последних билдах хрома), в частности для передачи информации между браузерами (а не аудио и видио) можно использовать datachannels. Так что тут все упирается в то, как доставлять сообщения между клиентами. Остальное уже зависит от того, как вы все же решите все делать.
    Ответ написан
    2 комментария
  • Как уйти от абсолютных единиц, если Inkscape по умолчанию рисует в px (ставя проценты, ничего не меняется)?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Казалось бы, причем тут HTML?
    Ответ написан
    Комментировать
  • SASS. консоль не определяет команду gem install sass. Что я делаю не так?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ну так у вас не установлен RubyGem
    https://rubygems.org/pages/download
    Ответ написан
    Комментировать
  • Что подразумевается под базовыми знаниями JS?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Да, для владения jQuery еще стоит знать замыкания и скоупы (каррирование например запилить), event bubbling и как вообще работают ивенты в JS и что можно с ними делать, естественно основные штуки типа циклы/условия, желательно иметь представление о массивах и уметь с ними работать, понимать разницу между массивом и хэш объектом, основные типы и т.д. Так же стоит посмотреть на понимание работы с асинхронным кодом (колбэки, промисы).
    Ответ написан
    Комментировать