<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Michel Peter</title>
    <description>The latest articles on DEV Community by Michel Peter (@michelpeter).</description>
    <link>https://dev.to/michelpeter</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F633790%2Fe8b33ac2-3112-4c8e-b26c-42239279c8d4.jpg</url>
      <title>DEV Community: Michel Peter</title>
      <link>https://dev.to/michelpeter</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/michelpeter"/>
    <language>en</language>
    <item>
      <title>Lógica  e Linguagem de Programação Lean</title>
      <dc:creator>Michel Peter</dc:creator>
      <pubDate>Wed, 23 Feb 2022 17:34:54 +0000</pubDate>
      <link>https://dev.to/michelpeter/logica-e-linguagem-de-programacao-lean-13j</link>
      <guid>https://dev.to/michelpeter/logica-e-linguagem-de-programacao-lean-13j</guid>
      <description>&lt;p&gt;O lean é uma linguagem de programação funcional que facilita a escrita de código correto e sustentável, mas podemos também usar como um provador de teoremas, podemos definir conceitos matemáticos, escrever programas, podendo provar as propriedades desses programas, sobre as definições matemáticas. A programação enxuta é uma metodologia focada em otimizar a eficiência e minimizar o desperdício de aplicativos de software durante seu design e criação. Essa metodologia pode ser aplicada em toda a organização e envolver todas as partes interessadas no desenvolvimento e entrega de um aplicativo de software. A programação enxuta era um conceito da indústria japonesa adotado pelos EUA durante os anos 80. Seu principal objetivo é a melhoria contínua do produto em todos os níveis e estágios operacionais. Na programação lean, os defeitos de software são uma parte aceita do desenvolvimento de aplicativos e a eliminação deles é um objetivo principal. Isso envolve reduzir a quantidade de código associado a produtos sem erros, o que, por sua vez, reduz estoques e desperdícios inflados. Por exemplo, pedaços menores de código pré-testado e sem erros são frequentemente usados para criar aplicativos maiores para atender às necessidades do cliente. Se implementada adequadamente, a programação enxuta pode fornecer um produto completo dentro do orçamento e com maior eficiência, aumentando, por fim, a satisfação do cliente. Como em qualquer metodologia, o aspecto mais difícil da programação lean geralmente pode convencer os programadores a implementar novos métodos de desenvolvimento. O desenvolvimento de software enxuto é uma filosofia de desenvolvimento de software que visa otimizar a produção de aplicativos e produtos de software e torná-los mais eficientes. A filosofia é popularmente atribuída ao livro com o mesmo título de Mary e Tom Peppendieck. Também evoluiu com base em estratégias comuns de manufatura enxuta em indústrias físicas implementadas pela Toyota Project Systems. No desenvolvimento de software lean, vários objetivos se aplicam, incluindo como: &lt;br&gt;
Eliminar desperdício;&lt;br&gt;
Amplifique o aprendizado;&lt;br&gt;
Entregue o mais cedo e mais rápido possível;&lt;br&gt;
Capacitar pessoas;&lt;br&gt;
Avaliar a integridade do projeto;&lt;br&gt;
Veja o projeto de forma abrangente.&lt;br&gt;
Muitos desses objetivos amplos são expressos na forma de esforços específicos. Por exemplo, a eliminação de desperdícios ocorre de várias formas, desde a criação de módulos de desenvolvimento mais inteligentes até a descoberta de novas maneiras de escrever código. Em geral, o desenvolvimento de software lean se fundiu com outra filosofia chamada “desenvolvimento ágil de software”, que governa a maneira como programadores e designers trabalham juntos e fornece diretrizes e estruturas úteis para o desenvolvimento de software como um todo.&lt;/p&gt;

&lt;p&gt;Referências:&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=kTQZiyniYYI"&gt;https://www.youtube.com/watch?v=kTQZiyniYYI&lt;/a&gt;&lt;br&gt;
&lt;a href="https://youtu.be/POHVMMG7pqE"&gt;https://youtu.be/POHVMMG7pqE&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=NbXkhPmUvug"&gt;https://www.youtube.com/watch?v=NbXkhPmUvug&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=arwiwBPZA-0"&gt;https://www.youtube.com/watch?v=arwiwBPZA-0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://open.spotify.com/episode/1Hoc1CZ13HQukuqXMqG8qA?si=ikX-62qNRFGobOCIqJFf6w&amp;amp;utm_source=whatsapp"&gt;https://open.spotify.com/episode/1Hoc1CZ13HQukuqXMqG8qA?si=ikX-62qNRFGobOCIqJFf6w&amp;amp;utm_source=whatsapp&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Lean</title>
      <dc:creator>Michel Peter</dc:creator>
      <pubDate>Mon, 14 Feb 2022 16:35:08 +0000</pubDate>
      <link>https://dev.to/michelpeter/lean-dm6</link>
      <guid>https://dev.to/michelpeter/lean-dm6</guid>
      <description>&lt;p&gt;Hoje temos um uso generalizado da palavra Lean, onde para qualquer lado que olhamos ouvimos essa expressão, seja no Lean Startup, Lean Kanbam, Lean Safe, parece que tudo está tentando se tornar Lean. &lt;br&gt;
