Задать вопрос
  • И все-таки PHP 7 быстрее Python 3?

    @YuriWeb
    Вам стоит поработать с PHP7 и каким-нибудь нормальным фреймворком типа Symfony 4 - очень приятные ощущения.

    А насчет скорости - все зависит от приложения. У нас например много бизнес логики и коммуникация с БД это только 20% от времени выполнения. Так что скорость и потребление памяти очень даже имеют значение.

    Синтетические тесты конечно ничего не гарантируют, но PHP 7 реально быстрый.
    Ответ написан
    Комментировать
  • Какую базу данных использовать для 93 млн строк (товары)?

    @awesomer
    93 млн. - сама по себе смешная нагрузка для современных СУБД на современных компьютерах.
    Выбор СУБД зависит от того - а что именно вы собираетесь с этой базой данных делать.- в вопросе это не указано.

    Ну например, если ваша цель быстро искать в это БД товары, а ваши 30 колонок - это фильтры, то отлично подходит СУБД для именно что полнотекстового поиска (пусть вас не смущает название, для фасеточного поиска она тоже подходит отлично). Это, к примеру:

    • если вы ориентированы на скорость SphinxSearch
    • если вам нужен кластер, то это ElasticSearch
    • если вам нужны традиционные инструменты типа SQL, - то это PostgreSQL, MySQL.


    Если же задача другая - то идеальным выбором может быть и другая СУБД.
    Нужны детали.

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

    Рассмотрим задачу быстрой перезаписи - вы имели ввиду все 90 млн. перезаписывать целиком? Не частично. А вот это будет действительно проблемой. Мало какая из СУБД способна на быстрые изменения такого объема.

    Ну и третий раз повангую - максимально быстрый доступ к данным - это если данные размещены в оперативной памяти. Один из наиболее развитых инструментов, с размещение в оперативной памяти и с функционалом СУБД - Tarantool. Быстрее, чем in-memory DB, к которым относится Tarantool - и вариантов нет.

    Но понадобится соответствующее количество оперативки.

    Если оперативки мало, то можно глянуть Aerospike. Это "почти in-memory DB". Но объемы данных могут быть огромны, при небольших запросах к оперативке. От оперативки требуется только целиком вмещать индексы, а не сами данные.

    Короче, ванговать мне надоело.

    У вас нет постановки задачи - ответить вам посему и нечего конкретного невозможно.
    Ответ написан
    Комментировать
  • Может ли владелец группы в вк отобрать мой домен?

    Jump
    @Jump
    Системный администратор со стажем.
    Отобрать домен можно только через суд - владелец зарегистрированной торговой марки совпадающей с вашим доменом.
    Так же отобрать может любой кто имеет рычаги влияния на регистратора.
    Ответ написан
  • С помощью какого договора можно оформить сайт на двух человек?

    Vincent1
    @Vincent1
    Открыть ООО на двух человек по 50%. Домен регистрировать на ООО. В какой стране будете открывать пойдите к юристу, дайте копеечку и спросите можно ли, чтоб по почте документы прислал второй учредитель.
    Но я бы на вашем месте несколько раз подумал, прежде делать с кем-нибудь бизнес 50/50. Кто то должен быть первым в команде.
    Ответ написан
    Комментировать
  • Какую выбрать базу данных: SQLite или mySQL?

    hell0w0rd
    @hell0w0rd
    Просто разработчик
    Никакой простоты бекапа с sqlite нет. Это бинарник.
    Есть простой вариант с любой базой - хранить дамп базы в системе контроля версий
    Ответ написан
    1 комментарий
  • Какую выбрать базу данных: SQLite или mySQL?

    Webdesus
    @Webdesus
    @evnuh У кого еще и вредные советы. Это буферизация будет заметна только на больших запросах. На простеньких запросах разница будет не заметна. Ответ был дан исходя из задачи. А по вашему можно и mysql захаять и сказать Oracle лучше. Только зачем тратить деньги, ресурсы компьютера, время на работу с mysql. Если нагрузки на базу в этом проекте и не предвидится. Если В итоге сюда полезет табун, то мне кажется его сайт сам по себе не справится с толпой и не поможет ему база данных. От нее будет толку мало если наверху говнокод. Ни кого не хотел обидеть. Просто считаю что нужно не писать велосипеды а бороться с реальными проблемами. Для его задач вполне хватит sqllite. Если будет что то разрастаться, то лучше уже брать готовую cms.
    Ответ написан
    Комментировать
  • Какую выбрать базу данных: SQLite или mySQL?

    @Steely
    Mysql
    Ответ написан
    Комментировать
  • Как стилизовать reCaptcha?

    @andreibalkin
    Можно изменить масштаб средствами css, прописав их для блока капчи. Стандартно вроде блок с классом - g-recaptcha.

    transform:scale(0.8);
    -webkit-transform:scale(0.8);
    transform-origin:0 0;
    -webkit-transform-origin:0 0;

    Так же как и в мобильной версии сделать другой масштаб к примеру используя медиа запросы -@media screen and (max-height: 480px){}
    Ответ написан
    4 комментария
  • Классификация почтовых серверов?

    TROODON
    @TROODON
    Если нет нужны в корпоративной тайне, забудьте и используйте SMTP известных серверов (Яндекс.Почта, Google Apps) и радуйтесь жизни. И скорость достаточная, и с почтой можно делать всё что хочешь и места хватит и спам фильтр гарантированно не будет шалить (тонкая настройка грелистов, анализаторов, установка приоритета писем, пытаясь найти оптимальный уровень), это ужасное и гиблое дело и с очередями попроще.

    Сам использую dbmail + exim4 + spamassassin + calm + roundcube.
    Пробовал так же dovecot, sendmail

    Если вы пользуетесь Debian'ом, то он идёт в базовом наборе приложений, для минимальной настройки под ваш сервер достаточно настроить через dpkg-reconfigure, есть возможность разбиения конфига на множество файлов (для более удобной навигации по настройкам), по скорости и надёжности, имхо, он примерно одинаков и с postfix и с sendmail. Особенно хочу отметить хорошую интеграцию с различными системами фильтрации и анализаторов.

    DBMail работает шустрее dovecot, имеет меньше документации, благодаря своей архитектуре его данными не сложно управлять. Поддержка sieve из коробки, можно настроить как фильтрацию нежелательных писем, так и складирование по разным папкам. В комплекте есть несколько приложений для администратирования

    P.S. Почему-то в процессе настройки почтового сервера у меня всегда возникало уйма сюрпризов, которые не бывали при настройке какого либо другого серверного ПО.
    Ответ написан
    2 комментария
  • Yii2 или Laravel?

    hrhr99
    @hrhr99
    Отведал и Yii и Laravel

    На мой взгляд Laravel проще, так как очень похож на Codeigniter.

    Но в Yii очень много из коробки. Gii, CRUD.

    И вот сейчас делаю проект на laravel и очень лениво ручками писать то, что в Yii генерируется за пару минут.
    Ответ написан
    2 комментария
  • Yii2 или Laravel?

    0neS
    @0neS
    За неделю в Yii разобраться и сделать готовый проект легче некуда, в laravel/symfony — очень сложно.
    Ответ написан
    1 комментарий
  • Yii2 или Laravel?

    @lavrentiev
    Back-end разработчик
    А я сделал выбор и остался на Yii, первый фрейм был CI но как только познал Yii жизнь изменилась :)
    Я эт к тому, что каждый должен сам выбрать и решить что ему надо.
    Ответ написан
    Комментировать
  • Ошибка. Как сделать миграцию в yii2?

    myks92
    @myks92 Автор вопроса, куратор тега Yii
    Нашёл решение — пометь вопрос ответом!
    - root обычно это root, но на всякий случай проверьте есть ли у него права на базу crm
    - каждый root из списка это разные пользователи, т.е. root@localhost и root@127.0.0.1 это разные пользователи и соответственно у них могут быть разные права на БД, разные пароли и т.д.
    - попробуйте с каждым подключиться
    - проверьте находится ли сервер MySQL на том же сервере где и ваш вебсервер с php (банально, но все же). Это тот самый MySQL сервер к которому вы пытаетесь подключиться или может быть ваша БД crm где-то в другом месте крутиться
    - проверьте наличие файлов базы данных crm на сервере
    - настройки allow local access only тут вообще не причем
    - проблема может быть в использовании сокета для процесса MySQL, попробуйте в настройках сервера MySQL вместо сокета использовать порт 3306
    - xampp это лучшее решение(apache+php+mysql) для разработки на Windows которое я встречал(а встречал я их почти все))), но если вы будете разбираться в том как настраиваются и связываются компоненты, то для вас вопрос будет не в выборе готового решения
    - с какой учетной записью вы подключаетесь к phpMyAdmin (хост(url), логин, пароль)
    - попробуйте подключиться к mysql из консоли (удаленно и локально), какие учетные записи могут подключиться
    - и в завершении проверьте квоты на место на диске для БД crm. Или вообще есть ли еще свободное месте на диске.
    Ответ написан
    Комментировать
  • Не работает добавление документа в коллекцию MongoDB в Yii2 через Active Record?

    scanderberg
    @scanderberg Автор вопроса
    Проблему решил сам. Почистил кэш и всё заработало.
    Ответ написан
    1 комментарий
  • В чем моя причина провала тестового задания Яндекса?

    "Не тот пропал, кто в беду попал, а тот пропал, кто духом пал."

    Вещует мне мое сердце, что дело тут не в разработке... )) А в жизненной позиции.

    Учился как-то на курсах веб-разработки, по большей части чтоб получить диплом, дающий право занимать соответствующие позиции в компаниях, ну так на всякий случай. Кстати, до сих пор не пригодился ))

    Разные студенты учились в группе. Сам я далеко не профи и не претендую, но опыта хватило, чтобы понять уровни остальных. Были и совсем зеленые, и со знаниями. И вот что интересно. Я возьму двух людей, двух крайностей (очень удачный жизненный пример, на мой взгляд), для рассмотрения - один полный ноль, даже верстка, второй и опыт есть и показал себя довольно неплохо. И что вы думаете? Первый человек прорвался в крупную компанию (пусть не яндекс, но все же). Второй сел на поддержку на хостинге.

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

    PS: "В любых делах при максимуме сложностей
    Подход к проблеме все-таки один:
    Желанье — это множество возможностей,
    А нежеланье — множество причин."
    - вроде Асадов.
    Ответ написан
    4 комментария
  • Как работают relation property в YII2?

    qonand
    @qonand
    Software Engineer
    Если реляция вызывается как метод - возвращается ActiveQuery, если как свойство - возвращается результат выполнения ActiveQuery
    В BaseObject есть метод __get()

    А BaseObject тут причем? ActiveRecord содержит приличную цепочку наследования, Вы лучшее ее изучите, например вот
    Ответ написан
    Комментировать
  • Как сделать в yii2, чтобы в чпу были символьные коды элементов?

    slo_nik
    @slo_nik Куратор тега Yii
    Добрый вечер.
    Slug
    Ответ написан
    Комментировать
  • Как сделать в yii2, чтобы в чпу были символьные коды разделов элементов?

    slo_nik
    @slo_nik Куратор тега Yii
    Доброе утро.
    Зачем Вы плодите одинаковые вопросы? Смысл какой?
    Я Вам уже ответил, что использовать.
    Изучайте тему.
    https://habrahabr.ru/post/208328/
    yiiframework.ru/forum/viewtopic.php?f=19&t=19445&s...
    yiico.ru/blog/487-yii2-slug-behavior-dlya-avtogene...
    Остальное через google поиск.
    Ответ написан
    2 комментария
  • В чем разница между этими запросами?

    slo_nik
    @slo_nik Куратор тега Yii
    Добрый день.
    В первом случае используется ActiveRecord, работа с моделью.
    ActiveRecord is the base class for classes representing relational data in terms of objects.

    Во втором построитель запросов Query, не зависит от СУБД.
    Query represents a SELECT SQL statement in a way that is independent of DBMS.
    Ответ написан
    Комментировать
  • Как перевести этот запрос на yii2?

    AlexMaxTM
    @AlexMaxTM
    В Yii2 запрос можно выполнить тремя способами. В том числе и напрямую если уверенны в безопасности.
    $connection = Yii::$app->getDb();
    $command = $connection->createCommand("
    SELECT products.id as my_product_id, products.name as my_product_name, stranik as page_numbers, group1 AS cost,
    group_concat(bb.name) AS book_binding_name,
    group_concat(bl.name) AS book_format_book_name
    FROM products,product_book 
    LEFT JOIN book_binding bb ON book_name = :book_binding: AND bb.id = product_book.book_id
    LEFT JOIN book_format_book bl ON book_name = 'book_format_book' AND bl.id = product_book.book_id
    LEFT JOIN prices ON prices.product_id = 'ПЧ9'
    WHERE products.id = :artikul and product_book.product_id = products.id group by products.id
    ", [':artikul' => 'ПЧ9', ':book_binding' => 'book_binding', ]);
    
    $result = $command->queryAll();

    Подробности
    Ответ написан
    Комментировать