• Зачем нужен модуль assert?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Что мешает написать в google - npm NAME и узнать про любой модуль в первой ссылке, которая обычно ведет на npm сайт?
    Например, npm assert => https://www.npmjs.com/package/assert =>
    This module is used for writing unit tests for your applications, you can access it with require('assert').

    в переводе: модуль используется для написания unit-тестов.
    Ответ написан
    Комментировать
  • Зачем нужен модуль assert?

    muhammad_97
    @muhammad_97
    PHP-разработчик
    Для тестов, наверное
    Ответ написан
    1 комментарий
  • Socket.io как управлять reconnection?

    Scorpi
    @Scorpi
    io(url, { reconnection: false });
    Ответ написан
    Комментировать
  • Socket.io авторизация со своим сгенерированным токеном, как?

    impeee
    @impeee
    nodejs/erlang developer
    Токен может хранить любую информацию в зашифрованном виде. В случае успешной авторизации поместите в токен такое уникальное значение, на основании которого в последствии вы сможете получить данные пользователя, организовав на их основании сессию. Самый простой случай - хранить в токене уникальный id пользователя. Реализовать можно при помощи плагина "jsonwebtoken".

    Создадим отдельный модуль "secure.js" для генерации/расшифровки токена:

    let Secure = function() {
      
      const SECRET_PHRASE = 'secret';
      
      let jwt = require('jsonwebtoken');
    
      let getSecretPhrase = () => {
        return SECRET_PHRASE;
      };
      
      let generateToken = (userEntityId) => {
        return jwt.sign({ 'entity_id' : userEntityId }, SECRET_PHRASE);
      };
      
      let verifyToken = (token) => {
        return jwt.verify(token, SECRET_PHRASE);
      };
      
      return {
        getSecretPhrase : getSecretPhrase,
        generateToken : generateToken,
        verifyToken : verifyToken
      }
      
    };
    
    module.exports = new Secure();


    При авторизации по логину и паролю, сгенерируем токен для клиента в случае успеха, поместив в него уникальный _id пользователя:

    /* обращаемся к базе, находим пользователя по логину и паролю (userData) */
    let secure = require('./secure.js');
    var token = { 'token' : secure.generateToken(userData._id) };


    На стороне сервер-сокета получаем объект данного токена:

    { token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbnRpdHlfaWQiOiJ0ZXN0IiwiaWF0IjoxNDcxMDA0NDc2fQ.bu0wJbbKpNfyP2uOJWwDuzR89NkfBNmRGqUKXQ03usQ' }


    Расшифруем и вытащим из него _id пользователя из авторизации:

    let secure = require('./secure.js');
    var uid;
    try {
    uid = secure.verifyToken(token).entity_id;
    } catch(e) {
    //
    }


    И по этому uid находим данные в базе.
    Ответ написан
    Комментировать
  • Как вывести переменную за пределы функции AJAX?

    @OVK2015
    alert выполняется раньше, чем придет ответ от php/get_special_count.php. Особенность асинхронности ajax запросов. Дождитесь ответа потом выводите результат.
    .done(function(data) {
      special_geted_count = parseInt(data);
      alert(special_geted_count);
    });
    Ответ написан
    Комментировать
  • Как на php узнать строку выполнения - номер?

    alsopub
    @alsopub
    echo(__LINE__);
    Ответ написан
    Комментировать
  • Сохраняют ли массивы последовательность при сохранении в mongodb?

    @lega
    Да.
    Ответ написан
    Комментировать
  • Как эффективно работать целый день?

    pavelmakarenko
    @pavelmakarenko
    web-developer
    2-х фазовый сон, отказ от искусственных энергетиков в любом виде (стакан воды с лимоном и яблоко бодрят не хуже, просто попробуй). Обязательно физическая нагрузка (она даёт энергии больше, чем забирает), качественный отдых в течении недели и регулярный секс, но не слишком часто (30-60) минут в день вполне достаточно. В итоге ты получишь максимум натуральной энергии и минимум потерь (не смотри телевизор, не трать время на людей, которые тебе неприятны по возможности, сиди в интернете настолько мало, насколько это возможно *соц.сети, видео и т.д.).
    Ответ написан
    5 комментариев
  • Как лучше делать соединение с базой в php mongodb driver?

    @Nc_Soft
    Если надо что-то быстро наварганить я делаю так
    function mongo()
    {
        static $mongo;
        if (is_null($mongo)) {
            $mongo = new MongoClient('mongodb://127.0.0.1:27017');
        }
        return $mongo;
    }
    Ответ написан
    Комментировать
  • Как лучше делать соединение с базой в php mongodb driver?

    taliban
    @taliban
    php программист
    Все работает так же как и все базы данных, если у вас есть представление о работе каких либо баз данных, пользуйтесь этими знаниями для монги.
    Ответ написан
    Комментировать
  • Почему в php отказались от старого хорошего драйвера mongo в пользу плохого драйвера mongodb?

    27cm
    @27cm
    TODO: Написать статус
    Можно подробнее раскрыть ваше "все поддерживал" и "ничего не поддерживающий"? Или дело только в gridfs?
    Ответ написан
    2 комментария
  • Как функцию в php переименовать?

    DieZz
    @DieZz
    Никак. В функции своя область видимости, изолированная от глобальной. Когда инклюдите файл, весь его код наследует ту же область видимости переменных, что и строка, на которой произошло включение, а это область видимости функции, которая, как я писал выше, изолированна от глобальной. Смотрите пример №2 из документации
    Ответ написан
    Комментировать
  • Какую удобную библиотеку/обертку для работы с Mongodb?

    BoShurik
    @BoShurik
    Symfony developer
    The Mongo PHP Adapter is a userland library designed to act as an adapter between applications relying on ext-mongo and the new driver (ext-mongodb).

    It provides the API of ext-mongo built on top of mongo-php-library, thus being compatible with PHP 7.

    Mongo PHP Adapter

    И можно использовать библиотеки, который требуют старый драйвер
    Ответ написан
    3 комментария
  • Как включить показ ошибок в PHP7 FPM?

    Pashkenzo
    @Pashkenzo
    Нужно больше информации. Смотрите правильно ли настроен FPM, посмотрите логи nginx. Ошибка 500 в таких случаях обычно говорит что PHP-FPM неправильно настроен
    Ответ написан
    3 комментария
  • Что если хранить небольшие бинарные фаилы в mongodb без использования gridFS?

    @lega
    В чем могут быть заковырки если буду хранить фаил в строке?
    Храните бинарно, а не в строке.

    Nginx Gridfs будет ли отдавать фаилы из обычных строк также как делает это с GridFS?
    Наврядли

    Плюс GridFS рекомендуется использовать для фаилов размером больше 16мб, а у меня 1мб максимум.
    Нет, это лимит на размер документа, GridFS норм для любых размеров.

    Можете хранить такой объем бинарно в одном документе, минус в том что если файл будет 15Мб, то для его получения и передачи может потребоваться много памяти, в случае с GridFS файл режется на кусочки (по 200кб или около того).
    Ответ написан
    Комментировать
  • POST request занимает 20sec. как отследить?

    zelsky
    @zelsky Автор вопроса
    Спасибо. Воропс решен, проблема была в базе постгреса которая хз по чему тормозила, установил ескюеллайт все нормально началор работать.
    Ответ написан
    Комментировать
  • Как эффективно работать целый день?

    @sarathorn
    php программист, веб-дизайнер, коллекционер
    Мне 20 лет, живу отдельно от родителей, зарабатываю фрилансом. Самое важное - организовать свой день.

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

    В моём случае физическая нагрузка или простая прогулка не улучшают продуктивность, с другой стороны залипание в ютюб/вк или чтение статей могут свести все старания на 0.

    Серьёзно мешают работать уведомления о письмах, сообщениях... звонки... В случае с работой в офисе будут отвлекать коллеги. Смело посылайте всех нафиг. Даже босса. Босс потом спасибо скажет, когда вы сделаете все задачи в срок или даже раньше.

    8 часов подряд кодить каждый день... Вы серьёзно? На этой неделе мои результаты такие: воскресенье - 12 часов кодинга, понедельник - 8, вторник - 8, среда - 6, четверг - 4, пятница - 3, суббота (сегодня) - нет ни малейшего желания, но очень надо хотя бы пару часов... Вы просто перегорите. Настраивайтесь на 4, максимум на 6 часов кодинга в день. Остальное время можно заполнить чтением документаций, проработкой прототипов на бумаге, обсуждениями с коллегами и боссом.

    Если ситуация требует 8-16 часов кодинга подряд (такое, увы, бывает), то меня спасают две вещи:
    1) Сериалы. Второй монитор, второй ПК, планшет или даже смартфон вам в помощь. Берёте сериал, который УЖЕ смотрели и включаете. Он должен быть интересный, но уже знакомый, это два обязательных требования. Так он не будет отвлекать от работы (сюжет же уже знаком, а половину реплик вы можете произнести вместо актёров), но создаст иллюзию отдыха. В моём случае можно всё привести к такому выражению: 60 минут кодинга = 80 минут кодинга под сериал. НО! Так я могу выдерживать 12-16 часов без особых усилий. Что в итоге даёт больше результата, чем 6-8 часов чистого кодига после которых я просто убитый на пару дней.
    2) Кофеин. Обычный кофеин. Кофе я не пью, а энергетики слишком дорогие для регулярного применения. Есть замечательная альтернатива - Кофеин-бензоат натрия. ~30рублей в аптеке за 6 таблеток. Максимальная разовая доза - 6 таблеток, она же 300мг кофеина. 1-2-3 таблетки мой организм может не заметить, а при шести я начинаю разговаривать сам с собой. Грань очень тонкая, но при правильной дозировке получается неплохой boost к производительности. Внимание! Кофеин может повышать давление и пульс, а также имеет ряд побочных эффектов. Передозировка может убить. Я не несу ответственности за последствия приёма кофеина.

    Смесь кофеина и прогулки (зима, 3 часа ночи, -20C) может породить тонну гениальных идей, увы, лишь 1 из сотни имеет шанс на успех в реальном мире.

    Вообще, я для себя вывел важную закономерность. Мотивация - фигня. Желание получить больше денег и когда-нибудь улететь на неделю на Мальдивы не приведёт к результату, рано или поздно, но мозг решит, что гораздо правильней работать в 2 раза меньше, но отдохнуть на местном водоёме с друзьями и шашлыками. Гораздо интереснее обстоит дело с чувством вынужденной необходимости. Проще говоря, с кнутом. Я не сделаю работу и меня уволят. Я не успею вовремя и меня лишат премии. Я облажаюсь и все будут смеяться надо мной... Вот это работает.

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

    Непосредственно программирование (как и дизайн) идёт легче, если есть план и схемы. В моём случае при работе над back-end у меня 70% времени уходит на проектирование и проработку мелочей на бумаге, лишь 30% времени это сам кодинг. При работе с фронт-эндом я где-то 60-70% времени работаю, а 30-40% проектирую. Я так понимаю, вас не заставляют именно кодить 8 часов. Вас заставляют 8 часов сидеть на рабочем месте. Вот и прикиньте, что из них лишь где-то 3-4 часа будут самим кодингом. Хотя... Если работы очень много, вы не единственный кодер в конторе и есть более опытные, которые и берут на себя всё проектирование... ух... тогда остаётся только монотонно стучать по клаве...

    Ещё очень важный момент. ОБЯЗАТЕЛЬНО ОТДЫХАЙТЕ! В выходные не должно быть ни единой мысли о работе, после работы займитесь хобби, уберитесь дома, погуляйте, сходите в спорт зал, почитайте книгу, посмотрите кино, поспите в конце-концов. Никакой работы за пределами рабочего места. Этот трюк заставит мозг ассоциировать рабочее место с рабочим процессом, а значит уже не нужно будет самому его мотивировать работать. Это работает крайне просто. Если вы видите очень красивую девушку да ещё и без одежды, то кое-что что происходит с одним очень важным органом и мозг начинает работать совершенно иначе. И вот теперь в поле зрения попадает ваше кресло и ваш рабочий комп, мозг пробегается по ассоциациям и понимает, что надо работать. В паре с состоянием вынужденной необходимости всё сработает на ура.

    Перерывы - спорный момент. Мне проще проработать, например, 6 часов без перерывов (только если на отойти до туалета или до кухни, чтобы налить воды и стащить печеньку), чем 6-8 с перерывами. Я очень много времени и сил трачу на переключение с одного вида деятельности на другой.

    По поводу еды. В момент приёма и пищи и где-то следующий час я способен только читать и смотреть, но никак не творить.
    Ответ написан
    10 комментариев
  • Какая разница между php драйверами для Mongodb?

    Первый старый и не будет поддерживаться дальше. В php7 он уже не работает. Используйте mongodb
    Ответ написан
    3 комментария
  • Как при помощи Docker на ubuntu развернуть PHP7 Mongodb Apache nginx?

    @lega
    Не обязательно создавать dockerfile, все уже создано в хабе и запускается одной* командой - mongodb, php, nginx, а так же много кастомных сборок там доступно.
    Для связывания может помочь docker compose.

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

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    это ж ПХП, братан

    посатри где они должны лежать и скопируй туда оттуда где лежат
    ну или симлинками
    Ответ написан
    Комментировать