Обновить
3
0.2
Андрей Бондаренко@AndrewBond

Пользователь

Отправить сообщение

В одной анонимной организации яндекс-браузер стоял первым в списке на новый корпоративный стандарт. После этой новости наверняка уже вычеркнули, ибо политику "полный запрет AI на рабочих компьютерах" никто не отменял.

не. вы о чем-то другом рассказываете. Скорее всего, про себя. Это не версии, не работа с изменениями и пр.Это конкретно "режим правок". Для людей, работающих в разных компаниях, с отсутствием доступа к сетям друг друга и к любым внешним площадкам. Сегодня один набор компаний и юристов, завтра другой. Вот Людмила Михайловна внесла изменение и сразу прямо в документе видно, кто поменял, как было, как стало. "А давайте еще документ в ООО "Веселый АИ" отправим, пусть они там свои правки внесут, а мы посмотрим".

А вы им - гит! дифф!

Речь не о тех, кто работает с кодом, а о тех, кто работает с контрактами, юридическими документами итп. Слов git, diff и тп они не знают и сравнивать всё это с режимом правки в Word как минимум странно

торрент же нужно явно в настройках включать. нет?

Судя по обилию ненужных англицизмов, это очередное явление, существующее только ради своего существования.

расскажите это людям, которые за день просматривают десятки документов, исправляя в режиме правки так, что видно - как было "до", кто и как исправил и как стало "после".

Даже в этом тексте культивируется главная ошибка работающих в MS Word - форматирование аттрибутами (шрифт, размер, цвет и тд), а не готовыми (или лично сделанными) стилями.

почему "в отличие", если всё это прекрасно работает в MS Word?

спасибо! Неожиданно. Искал глазами совсем не то. Возможно, слово "надписи" не вызвало бы вопросов при сохранении смысла.

Что такое "бинды", про которые идет речь, и как их найти на экране?

Про нюансы я чтобы не отвлекаться написал. На самом деле, всего лишь проверяется, не является ли wsp солюшеном уровня приложения (if(!$solution.ContainsWebApplicationResource)), и всё. Такие ставятся отдельно с указанием конкретных приложений. Остальные - циклом foreach.

Для остальных донастроек - Post-deploy congif на уровне wsp.

Если при миграции меняются версии dll солюшенов, в web.config дописываются совместимости, чтобы вебчасти не полетели. Типа такого:

      <dependentAssembly>
        <assemblyIdentity name="SPSolution" publicKeyToken="1234465e5b2fb35" culture="neutral" />
        <bindingRedirect oldVersion="15.0.0.0" newVersion="16.0.0.0" />
      </dependentAssembly>

В целом, основной скрипт миграции выполняет до 90% работы, остатки - в отдельных скриптах (миграция поиска или создание службы поиска). Просто чтобы разделить стадии.

До 2019 можно пользоваться старыми корпоративными :)

В похожей ситуации набросал tkinter GUI для питоновского polars. Строки не индексирую, но бонусом получил lazy loading и SQL для запросов к логам. До 30 секунд на практически любой запрос. Запускается и под виндой (python portable) и под линуксами.

Странная какая-то инструкция, ну да ладно. Дополню чуть-чуть.

  1. Практически Sharepoint можно обновлять с 2013 до 2019 напрямую. Более того, можно обновлять чуть ли не с 2010 напрямую. По крайней мере, сайты, работающие на 2013 в режиме совместимости с 2010 прекрасно обновляются сразу на 2019. Для этого в таблице AllSites в записях значение поля PlatformVersion меняется на 15.0.35.0. Затем запускается Test-SPContentDatabase и т.д.

    Проверено на десятках баз с десятками кастомных WSP.

  2. Если версия Windows Server меньше 2019, может не ставиться NET 3.5, сообщая, что на сервере уже есть более новая версия. Для обхода этой ошибки в реестре меняется версия в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4 на что-то, начинающееся с 4.5. После установки возвращается та версия, что была до этого.

  3. На сервере, начиная с версии 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>

  4. Если просто запустить установку пререквизитов, врядли что-то получится, большинство пакетов устаревшие и убраны с сайта 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

  5. Самый быстрый способ восстановить сайт (базы предварительно импортированы):
    $wa = New-SPWebApplication -Name "SP2019" -ApplicationPool "SP2019AppPool" -ApplicationPoolAccount DOMAIN\SP2019AppPool -HostHeader sp2019 -Url http://sp2019 -Port 80 -Path C:\Inetpub\wwwroot\wss\VirtualDirectories\sp2019
    $wa= Get-SPWebApplication
    http://sp2019
    Mount-SPContentDatabase -WebApplication $wa wss_content

  6. Перед миграцией будет нелишним сохранить кастомные WSP одной командой, затем так же одной командой их восстановить (есть нюансы)

  7. Если на старом сайте были внешние подключения, нужно озаботиться бэкапом и восстановлением ключей Secure store

  8. Сервис метаданных мигрируется восстановленим старой базы и запуском команд:$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

  9. Остальные сервисы восстанавливаются приблизительно так же.

  10. Не потеряйте passphrase, пригодится при добавлении серверов в ферму.

  11. В целом, даже сложный сайт можно мигрировать одним скриптом (двумя. бэкап-восстановление баз отдельным SQL-скриптом. Но, наверное, можно было и powershell)

Это что навскидку вспомнил

Любимые лекарства, это сильно. С другой стороны, искал какой-то расходник, не знал, как правильно называется. В результате выбрал инструмент, к которому он идет, и его предложили в "с этим покупают". Единичный случай, но тем не менее.

Да, для каждого sql есть особенности, но это именно особенности, основа одинаковая. А ORM могут отличаться вообще в корне.

да, flask_sqlalchemy. Возможно, из любопытства проверю, как у текущей версии с этим paginate. Как сделать это на чистом SQL знаю, но вопрос "ну как так можно было сделать"?

Sql я прочитал, когда мне это понадобилось. Но, используя ORM, я не предполагал ,что мне это понадобится.

Неоднозначное какое-то отношение к ORM. Вместо простого и четкого SQL, который "один на всех", нужно учить объектные модели к каждому фреймворку. При этом, заранее непонятны границы, где закончатся возможности ORM и придется переходить к чистому SQL (уже внутри какого-то метода ORM).

Ну и на практике, два примера, которые среди меня до сих пор основа сомнений, оба про SQL Alchemy.

  • с разницей в пару лет редактировал одно и то же приложение. Во второй раз обнаружил, что документация почти ни в чем не совпадает с первым заходом. Т.е. за два года поменялось почти всё, знания полностью обесценились. Старый код работал, но в документации не было тех способов, которыми всё было сделано в первый раз.

  • Нужно было сделать простой листинг записей с разбиением на страницы. В ORM был метод paginate, его и использовал. Всё было норм на тестовых данных, когда же загрузил пару сотен тысяч, внезапно оказалось, что SQL, который генерит ORM запрашивает все данные из таблицы, а потом выбирает нужный диапазон. Могли предупредить хотя бы :(

После этого к подобным оберткам отношусь скептически.

perplexity работает. cursor, опять же.

уже норм так набор.

1
23 ...

Информация

В рейтинге
2 960-й
Откуда
Новороссийск, Краснодарский край, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Разработчик приложений
Ведущий
Sharepoint