Принцип "не догоню, так хоть согреюсь" сработал ) Моя библиотека FastExcelWriter заинтересовала многих, мне пишут, и просто благодарят, и просят совета для сложных решений, для которых альтернативные библиотеки не подходят. И спасибо всем, кто добавил звезд на гитхабе!
Помню, помню те времена, когда выбирали между WinNT и OS/2, и выбрали полуось (и корпоративным клиентам ее ставили). А еще примерно в то же время мы сделали ставку на Quattro Pro вместо MS Excel и тоже прогадали. И тогда я для себя вывел, что лучший продукт - не тот, который лучше, а тот, который лучше продается.
https://acetone.ai/ - многофункциональный сервис обработки фото и создания картинок, усиленный собственными нейронками. Можно массово удалять и заменять фон как через веб-интерфейс, так и через API.Можно удалять объекты с фото, накладывать лого, ресайзить.
А еще можно создавать картинки для карточек товара, баннеры и прочие картинки из нескольких источников со слоями, с добавлением текста и пр.
Да, генерацию отчетов придется переписывать. Но затраты будут зависеть от того, как много фич используется в отчете, если какие-то сложные стили, условия, графики, то переписывать, конечно, много придется. А если просто объемные таблицы без особых наворотов, то переход будет не такой уж и затратный.
Вот почему когда вижу восторженное "вау! как круто! ИИ пишет 90% кода!" - вот тогда нет подобных отчетов, а сплошные эмоции и никакой конкретики, чтоб понять, что же там ИИ пишет, и как ему задачи ставят?
Сравнивал с его форком https://github.com/openspout/openspout (оригинальный spout давно же не поддерживается), и у меня получалось и по фичам богаче, и по скорости выше (хотя, давно не делал бенчмарков, вдруг что-то изменилось).
Интересно было бы узнать, что не устроило в FastExcelWriter.
Как можно судить по названию, это библиотека для генерации Excel-файлов. Нафига, спросите вы, если есть мощнейшая и навороченная phpoffice/phpspreadsheet?
А я объясню. Пробовали ли вы, господа, с помощью phpoffice/phpspreadsheet создать таблицу хотя бы на несколько десятков тысяч строк? А если надо создать файл на 100К или, прости Господи, на 200К? Вот если пробовали, то вы меня поймете, почему я однажды взял и создал эту библиотеку.
Итак, чем FastExcelWriter лучше PhpSpreadsheet? Да тем, что работает примерно на порядок быстрее, а выигрыш по памяти может быть даже пару порядков. При этом поддерживается и форматирование (в т.ч. условное) и всяческие форматы данных, можно использовать формулы и вставку картинок, и даже графики всех мастей вставлять можно.
А в качестве бонуса: интерфейс гораздо проще и лаконичнее.
Неужели нет минусов? Конечно, есть. Самый главный - библиотека умеет работать только с XLSX-форматом, больше никакие форматы не поддерживаются. Да и код, мягко говоря, далек от идеала. Но это, на мой взгляд, тот самый случай - "шашечки или ехать".
Кстати, для чтения XLSX-файлов тоже есть своя библиотека avadim/fast-excel-reader, тоже быстрая и экономичная Я не стал их сливать в одну. Хотя, нет, вру, есть Laravel-пакет, где объединены обе библиотеки чисто для удобства использования.
В общем, пользуйтесь, ставьте на гитхабе звезды, если библиотека оказалась вам полезной.
Общая сумма заработка работодателя не волнует, он считает только по себе. Если у работника есть дополнительные доходы, которые влияют на ставку, то по окончании года налоговая сама досчитает, сколько ему еще надо доплатить и пришлет уведомление в ЛК физлица
Кредиты зло, когда ты их не понимаешь, не умеешь считать и планировать. Если же понимаешь, во что тебе это обойдется в итоге, сколько ты будешь отдавать в месяц, как и откуда возьмутся деньги для погашения, то все нормально.
Специализированными моделями не пользовался, пробовал для кодинга ChatGPT, и для задач типа "напиши код, который делает то-то" примерно в 30% случаях получал рабочий код. Примерно треть случаев - код не работал сразу, как надо, но логика была понятна, и после ручного рефакторинга использовать было можно (хотя, ценность, конечно, резко падает). В остальных случаях нейросеть фигню какую-то выдавала.
Но попробовал ставить задачу под конкретный фреймворк - Laravel, и тут дела гораздо лучше пошли. Описал сущности, их свойства, и получил код миграций, моделей и контроллера. Потом попросил дать код blade-шаблонов для CRUD и получил их. Прикольно, что ГПТ запоминает контекст, и когда попросил добавить доп.поле, то получил в ответ и миграцию, и обновленные модель с контроллером.
В итоге получил небольшое работающее приложение, где я не написал ни строчки кода, был сплошной копипаст, хотя, и не бездумный - местами копипаст был фрагментарный.
А вот GigaChat от Сбера тупеньким оказался, он сильно старался, но код был совсем нерабочий.
Было как-то, что я пропустил оплату сервера (несмотря письма), так мой хостер звонил по телефону и спрашивал, буду ли продлевать. А я в поездке был и сильно занят, так мне поставили "условное продление" на несколько дней, пока я не освободился и оплатил. Вот это, я понимаю, клиентоориентированность
У меня аккурат этой ночью проводной интернет от ростелекома отвалился, еще думал, что с утра надо будет их дергать, а оно само к утру ожило. Мобильный интернет работал
Интересно, меняется ли что-либо в зависимости от того, оказываешь ли ты услуги юрлицу или физикам? Как входящие платежи фиксируются? Есть ли что-то вроде обязательных чеков, которые надо выдавать физикам?
Соглашусь, что в случае с Nested Sets обновлять ключи Left/Right у какого-то количества записей надо будет почти всегда. Но какие операции выполняются чаще - вставки или выборки? Насколько я знаю, выборка выполняется гораздо чаще - тут и выборка поддерева структуры, и получение списка элементов на определенном уровне конкретного дистрибьютора и пр. В случае с хранением пути это все выборки через LIKE '%x%', а в Nested Sets - выборка по индексированным числовым ключам, что однозначно быстрее будет. А уж если речь о бинарном дереве, которое очень быстро и неравномерно растет в глубину, и, стало быть, увеличивает длину пути, то выборка по путям особо тормозить будет
Принцип "не догоню, так хоть согреюсь" сработал ) Моя библиотека FastExcelWriter заинтересовала многих, мне пишут, и просто благодарят, и просят совета для сложных решений, для которых альтернативные библиотеки не подходят. И спасибо всем, кто добавил звезд на гитхабе!
Помню, помню те времена, когда выбирали между WinNT и OS/2, и выбрали полуось (и корпоративным клиентам ее ставили). А еще примерно в то же время мы сделали ставку на Quattro Pro вместо MS Excel и тоже прогадали. И тогда я для себя вывел, что лучший продукт - не тот, который лучше, а тот, который лучше продается.
https://acetone.ai/ - многофункциональный сервис обработки фото и создания картинок, усиленный собственными нейронками. Можно массово удалять и заменять фон как через веб-интерфейс, так и через API.Можно удалять объекты с фото, накладывать лого, ресайзить.
А еще можно создавать картинки для карточек товара, баннеры и прочие картинки из нескольких источников со слоями, с добавлением текста и пр.
Статья не про то, КАК найти, а про то, ГДЕ искать
Да, генерацию отчетов придется переписывать. Но затраты будут зависеть от того, как много фич используется в отчете, если какие-то сложные стили, условия, графики, то переписывать, конечно, много придется. А если просто объемные таблицы без особых наворотов, то переход будет не такой уж и затратный.
Спасибо, что рассказали о своем опыте!
Вот почему когда вижу восторженное "вау! как круто! ИИ пишет 90% кода!" - вот тогда нет подобных отчетов, а сплошные эмоции и никакой конкретики, чтоб понять, что же там ИИ пишет, и как ему задачи ставят?
Сравнивал с его форком https://github.com/openspout/openspout (оригинальный spout давно же не поддерживается), и у меня получалось и по фичам богаче, и по скорости выше (хотя, давно не делал бенчмарков, вдруг что-то изменилось).
Интересно было бы узнать, что не устроило в FastExcelWriter.
Напишу-ка я про свою PHP-библиотеку avadim/fast-excel-writer
Как можно судить по названию, это библиотека для генерации Excel-файлов. Нафига, спросите вы, если есть мощнейшая и навороченная phpoffice/phpspreadsheet?
А я объясню. Пробовали ли вы, господа, с помощью phpoffice/phpspreadsheet создать таблицу хотя бы на несколько десятков тысяч строк? А если надо создать файл на 100К или, прости Господи, на 200К? Вот если пробовали, то вы меня поймете, почему я однажды взял и создал эту библиотеку.
Итак, чем FastExcelWriter лучше PhpSpreadsheet? Да тем, что работает примерно на порядок быстрее, а выигрыш по памяти может быть даже пару порядков. При этом поддерживается и форматирование (в т.ч. условное) и всяческие форматы данных, можно использовать формулы и вставку картинок, и даже графики всех мастей вставлять можно.
А в качестве бонуса: интерфейс гораздо проще и лаконичнее.
Неужели нет минусов? Конечно, есть. Самый главный - библиотека умеет работать только с XLSX-форматом, больше никакие форматы не поддерживаются. Да и код, мягко говоря, далек от идеала. Но это, на мой взгляд, тот самый случай - "шашечки или ехать".
Кстати, для чтения XLSX-файлов тоже есть своя библиотека avadim/fast-excel-reader, тоже быстрая и экономичная Я не стал их сливать в одну. Хотя, нет, вру, есть Laravel-пакет, где объединены обе библиотеки чисто для удобства использования.
В общем, пользуйтесь, ставьте на гитхабе звезды, если библиотека оказалась вам полезной.
Общая сумма заработка работодателя не волнует, он считает только по себе. Если у работника есть дополнительные доходы, которые влияют на ставку, то по окончании года налоговая сама досчитает, сколько ему еще надо доплатить и пришлет уведомление в ЛК физлица
В целом интересно, конечно, но если взял кредит по ставке ниже, чем сегодняшний депозит, то нет никакого смысла заморачиваться с досрочным погашением
Кредиты зло, когда ты их не понимаешь, не умеешь считать и планировать. Если же понимаешь, во что тебе это обойдется в итоге, сколько ты будешь отдавать в месяц, как и откуда возьмутся деньги для погашения, то все нормально.
Специализированными моделями не пользовался, пробовал для кодинга ChatGPT, и для задач типа "напиши код, который делает то-то" примерно в 30% случаях получал рабочий код. Примерно треть случаев - код не работал сразу, как надо, но логика была понятна, и после ручного рефакторинга использовать было можно (хотя, ценность, конечно, резко падает). В остальных случаях нейросеть фигню какую-то выдавала.
Но попробовал ставить задачу под конкретный фреймворк - Laravel, и тут дела гораздо лучше пошли. Описал сущности, их свойства, и получил код миграций, моделей и контроллера. Потом попросил дать код blade-шаблонов для CRUD и получил их. Прикольно, что ГПТ запоминает контекст, и когда попросил добавить доп.поле, то получил в ответ и миграцию, и обновленные модель с контроллером.
В итоге получил небольшое работающее приложение, где я не написал ни строчки кода, был сплошной копипаст, хотя, и не бездумный - местами копипаст был фрагментарный.
А вот GigaChat от Сбера тупеньким оказался, он сильно старался, но код был совсем нерабочий.
Было как-то, что я пропустил оплату сервера (несмотря письма), так мой хостер звонил по телефону и спрашивал, буду ли продлевать. А я в поездке был и сильно занят, так мне поставили "условное продление" на несколько дней, пока я не освободился и оплатил. Вот это, я понимаю, клиентоориентированность
Вороватый ру-центр радостно потирает ручонки - тысячи новых непуганных клиентов, которым можно втихаря подключать ненужные услуги и тырить по мелочи
Поясните насчет 8.1, возможно, я от жизни отстал, но работаю локально под php 8.1 (и именно под OSP) и проблем пока не испытывал.
А если говорить о максимально приближении, то под Линуксом пилить надо (если, конечно, у вас прод не под Виндой и не под OSP)
Если речь про установку на локальном компе сугубо для разработки, то зачем возиться с ssl?
У меня аккурат этой ночью проводной интернет от ростелекома отвалился, еще думал, что с утра надо будет их дергать, а оно само к утру ожило. Мобильный интернет работал
Интересно, меняется ли что-либо в зависимости от того, оказываешь ли ты услуги юрлицу или физикам? Как входящие платежи фиксируются? Есть ли что-то вроде обязательных чеков, которые надо выдавать физикам?
Я не соглашусь. Во всяком случае, я такого тренда не вижу.
Соглашусь, что в случае с Nested Sets обновлять ключи Left/Right у какого-то количества записей надо будет почти всегда. Но какие операции выполняются чаще - вставки или выборки? Насколько я знаю, выборка выполняется гораздо чаще - тут и выборка поддерева структуры, и получение списка элементов на определенном уровне конкретного дистрибьютора и пр. В случае с хранением пути это все выборки через LIKE '%x%', а в Nested Sets - выборка по индексированным числовым ключам, что однозначно быстрее будет. А уж если речь о бинарном дереве, которое очень быстро и неравномерно растет в глубину, и, стало быть, увеличивает длину пути, то выборка по путям особо тормозить будет