• Как сохранять base64 изображения из WYSIWYG редакторов в БД?

    riky
    @riky
    Laravel
    обычно редакторы имеют события на вставку картинок. делал такое в summernote. нужно просто подписаться на это событие вставки, аяксом отправить картинку на сервер, получить от него постоянную ссылку на картинку и заменить в редакторе src у img на эту постоянную. таким образом при сохранении в коде будет только ссылка на картинку. а картинка обычным файлом на диске.
    Ответ написан
    3 комментария
  • Парсер позиций сайта в выдаче google (SEO, SERP)?

    riky
    @riky
    Laravel
    50ключей в день конечно можно и бесплатно. просто делайте не чаще 1 запроса в минуту (итого в сутки 1440). а так, если нужны обьемы, это делается через прокси. эмуляция браузера не обязательна и так работает. но если вам так проще сделать - то будет еще лучше.
    Ответ написан
  • Как правильно реализовать вариантивность регистрации по email или номеру телефона?

    riky
    @riky
    Laravel
    unique index нужно делать на пару полей (phone, email).
    в будущем возможно захочется чтобы один юзер мог логинится и по мылу и по емеилу. либо использовать второе на случай восстановления.

    если юзер не будет долго пользоваться симкой, то номер оператор отберет навсегда, и залогиниться уже никак не получится, если нет емеила.
    Ответ написан
    Комментировать
  • На хостинге вирус-майнер xmrig и gcc грузят CPU на 100%. Как удалить с VDS?

    riky
    @riky
    Laravel
    У товарища одного нашел тоже это.
    добавлю еще, в крон рута добавляется
    @reboot /root/gcc -c /root/config_1.json

    соответственно /root/gcc и есть тот майнер.
    других файлов правленных в тот же период нет. вероятно работают готовым софтом который только майнер заливает, и заливает еще на видное место.
    возможно у вас vestacp тоже? летом там дыра какая то была обнаружена.

    https://forum.vestacp.com/viewtopic.php?t=17183
    Ответ написан
    Комментировать
  • Делаю конфиги на PHP. Как организовать генерацию?

    riky
    @riky
    Laravel
    храните готовые отдельные куски в разных файлах. можно добавлять переменные для замены
    много сторок в формате 
    ключ=$IP$
    ключ=$PROXY$

    в пхп считывать эти файлы и делать замены.
    если для генерации нужны for/if и тд то бывает удобно использовать шаблонизаторы twig/blade (особенно если они уже есть в проекте).
    или же генерить конфиг прямо через пхп-шаблонизацию, так же как им генерируется html.
    пример: config-template.php или даже config-template.ini чтобы была подсветка синтаксиса
    [$name]
    <?php if ($ip): ?>
    host= <?= $ip ?>
    <?php endif ?>
    
    <?php foreach ($proxies as $proxy): ?>
    proxy= <?= $proxy ?>
    <?php endforeach ?>
    
    итд

    ну и собирать вывод так же через ob_* функции + include этого файла, после объявления всех переменных конфига.
    Ответ написан
    Комментировать
  • Как написать такой сайт?

    riky
    @riky
    Laravel
    в плане фронтенда тут не сложно. 95% работы все таки создание всех моделей.
    на фронтенде тут только вывод моделей по выбранному списку.
    через three js или babylon это делается легко, можно за вечер освоить.
    Ответ написан
    Комментировать
  • Сколько оперативки нужно для mysql при размере таблицы 2гб?

    riky
    @riky
    Laravel
    добавление оперативки однозначно поможет с SELECT запросами. Но мало добавить оперативку, нужно еще править конфиг mysql, чтобы эта оперативка могла в принципе использоваться, по умолчанию сразу не будет.
    В случае же изменения схемы всё как правило упирается в диск. Т.к. все операции с БД должны происходить атомарно (то есть или должны быть произведены полностью или не произведены вообще). Если посередине процесса отключится питание или процесс кто-то убьет недождавшись - таблицы должны сохранится в том виде что было до изменения.
    Это очень сложный процесс, и как я говорил упирается больше в диск. Поможет замена hdd на ssd.
    Можно делать копию базы (или только одной нужной таблицы) и меняйте схему, потом переименовывайте. Но если в базу идет и запись то просто тоже не получится.
    Ответ написан
    Комментировать
  • Как идентифицировать посетителя сайта по полу и возрасту без регистрации?

    riky
    @riky
    Laravel
    насколько я знаю есть платные сервисы, которые могут с какой то долей вероятности сказать демографию, в основном по анализу посещенных страниц юзером на других сайтах. но это не от гугла и не от яндекса, в основном никому неизвестные или малоизвестные в узких кругах компании.

    рекламировать никого не буду - гуглите.
    Ответ написан
  • Что брать вместо email по API у пользователей ВКонтакта?

    riky
    @riky
    Laravel
    1) email получить можно, просто в scope при авторизации добавьте еще email.
    2) можно создать рекламную компанию на всех кто авторизован через ваше приложение, не бесплатно, но достаточно эффективно.
    Ответ написан
    Комментировать
  • Зачем давать право выбора машине?

    riky
    @riky
    Laravel
    Сергей Соколов, едете вы такой на своей новенькой автопилот-тачке, вдруг дорогу начала перебегать мышка, и авто запускает у себя русскую рулетку, задавить мышку или отправить машину вместе с вами под откос.
    Ответ написан
    5 комментариев
  • На чем сейчас создаются декстопные игры?

    riky
    @riky
    Laravel
    игры бывают очень разные и при должном желании можно на чем угодно сделать.
    C# это в основном Unity3D более низкий порог входа, многого готового.
    C++ голый с какими нибудь библиотеками, почти все с нуля, но максимальная производительность.
    вообще для начала определись какого рода игры тебя интересуют. Потому что 3д видео игры и например казуалки кликалки - делаются по-разному.
    Ответ написан
  • Какие подводные камни в android разработке?

    riky
    @riky
    Laravel
    проблема все таки не столько в вебе, сколько в вашем текущем месте работы. если фирма хватается за проекты на любом стеке, то чего еще ждать.
    точно так же можно найти программистов которые 5-10 лет пишут только на одном пхп и никаких фреймворков даже не видели.
    в общем хорошо там где нас нет.
    но не хочу отговаривать, если есть хоть малейшее желание и возможности - то дерзайте, вернуться всегда успеете, а жизнь не бесконечная.
    Ответ написан
    Комментировать
  • Почему часто сталкиваюсь с перегоранием при обучении?

    riky
    @riky
    Laravel
    бывает такое. От части это прокрастинация, от части просто расширение кругозора. Чего-то хочется, а что конкретно непонятно.
    В небольших количествах это даже полезно, это как сьездить в другую страну посмотреть как они там живут и вернуться домой. Не обязательно же каждый раз переезжать насовсем. Если вас устраивает тот язык на котором сейчас пишете - то все ок, а других изучать хотя бы поверхностно тоже не помешает, нужно собирать лучшее отовсюду. Имхо, если вы выделяете недельку другую, раз в два месяца на новые языки - то ничего страшного, это даже полезно, развитие компетентности. Если бы вы были зеленым новичком, то да, это было бы странно и не продуктивно.

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

    Удачи.
    Ответ написан
  • Как получить из PNG эту картинку в SVG?

    riky
    @riky
    Laravel
    для векторизации можно просто использовать бесплатную программу inkscape
    Выделить добавленную картинку в главном меню "Контур" -> "Векторизовать объект"
    Также можно использовать платный corel draw.
    Ответ написан
    Комментировать
  • Что посоветуете для написания сервера под мультиплеерную 3d игру на Unity?

    riky
    @riky
    Laravel
    по нормальному карта должна быть и на серваке, чтобы игроки не могли ходить сквозь стены например.
    еще в данной задаче не очень очевидно с начала, но важно делать предсказание движения противников на клиенте.
    недостаточно просто передавать пересчитанные координаты игроков с сервера, нужно еще делать предпросчет на клиенте, иначе играть будет невозможно, позиция игрока-противника постоянно будет опаздывать. в быстрых играх это не допустимо.

    советую почитать вот этот цикл статей.
    https://habr.com/post/302394/
    Ответ написан
  • Качество работы штатного программиста. Как оценивать?

    riky
    @riky
    Laravel
    Честно говоря, меня такое довольно наплевательское отношение к качеству кода не устраивает.

    а вы им точно это говорите?

    PS не обязательно на них наезжать, можно просто спросить их "что мы можем сделать чтобы таски закрывались с меньшим количеством доработок?".
    Я уверен что и вы и они у вас взрослые люди, сами свою ситуацию лучше видят.

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

    riky
    @riky
    Laravel
    делать явную валидацию, а не как побочный эффект.

    $errors = $commentsModel->validate($comment);
    if (!$errors) {
        $status = $commentsModel->save($comment);
    }
    Ответ написан
  • Как вернуть 2 значения в PHP return?

    riky
    @riky
    Laravel
    проще всего некоторые значения возвращать по ссылке

    public function get_phone( $args, &$b ) {
            $b = 2;      
            return  1;
      }
    
    $a = get_phone( [], &$b );
    echo $a, $b; // 12
    Ответ написан
    Комментировать
  • Зачем нужен psr-7?

    riky
    @riky
    Laravel
    обертка над $_GET/$_POST нужна чтобы было потом удобно писать тесты над вашими контроллерами. Слим может применяться как для мелких проектов (где тесты почти не пишутся), так и для микросервисов, где без тестов будет тяжко.

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

    Если вы один раз изучили PSR7 то вам уже автоматически легче использовать все библиотеки которые его используют, например Guzzle, PHPReact и тд.
    Ответ написан
    Комментировать
  • Как избежать прокрастинации с утра?

    riky
    @riky
    Laravel
    Займись тем что нравится, чтобы не надо было себя заставлять, а хотелось наоборот выключить все отвлекашки побыстрей.

    Если не знаешь что нравится - ищи. Тупо бери и пробуй делать разные штуки.

    Жизнь очень коротка чтобы заниматься чем то не своим.
    Ответ написан
    Комментировать