domingo, 22 de novembro de 2015

O que é um Framework?


Introdução

O tempo vai passando e os avanços das técnicas de desenvolvimento de software vem crescendo constantemente, o processo de construção continua sendo extremamente complexo. Uma das abordagens para diminuir a complexidade e aumentar a produtividade e a qualidade tem sido a reutilização de códigos.

Os projetistas mais experientes sabem que não devem resolver cada problema a partir de princípios elementares ou do zero, mas reutilizar soluções que funcionaram no passado. No entanto apesar das óbvias vantagens da reutilização de software, a maior parte dos sistemas continua a ser desenvolvida a partir do zero. Com isso, pode-se concluir que a metáfora da reinvenção da roda é uma prática freqüente no processo de construção de software.

Uma das propostas da reutilização, é a de usar frameworks, porque Independente da linguagem ou tecnologia que estamos usando, um conceito global é: não queremos ficar nos preocupando com infraestrutura.


O que é um framework?

Existem muitas definições para “framework“, feitas por muitas pessoas diferentes; algumas muito estudadas e que desenvolveram seus próprios frameworks, outras nem tanto, mas que buscam uma definição precisa para o termo.

Segundo a Wikipédia, framework:
"É uma estrutura de suporte definida em que um outro projeto de software pode ser organizado e desenvolvido. Um framework pode incluir programas de suporte, bibliotecas de código, linguagens de script e outros softwares para auxiliar no desenvolvimento e unir diferentes componentes de um projeto de software."

"Framework é um conjunto de scripts feitos por pessoas para programar de forma mais rápida, fácil e eficiente."

Falando francamente e sem muito “tecnicinismo”, um framework não passa disso mesmo: um monte de arquivos organizados, com um monte de funções, rotinas e variáveis inclusas, que servem para nos poupar o tempo de “reinventar a roda” diversas e diversas vezes, para cada novo projeto.


Quais as vantagens em usar frameworks?

Você já deve ter percebido que há muitas vantagens em se usar um framework. Mas, para ser mais explícito, algumas das vantagens em se usar frameworks são:

Utilidade
     O objetivo primeiro dos frameworks é auxiliar no desenvolvimento de aplicações e softwares. Para tal, eles têm funcionalidades nativas das mais variadas, que ajudam você a resolver as questões sobre programação do dia-a-dia com muito mais qualidade e eficiência.


Segurança
    Os bons frameworks são projetados de modo a garantir a segurança de quem programa e, principalmente, de quem usa o que foi feito a partir dele. Não se preocupe mais com aquelas intermináveis linhas de código para evitar um SQL Injection, por exemplo; com frameworks, a parte de segurança já “vem de fábrica”.


Extensibilidade
    Os frameworks permitem que você extenda suas funcionalidades nativas. Se aquela biblioteca de envio de e-mails por SMTP não contempla todas as possibilidades que você gostaria, simplesmente extenda suas funcionalidades e as use como se fossem parte do framework (na verdade, elas serão).


Economia de tempo
    O que você demoraria algumas horas ou alguns dias para fazer, você encontra pronto em um framework. Pense no quão trabalhosas aquelas funções de manipulação de imagens são; usando um framework que tenha isso, você só usa, e pronto.


Ajuda fácil
    Os que desenvolvem frameworks geralmente disponibilizam material de qualidade nos web sites ou repositórios oficiais, com uma vasta documentação a respeito. Além disso, os bons frameworks sempre têm uma comunidade de desenvolvedores dispostos a se ajudarem entre si. É um prazer para os que já sabem mexer ajudar os que ainda não sabem (embora a falta de tempo também seja uma realidade).


Conclusão sobre frameworks

Existem, literalmente, milhares de frameworks disponíveis para as diversas linguagens de programação existentes. É importante optar por um que atenda a suas necessidades e que seja consoante a seu método e estilo de trabalho.

