В одной анонимной организации яндекс-браузер стоял первым в списке на новый корпоративный стандарт. После этой новости наверняка уже вычеркнули, ибо политику "полный запрет AI на рабочих компьютерах" никто не отменял.
не. вы о чем-то другом рассказываете. Скорее всего, про себя. Это не версии, не работа с изменениями и пр.Это конкретно "режим правок". Для людей, работающих в разных компаниях, с отсутствием доступа к сетям друг друга и к любым внешним площадкам. Сегодня один набор компаний и юристов, завтра другой. Вот Людмила Михайловна внесла изменение и сразу прямо в документе видно, кто поменял, как было, как стало. "А давайте еще документ в ООО "Веселый АИ" отправим, пусть они там свои правки внесут, а мы посмотрим".
Речь не о тех, кто работает с кодом, а о тех, кто работает с контрактами, юридическими документами итп. Слов git, diff и тп они не знают и сравнивать всё это с режимом правки в Word как минимум странно
расскажите это людям, которые за день просматривают десятки документов, исправляя в режиме правки так, что видно - как было "до", кто и как исправил и как стало "после".
Даже в этом тексте культивируется главная ошибка работающих в MS Word - форматирование аттрибутами (шрифт, размер, цвет и тд), а не готовыми (или лично сделанными) стилями.
Про нюансы я чтобы не отвлекаться написал. На самом деле, всего лишь проверяется, не является ли wsp солюшеном уровня приложения (if(!$solution.ContainsWebApplicationResource)), и всё. Такие ставятся отдельно с указанием конкретных приложений. Остальные - циклом foreach.
Для остальных донастроек - Post-deploy congif на уровне wsp.
Если при миграции меняются версии dll солюшенов, в web.config дописываются совместимости, чтобы вебчасти не полетели. Типа такого:
В целом, основной скрипт миграции выполняет до 90% работы, остатки - в отдельных скриптах (миграция поиска или создание службы поиска). Просто чтобы разделить стадии.
В похожей ситуации набросал tkinter GUI для питоновского polars. Строки не индексирую, но бонусом получил lazy loading и SQL для запросов к логам. До 30 секунд на практически любой запрос. Запускается и под виндой (python portable) и под линуксами.
Странная какая-то инструкция, ну да ладно. Дополню чуть-чуть.
Практически Sharepoint можно обновлять с 2013 до 2019 напрямую. Более того, можно обновлять чуть ли не с 2010 напрямую. По крайней мере, сайты, работающие на 2013 в режиме совместимости с 2010 прекрасно обновляются сразу на 2019. Для этого в таблице AllSites в записях значение поля PlatformVersion меняется на 15.0.35.0. Затем запускается Test-SPContentDatabase и т.д.
Проверено на десятках баз с десятками кастомных WSP.
Если версия Windows Server меньше 2019, может не ставиться NET 3.5, сообщая, что на сервере уже есть более новая версия. Для обхода этой ошибки в реестре меняется версия в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4 на что-то, начинающееся с 4.5. После установки возвращается та версия, что была до этого.
На сервере, начиная с версии 2019 можно сократить подготовку, запустив пару команд: Import-Module ServerManager
Add-WindowsFeature Net-Framework-Features,Web-Server,Web-WebServer,Web-Common-Http,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor,Web-Http-Tracing,Web-Security,Web-Basic-Auth,Web-Windows-Auth,Web-Filtering,Web-Digest-Auth,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Tools,Web-Mgmt-Console,Web-Mgmt-Compat,Web-Metabase,WAS,WAS-Process-Model,WAS-NET-Environment,WAS-Config-APIs,Web-Lgcy-Scripting,Windows-Identity-Foundation,Server-Media-Foundation,Xps-Viewer –Source <путь к sxs>
Если просто запустить установку пререквизитов, врядли что-то получится, большинство пакетов устаревшие и убраны с сайта MS. Храните их локально и ставьте одной командой: .\prerequisiteinstaller.exe /SQLNCli:d:\2019\prereq\sqlncli.msi /Sync:d:\2019\prereq\Synchronization.msi /AppFabric:d:\2019\prereq\WindowsServerAppFabricSetup_x64.exe /IDFX11:d:\2019\prereq\MicrosoftIdentityExtensions-64.msi /MSIPCClient:d:\2019\prereq\setup_msipc_x64.exe /WCFDataServices56:d:\2019\prereq\WcfDataServices56.exe /MSVCRT11:d:\2019\prereq\vcredist_x64.exe /MSVCRT141:d:\2019\prereq\vc_redist.x64.exe /KB3092423:d:\2019\prereq\AppFabric-KB3092423-x64-ENU.exe /DotNet472:d:\2019\prereq\NDP472-KB4054530-x86-x64-AllOS-ENU.exe
Остальные сервисы восстанавливаются приблизительно так же.
Не потеряйте passphrase, пригодится при добавлении серверов в ферму.
В целом, даже сложный сайт можно мигрировать одним скриптом (двумя. бэкап-восстановление баз отдельным SQL-скриптом. Но, наверное, можно было и powershell)
Любимые лекарства, это сильно. С другой стороны, искал какой-то расходник, не знал, как правильно называется. В результате выбрал инструмент, к которому он идет, и его предложили в "с этим покупают". Единичный случай, но тем не менее.
да, flask_sqlalchemy. Возможно, из любопытства проверю, как у текущей версии с этим paginate. Как сделать это на чистом SQL знаю, но вопрос "ну как так можно было сделать"?
Неоднозначное какое-то отношение к ORM. Вместо простого и четкого SQL, который "один на всех", нужно учить объектные модели к каждому фреймворку. При этом, заранее непонятны границы, где закончатся возможности ORM и придется переходить к чистому SQL (уже внутри какого-то метода ORM).
Ну и на практике, два примера, которые среди меня до сих пор основа сомнений, оба про SQL Alchemy.
с разницей в пару лет редактировал одно и то же приложение. Во второй раз обнаружил, что документация почти ни в чем не совпадает с первым заходом. Т.е. за два года поменялось почти всё, знания полностью обесценились. Старый код работал, но в документации не было тех способов, которыми всё было сделано в первый раз.
Нужно было сделать простой листинг записей с разбиением на страницы. В ORM был метод paginate, его и использовал. Всё было норм на тестовых данных, когда же загрузил пару сотен тысяч, внезапно оказалось, что SQL, который генерит ORM запрашивает все данные из таблицы, а потом выбирает нужный диапазон. Могли предупредить хотя бы :(
После этого к подобным оберткам отношусь скептически.
В одной анонимной организации яндекс-браузер стоял первым в списке на новый корпоративный стандарт. После этой новости наверняка уже вычеркнули, ибо политику "полный запрет AI на рабочих компьютерах" никто не отменял.
не. вы о чем-то другом рассказываете. Скорее всего, про себя. Это не версии, не работа с изменениями и пр.Это конкретно "режим правок". Для людей, работающих в разных компаниях, с отсутствием доступа к сетям друг друга и к любым внешним площадкам. Сегодня один набор компаний и юристов, завтра другой. Вот Людмила Михайловна внесла изменение и сразу прямо в документе видно, кто поменял, как было, как стало. "А давайте еще документ в ООО "Веселый АИ" отправим, пусть они там свои правки внесут, а мы посмотрим".
А вы им - гит! дифф!
Речь не о тех, кто работает с кодом, а о тех, кто работает с контрактами, юридическими документами итп. Слов git, diff и тп они не знают и сравнивать всё это с режимом правки в Word как минимум странно
торрент же нужно явно в настройках включать. нет?
Судя по обилию ненужных англицизмов, это очередное явление, существующее только ради своего существования.
расскажите это людям, которые за день просматривают десятки документов, исправляя в режиме правки так, что видно - как было "до", кто и как исправил и как стало "после".
Даже в этом тексте культивируется главная ошибка работающих в MS Word - форматирование аттрибутами (шрифт, размер, цвет и тд), а не готовыми (или лично сделанными) стилями.
почему "в отличие", если всё это прекрасно работает в MS Word?
спасибо! Неожиданно. Искал глазами совсем не то. Возможно, слово "надписи" не вызвало бы вопросов при сохранении смысла.
Что такое "бинды", про которые идет речь, и как их найти на экране?
Про нюансы я чтобы не отвлекаться написал. На самом деле, всего лишь проверяется, не является ли wsp солюшеном уровня приложения (if(!$solution.ContainsWebApplicationResource)), и всё. Такие ставятся отдельно с указанием конкретных приложений. Остальные - циклом foreach.
Для остальных донастроек - Post-deploy congif на уровне wsp.
Если при миграции меняются версии dll солюшенов, в web.config дописываются совместимости, чтобы вебчасти не полетели. Типа такого:
В целом, основной скрипт миграции выполняет до 90% работы, остатки - в отдельных скриптах (миграция поиска или создание службы поиска). Просто чтобы разделить стадии.
До 2019 можно пользоваться старыми корпоративными :)
В похожей ситуации набросал tkinter GUI для питоновского polars. Строки не индексирую, но бонусом получил lazy loading и SQL для запросов к логам. До 30 секунд на практически любой запрос. Запускается и под виндой (python portable) и под линуксами.
Странная какая-то инструкция, ну да ладно. Дополню чуть-чуть.
Практически Sharepoint можно обновлять с 2013 до 2019 напрямую. Более того, можно обновлять чуть ли не с 2010 напрямую. По крайней мере, сайты, работающие на 2013 в режиме совместимости с 2010 прекрасно обновляются сразу на 2019. Для этого в таблице AllSites в записях значение поля PlatformVersion меняется на 15.0.35.0. Затем запускается Test-SPContentDatabase и т.д.
Проверено на десятках баз с десятками кастомных WSP.
Если версия Windows Server меньше 2019, может не ставиться NET 3.5, сообщая, что на сервере уже есть более новая версия. Для обхода этой ошибки в реестре меняется версия в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4 на что-то, начинающееся с 4.5. После установки возвращается та версия, что была до этого.
На сервере, начиная с версии 2019 можно сократить подготовку, запустив пару команд:
Import-Module ServerManagerAdd-WindowsFeature Net-Framework-Features,Web-Server,Web-WebServer,Web-Common-Http,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor,Web-Http-Tracing,Web-Security,Web-Basic-Auth,Web-Windows-Auth,Web-Filtering,Web-Digest-Auth,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Tools,Web-Mgmt-Console,Web-Mgmt-Compat,Web-Metabase,WAS,WAS-Process-Model,WAS-NET-Environment,WAS-Config-APIs,Web-Lgcy-Scripting,Windows-Identity-Foundation,Server-Media-Foundation,Xps-Viewer –Source <путь к sxs>Если просто запустить установку пререквизитов, врядли что-то получится, большинство пакетов устаревшие и убраны с сайта MS. Храните их локально и ставьте одной командой:
.\prerequisiteinstaller.exe /SQLNCli:d:\2019\prereq\sqlncli.msi
/Sync:d:\2019\prereq\Synchronization.msi
/AppFabric:d:\2019\prereq\WindowsServerAppFabricSetup_x64.exe
/IDFX11:d:\2019\prereq\MicrosoftIdentityExtensions-64.msi
/MSIPCClient:d:\2019\prereq\setup_msipc_x64.exe
/WCFDataServices56:d:\2019\prereq\WcfDataServices56.exe
/MSVCRT11:d:\2019\prereq\vcredist_x64.exe
/MSVCRT141:d:\2019\prereq\vc_redist.x64.exe
/KB3092423:d:\2019\prereq\AppFabric-KB3092423-x64-ENU.exe
/DotNet472:d:\2019\prereq\NDP472-KB4054530-x86-x64-AllOS-ENU.exe
Самый быстрый способ восстановить сайт (базы предварительно импортированы):
$wa = New-SPWebApplication -Name "SP2019" -ApplicationPool "SP2019AppPool" -ApplicationPoolAccount DOMAIN\SP2019AppPool -HostHeader sp2019 -Urlhttp://sp2019-Port 80 -Path C:\Inetpub\wwwroot\wss\VirtualDirectories\sp2019$wa= Get-SPWebApplication
http://sp2019
Mount-SPContentDatabase -WebApplication $wa wss_contentПеред миграцией будет нелишним сохранить кастомные WSP одной командой, затем так же одной командой их восстановить (есть нюансы)
Если на старом сайте были внешние подключения, нужно озаботиться бэкапом и восстановлением ключей Secure store
Сервис метаданных мигрируется восстановленим старой базы и запуском команд:
$ap = New-SPServiceApplicationPool -Name "MetadataAppPool" -Account DOMAIN\SP2019AppPool$mmsa = New-SPMetadataServiceApplication -Name "2019 Metadata Service" -ApplicationPool $ap -DatabaseName "WSS_Metadata"
New-SPMetadataServiceApplicationProxy -Name "2019 Metadata Service" -DefaultProxyGroup -ServiceApplication $mmsa
Get-SPServiceInstance | where-object {$
.TypeName -eq "Managed Metadata Web Service" -and $.Server -eq $srv1} | Start-SPServiceInstanceОстальные сервисы восстанавливаются приблизительно так же.
Не потеряйте passphrase, пригодится при добавлении серверов в ферму.
В целом, даже сложный сайт можно мигрировать одним скриптом (двумя. бэкап-восстановление баз отдельным SQL-скриптом. Но, наверное, можно было и powershell)
Это что навскидку вспомнил
Любимые лекарства, это сильно. С другой стороны, искал какой-то расходник, не знал, как правильно называется. В результате выбрал инструмент, к которому он идет, и его предложили в "с этим покупают". Единичный случай, но тем не менее.
Да, для каждого sql есть особенности, но это именно особенности, основа одинаковая. А ORM могут отличаться вообще в корне.
да, flask_sqlalchemy. Возможно, из любопытства проверю, как у текущей версии с этим paginate. Как сделать это на чистом SQL знаю, но вопрос "ну как так можно было сделать"?
Sql я прочитал, когда мне это понадобилось. Но, используя ORM, я не предполагал ,что мне это понадобится.
Неоднозначное какое-то отношение к ORM. Вместо простого и четкого SQL, который "один на всех", нужно учить объектные модели к каждому фреймворку. При этом, заранее непонятны границы, где закончатся возможности ORM и придется переходить к чистому SQL (уже внутри какого-то метода ORM).
Ну и на практике, два примера, которые среди меня до сих пор основа сомнений, оба про SQL Alchemy.
с разницей в пару лет редактировал одно и то же приложение. Во второй раз обнаружил, что документация почти ни в чем не совпадает с первым заходом. Т.е. за два года поменялось почти всё, знания полностью обесценились. Старый код работал, но в документации не было тех способов, которыми всё было сделано в первый раз.
Нужно было сделать простой листинг записей с разбиением на страницы. В ORM был метод paginate, его и использовал. Всё было норм на тестовых данных, когда же загрузил пару сотен тысяч, внезапно оказалось, что SQL, который генерит ORM запрашивает все данные из таблицы, а потом выбирает нужный диапазон. Могли предупредить хотя бы :(
После этого к подобным оберткам отношусь скептически.
perplexity работает. cursor, опять же.
уже норм так набор.