Mostrando postagens com marcador GitHub. Mostrar todas as postagens
Mostrando postagens com marcador GitHub. Mostrar todas as postagens

terça-feira, 22 de janeiro de 2019

Aprendendo a usar branches (e o resto!) no Git

Por Diego Pinho em 14/01/2019 no site iMasters


Resultado de imagem para git hub


Poderia começar este artigo explicando o que é o Git e pra quê ele serve, mas a ferramenta já é tão popular, tão utilizada no meio do desenvolvimento de software, que acabaria falando mais do mesmo. Porém, apesar da ferramenta ser grande, popular e amplamente utilizada, não significa que ela seja fácil de usar.
Trazendo a premissa de que podemos trabalhar de forma simultânea em um mesmo repositório com várias pessoas, uma das funcionalidades fundamentais do Git para suportar isso são as branches. Em termos simples, uma branch é literalmente uma ramificação da base do código.
Enquanto mantemos o código de produção na branch principal (por exemplo), podemos criar uma ramificação para trabalhar livremente neste código e somente depois juntar (mergear) estes códigos.
Na teoria tudo isso é muito simples. No entanto, quando começamos a aplicar na prática, o bicho pega. É por isso que eu gostaria de apresentar uma ferramenta muito bem feita para nos ajudar a entender as branches e o funcionamento do Git em geral. Estou falando do Learn Git Branching.

Aprendendo Branches de uma vez por todas

Como a própria descrição do repositório oficial diz, o Learn Git Branching (LGB) é um visualizador de repositório Git, sandbox e uma série de tutoriais e desafios educacionais. Seu objetivo principal é ajudar a nós, desenvolvedores, a entender o Git através do poder da visualização (algo que está ausente quando se trabalha na linha de comando). Isso é feito através de um jogo com diferentes níveis para se familiarizar com os diferentes comandos do git.
Você pode inserir uma variedade de comandos no LGB – à medida que os comandos são processados, a árvore de commits próxima será atualizada dinamicamente para refletir os efeitos de cada comando, como mostra a figura abaixo:

Utilização do Learn Git Branching

Essa visualização combinada com tutoriais e “níveis” pode ajudar tanto desenvolvedores iniciantes quanto intermediários a aprimorar suas habilidades de controle de versão.

Modo Sandbox

Por padrão, ao iniciar na aplicação entramos no modo Sandbox. Aqui temos a liberdade de fazer qualquer tipo de comando do git para ver seus efeitos. Podemos definir este espaço como o local para testes. Dos comandos disponíveis, além dos que já estão no git, temos:
  • undo: desfaz os efeitos do último comando executado
  • reset: para recomeçar do zero
  • git clone: para simular repositórios remotos
Apesar de bem interessante, este modo não funciona tão bem para quem quer aprender os comandos, mas sim fazer experimentos. Para entender o passo a passo das branches, o ideal é o modo de níveis.

Modo de níveis (levels)

O modo de níveis pode ser visto apenas digitando o comando levelsno terminal do LGB. Uma série de desafios com dificuldade gradual serão exibidos. Ao selecionar um, as instruções serão dadas e será sua vez de colocar as mãos na massa!

Primeiro desafio do Learn Git Branching

Além dos desafios, também temos a possibilidade de compartilhar nosso progresso através do comando export tree. Ao fazer isso, um JSON é gerado e podemos utilizar o comando import tree para trazer as informações na tela.
{
  "branches": {
    "master": {
      "target": "C1",
      "id": "master",
      "remoteTrackingBranchID": null,
      "remote": false,
      "type": "branch"
    }
  },
  "commits": {
    "C0": {
      "parents": [],
      "id": "C0",
      "rootCommit": true,
      "type": "commit",
      "author": "Peter Cottle",
      "createTime": "Fri Dec 07 2018 14:42:09 GMT-0200 (Horário de Verão de Brasília)",
      "commitMessage": "Commitando.. Vai Timão!"
    },
    "C1": {
      "parents": [
        "C0"
      ],
      "id": "C1",
      "type": "commit",
      "author": "Peter Cottle",
      "createTime": "Fri Dec 07 2018 14:42:09 GMT-0200 (Horário de Verão de Brasília)",
      "commitMessage": "Commitando.. Vai Timão!"
    }
  },
  "tags": {},
  "HEAD": {
    "id": "HEAD",
    "target": "master",
    "type": "general ref"
  }
}
Por fim, conseguimos criar novos níveis com o comando build level. Um passo a passo aparecerá mostrando quais passos devem ser executados para construir nossos níveis customizados.