O sistema ou método Lean surgiu no Japão entre as décadas de 1950 e 1960. Nessa época, o país tinha acabado de perder a 2° guerra mundial e precisava se reconstruir em todos os aspectos: política, econômica e socialmente.&lt;br&gt;
E é nesse contexto histórico que a empresa automobilística Toyota Motor Corporation chega ao mercado, enfrentando já em seu início pouca produtividade e falta de recursos. Tendo como desafio criar um modelo de trabalho que não necessitasse de grandes estoques, o que manteria um fluxo de caixa e atenderia a alta demanda.&lt;br&gt;
Então o engenheiro e chefe de produção da Toyota, Taiichi Ohno, se junta com o fundador da Toyota, Toyota Sakichi e seu filho Toyoda Kiichiro para criar uma solução que garantisse alta qualidade dos produtos, menor prazo e menor custo, surgindo o Toyota Production System (TPS), em português Sistema Toyota de Produção. Com esse sistema, a empresa deixou de precisar de um número grande de estoque e mesmo assim manteve um fluxo de caixa constante e que atendia às altas demandas. Isso porque através dela, a empresa passou a revisar todo processo de produção para identificar possíveis partes que não agregam valor e, portanto, podiam ser eliminadas, diminuindo os desperdícios. Existem 7 tipos de desperdícios no Lean:&lt;br&gt;
1) Superprodução: Produzir excessivamente ou cedo demais, resultando em um fluxo pobre de peças e informações, ou excesso de inventário. A produção em excesso é, em si, um grande desperdício, mas que pode acarretar também em outros problemas. Ao produzir sem nenhuma percepção sobre a sua demanda, o seu estoque fica sem previsão de capacidade de armazenamento; &lt;br&gt;
2) Espera: Longos períodos de ociosidade de pessoas, peças e informação, resultando em um fluxo pobre, bem como em lead times longos. “Tempo é dinheiro” é a máxima que melhor pode definir os desperdícios de “Espera”. Quando nos referimos aqui à espera, é literalmente o processo de aguardar por algo; &lt;br&gt;
3) Transporte excessivo: Movimento excessivo de pessoas, informação ou peças resultando em dispêndio desnecessário de capital, tempo e energia. Uma das maneiras de evitar esse desperdício lean é criar um fluxo de processo que siga uma ordem e seja organizado no ambiente de trabalho em formato de U, por exemplo, que minimiza os deslocamentos;&lt;br&gt;
4) Processos Inadequados: Utilização do jogo errado de ferramentas, sistemas ou procedimentos, geralmente quando um processo mais simples pode ser mais efetivo. O conceito é fácil de entender, mas, na prática, é comum confundir atividades que geralmente são essenciais e impactam na qualidade final, daquelas atividades que podem ser eliminadas ou extintas sem prejuízo na produção;&lt;br&gt;
5) Inventário desnecessário: Armazenamento excessivo e falta de informação ou produtos, coisas que não são usadas na produção, resultando em custos excessivos e baixa performance do serviço prestado ao cliente; &lt;br&gt;
6) Movimentação desnecessária: Desorganização do ambiente de trabalho, resultando baixo desempenho dos aspectos ergonômicos e perda frequente de itens. &lt;br&gt;
7) Produtos Defeituosos: Problemas frequentes nas cartas de processo, problemas de qualidade do produto, ou baixa performance na entrega.&lt;br&gt;
O termo “Lean” foi compartilhado com o mundo pela primeira vez no livro The Machine that Changed the World, de James P. Womack, Daniel T. Jones e Daniel Roos, publicado nos Estados Unidos em 1990. A obra evidencia um estudo da indústria automobilística mundial que foi realizado pelo Massachusetts Institute of Technology (MIT) e contempla conceitos e métodos de trabalho que fundamentaram essa filosofia.&lt;br&gt;
Compartilhado pelo John Shook, que chegou a se tornar Chairman e CEO do Lean Enterprise Institute, nos Estados Unidos, ele conta que foi ao Japão trabalhar na Toyota e lá descobriu que o método não era apenas um mecanismo para resolver problemas, mas um modelo de gestão que, a partir disso, começou a ser denominado “produção enxuta” (Lean manufacturing).&lt;br&gt;
Implementar o pensamento enxuto na empresa é algo que demanda planejamento, esforço e abertura para a mudança. É preciso mapear todos os processos e atividades para identificar os pontos que geram desperdícios e aqueles que podem ser aprimorados — visualizando assim os chamados fluxos de valor.&lt;br&gt;
Essa tarefa pode ser feita nos mais diversos processos e setores de uma empresa, inclusive na área administrativa, marketing e gestão, aplicando a Metodologia Lean em diversos níveis e na organização como todo.&lt;br&gt;
Existem algumas ferramentas que podem ajudar nesse processo, como o Six Sigma, 5S, Canvas, Kanban, entre outros, para identificar aquilo que realmente é importante para a empresa, atividades e tarefas. Além disso, algumas soluções tecnológicastambém contribuem para otimizar operações e melhorar resultados.&lt;br&gt;
As empresas que adotam essa filosofia tendem a ter resultados a médio e longo prazo e relacionados a diferentes questões, não só na típica redução de desperdícios. Há também a progressão da produtividade, mais competitividade, ambiente de trabalho mais rápido e organizado.&lt;/p&gt;

