Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: LeetCode 23: Mesclando K Listas Ordenadas com Harbour/xBase e Reutilização de Código

_Créditos das imagens: ChatGPT **Título:** LeetCode 23: Mesclando K Listas Ordenadas com Harbour/xBase e Reutilização de Código **Introdução** Olá, entusiastas de Harbour/xBase e desafios de programação! Depois de explorarmos como mesclar duas listas ordenadas no [nosso post sobre o LeetCode 21](https://www.blacktdn.com.br/2025/03/blacktdn-leetcode-21-merge-two-sorted.html), vamos dar um passo adiante e enfrentar um problema um pouco mais complexo: o LeetCode 23 - Merge K Sorted Lists. Neste artigo, vamos desvendar uma implementação em Harbour/xBase para este desafio, demonstrando como podemos inteligentemente reutilizar a solução que já construímos para o problema 21. Veremos como a modularidade e a construção sobre soluções anteriores podem simplificar problemas mais complexos. **O Problema: LeetCode 23 - Merge K Sorted Lists** O desafio é o seguinte: dado um array (`aLists` em nossa implementação) contendo `k` listas encadeadas, onde cada lista já está ordenada em ordem cres...

Protheus :: "Windows® PowerShell® Script Stop and Start Services"

Como é do conhecimento de todos, os serviços do Protheus tem um "pequeno" problema no que diz respeito ao gerenciamento de memória (quando executado sobre a plataforma Windows Server 32). Sendo assim, de vez em quando faz-se necessário "reiniciar" esses serviços de forma a liberar memória e evitar efeitos colaterais. Em função desse "pequeno problema", disponibilizo um "script" em Windows® PowerShell® para "reiniciar" os serviços do Protheus. Para adaptá-lo às suas necessidades altere: $IniPort; $EndPort; o nome do serviço a ser "parado/reiniciado" e o intervalo de definição das "portas" (presumindo que existam vários serviços do Protheus "escutando" em um mesmo "server").

#Script Name P10Restart.ps1
$IniPort = 5110
$EndPort = 5911
for ( $Port = $IniPort ; $Port -le $EndPort ; $Port+=100 )
{
if ( get-service | where { $_.status -eq "running" -and $_.name -eq "P10Server"+$Port} )
{
Stop-Service -force P10Server$Port
Start-Service P10Server$Port
}
elseif ( get-service | where { $_.name -eq "P10server"+$Port} )
{
Start-Service P10Server$Port
}
}

Crie um agendamento (no meu caso, aos domingos) para que esse "script" seja executado.

Obs.:

  • Para que o "script" possa ser executado no "Task Manager" faz-se necessário informar o caminho completo do programa que irá executá-lo e o "script" a ser executado. Ex.: %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe c:\totvs\p10\scripts\P10Restart.ps1; e
  • Para que o "script" possa ser executado faz-se necessário autoriza-lo através do Windows® PowerShell® , sendo assim, execute o Windows® PowerShell® e digite o seguinte comando: get-help about_signing. Esse comando irá listar as opções de "Diretivas de Assinatura e de Execução" de "Script", leia-as atentamente. Mas se quiser pular esse passo (eu não recomendo)digite o seguinte comando no Windows® PowerShell® : Set-ExecutionPolicy Unrestricted. Esse comando fará que qualquer "Script" seja executado em sua máquina (mas atente para os ítens de segurança listados à partir do comando get-help about_signing).

Comentários

Postagens mais visitadas