Пробовал менять на INNER JOIN - результат запроса в этом случае получался далеко не тот, который хотелось бы (сильно меньше записей выбирается в этом случае, что логично). А смену порядка выполнения подзапросов я увидел в EXPLAIN, из чего и последовали мои сомнительные выводы.
Аналогично, в своём коде обнаружил, что он выполняет left join в неправильном порядке и поэтому сильно тормозит. Замена на straight_join решила проблему кардинально - с 22 секунд до 0,14 секунд! Но у меня 5 миллионов записей.
Спасибо за подробное исследование. Сам горю желанием реализовать однопоточную многозадачность на манер Nodejs в слабом восьмибитном применении и твою статью буду использовать как референс.
Хорошо живётся до тех пор, пока не понимаешь, что отрасль (и не одна) целого государства зависит от одного чьего-то внешнего решения. Потом начинается прозрение.
Отличная возможность заложить основу для отечественных разработок в этой области. Кто знает - может именно в нашей стране на нашем оборудовании будут сделаны прорывные открытия.
Лол, я думал сделать сайт - это накатить WP и готовую тему, настроить, подшаманить странички и меню мышкой, работы на 5-6 часов и готово. Сколько вы говорите, 100к руб?
Как же плохо я узнал веб-дев за свои 22 года разработки :)
Специально для таких предпринимателей как вы, другие предприниматели придумали MVP. Пользуйтесь, не благодарите.
Как только у вас появится мысль "Нууу, MVP для моей идеи не подходит, потому что..." знайте: это подходит для ВСЕГО, нужно только чуток напрячь мозг, чтобы понять как это должно выглядеть для вашей идеи.
Не тратьте 5 лет на разработку одной херни, пробуйте 50 раз делать MVP для разных идей. И да будет вам предпринимательское счастье!
Мне наоборот кажется, что достигнуть понимания во всех этих суперхитропродуманных классах без постоянной проверки "что же там внутри" практически невозможно. Вот написали вы отличную "монаду", но для того, чтобы её понять (не по описанию, а именно - что конкретно она делает) придётся заглянуть в её код, и, скорее всего, не один раз. А учитывая, что всё это разбросано по папкам - придётся открыть не один файл.
Короче, это палка о двух концах.Сложный навороченный фреймворк вроде Symfony - это попытка отойти от PHP как такового и создать "более другой" язык на его основе, который с одной стороны чем-то удобен, потому что позволяет нивелировать некоторые недостатки Plain PHP, а с другой стороны добавляет кучу новых определений и условностей, которым программист должен научиться и следовать, причём в отличие от Plain PHP, правила в котором придумали авторы PHP и поэтому они крайне жёстко стандартизированы, в Symfony, Laravel, CodeIgniter... продолжите список сами все эти правила придуманы простыми людьми и постоянно меняются от команды к команде, чем ввергают любого новичка в проекте в ужас, ибо в прошлых проектах правила были другие и ему теперь придётся снова адаптироваться/переучиваться.
В этом плане был немало удивлён, начав работать с другими технологиями, что для веб-приложений в Nodejs, например, существует ровно один фреймворк (несколько других, малоизвестных, опустим) - это Express. И больше просто не нужно, ибо он покрывает 99% всех потребностей и расширяем за счёт простых плагинов. В Python примерно ту же роль играет Django. Я не очень силён в Python, но практически не слышал о других, из чего могу сделать вывод, что он также покрывает бОльшую часть всех потребностей.
Почему в PHP существует такой мегагигантский зоопарк всяких фреймворков?
Я конечно мало что понимаю в этом вашем Symfony, хотя и работаю с PHP с 2001 года и чего только и на чём только не писал. Заинтересовался словом "монада" применительно к PHP. Это базовая конструкция в изначально функциональных языках программирования, тут же она выглядит как сова, натянутая на глобус.
Вам действительно нравится эмулировать на PHP новомодные подходы в программировании или кто-то сверху заставляет? Вот чего я понять не могу. Почему надо создать миллиард мелких хитропродуманных классов, вместо того, чтобы написать простой лаконичный, быстрый и понятный код, возможно даже вообще без использования классов?
Понимаю, это старый холивар. Вопрос больше риторический, чем вопрос.
Руки ещё не дошли, но я обязательно запущу. Кстати у меня NVidia 1040 с 2 Gb RAM. Там действительно стоит детектор и блокирует мне запуск нейросети если мало RAM или всё будет работать, но очень медленно?
Я в этих ваших нейросетях человек новый, поясните по-дружески: вот есть у меня модель. Дальше что с ней можно делать и как использовать? Вы написали, что она может картинки создавать, а можно этим процессом как-то управлять или она сама просто рандомно всякую дичь создаёт? Хорошо бы немного приоткрыть тему.
Чувак, ты не представляешь, насколько тебе повезло. Я прошёл примерно такой же путь с небольшими отличиями, но понял, что я просто странный чувак с завышенным самомнением только в 42 года. В 30 гораздо проще измениться и поработать над собой.
Ммм, ну тогда можно улучшать CGI технологии, говорят, прорывная штука (была в своё время).
Что только не придуиают, лишь бы не изучать React.
Пробовал менять на INNER JOIN - результат запроса в этом случае получался далеко не тот, который хотелось бы (сильно меньше записей выбирается в этом случае, что логично). А смену порядка выполнения подзапросов я увидел в EXPLAIN, из чего и последовали мои сомнительные выводы.
Во всяком случае вы больше эксперт и вам виднее.
Аналогично, в своём коде обнаружил, что он выполняет left join в неправильном порядке и поэтому сильно тормозит. Замена на straight_join решила проблему кардинально - с 22 секунд до 0,14 секунд! Но у меня 5 миллионов записей.
Спасибо за подробное исследование. Сам горю желанием реализовать однопоточную многозадачность на манер Nodejs в слабом восьмибитном применении и твою статью буду использовать как референс.
Только мне одному показалось, что автор всю статью рассказывал про React/Nextjs, называя его почему-то TinyJS?
Хорошо живётся до тех пор, пока не понимаешь, что отрасль (и не одна) целого государства зависит от одного чьего-то внешнего решения. Потом начинается прозрение.
Отличная возможность заложить основу для отечественных разработок в этой области. Кто знает - может именно в нашей стране на нашем оборудовании будут сделаны прорывные открытия.
Лол, я думал сделать сайт - это накатить WP и готовую тему, настроить, подшаманить странички и меню мышкой, работы на 5-6 часов и готово. Сколько вы говорите, 100к руб?
Как же плохо я узнал веб-дев за свои 22 года разработки :)
Подтверждаю. Первые 3-4 раза у меня были в минус, пятый пошёл в ноль и немного в плюс, а потом уже стало получаться. Главное - не останавливаться.
Всего две вещи:
Специально для таких предпринимателей как вы, другие предприниматели придумали MVP. Пользуйтесь, не благодарите.
Как только у вас появится мысль "Нууу, MVP для моей идеи не подходит, потому что..." знайте: это подходит для ВСЕГО, нужно только чуток напрячь мозг, чтобы понять как это должно выглядеть для вашей идеи.
Не тратьте 5 лет на разработку одной херни, пробуйте 50 раз делать MVP для разных идей. И да будет вам предпринимательское счастье!
Посмотрите и наш клон :) сделано в 1996 году под Спектрум. До сих пор считается наиболее удачной реализацией Battle City под этот ретро-компьютер.
https://viva-games.ru/game/battle-city-4-2
По-моему, это даже не вопрос. Заниматься нужно тем, что нравится. Только так ты сможешь расти и перерасти конкурентов и всех остальных.
Мне наоборот кажется, что достигнуть понимания во всех этих суперхитропродуманных классах без постоянной проверки "что же там внутри" практически невозможно. Вот написали вы отличную "монаду", но для того, чтобы её понять (не по описанию, а именно - что конкретно она делает) придётся заглянуть в её код, и, скорее всего, не один раз. А учитывая, что всё это разбросано по папкам - придётся открыть не один файл.
Короче, это палка о двух концах.Сложный навороченный фреймворк вроде Symfony - это попытка отойти от PHP как такового и создать "более другой" язык на его основе, который с одной стороны чем-то удобен, потому что позволяет нивелировать некоторые недостатки Plain PHP, а с другой стороны добавляет кучу новых определений и условностей, которым программист должен научиться и следовать, причём в отличие от Plain PHP, правила в котором придумали авторы PHP и поэтому они крайне жёстко стандартизированы, в Symfony, Laravel, CodeIgniter... продолжите список сами все эти правила придуманы простыми людьми и постоянно меняются от команды к команде, чем ввергают любого новичка в проекте в ужас, ибо в прошлых проектах правила были другие и ему теперь придётся снова адаптироваться/переучиваться.
В этом плане был немало удивлён, начав работать с другими технологиями, что для веб-приложений в Nodejs, например, существует ровно один фреймворк (несколько других, малоизвестных, опустим) - это Express. И больше просто не нужно, ибо он покрывает 99% всех потребностей и расширяем за счёт простых плагинов. В Python примерно ту же роль играет Django. Я не очень силён в Python, но практически не слышал о других, из чего могу сделать вывод, что он также покрывает бОльшую часть всех потребностей.
Почему в PHP существует такой мегагигантский зоопарк всяких фреймворков?
Я конечно мало что понимаю в этом вашем Symfony, хотя и работаю с PHP с 2001 года и чего только и на чём только не писал. Заинтересовался словом "монада" применительно к PHP. Это базовая конструкция в изначально функциональных языках программирования, тут же она выглядит как сова, натянутая на глобус.
Вам действительно нравится эмулировать на PHP новомодные подходы в программировании или кто-то сверху заставляет? Вот чего я понять не могу. Почему надо создать миллиард мелких хитропродуманных классов, вместо того, чтобы написать простой лаконичный, быстрый и понятный код, возможно даже вообще без использования классов?
Понимаю, это старый холивар. Вопрос больше риторический, чем вопрос.
Руки ещё не дошли, но я обязательно запущу. Кстати у меня NVidia 1040 с 2 Gb RAM. Там действительно стоит детектор и блокирует мне запуск нейросети если мало RAM или всё будет работать, но очень медленно?
Спасибо, теперь намного понятнее. Ушёл читать и пробовать!
Я в этих ваших нейросетях человек новый, поясните по-дружески: вот есть у меня модель. Дальше что с ней можно делать и как использовать? Вы написали, что она может картинки создавать, а можно этим процессом как-то управлять или она сама просто рандомно всякую дичь создаёт? Хорошо бы немного приоткрыть тему.
Я правильно понимаю, что вот это https://www.mcu.mikron.ru/ фейк и фотошоп?
Чувак, ты не представляешь, насколько тебе повезло. Я прошёл примерно такой же путь с небольшими отличиями, но понял, что я просто странный чувак с завышенным самомнением только в 42 года. В 30 гораздо проще измениться и поработать над собой.