&lt;p&gt;Produto, serviço e atendimento com foco no cliente&lt;br&gt;
A Metodologia Lean faz com que a empresa foque no cliente, com isso ela passa a enxergar melhor as suas necessidades e transferi-las ao produto ou serviço. O lema da filosofia é: se algo está prejudicando de alguma forma ou não atendendo as expectativas do consumidor, então ele precisa ser eliminado.&lt;br&gt;
Pensar através dessa perspectiva obriga a corporação a entregar produtos e serviços melhores e a prestar um melhor atendimento que foque em fidelizá-lo. Sendo uma prática que ajuda a manter e fidelizar clientes.&lt;/p&gt;

&lt;p&gt;Otimização e organização dos recursos da empresa&lt;br&gt;
Como o nome dessa filosofia já dá a entender (produção enxuta), uma das mudanças que ela gera na empresa é a diminuição de estoque de matéria-prima e produtos em sua versão final, porque a ideia dela é acabar com os excessos e desperdícios.&lt;br&gt;
Ou seja, a empresa passa a trabalhar de acordo com a demanda de mercado, assim ela terá menos materiais parados e pouca necessidade de espaço físico para comportá-los.&lt;/p&gt;

&lt;p&gt;Melhora na produtividade&lt;br&gt;
Ao dispor de um processo de gestão simplificado, resultado dos excessos eliminados, o fluxo de trabalho da empresa melhora e a administração se torna ainda mais efetiva.&lt;br&gt;
A nova metodologia ainda permite que os colaboradores tenham uma participação mais ativa no ambiente corporativo, dando espaço para que eles contribuam com ideias, sugestões e novidades de mercado para aperfeiçoar ainda mais os processos e suas atividades.&lt;/p&gt;

&lt;p&gt;Aumento nos lucros&lt;br&gt;
Todas as vantagens geradas pela implementação da Metodologia Lean levam ao aumento da receita da empresa. Uma vez que os desperdícios são eliminados, a capacidade de produção aumenta e há economia nos espaços físicos ou nos materiais de produção, logo a margem de lucro aumenta.&lt;/p&gt;

&lt;p&gt;Conclusão&lt;br&gt;
A Metodologia Lean é um conceito que pode ajudar a empresa a melhorar seus resultados, eliminando pontos que não agregam ao objetivo final, otimizando processos e gerando maior valor ao cliente.&lt;br&gt;
Diversas organizações usam esse método há anos, sendo uma das metodologias mais consolidadas no ambiente corporativo. Mas, mesmo as teorias mais respeitadas podem ser aprimoradas ao aproveitar os avanços tecnológicos: a tradição e a modernidade são aliadas das empresas ao aplicar o melhor de cada uma em seu dia a dia.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Linguagem Elixir</title>
      <dc:creator>Michel Peter</dc:creator>
      <pubDate>Thu, 09 Dec 2021 17:45:32 +0000</pubDate>
      <link>https://dev.to/michelpeter/linguagem-elixir-19fd</link>
      <guid>https://dev.to/michelpeter/linguagem-elixir-19fd</guid>
      <description>&lt;p&gt;Linguagem de Programação Elixir?&lt;br&gt;
Elixir é uma linguagem de programação funcional executada na máquina virtual do Erlang. Para quem não sabe, o Erlang foi desenvolvido pela Ericsson, empresa conhecida pelos celulares super modernos da década 2000.&lt;br&gt;
Mas, ao contrário do que muitas pessoas pensam, ela não está obsoleta, tanto que é a linguagem utilizada por um dos aplicativos mais utilizados no mundo: o WhatsApp!&lt;br&gt;
Voltando ao Elixir, sua origem é brasileira, mas já é conhecido e utilizado por desenvolvedores em todo o mundo. O seu diferencial é o fato do seu código ser executado através de processos isolados, o que aumenta a eficiência no uso de recursos disponíveis pelas máquinas.&lt;br&gt;
Conheça mais sobre o Elixir, uma linguagem criada para facilitar seus processos e elevar a produtividade das equipes. Boa leitura!&lt;br&gt;
Qual a origem do Elixir?&lt;br&gt;
O Elixir foi lançado em 2012 e criado por José Valim, através de um projeto da empresa de consultoria de software Plataformatec. Seu código é executado através de processos isolados, que trocam informações por meio de mensagens.&lt;br&gt;
Esse isolamento dos processos permite que eles sejam coletados de forma independente, reduzindo as pausas e, consequentemente, utilizando todos os recursos da máquina com máxima eficiência. Os processos, ainda, se comunicam entre máquinas diferentes na mesma rede.&lt;br&gt;
O seu criador já havia se destacado no cenário do desenvolvimento e, na época, participava do Rails Core Team, grupo responsável pelo desenvolvimento do Ruby on Rails. Este é um framework livre que aumenta a velocidade e facilita o desenvolvimento de sites orientados a banco de dados. Uma vez que permite criar aplicações com base em estruturas pré-definidas.&lt;br&gt;
José Valim e sua equipe já estavam trabalhando na melhoria da performance do Rails, principalmente buscando soluções para trabalhar com sistema Multicores ainda mais potentes. Com o tempo, porém, percebeu que a melhor solução seria optar por uma outra linguagem. E foi assim que a Erlang entrou na história.&lt;br&gt;
Os especialistas perceberam que trabalhar com a Erlang solucionava muitos dos problemas notados no Ruby on Rail, principalmente aqueles relacionados à computação distribuída. Entretanto, por outro lado, ela deixava a desejar em alguns outros pontos.&lt;br&gt;
Por conta disso, foi criado o Elixir, linguagem executada através da Erlang VM, uma máquina virtual conhecida por criar aplicações distribuídas com baixa latência e tolerante a falhas.&lt;br&gt;
Por ser executado através dessa Virtual Machine, permite que os desenvolvedores utilizem todas as bibliotecas do Erlang enquanto desenvolvem com o Elixir.&lt;br&gt;
Quais os diferenciais do Elixir?&lt;/p&gt;