Inicialmente, pode parecer que usar um framework é pior do que fazer uma “programação pura”. Entretanto, tenha certeza: vale a pena dedicar seu tempo nisso! As vantagens vindouras de ter um projeto bem estruturado e rodando numa plataforma segura e estável, realmente compensam!




Compartilhe:    Facebook Twitter Google+
Leia Mais

terça-feira, 10 de novembro de 2015

Elementary OS - Instalando o phpmyadmin



O phpMyAdmin é uma ferramenta para gerenciar as suas bases de dados de uma maneira muito intuitiva. 

* Estou utilizando neste tutorial o Servidor Web LAMP no elementary OS.

Abra o terminal e instale o pacote do phpMyAdmin com o comando:

sudo apt-get install phpmyadmin

De seguida o sistema vai lhe pedir para instalar a base de dados do phpMyAdmin, tecle “Enter” para continuar, escolhendo a opção “Yes“.



Introduza a senha do utilizador que administra as bases de dados (Criada quando instalou o MySQL ).



Escolha agora a password para o phpMyAdmin, pode utilizar a mesma do MySQL para facilitar.


Escolha o seu servidor web, no meu caso é o apache2.


No terminal deverá ter a informação de que tudo foi bem configurado, como demonstra a imagem abaixo.


Por fim, Faça o seguinte:

No terminal utilizando o seu editor de texto preferido ( eu uso o nano ), abra /etc/apache2/apache2.conf

sudo nano /etc/apache2/apache2.conf

Vá ao final do arquivo e adicione a linha:

Include /etc/phpmyadmin/apache.conf

Salve o arquivo e depois reinicie o apache2 com o seguinte comando:

sudo /etc/init.d/apache2 restart



Agora tente acessar novamente ao phpMyAdmin, pois já deve conseguir sem problemas.

Depois de acessar pelo Browser a tela de Login será esta:


Faça login com o utilizador e password que definiu anteriormente.


E está terminado este tutorial de como instalar o phpMyAdmin no Ubuntu/Elementary OS/Debian e derivados. 


Qualquer dúvida é só perguntar 😉

Compartilhe:    Facebook Twitter Google+
Leia Mais

Elementary OS - Configurando teclado para ABNT2




Em algumas ocasiões quando instalei o Elementary OS tive problemas para configurar o meu teclado.

Logo então pesquisando um pouco vivaaolinux encontrei o seguinte comando: 

sudo setxkbmap -model abnt2 -layout br
Contudo só funcionou temporariamente, após reiniciar desconfigurava de novo.

Então vamos logo para solução.

Abra o seu terminal e digite o seguinte comando:

sudo dpkg-reconfigure keyboard-configuration


E depois responda as questões do sistema pelo terminal


Em meu notebook funcionou as seguintes respostas:
  • O padrão para o layout de teclado > Laptop/notebook Compaq (ex. Armada) Teclado de Laptop
  • País de origem para o teclado > Português (Brasil)
  • Layout do teclado > Português (Brasil)
  • Tecla para funcionar como AltGr > O padrão para o layout de teclado
  • Tecla Compose > Sem tecla compose  
  • Usar Control+Alt+Backspace para terminar o servidor X? > Não

Compartilhe:    Facebook Twitter Google+
Leia Mais

domingo, 1 de novembro de 2015

Linux - Como descompactar arquivos pelo Terminal

Como descompactar arquivos zip, rar, tar.gz, bz2, tar.bz2 pelo terminal


Para descompactar estes formatos de arquivos, os comandos são simples:

rar:
unrar x nomedoarquivo.rar

zip:
unzip nomedoarquivo.zip

7z:
7z x nomedoarquivo.7z

tar:
tar -xvf nomedoarquivo.tar

tar.gz:
tar -vzxf nomedoarquivo.tar.gz

bz2:
bunzip nomedoarquivo.bz2

tar.bz2:
tar -jxvf nomedoarquivo.tar.bz2



