Мне наоборот кажется, что достигнуть понимания во всех этих суперхитропродуманных классах без постоянной проверки "что же там внутри" практически невозможно. Вот написали вы отличную "монаду", но для того, чтобы её понять (не по описанию, а именно - что конкретно она делает) придётся заглянуть в её код, и, скорее всего, не один раз. А учитывая, что всё это разбросано по папкам - придётся открыть не один файл.
Короче, это палка о двух концах.Сложный навороченный фреймворк вроде 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 гораздо проще измениться и поработать над собой.
Сейчас окончание не отбрасывается, но в одной из следующих версий будет добавлен стемминг, который автоматически отбрасывает окончания и ищет по корню. Релевантность, видимо, будет вычисляться для "порезанных" слов отдельно. То есть для точного совпадения релевантность 1, для слов, найденных в результате стемминга формула будет несколько иная. Нужно подумать.
Опечатки и ошибки сейчас не анализируются, тоже задел на будущее.
Порядок слов не учитывается. Хотя и можно было бы добавить такую "фичу", но она больше мешает, чем помогает.
Члены предложений не определяются. Все слова считаются просто словами. Для коротких и часто встречающихся слов есть особенная ветка алгоритма, поскольку выборка может получиться очень большая и скрипт падает с out of memory. Для таких слов мы ограничиваем количество векторных пар. В будущем скорее всего такие слова будут автоматически заноситься в список "стоп-слов" и не учитываться на поиске.
Metaphone/soundex пробовали, результаты получаются довольно нерелевантные.
Надо заметить, что поиск очень часто используется для поиска по каталогам, например, запчастей. И тогда важно найти "MR776221E" и не найти "MR776321E". Поэтому достаточно важна точность.
Видимо, придётся обнаружение опечаток и ошибок делать опцией.
Спасибо за комментарий, очень много информации на подумать.
Мало ли, исходники могли потеряться. Кроме того, игры под спектрум в большинстве случаев писались (и пишутся) на ассемблере. Просто потому, что высокоуровневые языки как их ни компилируй, они будут оставлять много лишних условностей в коде. А память, как мы помним, довольно ограничена.
Конечно же, даже если игра написана на ассемблере, то исходный код - штука полезная, просто потому, что там есть названия меток и всякие комментарии. Но для профессионального спектрумиста нет проблем сделать дизассемблер и распочухать какой кусок кода что делает.
P.S. Кстати первые свои 2-3 года знакомства со спектрумом писал на чистом машинном коде :) У меня просто не было нормального ассемблера, да и загружать компилятор с кассеты каждый раз было довольно муторно. Поэтому программы выглядели так примерно:
; CLRSCR: Очищаем экран (A = цвет атрибутов)
21 00 40 11 01 40 01 00 18 36 00 ED B0 01 FF 02 77 ED B0 C9
Да, печатная пресса по ZX - это отдельная большая тема. Сейчас в РФ, кажется, никто не выпускает журналы или газеты, а за рубежом такие издания ещё встречаются. Красочные, насыщенные, настоящий клад для тех, кто понимает!
Электронные версии старых журналов можно найти на сайте https://zxpress.ru/ Там почти всё есть.
Нечасто, но примеры есть. Некоторые игры выложены в Open Source на Github под лицензиями GPL и MIT/BSD и, соответственно, их можно свободно модифицировать и использовать (в соответствии с условиями вышеперечисленных лицензий).
Некоторые старые игры разрешены авторами к дизассемблированию и, соответственно, они доступны в Open Source, вот пример:
Да, к счастью, есть и молодые разработчики, которые не захватили расцвета платформы в 90е, но заинтересовались возможностями ZX Spectrum в наши дни и пишут игры. Их немного, но то, что они вообще есть - это не может не радовать.
Тряхните стариной - поищите старые исходники, может быть, удастся закончить. У нас есть несколько таких уже законченных проектов - оказывается, бывают интересные и самобытные игры, авторы которых не считают их достойными показывать обществу. А зря.
Это скорее не про использование в реальной жизни, а про ностальгию, про исполнение давней мечты и про челлендж (сделать интересную игру в ограниченных ресурсах). Ну и про специфическую тусовку, наконец.
Мы проверили на практике - и до определённой версии оно ТАК И РАБОТАЛО. Пока не стало понятно, что это медленно и в некоторых случаях вешает базу наглухо.
400k - это записей. А векторных пар при этом получается несколько миллионов, потому что слова встречаются в документах по нескольку раз.
Если у вас есть рекомендации по оптимизации кода или алгоритма (или полной перестройке системы, если старую не починить), то поделитесь. Свежие идеи со стороны - это всегда хорошо.
Хостинг не обязательно должен быть копеечный. Порой владельцы сайтов не используют мощные поисковые решения (и мощные современные движки для создания сайтов) совсем по другим причинам. Среди наших клиентов есть весьма небедные владельцы новостных порталов и онлайн-библиотек, которые продолжают пользоваться WordPress.
Мне наоборот кажется, что достигнуть понимания во всех этих суперхитропродуманных классах без постоянной проверки "что же там внутри" практически невозможно. Вот написали вы отличную "монаду", но для того, чтобы её понять (не по описанию, а именно - что конкретно она делает) придётся заглянуть в её код, и, скорее всего, не один раз. А учитывая, что всё это разбросано по папкам - придётся открыть не один файл.
Короче, это палка о двух концах.Сложный навороченный фреймворк вроде 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 гораздо проще измениться и поработать над собой.
Сейчас окончание не отбрасывается, но в одной из следующих версий будет добавлен стемминг, который автоматически отбрасывает окончания и ищет по корню. Релевантность, видимо, будет вычисляться для "порезанных" слов отдельно. То есть для точного совпадения релевантность 1, для слов, найденных в результате стемминга формула будет несколько иная. Нужно подумать.
Опечатки и ошибки сейчас не анализируются, тоже задел на будущее.
Порядок слов не учитывается. Хотя и можно было бы добавить такую "фичу", но она больше мешает, чем помогает.
Члены предложений не определяются. Все слова считаются просто словами. Для коротких и часто встречающихся слов есть особенная ветка алгоритма, поскольку выборка может получиться очень большая и скрипт падает с out of memory. Для таких слов мы ограничиваем количество векторных пар. В будущем скорее всего такие слова будут автоматически заноситься в список "стоп-слов" и не учитываться на поиске.
Metaphone/soundex пробовали, результаты получаются довольно нерелевантные.
Надо заметить, что поиск очень часто используется для поиска по каталогам, например, запчастей. И тогда важно найти "MR776221E" и не найти "MR776321E". Поэтому достаточно важна точность.
Видимо, придётся обнаружение опечаток и ошибок делать опцией.
Спасибо за комментарий, очень много информации на подумать.
Бесплатного ничего не бывает)) Но мы готовы к сотрудничеству!
Мало ли, исходники могли потеряться. Кроме того, игры под спектрум в большинстве случаев писались (и пишутся) на ассемблере. Просто потому, что высокоуровневые языки как их ни компилируй, они будут оставлять много лишних условностей в коде. А память, как мы помним, довольно ограничена.
Конечно же, даже если игра написана на ассемблере, то исходный код - штука полезная, просто потому, что там есть названия меток и всякие комментарии. Но для профессионального спектрумиста нет проблем сделать дизассемблер и распочухать какой кусок кода что делает.
P.S. Кстати первые свои 2-3 года знакомства со спектрумом писал на чистом машинном коде :) У меня просто не было нормального ассемблера, да и загружать компилятор с кассеты каждый раз было довольно муторно. Поэтому программы выглядели так примерно:
Да, печатная пресса по ZX - это отдельная большая тема. Сейчас в РФ, кажется, никто не выпускает журналы или газеты, а за рубежом такие издания ещё встречаются. Красочные, насыщенные, настоящий клад для тех, кто понимает!
Электронные версии старых журналов можно найти на сайте https://zxpress.ru/ Там почти всё есть.
Нечасто, но примеры есть. Некоторые игры выложены в Open Source на Github под лицензиями GPL и MIT/BSD и, соответственно, их можно свободно модифицировать и использовать (в соответствии с условиями вышеперечисленных лицензий).
Некоторые старые игры разрешены авторами к дизассемблированию и, соответственно, они доступны в Open Source, вот пример:
https://github.com/mrcook/zx-spectrum-games
Есть и ещё, можно просто сделать поиск, найдётся немало:
https://github.com/topics/zx-spectrum
Но такое бывает нечасто, особенно с новыми играми, примерно 1 игра из 30, на мой взгляд, доступна в виде Open Source.
Да, к счастью, есть и молодые разработчики, которые не захватили расцвета платформы в 90е, но заинтересовались возможностями ZX Spectrum в наши дни и пишут игры. Их немного, но то, что они вообще есть - это не может не радовать.
Например, вот эта игра https://zxonline.net/game/marsmare-alienation/ написана программистом, которому немного за 30. Скоро выйдет версия под ZX Spectrum Next.
Тряхните стариной - поищите старые исходники, может быть, удастся закончить. У нас есть несколько таких уже законченных проектов - оказывается, бывают интересные и самобытные игры, авторы которых не считают их достойными показывать обществу. А зря.
Не очень понятно, что вы имеете ввиду. Поясните, плз.
Это скорее не про использование в реальной жизни, а про ностальгию, про исполнение давней мечты и про челлендж (сделать интересную игру в ограниченных ресурсах). Ну и про специфическую тусовку, наконец.
Если вы про старые игры, то их на ZX Online нет, и на Viva Games они не продаются.
Что же касается новых разработок, многие из них распространяются по модели "бесплатно или за донат", а некоторые доступны только за деньги.
Ох уж мне эти теоретики :)
Мы проверили на практике - и до определённой версии оно ТАК И РАБОТАЛО. Пока не стало понятно, что это медленно и в некоторых случаях вешает базу наглухо.
Просто навскидку несколько штук из огромного списка:
https://www.nuppsam.org/?wpfts_wdgt=&s=national
https://criticalcarecollaborative.com/?wpfts_wdgt=&s=assist
https://www.weber-hydraulik.com/?s=weber
https://частотник.я.рус/?s=привод
https://www.wiesentbote.de/?s=merkel
400k - это записей. А векторных пар при этом получается несколько миллионов, потому что слова встречаются в документах по нескольку раз.
Если у вас есть рекомендации по оптимизации кода или алгоритма (или полной перестройке системы, если старую не починить), то поделитесь. Свежие идеи со стороны - это всегда хорошо.
Хостинг не обязательно должен быть копеечный. Порой владельцы сайтов не используют мощные поисковые решения (и мощные современные движки для создания сайтов) совсем по другим причинам. Среди наших клиентов есть весьма небедные владельцы новостных порталов и онлайн-библиотек, которые продолжают пользоваться WordPress.