Projetos

[vc_row full_width=”stretch_row” full_height=”yes” el_class=”gago-hero-opensource” css=”.vc_custom_1536597747446{margin-top: -70px !important;}”][vc_column][vc_custom_heading text=”Projetos” font_container=”tag:h2|font_size:3em|text_align:center|color:%23ffffff” google_fonts=”font_family:Aldrich%3Aregular|font_style:400%20regular%3A400%3Anormal” css_animation=”fadeIn”][/vc_column][/vc_row][vc_row full_width=”stretch_row” el_class=”gago-hero-opensource-bar”][vc_column][vc_column_text css=”.vc_custom_1536598834452{margin-top: 0px !important;margin-bottom: 0px !important;}”]

Overview | Projetos | Ideias | Retired | MasterClass

[/vc_column_text][/vc_column][/vc_row][vc_row css=”.vc_custom_1536598095573{margin-top: 20px !important;}” el_id=”opensource-overview”][vc_column width=”1/2″][vc_single_image image=”3263″ img_size=”full” alignment=”center” style=”vc_box_rounded”][/vc_column][vc_column width=”1/2″][vc_column_text]

Durante essa jornada profissional criei muita coisa, dediquei meu tempo livre ao estudo e criação de soluções que efetivamente fizessem sentido e resolvessem problemas do dia-a-dia dos projetos no qual participo. Cada nova necessidade de um projeto atual representa uma feature pronta para o próximo projeto. Sob essa filosofia buscar a perfeição com restrições de tempo e custo sempre permearam o mindset sobre esses projetos. Cuido com muito carinho de cada um deles. Eles me possibilitaram fazer mais, entregar mais, com muito menos. Foram fundamentais nessa história de sucesso e frustrações!