Compartilhe:    Facebook Twitter Google+
Leia Mais

quarta-feira, 22 de julho de 2015

Aplicativos que não pode faltar no seu linux





Como todo usuário iniciante que está abandonando o windows, a maior dificuldade que se encontra é achar aplicativos (programas) que simplifique as tarefas do dia-a-dia. Então decidir listar os principais programas que eu uso, para tornar minha experiência tão simples quanto no windows.


Estou usando a distribuição Elementary OS baseada no ubuntu, por padrão ele trás apenas os  programas mais básicos já está embutido no Sistema Operacional como: Música, Vídeo, Fotos, Gerenciador de Compactação,   Navegador Midori, Geary (Gerenciador de email's). Isso é perfeito pois meu sistema não vem cheios de aplicações que nunca irei usar rsrsr.

Confira a lista Abaixo dos App's e como instalar:

Navegadores
Firefox:
sudo apt-get install firefox

Opera: 
Basta clicar aqui para baixar o pacote .deb especifico para seu sistema 32/64.

Google Chrome (Não utilizo mais, devido a atualização com diversos bugs):
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo apt-get update
sudo apt-get install google-chrome-stable

Chromium:
sudo apt-get install chromium-browser

Vivalde:

Sistemas de 32bits
 wget https://vivaldi.com/download/snapshot/vivaldi-snapshot_1.0.340.7-1_i386.deb -O vivaldi-snapshot_i386.deb
sudo dpkg -i vivaldi-snapshot_i386.deb
Sistemas de 64bits
wget https://vivaldi.com/download/snapshot/vivaldi-snapshot_1.0.340.7-1_amd64.deb -O vivaldi-snapshot_amd64.deb
sudo dpkg -i vivaldi-snapshot_amd64.deb

Complementos de Navegadores

"Flash" para os navegadores:
sudo apt-get install  pepperflashplugin-nonfree 

Java 8:
 sudo add-apt-repository ppa:webupd8team/java
 sudo apt-get update 
sudo apt-get install oracle-java8-installer

E-mail 
(Prefiro usar o Geary - Nativo do próprio Sistema Operacional)

Thunderbird:
sudo apt-get install thunderbird

Evolution:
sudo apt-get install evolution

Mensageiros
Skype:
 sudo sh -c 'echo "deb http://archive.canonical.com/ubuntu trusty partner" >> /etc/apt/sources.list.d/canonical_partner.list'
sudo apt-get update
sudo apt-get install skype

Pidgin ( Cliente de Chat para MSN, Yahoo.... ):

sudo apt-get install pidgin

Telegram:
sudo add-apt-repository ppa:atareao/telegram

sudo apt-get update

sudo apt-get install telegram

Torrent
qbittorrent:
sudo apt-get install qbittorrent

deluge:
sudo apt-get install deluge


Cliente FTP
Filezilla:
sudo apt-get install Filezilla

Multimídia
VLC (Media Player):
sudo apt-get install vlc

Rhythmbox (Media Player):
sudo apt-get install rhythmbox

Amarok (Media Player):
sudo apt-get install amarok

FF Multi Converter (Conversor de Mídia):

sudo add-apt-repository ppa:ffmulticonverter/stable
sudo apt-get update
sudo apt-get install ffmulticonverter

Vídeos
OpenShot Editor de Vídeo ):
sudo apt-get install openshot

Kdenlive Editor de Vídeo ):
sudo apt-get install kdenlive

Pitivi Editor de Vídeo ):
sudo apt-get install pitivi

ClipGrab Baixar videos do youtube ):
sudo add-apt-repository ppa:clipgrab-team/ppa
sudo apt-get update
sudo apt-get install clipgrab



Áudio

Audio Recorder (gravador de audio):
sudo add-apt-repository ppa:osmoma/audio-recorder
sudo apt-get update
sudo apt-get install audio-recorder