Conclusão

Não há como negar que o Git se tornou um pré-requisito no mundo do desenvolvimento de software. Ao mesmo tempo, também não há como negar que ela é uma ferramenta complexa e que seu uso só fica mais fácil depois de muita prática (e de quebrar a cara).
O Learn Git Branching é uma ótima opção por apresentar uma interface visual para compreender os passos do fluxo de trabalho no Git. Seja você iniciante ou experiente, há sempre algo novo para aprender e o LGB é de grande ajuda.

sexta-feira, 15 de setembro de 2017

6 extensões que vão turbinar o seu Github

PorBernard De Luna em

Resultado de imagem para github

Se você trabalha com projetos web, dificilmente você não utiliza Git. Git é um sistema de controle de versão de arquivos de extrema importância, tanto para sua organização de projetos quanto para a divulgação do seu talento e projetos open-source, além de manter os padrões e processos de equipes de desenvolvimento.
O serviço mais famoso que trabalha com Git é o Github, que permite hospedar seus projetos pessoais e corporativos. A maioria dos projetos open-source do mundo estão disponibilizados no Github, e por isso é uma das ferramentas quase obrigatórias para qualquer empresa e programador.
Porém, pelo dia-a-dia corrido de uma desenvolvedora ou desenvolvedor, acabamos não conseguindo utilizar a capacidade total de funcionalidades que poderíamos nesse serviço. Por isso, separei uma lista de extensões superpoderosas que turbinarão o seu Github para sempre (ou pelo menos deixará o seu trabalho mais divertido). Faça bom proveito.

Github Polls

Que tal utilizar os membros do seu repositório para tomar decisões rápidas? É bem fácil com o Github Polls. Ele trabalha com markdown e utiliza imagens em SVG, e cada opção aparece como um link que identifica o voto.

Github Selfies

Como o próprio slogan deles já diz, “Tudo fica melhor com selfies”! Com essa extensão, você pode anexar uma selfie sua em comentários no seu Github, inclusive Pull Requests. Atualmente está disponibilizado no Chrome e Firefox através do NPM.

Github E-mail

Você é o tipo de profissional que controla mais seus projetos no Github por e-mail? Então vai adorar essa extensão, disponível para Chrome e Firefox. Nela, você poderá visualizar suas threads do Github, sem precisar procurar o link em seu e-mail. O serviço também disponibiliza uma série de atalhos para acessar rapidamente issues e até mutar a thread que está acompanhando.

Isometric Contributions

Confesso que esse é um dos meus preferidos! Com o Isometric, você consegue alterar facilmente a visualização da atividade do Github, de blocos flat para um pixel art isométrico em 3D. Não é tão útil quanto a versão original, mas nem tudo precisa ser né?

GitHub Hovercard

Falando em utilidade, o Hovercard é uma extensão fantástica que vai revolucionar o seu Github. A extensão já está presente em Chrome, Firefox e Opera e permite que você veja rapidamente mais informações sobre Issues, Usuários e Repositórios passando o mouse nos links do Github.

Explore Github

Para terminar essa lista, vou para um projeto que é até um pouco louco, mas superdivertido. Imagina você explorar o Github apenas utilizando sua voz, através da Alexa, assistente inteligente da Amazon. Através da Alexa, você pode perguntar e ouvir sobre os repositórios mais populares do mês e da semana sem usar o seu computador.

