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

    nazarpc
    @nazarpc
    Open Source enthusiast
    Зачем запрашивать максимальный id? Сделайте поле AUTOINCREMENT, и оно будет без конфликтов инкрементиться само.
    Ответ написан
    Комментировать
  • JAVASCRIPT свойство объекта возвращает объект?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    в js и java

    Что общего между этими языками кроме того что они оба имеют сиподобный синтаксис?

    var obj1 = {
            bar: 'bar'
        },
         obj2 = {
              foo: obj1
         }
    ;
    
    console.log(obj2.foo.bar); // bar
    Ответ написан
    Комментировать
  • Как называется процесс или скрипт поэтапного заполнения формы?

    Wizard

    Например тут
    Ответ написан
    Комментировать
  • Переменные в объектах?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    var img = yourObject.response[0].photo_max;
    Ответ написан
    1 комментарий
  • Как загрузить файл на сервер через ссылку?

    @ugodrus
    function downloadFile ($URL, $PATH) {
        $ReadFile = fopen ($URL, "rb");
        if ($ReadFile) {
            $WriteFile = fopen ($PATH, "wb");
            if ($WriteFile){
                while(!feof($ReadFile)) {
                    fwrite($WriteFile, fread($ReadFile, 4096 ));
                }
                fclose($WriteFile);
            }
            fclose($ReadFile);
        }
    }

    Метод отлично работает на больших объемах.
    Можете также реализовать через сокеты. Тоже няшка получается.
    Ответ написан
    1 комментарий
  • Где можно научиться писать калькуляторы для сайтов на php?

    Люди ну что вопросы, давайте откроем "школу калькуляторов на php" калькулятор ничем отличается от других задач, а порой даже проще, всё стандартное, простейшие функции, берёшь и пишешь.
    Ответ написан
    2 комментария
  • Насколько корректно делать в bootstrap3 больше колонок чем максимально возможно в строке?

    @askhat
    Абсолютно некорректно. Обратите внимание на имя класса .row, не .two-rows и не .2rows, а именно .row. Однако вы можете вынести .col-xs-12 за пределы .row, насколько я помню в послених Бутстрапах это не возбраняется.
    Ответ написан
    Комментировать
  • Как организовать хранение изображений на сервере?

    AloneCoder
    @AloneCoder
    [object Object]
    Распихивать по хешу по подпапкам
    /c4c/a42/38a0b923820dcc509a6f75849b
    Ответ написан
    1 комментарий
  • Как написать реал-тайм онлайн игру? Методология, паттерны, статьи?

    @kazmiruk
    Вы задаете более-менее правильные вопросы, но на них нет правильных ответов. Каждый случай очень индивидуальный и кратким ответом тут не обойтись, тут нужны лекции с тоннами теории. Я в свое время писал игры: php (api) + flash (клиент) + C++ (сервер) + mysql (база данных) + memcache (кеш), php (api) + python gevent (сервер) + mongodb (база данных) + redis (кеш) + html5 (клиент), nodejs (сервер) + html5 (клиент) + redis (кеш) + postgresql (база данных). Все они были довольно проивзодительными. Такое разнообразие технологий отчасти обуславливалось моим любопытством (проект на nodejs писал для себя).
    В целом пытаясь ответить на Ваши вопросы:
    1. Не совсем понятно что Вы имеете ввиду. Уточните вопрос.
    2. Лучше всего передавать на сервер все действия клиента и обсчет производить на сервере для невозможности подделывания результатов действий, но это приводит к возрастанию нагрузки на сервер. Протокол - мне нравится bson с готовыми библиотеками, понятным форматом и небольшим размером. Но опять же его я использовал только во втором проекте, в остальных местах я создавал свои велосипеды, которые для конкретных случаев были наиболее эффективны (в моем представлении)
    3. В базе хранить все, что не должно пропадать между играми (условно говоря после выключения сервера ;)), в оперативной памяти дублировать все в идеале (для избавления от операций чтения с диска).
    4. Зависит от потребностей. Postgresql\mysql - более традиционны. Mongodb - модная ) Если Вы понимаете, что в Вашей игре вы можете пережить ограничения mongodb (к примеру отсутствие транзакций) - юзайте его, очень удобен для хранения игровых состояний. Если не уверены - используйте традиционные реляционки.
    5. Кеширование по сути и есть перемещение данных из БД в оперативную память. Причем перемещается таким образом, что скорость выборки из оперативной памяти не зависит от количества данных. Это так называемые хэш-таблицы.

    В общем, без обид, но судя по Вашим вопросам Вам надо очень серьезно подтянуть теорию, прежде чем браться за серьезную игру. Писать серверную часть на С++ - круто, если Вы его знаете на отлично. В целом большого профита Вы не получите, так как скорость С++ проявляется в числодробилках. А игровой сервер - в основном операции чтения\записи, которые будут одинаково выполняться на практически любом современном языке и их скорость больше зависит от построенной архитектуры.
    Мои рекомендации: читать про блокирующие\неблокирующие сокеты, многопточность, структуры данных, паттерны проектирования, оптимизация запросов (включая нормализацию и денормализацию данных), кеширование. Параллельно с этим можно делать простенький чатик постепенно улучшая и оптимизируя его. Таким образом Вы приобретете и теорию, и практику. После этого можно сделать какую-нибудь простенькую игру.
    Ответ написан
    4 комментария
  • В чем же сила Node.js ?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Сила в том что все знают JS. Кто может писать на PHP/Ruby/Python? Те кто пишут на PHP/Ruby/Python соответственно (и скажем по 10%-15% от количества каждых кто может писать хотя бы на двух из трех языков. Кто может писать на JS? Все фронтэндеры + добрых каких 60%-70% от всех этих php/ruby/python/java/c# разработчиков...

    Что это дает? ОГРОМНЕЙШЕЕ комьюнити... большая часть быдло конечно но засчет огромнейшего количества разработчиков инструментарий начал просто очень быстро развиваться. Кому нужен инструмент написанный на Ruby если его можно написать на JS и его сможет поддерживать на порядок больше людей?

    Вопрос производительности по началу стоял как основная фишка языка. Все кричали наконец-то, V8 на сервере, асинхронность! Самый быстрый интерпритируемый язык на планете и все такое. Но на деле все чуть сложнее. JS реально быстрый. По сравнению с тем же Ruby он в разы быстрее! Но по большому счету на это адекватным людям плевать с высокой колокольни, так как js нифига не асиинхронный. JS работает в один поток. Причем в этом же потоке работает и сборщик мусора. Если он начнет все чистить - все замрет. Обычно это не сильно большая проблема но как-то забавно. Асинхронное в JS только работа с IO которая на плюсах/си реализована...

    Революционности так же нету. JS на сервере не новая идея и практиковался еще лет за 5 до. Просто это была очень удачная реализация да ктому же если бы не V8 то так же все было бы не так круто.

    Что до сравнения с PHP и т.д. - это инструменты для разных сфер. PHP - разработка web-сайтов. node.js - демоны, инструменты разработки, шины данных, доставка данных и т.д. Для всего остального PHP подходит больше. Есть правда пара интересных проектов главная цель которой устранить дублирование кода на сервере и на клиенте.... но подходят эти наработки пока только для очень простых проектов (хотя все относительно).

    Если вас прям плющит от нового, быстрого, современного, с клевым дизайном и тоже где повлиял гугл - golang.
    Ответ написан
    11 комментариев
  • Как лучше двигать сайт?

    SilenceOfWinter
    @SilenceOfWinter
    та еще зажигалка...
    В порядке важности:
    1. Контент: уникальный и регулярно обновляемый (в том числе изображения, видео)
    2. Ключевые слова (по которым планируется продвигать сайт): выявление и акцентирование (повышение частоты использования, выделение положением на странице, размером, типом), сюда же входят мета теги и заголовки
    3. Навигация: меню, перекрестные, сквозные ссылки, карта сайта (sitemap.xml)
    4. Публичность: регистрация в поисковых системах, каталогах, соц.сетяц
    5. Реклама: покупка площадей (статьи, ссылки), привлечение активных, популярных пользователей
    Ответ написан
    Комментировать
  • Как правильно работать с symfony и angularjs ?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Как правильно работать с symfony и angularjs

    Раздельно. В идеале Angular-based приложение в одном репозитории, Symfony-based - в другом. На сервере REST API. Смешивать приходится только в случае каких-то оптимизаций. На первых парах сомневаюсь что это ваш кейс.

    У angular сменил скобки на квадратные [[var]]

    Лучше просто в verbatim обернуть что бы twig не парсил. В любом случае есть масса вариантов при которых ничего экранировать вообще не нужно. Например если вам нужно по каким-то причинам какие-то данные передавать всегда, например транслейшены или чего еще, можно сделать так:

    <script>
    angular.module('app.data', []).constant('myMandatoryData', {{ data | json }});
    </script>


    а уже для приложение прописать зависимость от app.data.

    Словом старайтесь не задавать в twig вообще шаблонов для angular.js. Их можно компилить, собирать в $tempalteCache (да, если у вас все будет в куче можете смело выкинуть assetic и сделать сборку на gulp/gassetic) и много чего еще.
    Ответ написан
    4 комментария
  • Глупый вопрос: Зачем нужна среда разработки и что это вообще такое (Википедия неясно излагает)?

    GavriKos
    @GavriKos
    Среда разработки нужна для облегчения, упрощения процесса разработки. Вкратце.

    По сути то и в блокноте можно писать код. Возьмем например питон. Если в нем не там поставить отступ - то код выполнится не так как было задумано, если вообще выполнится. А IDE следит за этим.

    В том же php из тегов - среда разработки может автодополнить название переменной, что ускорит процесс набора кода, позволит избежать банальных опечаток.

    Это все только верхушка айсберга. Современные IDE делают тонны всего для облегчения труда программисту.
    Ответ написан
    Комментировать
  • Как запускать скрипт php каждую минуту?

    0neS
    @0neS
    Лучше пусть при нажатии кнопки пользователем в БД или еще где-нибудь сохраняется нужная инфа, а единственный в cron'е скрипт дергает инфу и выполняет нужные действия.
    Ответ написан
    Комментировать
  • Что можете сказать про этот код? Можно ли на нем писать проект?

    0neS
    @0neS
    Есть же куча потрясных фреймворков на любой вкус и скилл, зачем подобные реализации то юзать?
    Ответ написан
    1 комментарий
  • Хочу переделать сферический интернет-магазин в вакууме с PHP/MYSQL/JOOMLA(c) на AngularJS+MongoDB ?

    miraage
    @miraage
    Старый прогер
    Нормально пишите - нормально будет. У меня, в среднем, приложения на AngularJS сжирают порядка 50-300 мб памяти. И то, 300, это когда более тысячи вотчеров на странице и миллиард html элементов.

    Только я бы брал не монгу, а постгрес.

    // upd

    Посмотрите видео, возможно подчерпнете для себя что-то полезное.
    https://www.youtube.com/watch?v=zyYpHIOrk_Y
    Ответ написан
    6 комментариев
  • Какой из js фреймворков выбрать для данной задачи?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Angular.js а то что вы описываете зовется single page application.
    Ответ написан
    Комментировать
  • Как клонировать отдельную папку с гит-репозитория ?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    никак, вы клонируете весь репозиторий а дальше делаете с ним что хотите. Это и есть основное отличие git от svn. В git у вас просто есть ссылка на другой репозиторий, и вы их синхронизируете. Но можете и не синхронизировать. И вообще забыть об оригинале.

    Если вы хотите вынести папку в отдельный репозиторий, то можно запустить filter-branch по директории и отобрать только коммиты, относящиеся к этой директории.
    Ответ написан
    Комментировать
  • Как поправить "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)" ?

    @CAMOKPYT
    Надо включить MySQL
    Ответ написан
    Комментировать