• Как стоит работать над собственным большим проектом?

    @dmitryKovalskiy
    программист средней руки
    Звучит как гигантский чугунный велосипед. Можно называть как больше нравится - прогрессивный Jpeg, MVP или еще как-то.
    Большой проект это over9000 маленьких и средних проектов.
    По факту вам надо реализовать несколько бизнес-процессов(хоть с 1 начните. авторизация и 1 бизнес-процесс) и затем на базе имеющейся архитектуры наращивать функционал. Но забегая вперед скажу что примерно на 3-4 шаге вы споткнетесь о то что в имеющейся архитектуре новый функционал чужероден.

    А к этому еще надо добавить что в больших системах есть не только разработка, но и поддержка. У вас банально рук не хватит и или система встанет колом в развитии пока вы баги правите, либо система погрязнет в багах.
    Ответ написан
    1 комментарий
  • Как заставить работать Swoole сокет сервер в связке с RabbitMQ?

    @acerrusm Автор вопроса
    Есть новости по поводу Swoole + RabbitMQ. Добился от разработчика хоть какого то пояснения ТУТ. Но опять же, пример кода который он выложил у меня не работает. Пробовал сначала на виртуалке, потом на простом ubuntu сервере, но тщетно. Хотя картина более или менее проясняется.

    Написал разработчику о проблеме, но он пока молчит. Потому хочу попросить тех, кто заинтересован, попробовать у себя запустить swoole вместе c rabbitmq. Вдруг все таки я криворук и пример кода рабочий. Если вы столкнетесь с такой же проблемой, то обязательно напишите об этом на гитхабе.

    Шаг 1.
    Установите Swoole
    Если будете устанавливать Swoole, то устанавливайте с помощью команды:
    sudo pecl install swoole-2.1.1

    Не рекомендую устанавливать компилируя, иначе потом запаритесь удалять т.к. uninstaller не прилагается и команда "make uninstall" не сработает.

    Обязательно должна быть версия 2.1.1. т.к. в версиях ниже нет coroutine.

    Шаг 2:
    Установите IDE-helper, что бы было приятнее работать с методами и классами

    Шаг 3:
    Установите phpAMQP. Это репозиторий который swoole форкнул себе и добавил поддержку Swoole. Т.е. команда
    composer require php-amqplib/php-amqplib
    установит только phpAMQP БЕЗ поддержки Swoole и вам нужно будет ручками добавить 2 файлика:
    1) php-amqplib/PhpAmqpLib/Connection/AMQPSwooleConnection.php
    2) php-amqplib/PhpAmqpLib/Wire/IO/SwooleIO.php

    Шаг 4:
    Установите RabbitMQ

    Удачи!

    UPDATE: на StackOverflow помогли с решением: https://stackoverflow.com/questions/49226659/swool...

    Проблема была в том, что в worker.php я использовал экземпляр класса swoole_http_client, который как оказалось работает асинхронно.

    Для синхронной работы потребуется WebSocketClient класс, который можно найти тут

    Далее заменить
    $cli = new \swoole_http_client('0.0.0.0', 2345);
    
        $cli->on('message', function ($_cli, $frame) {
            var_dump($frame);
        });
    
        $cli->upgrade('/', function($cli)
        {
            $cli->push('This is the message to send to Swoole server');
            $cli->close();
        });

    на
    $client = new WebSocketClient('0.0.0.0', 2345);
    $client->connect();
    $client->send('This is the message to send to Swoole server');
    $recv = $client->recv();
    print_r($recv);
    $client->close();


    Все.
    Ответ написан
    4 комментария
  • Почему ПХП говорит что метод объекта не определен?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    Во-первых конечно -> а не точка, здесь вам не JS(или еще что-нибудь).

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

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Может взять и попробовать xxHash?
    Name 		Speed 		Quality 	Author
    xxHash 		5.4 GB/s 	10 		Y.C.
    MurmurHash 3a 	2.7 GB/s 	10 		Austin Appleby
    SBox 		1.4 GB/s 	9 		Bret Mulvey
    Lookup3 	1.2 GB/s 	9 		Bob Jenkins
    CityHash64 	1.05 GB/s 	10 		Pike & Alakuijala
    FNV 		0.55 GB/s 	5 		Fowler, Noll, Vo
    CRC32 		0.43 GB/s 	9 	
    MD5-32 		0.33 GB/s 	10 		Ronald L.Rivest
    SHA1-32 	0.28 GB/s 	10
    Ответ написан
    Комментировать
  • Почему происходит push rejected?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    0blLD7H.jpg

    Ну а если серьезно, сделайте git pull (с --rebase или без)
    Ответ написан
    3 комментария
  • Почему у PHP такая опулярность?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Это следствие его незаменимости в прошлом.

    Пых появился в нужное время в нужном месте, когда поляна была еще не занята никем.
    А точнее, была занята перлом - утилитой для парсинга текста типа awk, что конечно, совсем недостаточно для написания полноценных приложений. Как следствие, перл как средство веб-разработки был задушен за пару лет, а больше никого и не было - про питон и руби никто не слышал, поделка от М$ была еще хуже. Ява просто не помещалась на тогдшних серверах. И остался один пхп. Вот он и занял всю нишу, а синонимом веб-разработки стала аббревиатура LAMP.

    Собственно, с тех пор разные технологии потихоньку отъедают его долю, но пых держится за счет накопленной массы и экосистемы. И продержится ещё долго - поскольку на месте не стоит: несмотря на то, что большинство клиентов тостера пишут на том самом ПХП, который завоевывал популярность в прошлом веке (поскольку не могут осилить ничего сложнее классического говнокода), современный пых предоставляет современные средства разработки и тем, кто имеет представление о программировании.
    Ответ написан
    3 комментария
  • Стоит ли сейчас писать свою социальную сеть?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    "Уже давно приходила в голову мысль о создании своей социальной сети, в которой не будет той ущербной политики, что во Вконтакте, где будут услышаны различные требования пользователей, которые уже давно не слушают разработчики ВК. "

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

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

    В общем смотря какие цели перед собой ставите.

    * Изучить новую нишу, попробовать написать свой крутой продукт - конечно пишите.
    * Заработать денег - соц.сеть это весьма непредсказуемый долгоиграющий вариант с низкой вероятностью взлететь на самоокупаемость.
    * Стать достаточно популярной соцсетью, чтобы составить конкуренцию текущим - очень маловероятный и непредсказуемый вариант, особенно если вы интересуетесь об этом на тостере.
    Ответ написан
    1 комментарий
  • Как сделать разработку web-движка публичной?

    @Xeli
    Github. Главное потом горькие слезы не лить о упущенных возможностях коммерциализации.
    Ответ написан
    Комментировать
  • Можно ли как то получить и фото с камеры телефона на javascript или в actionscript?

    @Kano
    Да можно.
    Вот живой пример как это работает - how-old.net
    А вот описание того как это сделать: www.raymondcamden.com/2013/05/20/Capturing-camerap...
    Вся фишка в том что нужно всего лишь в элементе указать дополнительные атрибуты capture=camera и accept="image/*"
    Ответ написан
    Комментировать
  • Как сделать торговый автомат?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    А зачем вам raspberry pi? Из пушки по воробьям, да и не для того он предназначен, сделайте на at mega(arduino) или любом другом подходящем микроконтроллере. А если так сильно нужно, чтоб дистанционно управлялось, то можно отдельно повесить тот же raspberry, который не будет управлять моторами, но будет принимать ваши команды через интернет и посылать их ардуине.
    Ответ написан
    Комментировать
  • Движок для букса?

    akubintsev
    @akubintsev
    Опытный backend разработчик
    Ну я б присмотрел если атмосферник, то от 2.5 литра.
    Если турбо, то от 1.8. Фольцевские или бэховские :)
    Ответ написан
    6 комментариев
  • Можно ли сделать динамичную страницу wordpress?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Интересно, а ты сам понял вопрос?

    Между Wordpress/Php (которые указаны в тегах вопроса) нет никакой связи с адаптивностью сайта.
    Ответ написан
    4 комментария
  • Работает ли холодный обзвон?

    maxt888
    @maxt888
    Fullstack developer
    Думаю не работает. Наоборот такое очень бесит, когда в компанию звонит очередной сайтоклепатель Вася Пупкин и предлагает все сделать, даже если все устраивает. Лучше сайт-визитку склепайте и если кому надо, тот вас найдет и сам закажет, нежели задрачивать людей фигней, которая им не нужна вообще.
    Ответ написан
    Комментировать
  • Какие шрифты использовать в landing page?

    Comic Sans конечно же
    Ответ написан
    Комментировать
  • Разница двух результатов ширины браузера?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Ширина окна (учитывает скролл)
    window.innerWidth
    Ширина области просмотра (не учитывает скролл)
    document.documentElement.clientWidth

    Дополнение — о появлении прокрутки можно судить по
    document.documentElement.clientHeight < document.documentElement.scrollHeight
    Ответ написан
  • Как удалить ключ из массива?

    daager
    @daager
    1) Ваш код работает
    2) compact - стандартная функция PHP, смените название функции
    3) Вариант проще и короче:
    $arr=array_diff($arr,array(null));
    Ответ написан
    Комментировать
  • Как монетизируются языки программирования и бесплатные фреймворки?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Вы, простите, много видели программистов 1С, работающих на языке программирования 1С без 1С? Я - ни одного. Закрытый "клуб по интересам", который генерит такие велосипеды, что диву даешься.
    Закрытый язык программирования никто не будет учить, на закрытом фреймворке никто работать не будет, даже если будут обучать. Для чего его учить, время тратить? Чтобы потом иметь возможность устроиться только в компанию Х? Потеря сообщества - это смерть любой технологии, любого языка, любой ОС.
    Была такая замечательная ось - OS/2. То, что она замечательная, я знаю не понаслышке - все-таки два года проработал под ней. Погубило ее как раз отсутствие поддержки - не было софта, не было программистов, не было сообщества - все постепенно разбегались кто куда. Где нынче OS/2 - да никто и не вспомнит. А отдал бы IBM ее в опен сорс - глядишь, нашлись бы пара-тройка энтузиастов.
    Продавать продукт невыгодно - его можно продать один раз. Гораздо выгоднее продавать поддержку - ее можно продавать постоянно.
    Ответ написан
    4 комментария
  • Стоит ли заключать договор?

    @entermix
    Кто сталкивался с такими ситуациями? Кто какие решения принимал? Всё-таки не очень-то хочется обогащать чужой карман...

    Пойду откажусь от всех текущих проектов, а то, вдруг, они начнут приносить прибыль моим клиентам? Ужасно, тчк.
    Ответ написан
    Комментировать
  • Есть ли разница в производительности PHP при работе с однобайтовой и мультибайтовой кодировками?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Кодировка влияет на производительность примерно так же, как форма лица на аэродинамику бегуна.
    Копайте в сторону индексов БД, очень вероятно проблема зарыта где-то там.
    Ответ написан
    3 комментария
  • Как вывести сотрудника на чистую воду?

    @Beltoev
    Живу в своё удовольствие
    Сломайте какую-то часть функционала (намеренно), оставив в исходном коде, куда в любом случае попадет реальный исполнитель, "предложение" связаться с вами. Нет, не явно, конечно же)

    Простой пример "псевдокодом":
    ...
    var goToImplementation = 10000;
    
    var hello = IWantToOfferYouAJob(goToImplementation);
    ...
    function IWantToOfferYouAJob(yourPotentialSalary)
    {
       if (yourPotentialSalary is enough)
       {
           var writeMeToEmail = "mail@mail.ru";
       }
    }


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