[/vc_column_text][ultimate_fancytext fancytext_align=”left” strings_textspeed=”35″ strings_backspeed=”0″ fancytext_strings=”Projetos Open Source
Projetos .NET
Projetos NodeJS
Imagens Docker & DockerFiles
Docker Stacks
… e muito mais!” strings_font_family=”font_family:Roboto Mono|font_call:Roboto+Mono” strings_font_size=”desktop:30px;tablet:30px;tablet_portrait:22px;mobile_landscape:22px;mobile:18px;” fancytext_color=”#6b6b6b” ticker_background=”rgba(12,12,12,0.01)”][/vc_column][/vc_row][vc_row bg_type=”bg_color” bg_override=”full” bg_color_value=”#202125″ el_class=”opensource_black_row” el_id=”projetos”][vc_column width=”2/3″][vc_custom_heading text=”Projetos” font_container=”tag:h2|text_align:left|color:%23619be2″ use_theme_fonts=”yes”][vc_custom_heading text=”Projetos ativos” font_container=”tag:h4|text_align:left|color:%23999999″ use_theme_fonts=”yes”][vc_column_text]Projetos que estão em desenvolvimento e são mantidos. Quer colaborar com algum desses projetos? Entre em contato![/vc_column_text][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row][vc_row disable_element=”yes”][vc_column][vc_separator][vc_column_text]{!{wpv-view name=’project-list’}!}[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_masonry_grid post_type=”projeto” max_items=”-1″ element_width=”6″ item=”2530″ initial_loading_animation=”fadeIn” grid_id=”vc_gid:1586692266618-c9a314eb-93e7-3″][/vc_column][/vc_row][vc_row bg_type=”bg_color” bg_override=”full” bg_color_value=”#202125″ el_class=”opensource_black_row” el_id=”ideias”][vc_column width=”2/3″][vc_custom_heading text=”Ideias” font_container=”tag:h2|text_align:left|color:%23619be2″ use_theme_fonts=”yes”][vc_custom_heading text=”…precisam sair do papel” font_container=”tag:h4|text_align:left|color:%23999999″ use_theme_fonts=”yes”][vc_column_text]Não é fácil ter uma vida agitada no trabalho e me dedicar à comunidade. A possibilidade de ajudar novatos que daqui a pouco serão nossos companheiros nas empresas e times aliado às figuras inspiradoras e feedbacks incríveis fazem com que não percamos o pique. Dá trabalho, custa muito tempo, mas é extremamente gratificante.

Há muita coisa para ser feita, e aqui vou listar algumas ideias que talvez possam inspirar projetos, que hoje, não tenho condições de começar, visto que alcancei o limite de minha capacidade produtiva.[/vc_column_text][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row][vc_row][vc_column width=”1/2″][bsf-info-box icon=”Defaults-lightbulb-o” icon_size=”32″ title=”Minio Web File System Manager” title_font_size=”desktop:20px;tablet:20px;tablet_portrait:20px;mobile_landscape:20px;mobile:20px;” css_info_box=”.vc_custom_1520569662929{margin-bottom: 0px !important;}”][/bsf-info-box][vc_custom_heading text=”File System Manager for ASP.NET MVC apps” font_container=”tag:h3|font_size:13pt|text_align:justify” google_fonts=”font_family:Architects%20Daughter%3Aregular|font_style:400%20regular%3A400%3Anormal”][vc_message]Publicação: 08/MAR/2018[/vc_message][vc_column_text]

Uma dll, um pacote nuget, com comportamento semelhante ao do dashboard do hangfire, no entanto a funcionalidade entregue para a sua app é um gerenciador de file system que permite gerenciar um FS físico ou um Minio/Amazon S3, talvez até o concorrente do Azure.

 

Com exemplos rodando no docker![/vc_column_text][/vc_column][vc_column width=”1/2″][bsf-info-box icon=”Defaults-lightbulb-o” icon_size=”32″ title=”Serverless API Hub” title_font_size=”desktop:20px;tablet:20px;tablet_portrait:20px;mobile_landscape:20px;mobile:20px;” css_info_box=”.vc_custom_1520499299301{margin-bottom: 0px !important;}”][/bsf-info-box][vc_custom_heading text=”Stack Serverless + API Management” font_container=”tag:h3|font_size:13pt|text_align:justify” google_fonts=”font_family:Architects%20Daughter%3Aregular|font_style:400%20regular%3A400%3Anormal”][vc_message]Publicação: 08/MAR/2018[/vc_message][vc_column_text]

Que tal usar OpenFaas ou IronFunctions em conjunto com um robusto API Manager. Contemplando:

  • Publisher Portal
  • Store Portal
  • Gateway

Poderia usar o WSO2 API Manager, por exemplo, como solução.

 

Tudo rodando no docker![/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_separator][/vc_column][/vc_row][vc_row][vc_column width=”1/2″][bsf-info-box icon=”Defaults-lightbulb-o” icon_size=”32″ title=”ASP.NET Core Identity Servers” title_font_size=”desktop:20px;tablet:20px;tablet_portrait:20px;mobile_landscape:20px;mobile:20px;” css_info_box=”.vc_custom_1520501270206{margin-bottom: 0px !important;}”][/bsf-info-box][vc_custom_heading text=”Stacks completos com os principais Identity Servers” font_container=”tag:h3|font_size:13pt|text_align:justify” google_fonts=”font_family:Architects%20Daughter%3Aregular|font_style:400%20regular%3A400%3Anormal”][vc_message]Publicação: 08/MAR/2018[/vc_message][vc_column_text]

ASP.NET Core com:

Com implementações para:

  • SPA + WebAPI com JWT
  • MVC

Tudo rodando no docker![/vc_column_text][/vc_column][vc_column width=”1/2″][/vc_column][/vc_row][vc_row full_width=”stretch_row” bg_type=”bg_color” bg_color_value=”#202125″ el_class=”opensource_black_row” el_id=”retired”][vc_column width=”2/3″][vc_custom_heading text=”Retired / Deprecated / Paused” font_container=”tag:h2|text_align:left|color:%23619be2″ use_theme_fonts=”yes”][vc_custom_heading text=”Projetos aposentados, descontinuados ou simplesmente sem previsão de retorno.” font_container=”tag:h4|text_align:left|color:%23999999″ use_theme_fonts=”yes”][vc_column_text]Todo projeto open source precisa esforço recorrente, seja para realizar algum update ou uma adequação às features mais recentes da linguagem ou framework. Sempre há uma demanda ali ou acolá, por isso é difícil cuidar de muitos projetos, então na medida que aposento um projeto sei que vou ter tempo para começar outro.[/vc_column_text][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row][vc_row][vc_column][vc_separator][/vc_column][/vc_row][vc_row][vc_column width=”1/2″][bsf-info-box icon=”Defaults-codepen” icon_size=”32″ title=”Oragon Architecture” title_font_size=”desktop:20px;tablet:20px;tablet_portrait:20px;mobile_landscape:20px;mobile:20px;” css_info_box=”.vc_custom_1519620637631{margin-bottom: 0px !important;}”]Founder[/bsf-info-box][vc_custom_heading text=”SOA Application Framework over Spring .NET” font_container=”tag:h3|font_size:13pt|text_align:justify” google_fonts=”font_family:Architects%20Daughter%3Aregular|font_style:400%20regular%3A400%3Anormal”][vc_column_text]

Oragon Architecture foi um projeto que comecei a desenvolver assim que cheguei ao Rio em 2005/2006 e por mais de 10 anos incrementei e implantei em diversos projetos .NET como meio de agilizar o processo de desenvolvimento por meio de padrões arquiteturais que eliminavam decisões complexas do desenvolvimento de serviços de negócio, reduzindo complexidade inerente à algumas tecnologias abordadas no projeto. Com os contextos, garantia a liberação de recursos, a definição sobre recursos dependentes e mantinha, de forma coesa, toda a gestão de transações, alocação e liberação de recursos, gestão de exceptions e tratamento de erro centralizado, de forma a permitir um desenvolvimento fluido e altamente produtivo.

Com o Spring .NET como alicerce da arquitetura, conectar padrões arquiteturais a métodos e serviços pré-existentes se tornou algo simples, oferecendo uma rica infraestrutura para que tomada de decisões pudesse ser adiada para o momento da implantação. Decisões como quais elementos precisam ser distribuídos e escalados dinamicamente, deixam de ser uma preocupação do desenvolvimento, para se tornar preocupação á respeito de como configurar adequadamente o ambiente de produção. Esses ganhos oferecem imensa capacidade de mudança, enriquecendo a discussão e a arquitetura.

[/vc_column_text][vc_message message_box_color=”alert-warning”]

Em função da grande fragmentação causada pelos forks, não há uma boa consistência entre as versões, cada fork caminhou em uma direção que não necessariamente condiz com os interesses do projeto, mas tais forks foram criados para permitir esse distanciamento. Ao final, tenho um problema com a distância e as features de cada versão. Esse é o motivo que fará com que vocês não encontrem uma versão consistente no github, ou uma versão minimalista em relação ao que é detalhado nos posts.

[/vc_message][vc_message]

18/03/2018 – Com os elementos fundamentais da arquitetura dando o ar da graça no .NET Core/Standard, como a recente release 5.1.0 do NHibernate, o port do Spring .NET e minhas descobertas a respeito do AsyncLocal<T>, é possível começar a pensar em retomar o projeto. Ainda há elementos a serem repensados, no entanto é possível vislumbrar um horizonte minimamente viável. Não estou certo se o esforço é válido, mas de certo que penso a respeito quase que diariamente.

[/vc_message][vc_btn title=”Saiba mais…” color=”sky” align=”center” link=”url:%2Fcategoria%2Fprojetos%2Foragon-architecture%2F||target:%20_blank|”][/vc_column][vc_column width=”1/2″][bsf-info-box icon=”Defaults-codepen” icon_size=”32″ title=”RabbitMQ.Alternative.ServiceModel” title_font_size=”desktop:20px;tablet:20px;tablet_portrait:20px;mobile_landscape:20px;mobile:20px;” css_info_box=”.vc_custom_1519620720759{margin-bottom: 0px !important;}”]Founder[/bsf-info-box][vc_custom_heading text=”RabbitMQ Custom Binding for WCF (Fork) to solve impedance to improve reliability on fire and forget pattern.” font_container=”tag:h3|font_size:13pt|text_align:justify” google_fonts=”font_family:Architects%20Daughter%3Aregular|font_style:400%20regular%3A400%3Anormal”][vc_column_text]

Durante a restruturação da arquitetura do projeto da Seguradora Líder (DPVAT), percebi que as integrações tinham um grande problema de contenção e demandas de eventual indisponibilidade atrapalhavam significativamente o projeto. Ao usar o binding nativo do RabbitMQ para WCF fui obrigado a rever a implementação e realizar adequações para permitir o trabalho com filas no modelo Fire and Forget garantindo a confiabilidade da integração.

O projeto foi feito como um fork da versão original do binding para oferecer essa feature.

[/vc_column_text][vc_message message_box_color=”alert-warning”]

Descontinuado em função da empresa ter criado um fork e seguido em frente evoluindo em outra direção. O baixo número de downloads não justifica sua manutenção/continuidade.

[/vc_message][vc_btn title=”Saiba mais…” color=”sky” align=”center” i_icon_fontawesome=”fa fa-github” add_icon=”true” link=”url:https%3A%2F%2Fgithub.com%2Fluizcarlosfaria%2FRabbitMQ.Alternative.ServiceModel||target:%20_blank|”][/vc_column][/vc_row][vc_row full_width=”stretch_row” disable_element=”yes” el_class=”gago-hero-opensource” css=”.vc_custom_1536810176756{margin-bottom: -69px !important;padding-top: 50px !important;padding-bottom: 30px !important;}” el_id=”cta”][vc_column width=”1/4″][vc_raw_html]JTNDZGl2JTIwY2xhc3MlM0QlMjJ2Y19pY29uX2VsZW1lbnQlMjB2Y19pY29uX2VsZW1lbnQtb3V0ZXIlMjB2Y19jdXN0b21fMTUzMTA3NDYzNDMxNiUyMHZjX2ljb25fZWxlbWVudC1hbGlnbi1yaWdodCUyMiUzRSUwQSUwOSUzQ2RpdiUyMGNsYXNzJTNEJTIydmNfaWNvbl9lbGVtZW50LWlubmVyJTIwdmNfaWNvbl9lbGVtZW50LWNvbG9yLWdyZXklMjB2Y19pY29uX2VsZW1lbnQtc2l6ZS14bCUyMHZjX2ljb25fZWxlbWVudC1zdHlsZS0lMjB2Y19pY29uX2VsZW1lbnQtYmFja2dyb3VuZC1jb2xvci1ncmV5JTIyJTNFJTBBJTA5JTA5JTNDaSUyMGNsYXNzJTNEJTIyZmFzJTIwZmEtY2hlc3MlMjBmYS01eCUyMiUyMHN0eWxlJTNEJTI3Y29sb3IlM0ElMjNGRkZGRkYlM0J0ZXh0LWFsaWduJTNBJTIwcmlnaHQlM0IlMjclMjAlM0UlM0MlMkZpJTNFJTBBJTA5JTNDJTJGZGl2JTNFJTBBJTNDJTJGZGl2JTNF[/vc_raw_html][/vc_column][vc_column width=”3/4″][vc_custom_heading text=”MasterClass – Arquitetura de Soluções” font_container=”tag:h2|text_align:left|color:%23ffffff” google_fonts=”font_family:Aldrich%3Aregular|font_style:400%20regular%3A400%3Anormal”][vc_custom_heading text=”Arquitetura para quem quer entregar mais sem tirar o pé do chão. Assuma somente os riscos necessários pra entregar projetos eficazes e eficientes.” font_container=”tag:p|text_align:justify|color:%23ffffff” google_fonts=”font_family:ABeeZee%3Aregular%2Citalic|font_style:400%20regular%3A400%3Anormal”][/vc_column][/vc_row]