Todo banco de dados possui features na qual desconhecemos, o que acaba nos levando a soluções mais complicadas ou menos eficientes, com o Oracle não é diferente. Por esse motivo, pretendo apresentar de forma bastante didática uma série com 10 features do Oracle 11g que eu desconhecia e que tem facilitado bastante minha vida desde meados de 2016.
Como primeira feature, apresento o CONNECT BY CLAUSE, na qual nos permite escrever consultas hierárquicas de forma simples levando todo o processamento para dentro do banco de dados. Além disso, também apresento outras maneiras de tirar proveito desta feature no dia a dia.
Apresentação de retrospectiva do ano de 2018 para exibir o que a equipe de desenvolvedores da MDIAS BRANCO obteve com seus tech-talks semanais, conhecidos como TechDays, e mostrando ranking dos profissionais que mais palestraram durante o ano.
Arquitetura Java - Escalando além do HypeRafael Ponte
É muito comum evangelizarem que hoje em dia uma aplicação somente escala se utilizarmos micro-serviços, containers, cloud computing e muitos outras tecnologias e práticas da moda, do tal do HYPE.
Mas será mesmo? Já se perguntou como as aplicações escalavam ANTES desse hype todo? Que tipos de práticas e tecnologias eram utilizadas? Alias, será mesmo que meu sistema web precisa escalar para centenas ou milhares de usuários?
Nessa palestra (lightning talk) de 15min vamos entender como podemos escalar nosso sistema web SEM se levar pelo hype, partindo de práticas mais simples e baratas até mais as rebuscadas e com um maior investimento. Se você entende pouco ou quase nada sobre como escalar uma aplicação web, então essa palestra é para você!
É muito comum um estagiário de TI após 6 meses de experiência deixar a empresa sem qualquer domínio ou conhecimento técnico para se virar no mercado, ou pior, ele desiste da área devido as dificuldades, cobranças e principalmente frustrações. Não é à toa, a TI é uma das áreas que mais contrata estagiários e ao mesmo tempo uma das que menos investe nesses aprendizes.
A verdade, é que um estagiário deveria (e deve) ser encarado como um investimento de médio-longo prazo em vez de simples mão de obra barata. Uma empresa que investe em um estagiário tem como retorno um profissional motivado e qualificado, acima da média, que absorveu não só conhecimentos técnicos, mas também a cultura da empresa e da sua equipe.
Mas como investir em um estagiário? Como treiná-lo? Nesta palestra compartilharei como a TriadWorks tem investido em seus estagiários e assim formado profissionais competentes no mercado, além dos erros e acertos nesse processo, dessa forma, empresas terão uma boa idéia de como aplicar práticas simples e úteis para treinar e orientar seus aprendizes e, claro, seus futuros profissionais.
Lidando com o Caos: Testando Código PLSQL em um Projeto CriticoRafael Ponte
O documento descreve as dificuldades enfrentadas por um desenvolvedor em um projeto crítico que envolvia grande volume de dados e regras de negócio complexas em PL/SQL. Para lidar com esses desafios, a equipe implementou práticas como funções pequenas com nomes legíveis, testes automatizados utilizando uma biblioteca Java para executar procedimentos PL/SQL e validar os resultados.
Como Apresentar Codigo em Slides - Javou #7 - 2016Rafael Ponte
O documento fornece dicas para apresentar código-fonte em slides de maneira efetiva: (1) use fonte mono-espaçada para melhor legibilidade, (2) evite excesso de informação e distrações, focando no essencial, (3) utilize cores de forma sutil para enfatizar partes-chave. O objetivo é guiar a audiência na solução de forma clara e direta ao invés de recriar a IDE.
Migrations for Java (Javou #4 - JavaCE)Rafael Ponte
O documento descreve a evolução incremental de um banco de dados utilizando migrations. As principais etapas descritas são: 1) Criar scripts SQL para cada mudança no banco de dados; 2) Rodar os scripts no banco de forma controlada; 3) Versionar as mudanças realizadas no banco.
Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015Rafael Ponte
O documento discute os problemas causados por desenvolvedores que trabalham sem disciplina e testes automatizados ("cowboys"), levando a reincidência de bugs, funcionalidades que param de funcionar sem motivo aparente e diminuição na velocidade de entrega de novas funcionalidades. O autor defende que é necessário mudar a forma como os desenvolvedores trabalham, adotando práticas como escrita de testes automatizados para aumentar a produtividade e qualidade do código.
Hibernate efetivo (IA-2014 / Disturbing the Mind)Rafael Ponte
Mesmo anos após o lançamento do Hibernate ainda é fácil encontrar projetos utilizando o framework de maneira ineficiente, podendo leva-lo a problemas sérios de performance ou até inviabilizar a aplicação. O uso não efetivo do Hibernate está intimamente ligado a erros comuns e más práticas em sua utilização, que vão desde pool de conexões, select n+1, configuração de cache, batch-size até o uso indevido do cache level 1 em processamentos batch e o tratamento de LazyInitializationException.
Palestra ministrada no evento Disturbing the Mind 2014 do Instituto Atlântico (IA).
Apresentação de retrospectiva do ano de 2018 para exibir o que a equipe de desenvolvedores da MDIAS BRANCO obteve com seus tech-talks semanais, conhecidos como TechDays, e mostrando ranking dos profissionais que mais palestraram durante o ano.
Arquitetura Java - Escalando além do HypeRafael Ponte
É muito comum evangelizarem que hoje em dia uma aplicação somente escala se utilizarmos micro-serviços, containers, cloud computing e muitos outras tecnologias e práticas da moda, do tal do HYPE.
Mas será mesmo? Já se perguntou como as aplicações escalavam ANTES desse hype todo? Que tipos de práticas e tecnologias eram utilizadas? Alias, será mesmo que meu sistema web precisa escalar para centenas ou milhares de usuários?
Nessa palestra (lightning talk) de 15min vamos entender como podemos escalar nosso sistema web SEM se levar pelo hype, partindo de práticas mais simples e baratas até mais as rebuscadas e com um maior investimento. Se você entende pouco ou quase nada sobre como escalar uma aplicação web, então essa palestra é para você!
É muito comum um estagiário de TI após 6 meses de experiência deixar a empresa sem qualquer domínio ou conhecimento técnico para se virar no mercado, ou pior, ele desiste da área devido as dificuldades, cobranças e principalmente frustrações. Não é à toa, a TI é uma das áreas que mais contrata estagiários e ao mesmo tempo uma das que menos investe nesses aprendizes.
A verdade, é que um estagiário deveria (e deve) ser encarado como um investimento de médio-longo prazo em vez de simples mão de obra barata. Uma empresa que investe em um estagiário tem como retorno um profissional motivado e qualificado, acima da média, que absorveu não só conhecimentos técnicos, mas também a cultura da empresa e da sua equipe.
Mas como investir em um estagiário? Como treiná-lo? Nesta palestra compartilharei como a TriadWorks tem investido em seus estagiários e assim formado profissionais competentes no mercado, além dos erros e acertos nesse processo, dessa forma, empresas terão uma boa idéia de como aplicar práticas simples e úteis para treinar e orientar seus aprendizes e, claro, seus futuros profissionais.
Lidando com o Caos: Testando Código PLSQL em um Projeto CriticoRafael Ponte
O documento descreve as dificuldades enfrentadas por um desenvolvedor em um projeto crítico que envolvia grande volume de dados e regras de negócio complexas em PL/SQL. Para lidar com esses desafios, a equipe implementou práticas como funções pequenas com nomes legíveis, testes automatizados utilizando uma biblioteca Java para executar procedimentos PL/SQL e validar os resultados.
Como Apresentar Codigo em Slides - Javou #7 - 2016Rafael Ponte
O documento fornece dicas para apresentar código-fonte em slides de maneira efetiva: (1) use fonte mono-espaçada para melhor legibilidade, (2) evite excesso de informação e distrações, focando no essencial, (3) utilize cores de forma sutil para enfatizar partes-chave. O objetivo é guiar a audiência na solução de forma clara e direta ao invés de recriar a IDE.
Migrations for Java (Javou #4 - JavaCE)Rafael Ponte
O documento descreve a evolução incremental de um banco de dados utilizando migrations. As principais etapas descritas são: 1) Criar scripts SQL para cada mudança no banco de dados; 2) Rodar os scripts no banco de forma controlada; 3) Versionar as mudanças realizadas no banco.
Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015Rafael Ponte
O documento discute os problemas causados por desenvolvedores que trabalham sem disciplina e testes automatizados ("cowboys"), levando a reincidência de bugs, funcionalidades que param de funcionar sem motivo aparente e diminuição na velocidade de entrega de novas funcionalidades. O autor defende que é necessário mudar a forma como os desenvolvedores trabalham, adotando práticas como escrita de testes automatizados para aumentar a produtividade e qualidade do código.
Hibernate efetivo (IA-2014 / Disturbing the Mind)Rafael Ponte
Mesmo anos após o lançamento do Hibernate ainda é fácil encontrar projetos utilizando o framework de maneira ineficiente, podendo leva-lo a problemas sérios de performance ou até inviabilizar a aplicação. O uso não efetivo do Hibernate está intimamente ligado a erros comuns e más práticas em sua utilização, que vão desde pool de conexões, select n+1, configuração de cache, batch-size até o uso indevido do cache level 1 em processamentos batch e o tratamento de LazyInitializationException.
Palestra ministrada no evento Disturbing the Mind 2014 do Instituto Atlântico (IA).
Mesmo anos após o lançamento do Hibernate ainda é fácil encontrar projetos utilizando o framework de maneira ineficiente, podendo leva-lo a problemas sérios de performance ou até inviabilizar a aplicação. O uso não efetivo do Hibernate está intimamente ligado a erros comuns e más práticas em sua utilização, que vão desde pool de conexões, select n+1, configuração de cache, batch-size até o uso indevido do cache level 1 em processamentos batch e o tratamento de LazyInitializationException.
Palestra ministrada no evento COALTI 2014 a convite do ALJUG (Grupo de usuários Java de Alagoas).
O documento descreve a evolução incremental do banco de dados de um projeto ao longo do tempo, começando com o uso do Hibernate para gerar esquemas automaticamente e depois migrando para ferramentas de migração como MyBatis Migrations.
Importancia dos Testes Automatizados no dia a dia (Don't Panic)Rafael Ponte
O documento discute a importância dos testes automatizados no desenvolvimento de software. Ele contrasta o método "cowboy" de programação, sem testes, com o método profissional que utiliza testes automatizados. O método cowboy leva a mais bugs, funcionalidades que param de funcionar aleatoriamente e menos novas funcionalidades implementadas, enquanto o método profissional permite um desenvolvimento mais estável e produtivo a longo prazo.
Importância dos testes automatizados no dia a diaRafael Ponte
Desenvolver software é uma luta contra complexidade. Cada linha de código que um programador escreve pode ser mais um ponto de falha no software. Para diminuir os riscos é fundamental que o programador e a equipe adotem uma cultura na escrita de testes, de preferência automatizados, para garantir que o software se comporte como esperado durante todo o ciclo de vida do desenvolvimento.
Nesta apresentação explanarei a importância dos testes automatizados de acordo com a cultura ágil, os tipos de testes que podemos escrever, os prejuízos causados pelo não uso de testes, os benefícios obtidos a médio e longo prazo, e as dificuldades ao escreve-los.
O documento discute problemas comuns relacionados ao Hibernate e suas soluções, abordando tópicas como: configuração incorreta de pool de conexões, exceção de inicialização preguiçosa e resoluções para lidar com ela, especialmente em aplicações web.
Assim como as Migrations no mundo Ruby On Rails, o mundo Java também possui diversas alternativas para evoluir o banco de dados de uma aplicação. Aprenda como você e sua equipe podem evoluir de maneira iterativa e incremental seu banco de dados (já em produção) durante a evolução da sua aplicação.
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)Rafael Ponte
O documento lista 10 maus hábitos comuns de desenvolvedores JSF. Estes incluem usar tags JSTL para esconder componentes em vez de atributos rendered, alterar estado de componentes no lado cliente, e não entender completamente o ciclo de vida do JSF. O documento fornece soluções como usar atributos rendered, alterar estado via AJAX, e estudar o ciclo de vida do JSF para desenvolver de forma mais eficiente.
Desenvolver software é uma luta contra complexidade. Cada linha de código que um programador escreve pode ser mais um ponto de falha no software. Para diminuir os riscos é fundamental que o programador e a equipe adotem uma cultura na escrita de testes, de preferência automatizados, para garantir que o software se comporte como esperado durante todo o ciclo de vida do desenvolvimento. Nesta apresentação explanarei a importância dos testes automatizados de acordo com a cultura ágil, os tipos de testes que podemos escrever, os benefícios obtidos a médio e longo prazo, e as dificuldades ao escreve-los. Será também apresentado algumas ferramentas úteis e relatos da minha experiência na escrita de testes no mercado de trabalho
Greenbar - Testes automatizados na sua empresaRafael Ponte
Experiência de quase 2 anos tentando inserir e manter a cultura de testes automatizados numa empresa. Desafios e as barreiras enfrentadas ao adotar a cultura de testes automatizados nesta empresa, onde acertamos e onde erramos, como a equipe (e isso inclui os gerentes) responderam a mudança e como isso impactou nos sprints e entrega de software.
This document discusses the development of a web framework based on components. It outlines some key features of the framework including:
- Configuration of components through a model
- Components can be reused and composed to build interfaces
- Events allow components to interact and validate data
The framework is designed to simplify development of web applications using reusable components with an interface to backend services. Standard components are proposed to represent common interface elements.
Os 10 maus hábitos dos desenvolvedores JSFRafael Ponte
O documento lista os 10 piores hábitos de desenvolvedores JSF e fornece soluções para cada um. 1) A maioria dos desenvolvedores não entende plenamente o ciclo de vida do JSF; 2) Componentes AJAX são usados de forma ineficiente; 3) Paginação de registros na sessão mata a escalabilidade.
Boas Práticas com JavaServer Faces (Jsf)Rafael Ponte
O documento discute boas práticas para o uso do JavaServer Faces (JSF), incluindo: otimizar requisições AJAX e atualizações parciais de páginas; depurar o ciclo de vida de uma requisição JSF; usar Facelets para melhor desempenho; integrar JSF com bibliotecas como RichFaces e ExtJS.
JavaServer Faces - Desenvolvendo aplicações web com produtividadeRafael Ponte
O documento apresenta JavaServer Faces (JSF), um framework MVC para desenvolvimento de aplicações web com componentes. JSF é uma especificação padrão que fornece produtividade através de uma variedade de componentes ricos prontos para uso e integração com diversas ferramentas de desenvolvimento.
O documento apresenta uma introdução ao Domain-Driven Design (DDD), definindo-o como uma abordagem de design de software focada na lógica do domínio para criar um modelo de domínio. Detalha alguns conceitos-chave do DDD como linguagem ubíqua, padrões de domínio e arquitetura orientada a camadas. Apresenta também vantagens da adoção do DDD e referências para aprendizado adicional sobre o tópico.
O documento descreve o framework JavaServer Faces (JSF), incluindo: 1) O que é JSF e suas principais características como um framework baseado em componentes, dirigido a eventos e padrão de mercado; 2) Por que usar JSF, com seus benefícios como produtividade, reusabilidade e suporte a diversas ferramentas; 3) Uma visão geral da tecnologia, abordando conceitos como componentes, renderers, managed beans e conversão/validação.
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Mesmo anos após o lançamento do Hibernate ainda é fácil encontrar projetos utilizando o framework de maneira ineficiente, podendo leva-lo a problemas sérios de performance ou até inviabilizar a aplicação. O uso não efetivo do Hibernate está intimamente ligado a erros comuns e más práticas em sua utilização, que vão desde pool de conexões, select n+1, configuração de cache, batch-size até o uso indevido do cache level 1 em processamentos batch e o tratamento de LazyInitializationException.
Palestra ministrada no evento COALTI 2014 a convite do ALJUG (Grupo de usuários Java de Alagoas).
O documento descreve a evolução incremental do banco de dados de um projeto ao longo do tempo, começando com o uso do Hibernate para gerar esquemas automaticamente e depois migrando para ferramentas de migração como MyBatis Migrations.
Importancia dos Testes Automatizados no dia a dia (Don't Panic)Rafael Ponte
O documento discute a importância dos testes automatizados no desenvolvimento de software. Ele contrasta o método "cowboy" de programação, sem testes, com o método profissional que utiliza testes automatizados. O método cowboy leva a mais bugs, funcionalidades que param de funcionar aleatoriamente e menos novas funcionalidades implementadas, enquanto o método profissional permite um desenvolvimento mais estável e produtivo a longo prazo.
Importância dos testes automatizados no dia a diaRafael Ponte
Desenvolver software é uma luta contra complexidade. Cada linha de código que um programador escreve pode ser mais um ponto de falha no software. Para diminuir os riscos é fundamental que o programador e a equipe adotem uma cultura na escrita de testes, de preferência automatizados, para garantir que o software se comporte como esperado durante todo o ciclo de vida do desenvolvimento.
Nesta apresentação explanarei a importância dos testes automatizados de acordo com a cultura ágil, os tipos de testes que podemos escrever, os prejuízos causados pelo não uso de testes, os benefícios obtidos a médio e longo prazo, e as dificuldades ao escreve-los.
O documento discute problemas comuns relacionados ao Hibernate e suas soluções, abordando tópicas como: configuração incorreta de pool de conexões, exceção de inicialização preguiçosa e resoluções para lidar com ela, especialmente em aplicações web.
Assim como as Migrations no mundo Ruby On Rails, o mundo Java também possui diversas alternativas para evoluir o banco de dados de uma aplicação. Aprenda como você e sua equipe podem evoluir de maneira iterativa e incremental seu banco de dados (já em produção) durante a evolução da sua aplicação.
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)Rafael Ponte
O documento lista 10 maus hábitos comuns de desenvolvedores JSF. Estes incluem usar tags JSTL para esconder componentes em vez de atributos rendered, alterar estado de componentes no lado cliente, e não entender completamente o ciclo de vida do JSF. O documento fornece soluções como usar atributos rendered, alterar estado via AJAX, e estudar o ciclo de vida do JSF para desenvolver de forma mais eficiente.
Desenvolver software é uma luta contra complexidade. Cada linha de código que um programador escreve pode ser mais um ponto de falha no software. Para diminuir os riscos é fundamental que o programador e a equipe adotem uma cultura na escrita de testes, de preferência automatizados, para garantir que o software se comporte como esperado durante todo o ciclo de vida do desenvolvimento. Nesta apresentação explanarei a importância dos testes automatizados de acordo com a cultura ágil, os tipos de testes que podemos escrever, os benefícios obtidos a médio e longo prazo, e as dificuldades ao escreve-los. Será também apresentado algumas ferramentas úteis e relatos da minha experiência na escrita de testes no mercado de trabalho
Greenbar - Testes automatizados na sua empresaRafael Ponte
Experiência de quase 2 anos tentando inserir e manter a cultura de testes automatizados numa empresa. Desafios e as barreiras enfrentadas ao adotar a cultura de testes automatizados nesta empresa, onde acertamos e onde erramos, como a equipe (e isso inclui os gerentes) responderam a mudança e como isso impactou nos sprints e entrega de software.
This document discusses the development of a web framework based on components. It outlines some key features of the framework including:
- Configuration of components through a model
- Components can be reused and composed to build interfaces
- Events allow components to interact and validate data
The framework is designed to simplify development of web applications using reusable components with an interface to backend services. Standard components are proposed to represent common interface elements.
Os 10 maus hábitos dos desenvolvedores JSFRafael Ponte
O documento lista os 10 piores hábitos de desenvolvedores JSF e fornece soluções para cada um. 1) A maioria dos desenvolvedores não entende plenamente o ciclo de vida do JSF; 2) Componentes AJAX são usados de forma ineficiente; 3) Paginação de registros na sessão mata a escalabilidade.
Boas Práticas com JavaServer Faces (Jsf)Rafael Ponte
O documento discute boas práticas para o uso do JavaServer Faces (JSF), incluindo: otimizar requisições AJAX e atualizações parciais de páginas; depurar o ciclo de vida de uma requisição JSF; usar Facelets para melhor desempenho; integrar JSF com bibliotecas como RichFaces e ExtJS.
JavaServer Faces - Desenvolvendo aplicações web com produtividadeRafael Ponte
O documento apresenta JavaServer Faces (JSF), um framework MVC para desenvolvimento de aplicações web com componentes. JSF é uma especificação padrão que fornece produtividade através de uma variedade de componentes ricos prontos para uso e integração com diversas ferramentas de desenvolvimento.
O documento apresenta uma introdução ao Domain-Driven Design (DDD), definindo-o como uma abordagem de design de software focada na lógica do domínio para criar um modelo de domínio. Detalha alguns conceitos-chave do DDD como linguagem ubíqua, padrões de domínio e arquitetura orientada a camadas. Apresenta também vantagens da adoção do DDD e referências para aprendizado adicional sobre o tópico.
O documento descreve o framework JavaServer Faces (JSF), incluindo: 1) O que é JSF e suas principais características como um framework baseado em componentes, dirigido a eventos e padrão de mercado; 2) Por que usar JSF, com seus benefícios como produtividade, reusabilidade e suporte a diversas ferramentas; 3) Uma visão geral da tecnologia, abordando conceitos como componentes, renderers, managed beans e conversão/validação.
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...alexjohnson7307
Predictive maintenance is a proactive approach that anticipates equipment failures before they happen. At the forefront of this innovative strategy is Artificial Intelligence (AI), which brings unprecedented precision and efficiency. AI in predictive maintenance is transforming industries by reducing downtime, minimizing costs, and enhancing productivity.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
A Comprehensive Guide to DeFi Development Services in 2024Intelisync
DeFi represents a paradigm shift in the financial industry. Instead of relying on traditional, centralized institutions like banks, DeFi leverages blockchain technology to create a decentralized network of financial services. This means that financial transactions can occur directly between parties, without intermediaries, using smart contracts on platforms like Ethereum.
In 2024, we are witnessing an explosion of new DeFi projects and protocols, each pushing the boundaries of what’s possible in finance.
In summary, DeFi in 2024 is not just a trend; it’s a revolution that democratizes finance, enhances security and transparency, and fosters continuous innovation. As we proceed through this presentation, we'll explore the various components and services of DeFi in detail, shedding light on how they are transforming the financial landscape.
At Intelisync, we specialize in providing comprehensive DeFi development services tailored to meet the unique needs of our clients. From smart contract development to dApp creation and security audits, we ensure that your DeFi project is built with innovation, security, and scalability in mind. Trust Intelisync to guide you through the intricate landscape of decentralized finance and unlock the full potential of blockchain technology.
Ready to take your DeFi project to the next level? Partner with Intelisync for expert DeFi development services today!
3. Name Null? Type
---------- -------- -------------
ID NOT NULL NUMBER(38)
NOME NOT NULL VARCHAR2(200)
CARGO NOT NULL VARCHAR2(100)
GERENTE_ID NUMBER(38)
describe tb_funcionarios;
4. Name Null? Type
---------- -------- -------------
ID NOT NULL NUMBER(38)
NOME NOT NULL VARCHAR2(200)
CARGO NOT NULL VARCHAR2(100)
GERENTE_ID NUMBER(38)
describe tb_funcionarios;
5. Name Null? Type
---------- -------- -------------
ID NOT NULL NUMBER(38)
NOME NOT NULL VARCHAR2(200)
CARGO NOT NULL VARCHAR2(100)
GERENTE_ID NUMBER(38)
describe tb_funcionarios;
(FOREIGN KEY)
6. Name Null? Type
---------- -------- -------------
ID NOT NULL NUMBER(38)
NOME NOT NULL VARCHAR2(200)
CARGO NOT NULL VARCHAR2(100)
GERENTE_ID NUMBER(38)
describe tb_funcionarios;
(FOREIGN KEY)
25. select f1.nome as funcionario
,f2.nome as gerente
,f3.nome as gerente_do_gerente
from tb_funcionarios f1
,tb_funcionarios f2
,tb_funcionarios f3
where f1.gerente_id = f2.id
and f2.gerente_id = f3.id
order by f.nome
;
26. select f1.nome as funcionario
,f2.nome as gerente
,f3.nome as gerente_do_gerente
from tb_funcionarios f1
,tb_funcionarios f2
,tb_funcionarios f3
where f1.gerente_id = f2.id
and f2.gerente_id = f3.id
order by f.nome
;
27. E o gerente do gerente
do gerente … do
gerente?
33. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
34. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
35. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
36. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
37. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
38. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
39. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
40. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
41. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
42. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
Stevens
Thaio
43. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
44. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
Stevens
Thaio
Principe Victor Aldeir
45. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
Stevens
Thaio
Principe Victor Aldeir
46. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
Stevens
Thaio
Principe Victor Aldeir
47. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
Stevens
Thaio
Principe Victor Aldeir
48. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
Stevens
Thaio
Principe Victor Aldeir
51. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,????? as gerente_nome
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
52. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,????? as gerente_nome
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
53. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,prior f.nome as gerente_nome
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
54. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,prior f.nome as gerente_nome
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
55. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,prior f.nome as gerente_nome
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
57. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
59. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
Chris
Rafael
Plauto
Ricardo
Stevens
Thaio
Principe
Guto …
Victor Aldeir
Maia
Pimentel Roberto
…
60. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
Chris
Rafael
Plauto
Ricardo
Stevens
Thaio
Principe
Guto …
Victor Aldeir
Maia
Pimentel Roberto
…
61. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
Chris
Rafael
Plauto
Ricardo
Stevens
Thaio
Principe
Guto …
Victor Aldeir
Maia
Pimentel Roberto
…
62. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
Chris
Rafael
Plauto
Ricardo
Stevens
Thaio
Principe
Guto …
Victor Aldeir
Maia
Pimentel Roberto
…
Root Node
63. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
;
Chris
Rafael
Plauto
Ricardo
Stevens
Thaio
Principe
Guto …
Victor Aldeir
Maia
Pimentel Roberto
…
Root Node
70. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.id = 3
;
71. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.id = 3
;
72. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.id = 3
;
73. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.id = 3
;
74. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.id = 3
;
75. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.id = 3
;
76. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.id = 3
;
77. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.id = 3
;
79. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.id = 3
;
80. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.id in (3, 45, 104)
;
86. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.id in (3, 45, 104)
;
87. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
;
88. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
;
97. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
;
98. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
;
99. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
;
100. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
;
103. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || id as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
;
104. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.id as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
;
105. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.id as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
;
106. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.id as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
;
107. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.id as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
;
108. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || id as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
;
109. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
;
110. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
;
112. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
113. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order by f.nome
;
114. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order by f.nome
;
115. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order by f.nome
;
????
116. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order by f.nome
;
117. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order by f.nome
;
118. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
119. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
120. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
x
123. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
124. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
125. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
126. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
127. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
128. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
131. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
132. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
133. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id = 3
order siblings by f.nome
;
134. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id = 3
order siblings by f.nome
;
ERROR:
ORA-01436: CONNECT BY loop in user data
135. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
from tb_funcionarios f
connect by f.gerente_id = prior f.id
start with f.gerente_id = 3
order siblings by f.nome
;
136. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
from tb_funcionarios f
connect by nocycle f.gerente_id = prior f.id
start with f.gerente_id = 3
order siblings by f.nome
;
137. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
from tb_funcionarios f
connect by nocycle f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
138. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
,connect_by_cycle as is_cycle
from tb_funcionarios f
connect by nocycle f.gerente_id = prior f.id
start with f.gerente_id = 3
order siblings by f.nome
;
139. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
,connect_by_iscycle as is_cycle
from tb_funcionarios f
connect by nocycle f.gerente_id = prior f.id
start with f.gerente_id = 3
order siblings by f.nome
;
140. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
,connect_by_cycle as is_cycle
from tb_funcionarios f
connect by nocycle f.gerente_id = prior f.id
start with f.gerente_id = 3
order siblings by f.nome
;
141. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
,connect_by_cycle as is_cycle
from tb_funcionarios f
connect by nocycle f.gerente_id = prior f.id
start with f.gerente_id = 3
order siblings by f.nome
;
144. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
,connect_by_iscycle as is_cycle
,connect_by_isleaf as is_leaf
,connect_by_root f.id as root_id
from tb_funcionarios f
connect by nocycle f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
145. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
,connect_by_iscycle as is_cycle
,connect_by_isleaf as is_leaf
,connect_by_root f.id as root_id
from tb_funcionarios f
connect by nocycle f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
146. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
,connect_by_iscycle as is_cycle
,connect_by_isleaf as is_leaf
,connect_by_root f.id as root_id
from tb_funcionarios f
connect by nocycle f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
147. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
,connect_by_iscycle as is_cycle
,connect_by_isleaf as is_leaf
,connect_by_root f.id as root_id
from tb_funcionarios f
connect by nocycle f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
148. select f.id as id
,f.nome as funcionario
,f.cargo as cargo
,f.gerente_id as gerente_id
,level
,lpad('.', (level-1), '.') || f.nome as tree
,sys_connect_by_path(f.nome, '->') as path
,connect_by_iscycle as is_cycle
,connect_by_isleaf as is_leaf
,connect_by_root f.id as root_id
from tb_funcionarios f
connect by nocycle f.gerente_id = prior f.id
start with f.gerente_id is null
order siblings by f.nome
;
155. SELECT
add_months(input, (level-1) * 12) as start_date
,add_months(input, level * 12) as end_date
FROM (
-- Set the input date here
SELECT DATE'2012-02-01' as input
FROM DUAL
)
CONNECT BY
add_months(input, (level-1) * 12) < Sysdate
;
156. SELECT
add_months(input, (level-1) * 12) as start_date
,add_months(input, level * 12) as end_date
FROM (
-- Set the input date here
SELECT DATE'2012-02-01' as input
FROM DUAL
)
CONNECT BY
add_months(input, (level-1) * 12) < Sysdate
;
157. SELECT
add_months(input, (level-1) * 12) as start_date
,add_months(input, level * 12) as end_date
FROM (
-- Set the input date here
SELECT DATE'2012-02-01' as input
FROM DUAL
)
CONNECT BY
add_months(input, (level-1) * 12) < Sysdate
;
158. SELECT
add_months(input, (level-1) * 12) as start_date
,add_months(input, level * 12) as end_date
FROM (
-- Set the input date here
SELECT DATE'2012-02-01' as input
FROM DUAL
)
CONNECT BY
add_months(input, (level-1) * 12) < Sysdate
;
159. SELECT
add_months(input, (level-1) * 12) as start_date
,add_months(input, level * 12) as end_date
FROM (
-- Set the input date here
SELECT DATE'2012-02-01' as input
FROM DUAL
)
CONNECT BY
add_months(input, (level-1) * 12) < Sysdate
;
x
está incluindo hoje,
2019-01-31