&lt;p&gt;Um dos diferenciais do Elixir é o Polimorfismo, que consiste na capacidade de assumir diferentes formas. Isso fez com que a linguagem se tornasse extensível, ou seja, é possível adicionar novas funcionalidades sempre que necessário.&lt;br&gt;
Ele ganhou destaque porque passou a ser adotado em grandes soluções. A linguagem conta com uma comunidade grande e ativa, que realiza eventos e conferências nos quatro cantos do mundo. E muito disso é devido à junção de performance com facilidade de desenvolvimento e, consequentemente, alta produtividade.&lt;br&gt;
O Elixir pode ser utilizado desde uma aplicação web até em um sistema embarcado. Tem um grande ecossistema e boas ferramentas para facilitar a vida dos desenvolvedores.&lt;br&gt;
Ele conta, por exemplo, com o Mix, uma ferramenta de compilação que fornece tarefas para criar, compilar, testar aplicativos e gerenciar projetos e dependências. E através do Hex, seu package manager oficial, é possível encontrar uma quantidade gigante de libs, incluindo as do Erlang.&lt;br&gt;
Ele disponibiliza um framework chamado ExUnit para a realização de testes unitários e, ainda, possui um terminal interativo, o IEx (Elixir’s Interactive Shell), que oferece funcionalidades como:&lt;br&gt;
Autocompletar;&lt;br&gt;
Histórico;&lt;br&gt;
Avaliação de expressões.&lt;br&gt;
E, como é visto em outras linguagens nesse formato imperativo de programar, é possível executar códigos com comandos e funções em tempo real. Isso é muito bom para quem está aprendendo a lidar com linguagem ou que possui uma grande demanda de projetos a serem executados.&lt;br&gt;
Alguns dos Frameworks mais conhecidos do Elixir são:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Phoenix: Permite criar aplicativos interativos na web rapidamente. Pode ser utilizado, portanto, para o desenvolvimento web, de APIs e aplicativos HTML5;&lt;/li&gt;
&lt;li&gt;Nerves: Trata-se da plataforma e infraestrutura de código aberto que permite criar, implantar e gerenciar dispositivos IoT com total segurança, velocidade e em escala. Também serve para Embedded;&lt;/li&gt;
&lt;li&gt;Plug: Destinado para aplicações na web;&lt;/li&gt;
&lt;li&gt;Sugar: Muito utilizado para desenvolvimento web, garantindo rapidez, facilidade e eficácia ao projeto.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Quais empresas e projetos utilizam o Elixir?&lt;/p&gt;