terça-feira, 25 de julho de 2017

Decompiled SLocker Android Ransomware Source Code Published Online

Swati Khandelwal
Em 24/07/2017 no site The Hacker News

SLocker-Android-ransomware-Source-code
Bad news for Android users — Decompiled source code of for one of the oldest mobile and popular Android ransomware families has been published online, making it available for cyber criminals who can use it to develop more customised and advanced variants of Android ransomware.

Decompiled source code for the SLocker android ransomware, which saw a six-fold increase in the number of new versions over the past six months, has just been published on GitHub and is now available to anyone who wants it.

The SLocker source code has been published by a user who uses 'fs0c1ety' as an online moniker and is urging all GitHub users to contribute to the code and submit bug reports.

SLocker or Simple Locker is mobile lock screen and file-encrypting ransomware that encrypts files on the phone and uses the Tor for command and control (C&C) communication. The malware also posed as law enforcement agencies to convince victims into paying the ransom.

Famous for infecting thousands of Android devices in 2016, security researchers discovered more than 400 new variants of SLocker ransomware in the wild in May, and just after a month, the nasty Android ransomware was spotted copying the GUI of WannaCry.

Once infected, SLocker runs silently in the background of a victim's device without their knowledge or consent and encrypts images, documents and videos on mobile devices.

Once it has encrypted files on the device, the Android ransomware hijacks the phone, blocking its user access completely, and attempts to threaten the victim into paying a ransom to unlock it.

Why Should You Worry?


Being in action from 2015, SLocker stands out as one of the first ransomware samples to encrypt Android files. The malware has modified beyond just locking screens and demanding payment to taking over administrative rights and controlling the device's microphone, speakers, and the camera.

And now since the source code of this nasty Android ransomware has been released online on GitHub, Android devices are most likely to receive an increasing number of ransomware attacks in upcoming days.

The leaked source code would be a golden opportunity for those who always look for such opportunities as these kinds of malware programs are only offered for sale in underground forums, but SLocker is now accessible to cybercriminals and fraudsters for FREE.

Earlier this year, researchers discovered a variant of BankBot banking trojan in the wild which was developed using the leaked source code for the malware on an underground hacking forum.

Last year, the source code for the MazarBot (improved version of GM Bot) was also leaked online by its author in order to gain reputation on an underground forum.

How to Protect Yourself?


As I previously mentioned, users are always advised to follow some basic precautions in order to protect themselves against such threats:

  • Never open email attachments from unknown sources.
  • Never click on links in SMS or MMS messages.
  • Even if the email looks legit from some company, go directly to the source website and verify any possible updates.
  • Go to Settings → Security, and Turn OFF "Allow installation of apps from sources other than the Play Store."
  • Always keep your Android devices, apps and Antivirus app up-to-date.
  • Avoid unknown and unsecured Wi-Fi hotspots and keep Wi-Fi switched off when not in use.

terça-feira, 30 de maio de 2017

Código-fonte do sistema operacional Windows chega ao Git

PorRedação iMasters em

A Microsoft anunciou nesta semana que o código-fonte do sistema operacional Windows está agora no Git. As equipes de engenheiros e desenvolvedores do Windows agora podem usar o repositório Git para construir sistemas operacionais.
O repositório Windows Git tem aproximadamente 3,5 milhões de arquivos e 300 GB de tamanho. Quatro mil engenheiros da equipe do Windows produzem 1.760 “lab builds” diárias em 440 branches, além de milhares de builds de validação de pull request, revelou o site C# Corner.
A escala em que o sistema está operando é realmente incrível. Abaixo, alguns números:
  • Há mais de 250 mil commits Git alcançáveis nesse repositório nos últimos quatro meses.
  • 8.421 pushes por dia (em média)
  • 2.500 pull requests, com 6.600 revisores por dia de trabalho (em média)
  • 4.352 branches de tópicos ativos
  • 1.760 builds oficiais por dia