• Какие есть хорошие практики организации "друзей" и сообщений на сайте?

    riky
    @riky
    Laravel
    связь many-to-many c доп аттрибутами

    то есть отдельная таблица
    friends:
    id_user, id_friend, activity

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

    но учитывайте что дружба это односторонняя. то есть считается что чел подписан на другого (как сделано в вк), если дружба взаимная то будут две записи, второй друг первого и первый друг второго, и activity у них может быть разная.
    Ответ написан
    Комментировать
  • Как понять свой уровень знания какой либо технологии, и надо ли знать ее на 100%?

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

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

    поэтому стремись не к тому чтобы запомнить все html теги, все css свойства, а к тому чтобы знать что для решения той или иной задачи есть какой то тег/свойство, и уметь его быстро найти, вот для этого шпаргалка и нужна. можно даже их распечатывать, если тебе так удобно, но в электронном виде удобно делать поиск.
    Ответ написан
    Комментировать
  • Есть ли готовая обертка над Imagick/GD с богатым API?

    riky
    @riky
    Laravel
    одна из мощных универсальных оберток работает и с gd и imagick

    imagine
    Ответ написан
    Комментировать
  • Какую CMS выбрать для соцсети?

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

    могу предположить что там все таки есть какие то детали о которых вы не пишете здесь, думая их незначительными. потому что в том что вы написали ничего особого. three js прикрутить везде можно. что вы понимаете под "поддержка интерактивных модулей" одному богу видимо известно ;)

    цмс это все таки вариант для бедных, которые готовы иметь типовой продукт лишь бы он стоил не дорого. вы хотите дешево (поэтому рассчитываете на цмс), но проект не типовой. вам цмс будет только мешаться. лучше делайте сразу на фреймворке, это может даже проще будет. в любом случае пару сотен тысяч рублей выложить придется. если этих денег нет, то придется на цмс, но тогда вам придется идти на любые упрощения которые потребуют разработчики, и избавится от цмс этой все равно потом будет сложно.
    лучше бы вы написали бюджет (раз он у вас есть), тогда плюс минус понятно было бы на что вам можно рассчитывать.

    ----- старый ответ -----
    требования у вас никакие, это все могут. хотя конечно
    поддержка интерактивных модулей;

    в это можно вписать что угодно.

    можете взять хоть мейнстрим цмс, старые но проверенные - wordpress/drupal, хоть новые и современные типа bolt cms. во втором случае меньше готовых модулей, но более простые для их понимания и создания своих модулей.

    также есть цмс клоны соц сетей, погуглите. там много готового но и много лишнего, плюс не бесплатные обычно.
    Ответ написан
    3 комментария
  • Покупка домена у конкурента?

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

    riky
    @riky
    Laravel
    даже если поставить всем image/jpeg то думаю все браузеры и так определят правильный тип по содержимому и корректно отобразят.
    Ответ написан
    Комментировать
  • Может ли злоумышленник изменить значение переменной в сессии yii2?

    riky
    @riky
    Laravel
    в сессии никак не изменит.
    если только в вашем коде нет дыры. но если есть дыра, то уже ничего не спасет.
    Ответ написан
  • Какие есть инструменты для упращения разработки на WebGL?

    riky
    @riky
    Laravel
    серьезных игр на webgl нет, забудьте. из-за старого opengl графика все равно будет убогая. если не ошибаюсь вы видели не q3, а q2...
    а портируют с нуля, берут и пишут ручками, из старой игры можно взять текстуры, модели, насчет шейдеров уже не уверен, ну и код естественно переписывать там С а тут js.

    webgl подходит только для красивых небольших 3д презенташек, а также очень быстрый рендеринг 2d, для 2д игр пойдет.

    Как они умудряются портировать карты из пк версий?

    карты это набор 3д моделей разных объектов, для webgl по большей части нужно сконвертировать формат этих моделей.

    из готовых движков есть Unity3D там вроде бы есть экспорт в webgl, но многого от этого не ждите.
    Ответ написан
  • Почему замена (удаление) строки с помощью str_replace не работает?

    riky
    @riky
    Laravel
    порядок параметров перепутали php.net/manual/ru/function.str-replace.php
    Ответ написан
    Комментировать
  • А как выглядит ваш MVC?

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

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

    видно что ваш опыт пока недостаточен чтобы проектировать свой "идеальный фреймворк" раз встают вопросы "что еще" да и по комментам видно, а это значит что рефйакторить придется еще не раз, и чем дальше в лес, тем больше времени.

    я понимаю что сейчас вы уже никуда не отступите и будете пилить дальше свой фрейм не смотря на все ответы. просто через пару лет настанет час икс, и вы крепко задумаетесь
    "в начале все было просто, новый функционал добавлялся легко и давал хороший прогресс, но потом каждый раз требовались все более крупные и крупные модули и писать их приходилось самому. то что другие с фреймворками делают в 2 строчки, мне приходится делать днями (проектировать, писать, отлаживать, тестировать, править баги). туда ли я иду?"

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

    если уж собрались пилить свой, то порекомендую хотя бы начать использовать готовые качественные компонеты. когда лет 5 назад пилил свой фреймворк сначала писал все с нуля потом начал внедрять симфони компоненты symfony.com/components а потом и вовсе на симфони фулл стек перешел.
    там их много, хватит на долго, рекомендую для начала посмотреть эти:
    HttpFoundation
    HttpKernel
    DependencyInjection <-- очень очень маст хэв сразу с этим разобраться, жаль я поздно начал применять
    Form
    Routing
    и Twig (шаблонизатор, он отдельно идет)

    во вторую очередь
    EventDispatcher
    Console
    Config

    также я в свой фреймворк вместо с компонентами симфони сразу же внедрил и Doctrine. Может показаться сложноватой с ходу, но зато когда научитесь ее готовить получится быстро и удобно. Это уже вариант на период когда "надоело писать много кода и долго отлаживать его, хочется быстро решать задачи". Хотя по началу конечно кажется что написать sql запросец проще.

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

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

    сорри за много букв и чрезмерный "позитив" просто сам когда то переболел.
    Ответ написан
    3 комментария
  • Как распределяется прибыль от игры?

    riky
    @riky
    Laravel
    Со мной на данный момент трудятся 5 человек. программист, 3D моделлер и 2 ЛВЛ дизайнера.

    походу трудятся только эти 5 без вас ;)
    делить конечно надо было раньше еще до того как начали. но остальные походу тоже школьники, тк не озадачились этим вопросом сразу.

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

    riky
    @riky
    Laravel
    да, фотки надо перезаливать.
    сначала скачать файл себе - потом загрузить.
    Ответ написан
    3 комментария
  • Можно ли получить public переменную не инициализируя сам класс?

    riky
    @riky
    Laravel
    можно через рефлексию,
    php.net/manual/ru/reflectionproperty.getvalue.php
    надо ли объяснять что это не тру ?
    Ответ написан
    Комментировать
  • Можете посоветовать как быть дальше?

    riky
    @riky
    Laravel
    совет - больше практики.
    Ответ написан
    Комментировать
  • Есть ли в PHP аналог petapoco из .NET / c#?

    riky
    @riky
    Laravel
    даже в PDO можно так делать.
    php.net/manual/ru/pdostatement.fetchobject.php

    пример кода примерно как здесь
    php.net/manual/ru/pdostatement.fetch.php

    либо Doctrine ORM, там raw sql тоже можно маппить, правда необходимость маппить именно рав бывает в 0,01% случаев
    Ответ написан
    Комментировать
  • VK API получить участников сообщества?

    riky
    @riky
    Laravel
    SalatProduction: используйте execute сможете за один запрос получить 25к юзеров.
    Ответ написан
  • Записывать сумму в базу, или считать ее при каждом запросе?

    riky
    @riky
    Laravel
    Если вас все остальное устраивает то просто заверните расчёт суммы в функцию или метод.
    getordersum(order)
    И везде вызывайте её.
    Даже если потом сделаете отдельное поле, то просто функцию поменять на вывод этого поля.
    Главное избежать дублирования кода.

    Из минусов для себя вижу только то что сложно будет делать акции скидки, например купи 3 бутылки по цене двух. Либо скидки за покупку двух разных товаров. Либо личная скидка клиенту. Хотя можно потом просто добавить поле размер скидки. И вычитать его из суммы. Если в функцию будет передаваться весь объект заказа, то изменить логику будет просто в одном месте
    Ответ написан
    Комментировать