Jump to content

Rui Carlos

Staff
  • Posts

    8,645
  • Joined

Rui Carlos's Achievements

unsigned user

unsigned user (4/5)

  • Solver Silver Rare
  • 10 Years
  • 1 Year
  • Voter Bronze
  • Voter Gold Rare

Recent Badges

418

Reputation

92

Community Answers

  1. Em sistemas UNIX, o prefixo file:// (em vez de http://, por exemplo) costuma funcionar para indicar que se trata de um URL para um ficheiro local.
  2. Parece um problema na instalação do Gradle. Qual é o sistema operativo que estás a usar?
  3. Este assunto teve mais alguns desenvolvimentos, um simplesmente parvo, em que o WordPress.org exigir confirmação que não se tem afiliação com o WP Engine quando se faz login, e outro um pouco mais sério, em que a WordPress basicamente se apropriou do plugin Advanced Custom Fields, o que me parece que passa de todos os limites aceitáveis. Já há uns anos que me tenho andado a afastar do WordPress por razões técnicas (há soluções mais simples para muitos use cases), mas agora parece-me que o WordPress é uma plataforma mesmo a evitar. Algumas opiniões sobre o assunto: Is Matt Mullenweg defending WordPress or sabotaging it? Automattic is doing open source dirty Open source royalty and mad kings Matt Mullenweg and WordPress Hijack the Advanced Custom Fields Plugin Open source business model struggles at WordPress
  4. O tamanho é a melhor protecção contra brute force. E a partir do momento em que se use um gestor de passwords, a diferença entre 8 caracteres e 100 é praticamente invisível. Mas o que me agrada nas regras é que é bastante mais fácil seguir regras de tamanho do que regras de combinações de caracteres (que por vezes obrigam a caracteres especiais, mas só alguns), e acaba-se a treta das passwords expirarem a cada N meses sem motivo para tal (há certamente cenários em que faz sentido rodar passwords, mas não como política default). Quanto ao MD5, há outras recomendações no texto, que tocam nessa parte 🙂 (quem usa MD5 não é propriamente seguidor deste tipo de recomendações). Não sei exactamente em que contextos a MS está a preferir PINs, mas parece-me uma solução aceitável para quando também há hardware que possuis envolvido (pc, telemóvel, FIDO key, smart card, etc.). Mas diria que a preferência é mais por autenticação de dois factores (PIN, mais algo físico que se possui), do que por PIN.
  5. O NIST publicou recentemente um conjunto de recomendações para relacionadas com autenticação, que incluem algumas recomendações sobre passwords, que vale a pena ler: Em particular, temos agora recomendações claras para acabar com os requisitos parvos de complexidade de passwords que não baseados no tamanho, para que as passwords não expirem só porque sim, e para acabar com as questões de segurança.
  6. Fonte: https://www.theregister.com/2024/09/26/wordpressorg_denies_service_to_wp Mais um projecto open source a ir por um caminho pouco recomendável.
  7. Pelo que percebi da documentação do projecto, precisas de uma versão modificada do FPDF para teres suporte para UTF-8, o tFPDF.
  8. In: https://www.gov.uk/service-manual/technology/using-progressive-enhancement Via Alex Russell (e dentro do tópico, value também a pena ler a série Reckoning do Alex Russel).
  9. Fonte: https://arstechnica.com/tech-policy/2024/09/apple-must-pay-e13-billion-in-back-taxes-after-losing-final-appeal/
  10. Encontrei recentemente o site Project Wallace, que disponibiliza um analizador estático de CSS, para simplesmente para reportar métricas sobre o código, ou para reportar "qualidade" do código. O projecto é open source, o pode ser usado de várias formas, incluíndo directamente a partir do site, ou através de uma biblioteca NPM.
  11. Suspeito que precisas de ' ou " à volta do valor. Algo como "document.getElementById('username').value='" + NIF + "'". Caso contrário, obtém-se o código Javascript document.getElementById('username').value=ABCDEGHIJ, onde ABCDEGHIJ será considerado o nome de uma viável, e não a string "ABCDEGHIJ". E como não declaraste uma variável com esse nome, ficas com algo equivalente a document.getElementById('username').value=undefined.
  12. A Google apresentou recentemente uma extensão ao SQL, que já implementaram internamente: um operador pipe (|>) para compor queries. No último ano, tenho usado cada vez mais PySpark para tarefas de análise de dados, precisamente pela forma como é fácil construir as queries compondo pequenos passos, quando comparado com SQL. (Por outro lado, o PySpark, sendo uma API, é um pouco mais verboso que o SQL.) O operador |> parece-me grande potencial para colmatar esta lacuna do SQL, e tornar o SQL novamente a minha linguagem de eleição para processamento de dados. https://research.google/pubs/sql-has-problems-we-can-fix-them-pipe-syntax-in-sql/
  13. Tens aqui uma resposta relativamente detalhada do @antseq sobre o processo de certificação, que deve responder à maior parte das tuas dúvidas. Esta página da AT também deve ajudar.
  14. Rui Carlos

    Linked List

    Tens alguma informação aqui: https://wiki.portugal-a-programar.pt/dev_geral/pascal/ponteiros/#listas-ligadas (é com Pascal, mas os princípios são os mesmos).
  15. Disclaimer: Não tenho experiência com Android (e mesmo executores é algo que raramente tenho de configurar manualmente). Podes criar facilmente um executor com o seguinte código: private final ExecutorService executorService = Executors.newFixedThreadPool(2); Isto deverá estar armazenado num campo da classe (e assumo que a classe seja um singleton, caso contrário deves ver como partilhar o executor, com dependency injection ou similar). Depois podes submeter um Runnable para o executor, que simplesmente corre o teu método actual: public void printAsync() { executor.execute(new Runnable() { @Override public void run() { printdoc(); } }); } Se tiveres mais problemas, é capaz de ser boa ideia separar o método printdoc em vários métodos para facilitar a implementação de testes unitários.
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.