Sound Converter (Conversor de Música):
sudo apt-get install soundconverter

Audacity (Editor de Áudio):
sudo apt-get install audacity

Ardour (Edição de áudio profissional):
sudo apt-get install ardour

Gtick (metronomo):
sudo apt-get install gtick

Hydrogen (Bateria Eletrônica):
sudo add-apt-repository ppa:kxstudio-team/hydrogensudo
sudo apt-get update
sudo apt-get install hydrogen

Musique (player de música):
sudo apt-get install musique

Spotify (Player de música streaming):
 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D2C19886
 echo deb http://repository.spotify.com stable non-free | sudo tee /etc/apt/sources.list.d/spotify.list
sudo apt-get update
sudo apt-get install spotify-client

Gravador de Tela

Kazam:
sudo apt-get install kazam

Editor de Imagens

Mypaint (Paint do linux):
sudo apt-get install mypaint

Gimp ( Manipulador de Imagem ):
sudo apt-get install gimp

Inkscape (Editor de Gráficos Vetoriais):
sudo apt-get install inkscape

Dia (Editor de Diagramas):
sudo apt-get install dia

Gwenview (visualizador de imagens):
sudo apt-get install gwenview


Editor de Gráficos 3D

Blender:
sudo apt-get install blender

Leitor de PDF
(O Elementary OS já possui um leitor nativo)

Evince:
sudo apt-get install evince

Editor de Tablatura


Tux guitar:
sudo apt-get install tuxguitar

Office

Libreoffice:
sudo apt-get install libreoffice

OBS - Eu particularmente estou usando mais o office online da google, entretanto por aqui recorri ao Microsoft Office pelo Wine mesmo por questão de constume. Entretanto vale apena dar uma olhada no que o mundo linux tem a te oferecer: LibreOffice, OpenOffice, Kingsoft Office. (Prefiro o LibreOffice)



Utilitários


Virtualbox (Máquina Virtal):
sudo apt-get install virtualbox

Teamviewer (Acesso Remoto):
wget http://www.teamviewer.com/download/teamviewer_linux.deb
sudo dpkg -i teamviewer_linux.deb

Dropbox (Arquivos nas Nuvens):
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -
~/.dropbox-dist/dropboxd
sudo apt-get install nautilus-dropbox

Easystroke (Reconhecimento de gestos):
sudo apt-get install easystroke

Gparted (Editor de partições):
sudo apt-get install gparted

Systemback (Backup de Arquivos):
sudo add-apt-repository ppa:nemh/systemback
sudo apt-get update
sudo apt-get install systemback

Synaptic (Gerenciador de aplicações):

Sistema é de 32 bits
wget https://launchpad.net/ubuntu/+archive/primary/+files/synaptic_0.81.3_i386.deb -O synaptic.deb

sudo dpkg -i synaptic.deb
sudo apt-get install -f



Sistema é de 64 bits
wget https://launchpadlibrarian.net/195345684/synaptic_0.81.3_amd64.deb -O synaptic.deb
sudo dpkg -i synaptic.deb
sudo apt-get install -f

Slingscold ( Lançador de aplicativos estilo launchpad para Mac OS X ):
Instale o lançador Slingscold no Ubuntu

sudo add-apt-repository ppa:noobslab/apps
sudo apt-get update

sudo apt-get install slingscold-launcher

sudo apt-get install slingscold


Keepassx ( Guardar Passwords ):
sudo apt-get install keepassx

Xpad ( Post-Its ):
sudo apt-get install xpad

Dvdisaster (Corrigir problemas trazidos aos CDs ou DVDs devido a desgaste físico):

sudo apt-get install dvdisaster

MegaSynic:

mkdir mega && cd mega && wget https://mega.co.nz/linux/MEGAsync/xUbuntu_14.04/i386/megasync_1.0.29_i386.deb && wget https://mega.co.nz/linux/MEGAsync/xUbuntu_14.04/i386/nautilus-megasync_1.0.29_i386.deb
sudo dpkg -i *.deb
  
