"

Nosso

Blog

YourCode Soluções Web e Mobile

22/04/2022

Tratamento Html.TextBoxFor type Date

Na View

@Html.TextBoxFor(model => model.DATA_EXPIRACAO, (string)ViewBag.DataExpiracao, new { @class = "form-control", @type = "date" })

 

Na Controller

if (depoimento.DATA_EXPIRACAO != null)
ViewBag.DataExpiracao = depoimento.DATA_EXPIRACAO.Value.ToString("yyyy-MM-dd");

30/09/2021

BigBlueButton: whiteboard not showing
This solves the problem:

apt-get remove certbot
apt-get install snapd
snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot
certbot renew --force-renewal --cert-name mybbb.server.com --preferred-chain "ISRG Root X1"
 
#bigbluebutton #bbb #yourcode

10/09/2021

Entenda a importância de ter um bom site, com um design profissional

O fechamento do comércio no ano passado, como forma de fortalecer as medidas de distanciamento contra a Covid-19, acelerou uma mudança que já vinha acontecendo. De acordo com a Associação Brasileira de Comércio Eletrônico, antes da pandemia estimava-se que 60 mil novas lojas virtuais seriam abertas em seis meses, mas de março a setembro de 2020 foram registradas mais de 135 mil.

E foi essa mudança que garantiu a sobrevivência de muitos negócios. Uma pesquisa realizada pela Neotrust com dados de compra no comércio eletrônico durante o primeiro trimestre de 2021 registrou 78,5 milhões de operações – um volume 57,4% maior do que no ano passado – com um faturamento de R$ 35,2 bilhões, um crescimento de 72,2%.

Embora muitos pequenos negócios obtenham algum sucesso por meio de vendas pelas redes sociais, ter uma conta no Instagram ou no Facebook não é o mesmo que ter uma verdadeira presença online.”, afirma o diretor de marketing da GoDaddy no Brasil, Luiz D’Elboux.

Ter um domínio particular e seu próprio site podem, inclusive, trazer mais relevância para o seu conteúdo nas redes sociais. Uma página personalizada faz com que seu proprietário controle sua narrativa: com texto, imagens e vídeos, a empresa pode mostrar o seu propósito e exibir um catálogo de produtos ou serviços.

Ter um bom site, com um design profissional, não é exclusividade de grandes empresas. Segundo um levantamento realizado pelo Sebrae em parceria com a FGV, 69% dos pequenos negócios vendem de forma online e, de cada dez empresas, sete já comercializam seus produtos e serviços pela internet. E elas estão falando com um público novo e crescente: em 2020, 20,2 milhões de consumidores realizaram uma compra online pela primeira vez e 150 mil lojas começaram a vender por meio das plataformas digitais, segundo a ABComm.

E em muitos desses casos, o próprio empreendedor acaba responsável por gerenciar as redes sociais da empresa e, em muitos casos, tem que montar seu próprio site. Por não dominar ferramentas de desenvolvimento web, muitos deles hesitam em fazer o salto para o online. Mas aí vai uma dica: você não precisa entender muito da criação de sites para ter um.

Fonte: Olhar Digital (link)

26/06/2021

Por que escolher o C#?

O C# é uma linguagem tipada, compilada e gerenciada, criada por Anders Hejlsberg na Microsoft em meados de 2001.

Maturidade

Dada sua idade, o C# é considerado uma linguagem madura, ou seja, que já passou por vários testes e validações de programadores de todo o mundo.

Este é um importante fator na escolha de uma linguagem, pois ela traz garantias que tudo está estável em seu ambiente.

Tudo que é novo precisa ainda ser testado e amadurecido, podendo oferecer sérias consequências ao desenvolvimento de produtos e negócios.

Mercado

Dada sua maturidade, o C# também tem um ótimo mercado de trabalho, sendo vastamente utilizado em empresas.

Enquanto empresas menores e mais novas usam e abusam de novas tecnologias e linguagens, é comum encontrar um lado mais conservador nas empresas maiores (Enterprise).

Assim como usamos o termo Startup para nos referirmos a empresas mais jovens, usamos o termo Enterprise para definir empresas mais conservadoras ou mercado corporativo.

Este conservadorismo pode ser observado na opção por linguagens mais maduras como o C# para produtos que precisam perdurar.

Sendo assim, existem um mercado aquecido tanto para trabalhar com sistemas já construídos quanto novos sistemas nestas empresas.

Conteúdo e Comunidade

Se há algo que não vai acontecer é você se sentir sozinho utilizando C#, pois sua comunidade é muito grande e acolhedora.

Comunidade é o termo que usamos para definir um grupo de usuários de uma tecnologia ou linguagem.

Os fóruns e grupos estão cheios de materiais e dúvidas sobre a linguagem, o que significa que se você passar por um problema, provavelmente haverá uma solução na internet.

Um dos principais problemas de novas tecnologias e linguagens é que muitas vezes você está sozinho com elas, não tem muito material sobre o assunto na internet.

