> Полный бэкап СУБД производится раз в день ночью, инкрементальный – каждый час. Также каждый день создаётся каталог файлов, и он является порцией инкрементального бэкапа файлового хранилища.
Хотя по скриншотам видно, что diff делается раз в день, а полный — значительно реже (раз в неделю? в две?). Да и при длительности диффа в час делать его каждый час — так себе развлечение для пользователей.
Если вас не затруднит, можно пример с кодом в g4? Сейчас стоит задача дополнительного разбора комментариев к методам, думал идти по пути создания второго "лёгкого" лексера, выбрасывающего лишние токены через skip, но судя по вашему комментарию это можно сделать быстрее/дешевле в рамках одного лексера.
А зачем продавать открытые модули? Вы либо пишете ПО, которое на них базируется и продаёте его (это не запрещено), либо даёте пользователям модули бесплатно, продавая консалт.
Простая продажа бесплатных модулей — это какое-то аморальное мошенничество
там даже до es3 было далеко. Это майкрософтовский JScript ХРшного разлива с выпиленными библиотеками к тому же. Там не то, что какого-нибудь Math нет, там даже JSON пришлось целиком полифилить
Где-то треть полифилов была добавлена действительно для удобства эээ меня в том числе, как привыкшего к typescript и es6 и с содраганием вспоминающего эпоху pre-es5. Но остальное приходилось добавлять для реально нужных вещей или для работы других более высокоуровневых полифилов (не переписывать же официально рекомендованные от Mozilla)
Если честно, я не понимаю изначального «наезда». Ну скопипастили несколько готовых полифилов, они все упакованы в немешающие функции где-то «внизу», на производительность влияют минимально, а скорость и стоимостью разработки сокращают. В чем проблема-то?
P. S. На скриншотах в статье не все полифилы, которые были добавлены.
Сонар содержит собственные проверки. Большинство официальных плагинов с поддержкой языков как раз-таки использует собственные реализации. есть исключения (c#, например, использует проверки на Roslyn), но это единичные случаи.
Она отменится автоматически только в конце серверного вызова, либо когда кто-то выше по стеку не сделает отмену либо фиксацию. Без явной отмены в блоке попытки весь код выше по стеку, выполняемый после вызова данного куска с попыткой будет в открытой поломанной транзакции
По вашей же ссылке во втором абзаце написано обратное. Данная ошибка может возникать при восстановимом исключении на работе с БД. Причем не обязательно на записи, исключение при чтении тоже выкинет "в данной транзакции уже происходили ощибки" при повторном обращении к бд
нет, нельзя. но можно и не открывать явно транзакцию, при каждой записи объекта она будет открываться и закрываться неявно.
другой вопрос, что часто требуется согласованно менять данные в нескольких таблицах, и это без явного управления транзакциями сделать невозможно.
p.s. возможно, конечно, на несвязанных неявных транзакциях, но в случае эксепшена вы сами себе злобный буратино.
я не особо разбираюсь в дебрях JIT и прочих возможностей оптимизации java-кода, но даже если это все вдруг не сработает, потери на сопровождение такого кода по всей кодовой базе приложения имхо дороже, чем потеря производительности нескольких мили-(микро?)секунд на вызове функции.
Я понимаю, что статья про другое, но… Неужели человек, разрабатывающий гайдлайн для разработчиков не догадался увести if (Log.Debug) внутрь функции Log.d? И никаких однострочников и холиваров про скобки…
IntelliJ Platform тоже бесплатная
> Полный бэкап СУБД производится раз в день ночью, инкрементальный – каждый час. Также каждый день создаётся каталог файлов, и он является порцией инкрементального бэкапа файлового хранилища.
Хотя по скриншотам видно, что diff делается раз в день, а полный — значительно реже (раз в неделю? в две?). Да и при длительности диффа в час делать его каждый час — так себе развлечение для пользователей.
В остальном — любопытно, спасибо!
Если вас не затруднит, можно пример с кодом в g4? Сейчас стоит задача дополнительного разбора комментариев к методам, думал идти по пути создания второго "лёгкого" лексера, выбрасывающего лишние токены через skip, но судя по вашему комментарию это можно сделать быстрее/дешевле в рамках одного лексера.
Зачем писать код 1с на пхп, если можно писать код 1с в 1с и результат отдавать в пхп?
Простая продажа бесплатных модулей — это какое-то аморальное мошенничество
Где-то треть полифилов была добавлена действительно для удобства эээ меня в том числе, как привыкшего к typescript и es6 и с содраганием вспоминающего эпоху pre-es5. Но остальное приходилось добавлять для реально нужных вещей или для работы других более высокоуровневых полифилов (не переписывать же официально рекомендованные от Mozilla)
Если честно, я не понимаю изначального «наезда». Ну скопипастили несколько готовых полифилов, они все упакованы в немешающие функции где-то «внизу», на производительность влияют минимально, а скорость и стоимостью разработки сокращают. В чем проблема-то?
P. S. На скриншотах в статье не все полифилы, которые были добавлены.
Она отменится автоматически только в конце серверного вызова, либо когда кто-то выше по стеку не сделает отмену либо фиксацию. Без явной отмены в блоке попытки весь код выше по стеку, выполняемый после вызова данного куска с попыткой будет в открытой поломанной транзакции
По вашей же ссылке во втором абзаце написано обратное. Данная ошибка может возникать при восстановимом исключении на работе с БД. Причем не обязательно на записи, исключение при чтении тоже выкинет "в данной транзакции уже происходили ощибки" при повторном обращении к бд
другой вопрос, что часто требуется согласованно менять данные в нескольких таблицах, и это без явного управления транзакциями сделать невозможно.
p.s. возможно, конечно, на несвязанных неявных транзакциях, но в случае эксепшена вы сами себе злобный буратино.
Не знаю, можно ли считать alpine linux эмбеддед, но в нем есть только sh. Сам alpine часто используется в докер-образах.
Соглашусь. Особенно больно переезжать с одного гит-сервера на другой, когда обычный максимум информации — это коммиты. В лучшем случае ещё и ишузы.
https://www.sonarqube.org
Может интегрироваться в IDE — http://www.sonarlint.org
На работе пользуемся более чем для пяти языков, при необходимости сами пишем плагины и новые правила.
Я понимаю, что статья про другое, но… Неужели человек, разрабатывающий гайдлайн для разработчиков не догадался увести if (Log.Debug) внутрь функции Log.d? И никаких однострочников и холиваров про скобки…
Одностороннюю синхронизацию с гитом отлично покрывает gitsync — https://github.com/oscript-library/gitsync
Двустороннюю можно навелосипедить на vanessa-runner или самописными, но задача нетривиальная.
На данный момент в расширениях нельзя добавлять новые реквизиты.