&lt;p&gt;Essa linguagem é utilizada por grandes empresas, seja no desenvolvimento web ou na construção de sistemas embarcados. Entre elas, estão:&lt;br&gt;
Bleacher Report, site esportivo sediado em São Francisco (EUA);&lt;br&gt;
Inverse, outra empresa americana de mídia digital;&lt;br&gt;
Adobe, multinacional americana que desenvolve programas de computador, como Acrobat Reader.&lt;br&gt;
E-MetroTel, uma companhia de comunicação integrada;&lt;br&gt;
Moz, empresa de software focada em SEO e Inbound Marketing.&lt;br&gt;
Entre as soluções mais famosas que foram criadas utilizando o Elixir, destacam-se:&lt;br&gt;
WhatsApp, aplicativo de troca de mensagem utilizado por 2 bilhões de pessoas no mundo;&lt;br&gt;
Pinterest, rede social para compartilhamento de imagens;&lt;br&gt;
Discord, aplicativo, projetado especialmente para comunidade de jogos, que permite que as pessoas se comuniquem por voz, vídeo e texto;&lt;br&gt;
Envato, um marketplace para recursos digitais e pessoas criativas.&lt;br&gt;
Como é possível perceber, o Elixir é uma linguagem brasileira que conquistou empresas no mundo todo. Seus benefícios são diversos – o que pode ser percebido pelo fato de estar por trás de aplicativos utilizados em larga escala.&lt;br&gt;
Características&lt;br&gt;
Uma linguagem que compila para bytecode para a máquina virtual da Erlang (BEAM)&lt;br&gt;
Tudo é uma expressão&lt;br&gt;
Funções de Erlang podem ser chamadas de Elixir, sem impacto no tempo de execução, devido à compilação para o bytecode Erlang, e vice-versa&lt;br&gt;
Metaprogramação permitindo a manipulação direta de árvores sintáticas abstratas&lt;br&gt;
Suporte para documentação via docstrings tipo Python na linguagem de formatação Markdown.&lt;br&gt;
Polimorfismo via um mecanismo chamado protocolos. Como em Clojure, os protocolos fornecem um mecanismo de ligação dinâmica. No entanto, isso não deve ser confundido com o despacho múltiplo uma vez que os protocolos em Elixir despacham em um único tipo.&lt;br&gt;
Ênfase na recursão e funções de ordem superior em vez de looping baseado em efeitos colaterais.&lt;br&gt;
Ferramentas internas para gerenciamento de dependências, compilação de código, execução de testes, formatação de código, depuração remota e muito mais.&lt;br&gt;
Coleções preguiçosas e assíncronas com streams&lt;br&gt;
Casamento de padrões (Pattern matching)&lt;br&gt;
Suporte a Unicode e cadeias UTF-8&lt;/p&gt;

&lt;p&gt;Exemplos&lt;br&gt;
Os exemplos a seguir podem ser executados em um shell IEX ou salvos em um arquivo e executados a partir da linha de comando, digitando &lt;br&gt;
elixir .&lt;br&gt;
Exemplo clássico de Hello world:&lt;br&gt;
iex&amp;gt; IO.puts "Hello World!"&lt;br&gt;
Hello World!&lt;br&gt;
Compreensões&lt;br&gt;
iex&amp;gt; for n &amp;lt;- [1,2,3,4,5], rem(n,2) == 1, do: n*n&lt;br&gt;
[1, 9, 25]&lt;br&gt;
Pattern Matching (desestruturação)&lt;br&gt;
iex&amp;gt; [1, a] = [1, 2]&lt;br&gt;
iex&amp;gt; a&lt;br&gt;
2&lt;/p&gt;

&lt;p&gt;iex&amp;gt; {:ok, [hello: a]} = {:ok, [hello: "world"]}&lt;br&gt;
iex&amp;gt; a&lt;br&gt;
"world"&lt;/p&gt;

&lt;p&gt;Pattern Matching (cláusulas múltiplas)&lt;br&gt;
iex&amp;gt; case File.read("path/to/file") do&lt;br&gt;
iex&amp;gt;   {:ok, contents} -&amp;gt; IO.puts("found file: #{contents}")&lt;br&gt;
iex&amp;gt;   {:error, reason} -&amp;gt; IO.puts("missing file: #{reason}")&lt;br&gt;
iex&amp;gt; end&lt;/p&gt;

&lt;p&gt;Pipe Operator&lt;br&gt;
iex&amp;gt; "1" |&amp;gt; String.to_integer() |&amp;gt; Kernel.*(2)&lt;br&gt;
2&lt;/p&gt;

&lt;p&gt;Módulos&lt;br&gt;
defmodule Fun do&lt;br&gt;
  def fib(0), do: 0&lt;br&gt;
  def fib(1), do: 1&lt;br&gt;
  def fib(n) do&lt;br&gt;
    fib(n-2) + fib(n-1)&lt;br&gt;
  end&lt;br&gt;
end&lt;br&gt;
Sequencialmente distribuindo mil processos&lt;br&gt;
for num &amp;lt;- 1..1000, do: spawn fn -&amp;gt; IO.puts "#{num * 2}" end&lt;br&gt;
Executando uma tarefa de forma assíncrona&lt;br&gt;
task = Task.async fn -&amp;gt; perform_complex_action() end&lt;br&gt;
other_time_consuming_action()&lt;br&gt;
Task.await task&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Analytical Tableaux</title>
      <dc:creator>Michel Peter</dc:creator>
      <pubDate>Thu, 23 Sep 2021 18:08:04 +0000</pubDate>
      <link>https://dev.to/michelpeter/tablos-analiticos-3dc5</link>
      <guid>https://dev.to/michelpeter/tablos-analiticos-3dc5</guid>
      <description>&lt;h1&gt;Analytical Tableaux Method&lt;/h1&gt;