Optar por algo amplamente usado é trilhar um caminho já conhecido, minimizando os riscos e tempo de desenvolvimento.

Linguagem Completa

O C# talvez seja uma das linguagens mais completas existentes. A cada versão seus recursos são incrementados e ela é utilizada em diversas frentes.

Basicamente podemos utilizar o C# em todo ecossistema Micrososft e dificilmente haverá um recurso a nível de linguagem que não esteja presente.

Um dos seus usos mais comum é dentro do ASP.NET, a plataforma da Microsoft para criação de aplicações Web, mas seu uso não se restringe somente a isto.

Uma linguagem completa também traz grandes complexidades e dificuldade no domínio da mesma. Pode-se levar anos para conhecer bem o C# e pode ser quase impossível conhecer todo ele.

Uma dica é focar na frente que você deseja atuar como desenvolvedor. Por exemplo, se deseja trabalhar com ASP.NET e criar aplicações Web, foque em aprender o conteúdo de C# relacionado a ele primeiro.

Embora haja uma grande variedade nos recursos da linguagem, alguns deles além de avançados tem seu uso focado em outras frentes, como Machine Learning por exemplo.

Orientada à Objetos

O orientação à objetos é um dos pilares deste material e um item obrigatório para qualquer desenvolvedor de qualquer linguagem.

Definimos como orientação à objetos a forma como analisamos e projetamos nosso código baseando-se para isto na vida real.

A programação orientada à objetos (POO em português e OOP em inglês) é a aplicação deste conceito dentro do mundo do desenvolvimento.

Para que estes conceitos sejam aplicados, a linguagem utilizada precisa ser orientada à objetos, como no caso, o C#.

A OOP é um conjunto de fundamentos agnóstico de linguagem que vai te permitir escrever aplicações melhores e mais otimizadas em qualquer cenário.

Sabendo bem OOP com C#, você pode aplicar também este conceito em outras linguagens, podendo ampliar seu mercado e possibilidades.

C# como primeira linguagem

Se compararmos o C# com algumas linguagens mais novas, definitivamente chegaremos a conclusão que ele é mais difícil de se aprender.

Isto deve-se ao fato de novas linguagens serem mais simples em seus recursos e não obrigatoriamente exigirem OOP em seu uso.

Embora isto possa causar uma sensação boa no começo, com o rápido desenvolvimento, a longo prazo isto pode te prejudicar.

Em algum momento da sua carreira você precisará parar e aprender de verdade OOP e outros conceitos que veremos com C# aqui, e o que ocorre em algumas novas linguagens é que estas etapas muitas vezes são puladas.

Em suma, você pode começar com qualquer linguagem da forma correta, desde que policie-se para aprender o básico antes, mas o C# de certa forma já nos força a fazer isto.

Se você aprender bem o C#/OOP, poderá migrar para outras linguagens e aprender coisas novas com uma maior facilidade.

Quanto mais tempo você gastar aprendendo o básico, consolidando seu conhecimento, mais fácil será aprender coisas novas futuramente.

No fim, tudo é questão de tempo, você não será um bom programador com alguns meses de código apenas, assim como não será um profissional sênior aos 20 poucos anos de idade.

No mundo do desenvolvimento é preciso vivenciar as coisas, é preciso codificar e desprender muito tempo aprendendo.

Você pode se dedicar e aprender tudo que precisa agora, ou ir aprendendo sob demanda futuramente. O problema do aprendizado parcelado é que seu tempo vai ficando mais escaço a cada dia.

É comum ver muita gente com anos de desenvolvimento ainda perdidas, precisando de ajuda para resolver problemas básicos, ou seja, falta a base.

Como tudo funciona?

Agora que você já se decidiu sobre o uso e aprendizado do C#, é hora de ver como ele funciona antes de dar nossos primeiros passos escrevendo código.

O que é código Gerenciado?

No começo deste capítulo nos referimos ao C# também como uma linguagem gerenciada, o que significa que sua execução depende de um gerenciador.

Este gerenciador também é conhecido como Runtime e no caso do C# quem faz este gerenciamento é o CLR (Common Language Runtime). O CLR recebe o código gerenciado, compila em código que a máquina entenda e o executa.

Este runtime provê serviços importantes como gestão de memória, segurança entre outros, que nos garante também mais velocidade na escrita de código, visto que não precisamos cuidar de tudo.

Em um código não gerenciado, como C/C++, precisaríamos cuidar de cada detalhes, até mesmo a alocação e desalocação de memória.

Possuir este runtime nos permite não precisar interagir (Ou interagir menos) com código de máquina, visto que temos toda esta abstração a nosso favor.

Compilação e gerenciamento

Além do C# a Microsoft possui outras linguagens, como o VB.Net e até o Cobol.NET, e todas estas linguagens precisam ser mantidas.

As manutenções podem ocorrer desde uma correção de uma sintaxe da linguagem até a alocação de memória de um item pelo runtime.

Ou seja, o responsável pela execução das nossas aplicações em C# também precisa de manutenção, assim como o das outras linguagens que mencionamos.