Wireshark (analisador de protocolos network):
sudo apt-get install wireshark

Terminator (Terminal linux):
sudo apt-get install terminator

Guake (Terminal linux):
sudo apt-get install guake

IDE's de Desenvolvimento

Atom:
sudo add-apt-repository ppa:webupd8team/atom -y 
sudo apt-get update
sudo apt-get install atom -y

Brackets:
sudo add-apt-repository ppa:webupd8team/brackets 
sudo apt-get update
sudo apt-get install brackets

Sublime-text3:
sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text

Bluefish:
sudo apt-get install bluefish

Codeblocks:
sudo apt-get install codeblocks

Emacs:
sudo apt-get install emacs

Anjuta:
sudo apt-get install anjuta

Jedit:
sudo apt-get install jedit

Geany:
sudo apt-get install geany

Monodevelop:
sudo apt-get install monodevelop

Visual Studio Code:
sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
sudo apt-get update && sudo apt-get install ubuntu-make
umake web visual-studio-code
  
Eclipse:
sudo apt-get install eclipse

Netbeans:
sudo apt-get install netbeans

Idle3 (python3):
sudo apt-get install python3
sudo apt-get install idle3

Android-Studio:
sudo add-apt-repository ppa:paolorotolo/android-studio
sudo apt-get update
sudo apt-get install android-studio
  
Servidor 
LAMP:
sudo apt-get install lamp-server^

Banco de Dados

Mysql:
sudo apt-get install mysql

Workbench:
sudo apt-get install mysql-workbench

Postgresql:
sudo apt-get install postgresql postgresql-contrib pgadmin3

Controle de Versão


Git:
sudo apt-get install git

Gitg ( interface gráfico para o git ):
sudo apt-get install gitg

Mercurial:

sudo apt-get install mercurial meld

Bazaar:
sudo apt-get install bzr

Bazaar Explorer ( interface gráfico para o bazaar ):
sudo apt-get install bzr-explorer


Projetos

Umbrello:
sudo apt-get install umbrello

Xmind (Mapa mental / organização de tarefas / passo-a-passo / requisitos):
Clique aqui se seu sistema for 32bits
Clique aqui se seu sistema for 64bits

Jogos
Openarena:

sudo apt-get install openarena

Alien Arena:

sudo apt-get install alien-arena

Assalt Cube:

sudo apt-get install assaultcube

Eclipse red:

sudo ppa add-apt-repositório: itachi-sama-amaterasu / redeclipse-client
sudo apt-get update
sudo apt-get install redeclipse

Nexuiz:


sudo apt-get install nexuiz

America's Army:

Clique aqui para download

Flightgear (simulador):

sudo apt-get install flightgear

Frets on fire (Puzzle e Diversos):


sudo apt-get install fretsonfire


YoFrankie (Puzzle e Diversos):


sudo apt-get install yofrankie


Billard (Puzzle e Diversos):


sudo apt-get install billard-gl


Emuladores

Steam:
sudo apt-get install steam

Joystick ( Pacotes para poder usar o Joystick ):
sudo apt-get install Joystick

Zsnes ( Super Nintendo):
sudo apt-get install zsnes

MUPEN 64 ( Nintendo 64 ):
sudo add-apt-repository ppa:sven-eckelmann/ppa-mupen64plus
sudo apt-get update
sudo apt-get install mupen64plus


DESMUME ( Nintendo DS ):
sudo apt-get install desmume

PCSX2 ( Playstation 2):
sudo add-apt-repository ppa:gregory-hainaut/pcsx2.official.ppa
sudo apt-get update
sudo apt-get install pcsx2-unstable

Visual Boy Advance ( Game Boy):
sudo apt-get install visualboyadvance

Compartilhe:    Facebook Twitter Google+
Leia Mais