&lt;p&gt;In proof theory, the semantic tableau (pronunciation in French: ​[ta'blo]; singular: tableau; plural: tableaux), also called the truth tree, is a deduction system for solving decision problems in propositional and other logic. related, and a proof procedure for formulas of first-order logic. The tableau method can also determine the satisfiability for finite sets of formulas of various logics. It is the most popular proof procedure for modal logic (Girle 2000) and is suitable for computer implementations. The method of semantic tableaux was invented by Dutch logician Evert Willem Beth (Beth 1955), and independently by Finnish logician Jaakko Hintikka, was simplified to classical logic by Raymond Smullyan (Smullyan 1968, 1995). Smullyan's simplification, "one-sided tableaux", is described below. Smullyan's method was generalized to arbitrary polyvalent and first-order propositional logics by Walter Carnielli (Carnielli 1987).[1] Tableaux can be intuitively seen as the top-down sequential method. This symmetrical relationship between tableaux and sequential calculation was formally established by Carnielli (1991).[2]&lt;/p&gt;

&lt;p&gt;An analytic tableau has, for each node, a subformula of the formula at the origin. In other words, it's a tableau that satisfies the subformula property.&lt;/p&gt;

&lt;h3&gt;Introduction&lt;/h3&gt;

&lt;p&gt;To refute a tableaux, it is necessary to show that the negation of a formula cannot be satisfied. There are rules for the manipulation of each of the usual connectives, starting mainly with the conjunctive. In many cases, applying these rules causes the sub-tableau to split in two. Quantifiers are instantiated. If any branch of a tableau leads to an obvious contradiction, the branch closes. If all branches close, the proof is complete and the original formula is a logical truth.&lt;/p&gt;

&lt;p&gt;Although the fundamental idea behind the analytical tableau method is derived from the cut elimination theorem of structural proof theory, the origins of tableau calculus lie in the meaning (or semantics) of logical connectives, as well as the connection with the theory. of the proof made only in the last decades.&lt;/p&gt;

&lt;p&gt;More specifically, a tableau calculus consists of a finite collection of rules, each rule specifying how to break a logical connective into its constituent parts. Rules are usually expressed in terms of finite sets of formulas, although there is logic for which we should use more complicated data structures such as multisets, lists, or even formula trees. From now on, "set" denotes any {set, multiset, list, or tree}.&lt;/p&gt;

&lt;p&gt;If there is a rule for each logical connective, then the process will eventually produce a set consisting only of atomic formulas, and their opposites, which cannot be decomposed. Such a set is easily recognizable as satisfiable or unsatisfactory with respect to the semantics of the logic in question. To accompany this process, the nodes of a tableau itself are defined in the form of a tree and the branches of this tree are systematically created and evaluated. As a systematic method to search this tree gives rise to an algorithm for performing automated deduction and reasoning. Note that this larger tree is&lt;br&gt;
present regardless of whether nodes contain sets, multisets, lists, and trees.&lt;/p&gt;




&lt;h3&gt;RULES:&lt;/h3&gt;   &lt;a href="https://soundcloud.com/michel-peter-541657731/tableau-in-two-minutes-tableau-basics-for-beginners?si=807bafd5ada64f43ab6e0edcafbafd90"&gt;View more...&lt;/a&gt;

&lt;h3&gt;STRATEGIES:&lt;/h3&gt;   &lt;a href="https://soundcloud.com/michel-peter-541657731/orb-strategy-analysis-with-tableau?si=807bafd5ada64f43ab6e0edcafbafd90"&gt;View more...&lt;/a&gt;

&lt;h3&gt;ALGORITHM:&lt;/h3&gt;   &lt;a href="https://soundcloud.com/michel-peter-541657731/310-tableaux-algorithm-for-alc?si=807bafd5ada64f43ab6e0edcafbafd90"&gt;View more...&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;


&lt;h3&gt;
&lt;a href="https://soundcloud.com/michel-peter-541657731/tableau-cluster-analysis-example?si=807bafd5ada64f43ab6e0edcafbafd90"&gt;EXAMPLE 1&lt;/a&gt;      

&lt;a href="https://soundcloud.com/michel-peter-541657731/healthcare-analytics-tableau-use-case?si=807bafd5ada64f43ab6e0edcafbafd90"&gt;EXAMPLE 2 &lt;/a&gt;
&lt;/h3&gt;
&lt;br&gt;&lt;br&gt;

&lt;h3&gt;
&lt;a href="https://soundcloud.com/michel-peter-541657731/tableau-exercise-on-calculated-field?si=807bafd5ada64f43ab6e0edcafbafd90"&gt;EXERCISE 1&lt;/a&gt;
      
&lt;a href="https://soundcloud.com/michel-peter-541657731/tableau-data-science-tutorial-5-solution-to-tableau-linear-regression-exercise?si=807bafd5ada64f43ab6e0edcafbafd90"&gt;EXERCISE 2&lt;/a&gt;
&lt;/h3&gt;

</description>
      <category>programming</category>
      <category>devops</category>
      <category>computerscience</category>
      <category>systems</category>
    </item>
    <item>
      <title>Metodologias Ágeis no Desenvolvimento de Software - Pesquisa, Entrevista e uma breve explicação sobre  o tema. </title>
      <dc:creator>Michel Peter</dc:creator>
      <pubDate>Wed, 19 May 2021 15:16:20 +0000</pubDate>
      <link>https://dev.to/michelpeter/pesquisa-e-entrevista-sobre-metodologias-ageis-ppgca-utfpr-3582</link>
      <guid>https://dev.to/michelpeter/pesquisa-e-entrevista-sobre-metodologias-ageis-ppgca-utfpr-3582</guid>
      <description>

&lt;p&gt;&lt;b&gt;METODOLOGIA ÁGEIS NO DESENVOLVIMENTO DE SOFTWARE&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Para que possamos entender o real uso de metodologias ágeis, precisamos entender um pouco da história do desenvolvimento de software. &lt;br&gt;
O começo do desenvolvimento de software se inspirou na construção civil, onde o engenheiro projetando a construção, ele levantava todos os recursos, desenhava tudo que era necessário em cada uma das fazes e depois ele começava a construção em si, para ter finalmente entrega. &lt;br&gt;
O desenvolvimento de software usava a mesma lógica, onde especificavam os requisitos, eram desenhados e projetados tudo o que era preciso, depois ia para o desenvolvimento, faziam os respectivos testes e, por fim, o produto chegava ao cliente. O problema é que, entre o desenho e a entrega, muito tempo se passava, onde algumas funcionalidades perdiam sentido e não seriam mais usadas pelo cliente, sem contar que o custo do desenvolvimento era alto, a assertividade era baixa. &lt;br&gt;
Notando esse problema, um grupo de 17 pessoas se juntou para discutir, compartilhando experiências nas resoluções desses problemas, dando origem assim ao manifesto ágil, que é uma substituição dos métodos pesados que eram utilizados para desenvolver software para uma forma mais leve e assertiva e, principalmente, menos custosa. &lt;br&gt;
Esse novo método de desenvolvimento tem o fazer e o ajudar outros a fazer, valorizando o trabalho e chegando a quatro valores que dão sentidos ao modelo de desenvolvimento ágil:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Indivíduos e interações mais que processos e ferramentas:&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É interessante ver que o ágil valoriza mais as interações entre as pessoas, tanto da equipe quanto dos clientes, pois no modelo clássico, que as fases eram definidas eram iniciando quando a anterior era finalizada tinha muitos processos, e a medida que o tempo passava, mais o time pensava que era preciso de mais processos. Uma burocracia que não ajudou e foi percebido que as interações entre pessoas ajudou muito mais no dia a dia, trazendo maior assertividade, sem a necessidade de mais ferramentas e processos.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Software em funcionamento mais que documentação abrangente:&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O segundo valor, software em funcionamento, era mais interessante, por que no desenvolvimento tradicional você tinha todos os requisitos e as interações do software detalhados, com uma documentação extensa e no ágil é levado mais em conta o software funcionando, tendo a documentação menor, mais simples, mais rápida e a entrega é melhor, pois o cliente vê na tela as funcionalidades.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Colaboração com o cliente mais que negociação de contrato;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No terceiro visa resolver o fato de que, com documentação extensa e os requisitos eram pensados e definidos, o que estava no contrato era o que iria ser desenvolvido e qualquer mudança teria um aumento de escopo. O ágil surgiu como mais leve e mais preparado para enfrentar mudanças.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Responder às mudanças mais que seguir o prazo:&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Devido aos valores anteriores, o quarto é a finalização do uso e aplicabilidade deles.&lt;br&gt;
Metodologia ágil é algo abrangente, onde temos o Scrum, FDD, SAFe, Kanban  entre outros. &lt;/p&gt;

&lt;p&gt;Entendendo o que é metodologia ágil, para que ela serve, é muito importante ver como podemos colocar em prática. Três coisas devem ser consideradas na hora de colocar o uso da metodologia ágil:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Qual é o contexto do escopo de entrega do trabalho:&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O Contexto de escopo de entrega do trabalho leva em consideração se ele é mais flexível ou se é menos flexível. Por exemplo: qual tem mais flexibilidade, a parte do suporte ou a parte de desenvolvimento? É obvio que o suporte não consegue prever os problemas, quantas demandas, então ele deve ser mais adepto às variações. Já no desenvolvimento, a previsão é mais fácil. Com isso você consegue ver qual metodologia ágil usar.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Quais são os ritos que seu time vai ter:&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Os ritos que são vistos da seguinte forma, por exemplo: no Scrum temos dois ritos importantes, o daily meeting, que é uma reunião diária onde são respondidas três perguntas, e o planning, que é uma reunião feita no final da sprint pra revisar o que foi feito e o que será feito posteriormente.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Qual ferramenta usar:&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A terceira coisa que vou ter que ver é qual ferramenta vou usar, se vai ser usado um quadro com post-it, se vai ser usado o Trello ou se vai usar uma ferramenta mais robusta, que entrega, além desses quadros e as etapas, ele permite mais gestão sobre a informação, com relatórios e dá mais suporte de práticas ágeis. &lt;br&gt;
&lt;a href="https://youtu.be/cT_X4_n0NJ4" title="Metodologia Ágil 2021: O que é Metodologia Ágil? 🤔 Entenda o que são MÉTODOS ÁGEIS em 8 MINUTOS 💪😎🚀"&gt;(Fonte)&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;b&gt;Pesquisa sobre uso/adoção de Metodologias Ágeis no Desenvolvimento de Software&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Duas perguntas relacionadas ao uso/adoção de metodologias ágeis nas empresas, onde os envolvidos mostraram o motivo pela escolha dessas metodologias, com as vantagens que tiveram: &lt;/p&gt;

&lt;p&gt;Colaborador:  mgasparin AT gmail.com&lt;/p&gt;

&lt;p&gt;1 – Como você vê a adoção de metodologias ágeis no desenvolvimento de software na sua empresa? Faça uma breve explicação:&lt;br&gt;
-&amp;gt; Madura, uma forma de tentar organizar e resolver problemas de maneira rápida e prática.&lt;/p&gt;

&lt;p&gt;2 – Na sua opinião, quais são as vantagens em relação às metodologias tradicionais no desenvolvimento de software?&lt;br&gt;
-&amp;gt; Melhora na comunicação e na visibilidade do andamento do projeto. A entrega rápida de partes menores do software ou da solução completa.&lt;/p&gt;




&lt;p&gt;Colaborador: luan.bk AT live.com&lt;/p&gt;

&lt;p&gt;1 – Como você vê a adoção de metodologias ágeis no desenvolvimento de software na sua empresa? Faça uma breve explicação: &lt;br&gt;
-&amp;gt; Dentre os métodos ágeis, por ser fácil de aplicar em qualquer tipo de projeto, decidimos usar o Scrum, um dos métodos mais utilizados. As práticas ágeis passaram a fazer parte do dia a dia de muitas empresas de tecnologia, que consideram o ágil um método de desenvolvimento de software mais adequado às necessidades do mercado e que atende à crescente demanda por projetos de alta qualidade e menores tempos de desenvolvimento. &lt;/p&gt;

&lt;p&gt;2 – Na sua opinião, quais são as vantagens em relação às metodologias tradicionais no desenvolvimento de software?&lt;br&gt;
-&amp;gt; Os métodos ágeis podem se concentrar no desenvolvimento do próprio software. Em cada etapa do projeto, os clientes recebem softwares reais com funções implementadas, para poder entregar produtos de alta qualidade em menos tempo. Métodos ágeis desenvolvidos com precisão para melhorar o desenvolvimento de projetos de alta complexidade e atender às necessidades do cliente com a máxima confiabilidade. Portanto, ao escolher Scrum, tivemos as seguintes vantagens: Melhor qualidade do produto; Para melhor atender às necessidades do cliente; Ter maior capacidade de adaptação às mudanças necessárias em todo o projeto; Implementação flexível de novas funções; A equipe do projeto é mais eficiente; Entrega frequente e entrega de funções de todo o projeto; Comunicação clara, objetiva e transparente entre as partes relevantes; Os clientes estão mais satisfeitos com o resultado final.&lt;/p&gt;




&lt;p&gt;Colaborador: marlon.b.c AT hotmail.com&lt;/p&gt;

&lt;p&gt;1 – Como você vê a adoção de metodologias ágeis no desenvolvimento de software na sua empresa? Faça uma breve explicação:&lt;br&gt;
-&amp;gt; A implementação da metologia ágil na empresa em que trabalho trouxe inúmeras vantagens. Dentre as principais estão: 1. Escopo menor de trabalho e constante feedback do cliente. Com isso, dentro de cada sprint, temos uma entrega que realmente agregou valor ao negócio. Além disso, devido as entregas menores e graduais, tivemos redução na quantidade de bugs encontrados pelos testers e também pelo cliente. 2. Maior interação e suporte entre os membros do time. Trabalhar de forma ágil nos permite verificar quais features precisam ser priorizadas e entregues ao final da sprint, porém, em caso de imprevisto, podemos contar com a ajuda dos demais membros do time para garantir a entrega. É perceptível que o senso de responsabilidade do time pela entrega é maior quando aplicada a metodologia ágil, o que favorece a ajuda mútua.&lt;br&gt;
2 – Na sua opinião, quais são as vantagens em relação às metodologias tradicionais no desenvolvimento de software?&lt;br&gt;
-&amp;gt; As metodologias ágeis, quando possível aplica-las, aproximam os membros do time em suas diferentes atribuições, da mesma forma que 'trazem' o cliente para o ciclo de desenvolvimento. Feedback constante, sinergia, dinamismo, e principalmente, trabalho em equipe, são os principais pontos que tiveram melhoras quando comparados a projetos que utilizaram metologias tradicionais. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1s3jvRkxQEcn5eX6fcpL5skgh2CIhZTlF/view?usp=drivesdk" title="Pesquisa sobre o Uso/Adoção de Metodologias Ágeis"&gt;Pesquisa&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Entrevista, de forma remota, com o Vinicius, um analista/desenvolvedor que faz uso das metodologias ágeis, onde ele expõe o entendimento, uso e vantagens na empresa que trabalha: &lt;a href="https://soundcloud.com/michel-peter-541657731/entrevista-de-metodologias-ageis-no-desenvolvimento-de-sotware" title="Entrevista De Metodologias Ágeis No Desenvolvimento De Sotware"&gt;Entrevista De Metodologias Ágeis No Desenvolvimento De Sotware&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>php</category>
      <category>android</category>
      <category>csharp</category>
    </item>
  </channel>
</rss>