Desta forma, quando o ecossistema da desenvolvimento da Microsoft, o .NET (Explicado mais adiante) foi criado, ele foi pensado em suportar diferentes linguagens mas com uma manutenção que fosse fácil.

Assim como o C#, o VB.NET também é uma linguagem gerenciada e mantida pela Microsoft, o que torna parte do trabalho de ambas linguagens similares.

O que temos então é a divisão das responsabilidades em duas partes, sendo uma a compilação da linguagem e a outra o gerenciamento da aplicação.

Em suma, temos um compilador para cada linguagem, mas um gerenciador único, afinal a alocação de memória dentre outros recursos de hardware são a mesma.

Sendo assim, o CLR recebe o código em C#, utiliza seu compilador específico (Que só compila código em C#), e como resultado final temos um outro código, em uma linguagem única que o runtime entende, chamada de Intermediate Language ou apenas IL.

Microsoft .NET Core Intermediate Language

Já aprendemos anteriormente que o C# (Assim como o Java e o VB.NET) é considerado uma linguagem de alto nível.

Embora sejam mantidas pela Microsoft, o C# e VB.NET se diferem em muitas coisas, incluindo na sua sintaxe, que afeta a interpretação.

Isto impossibilita que haja um compilador único para estas linguagens, necessitando um processo intermediário de conversão das mesmas para o IL.

IL é a sigla para Intermediate Language ou linguagem intermediária em português.

Somente após esta conversão o código será de fato compilado para a linguagem de máquina, executado e gerenciado.

Este modelo possibilita por exemplo termos arquivos do VB.NET e C# na mesma aplicação (Mas nunca no mesmo arquivo).

Quando o C# foi criado, o VB.NET era a linguagem principal da Microsoft, e este recurso permitiu a facilidade na migração de diversos sistemas escritos em VB.NET para C#.

Imagina que incrível era poder simplesmente deixar para migrar depois um pedaço do seu sistema, escrito em outra linguagem e ainda assim tudo continuar funcionando.

Além disso, o IL garante que o resultado da execução é sempre o mesmo, afinal o runtime sempre executa tudo da mesma forma. Pode mudar o tradutor, mas a mensagem sempre será executada.

Este processo de conversão do código intermediário (IL) para o código que a máquina entenda, também é chamado de Just In Time ou JIT.

Referência balta.io

22/11/2019

Criação de Sites em Santa Maria-RS

Está precisando criar um site ou atualizar seu site atual? Está precisando de um site moderno e funcional? Ou ainda, está precisando de um site responsivo¹?

 

Ter um site atualmente é fundamental para o crescimento dos negócios e para ser encontrado na internet/Google.

 

Nós da YOURCODE, trabalhamos com os seguintes serviços:

- Criação de Site
- Criação de loja virtual
- Hospedagem de Site 
- E-mail corporativo
- SEO (Otimização de Sites para Motores de Busca)

 

Concluindo, sua empresa para ser encontrata precisa estar na internet, seja ela pequena ou grande!

 

Entre em contato conosco que te ajudamos com essa tarefa! 

 

¹ são aqueles que adaptam o tamanho das suas páginas (alteração do layout) ao tamanho das telas que estão sendo exibidos, como as telas de celulares e tablets.

08/01/2019

Integrando o Google reCAPTCHA V2 com MVC
A seguir vamos ver o passo a passo para integração do reCAPTCHA do Google com seu website. Este tutorial funciona a partir do framework 4.5 do ASP.NET pois tem propriedades da controller que funcionam somente nessa versão ou superior.
 
1) Cadastrar o site no recaptcha da sua conta.
 
2) No Web.config do projeto inserir as chaves pública e privada dentro da tag appSettings
<add key="ReCaptchaPublicKey" value="chave publica"/>
<add key="ReCaptchaPrivateKey" value="chave privada"/>
 
3) Na View inserir o script antes de fechar a tag body
<script src='https://www.google.com/recaptcha/api.js'></script>
 
Insira a DIV abaixo onde deseja deixar o checkbox de validação do recaptch e claro, dentro do formulário!
<div class="g-recaptcha" data-sitekey="chave publica"></div>
 
4) Na controller que receberá o post, inserir o método abaixo:
 
public async Task<Boolean> ValidateRecaptcha(string encodedResponse)
{
   var url = $"https://www.google.com/recaptcha/api/siteverify?secret=" + ConfigurationManager.AppSettings["ReCaptchaPrivateKey"] +"&response=" + encodedResponse;
   using (var client = new HttpClient())
   {
      using (var response = await client.PostAsync(url, null))
      {
         var json = JObject.Parse(await response.Content.ReadAsStringAsync()); 
         if (!(bool)json["success"])
         {
            return false;
         }
      }
   } 
   return true;
}
 
Insira também o código para validação do recaptch:
 
var captcha = await ValidateRecaptcha(form["g-recaptcha-response"]);
if (!captcha)
{
   ViewData["RETORNO"] = false;
   return View();
}