El teu blog de Linux en català

Programació

Notepadqq és un editor de l’estil Notepad++ per a l’escriptori GNU/Linux.

Proporciona tot allò que s’espera d’un editor de codi, com el realçat de codi, compatible amb més de 100 llenguatges de programació, esquemes de color, monitorització de fitxers, selecció múltiple i molt més.

Podeu cercar fent servir expressions regulars, organitzar tots els documents i aprofitar el realçat en viu de codi.

En definitiva, res que altre editor de codi que hem vist en el passat no tinga… Tot i així, he de dir que només obrir-lo, he sentit una bona afinitat (encara que estiga implementat amb Qt!).

Instal·lació a l’Ubuntu

Hi ha un repositori ppa disponible:
sudo add-apt-repository ppa:notepadqq-team/notepadqq
sudo apt-get update
sudo apt-get install notepadqq

També podeu trobar informació per instal·lar-lo a altres distribucions al repositori de github.

Ara que estic treballant amb una migració de dades, m’he trobat amb el mateix tipus de problema que sempre em trobe a l’hora de treballar amb bases de dades i PHP: la codificació dels caràcters. Moltes BD antigues (i no tan antigues) treballen amb latin1, mentre que a mi m’interessa treballar en utf8.

Doncs bé, es poden fer conversions molt senzilles de dades amb l’ordre següent:

UPDATE table SET column=CONVERT(CONVERT(column USING binary) USING utf8) WHERE id=123;

Això servix per a columnes de taules específiques. De fet, això converteix directament les dades al format utf8. Com que converteix el resultat a ‘binary’, la conversió és més senzilla.

Una ordre molt útil per tindre sempre a mà. Vist a percona.com.

 

No fa molt vam parlar de l’editor de codi Komodo. Té versions per a totes les plataformes i és un dels millors editors de codi (no només un editor, sinó que és més pròxim a un IDE). La seua baixada i instal·lació és molt fàcil, però ara és encara més fàcil després d’haver trobat un repositori PPA per a l’Ubuntu.

sudo add-apt-repository ppa:mystic-mirage/komodo-edit
sudo apt-get update
sudo apt-get install komodo-edit

I ja ho tindreu instal·lat.

Continuem amb els articles sobre editors de codi. Després d’haver vist Atom, Sublime Text, Lightable, Brackets i Gedit, hui continuem amb un altre que està en el limit entre editor de codi i IDE. Parlem del Komodo Edit:

  • Té dues versions: Komodo Edit (lliure) i Komodo IDE (comercial)
  • L’entorn fa servir el backend  de Mozilla (res de Java!)
  • Té visualització de mapa del fitxer (com el Sublime Text), la possibilitat de dividir la pantalla
  • Intel·ligència de codi per la gran majoria de llenguatges de programació (per no dir-ne tots)
  • Amb extensions es pot tenir: navegador de BD mysql, control de versions i molt més
  • Versions per Windows, Linux i Mac
  • Interfície altament personalitzable: menús, colors, icones…

Ací teniu algunes captures:

Si feu servir grep, de ben segur que alguna vegada vos heu plantejat si seria possible fer un grep a un document PDF, o a una base de dades, o a una web. grep no pot fer això, però crgrep sí que pot. Escrit en JAVA, permet cercar en diferents tipus d’entitats:

  • documents de text, pdfs
  • taules de bases de dades
  • fitxers zip, tar, war, ear i jar
  • metadades d’imatges (jpeg, gif, etc.)
  • text en documents escanejats
  • fitxers tipus POM
  • recursos web (directament sobre urls)

Baixada

crgrep es pot baixar com a binari des de la pàgina del projecte al SourceForge. Només cal extraure el fitxer i utilitzar el binari que es troba al directori bin.

Com utilitzar-lo

La forma general d’ús és:

crgrep patró camí_al_recurs

Per exemple:

crgrep terra document.txt

També permet cercar a directoris. Per exemple, si volem cercar al directori ‘target’:

crgrep -r key target Resultat: target/simple_file.txt: a key moment target/misc.zip[misc/nested_monkey.txt] target/monkey-pics.txt:1:A file about happy monkeys. target/test-ear.ear[META-INF/MANIFEST.MF]:5:Created-By: Apache monkey

A una base de dades podem cercar la columna que coincideix amb ‘handle’:

crgrep -d -U "jdbc:sqlite:/databases/db.sqlite3" handle '*'

Per cercar a un document escanejat:

crgrep --ocr report report_scan.png

Per cercar a una URl:

crgrep google_favicon http://www.google.com

Trobeu més informació a cryanfuse.

Si ets desenvolupador de pàgines web, utilitzaràs sovint el depurador per revisar el codi, depurar javascript, canviar estils, veure les crides ajax, temps de resposta de les pàgines… i un gran etcètera. Per fer això, o bé utilitzes Firefox o bé utilitzes Chrome (si utilitzes un altre navegador llavors et posem al grup reduït del ‘No’, que no sobrepassa el 5%).

Mozilla acaba de presentar Firefox per desenvolupadors. Un Firefox que inclou per defecte totes aquelles eines per desenvolupadors que Mozilla ha anat creant al llarg del temps. Ací vos mostrem les seues característiques.

Eines bàsiques per a desenvolupadors

Entre les eines bàsiques, tenim:

  • L’eina equivalent al Firebug per nativa del Firefox, que ha evolucionat molt i que ens permet fer un munt de coses
  • Una lupa per veure les entranyes del web
  • Fer captura de la pantalla
  • Vista en 3d de la pàgina (això m’ha salvat ja unes quantes voltes de divs que no sabíem d’on venien)
  • ColorPick per esbrinar fàcilment els colors dels diferents elements del web
  • Editor d’estils, depurador, consola, xarxa…

3d-view

Valence

Efectivament, València en anglès. Terra de la paella i de la casalla, de la mentireta i de les bajoques farcides. Però res a vore al cap i a la fi. Valence és un complement per poder depurar navegadors més enllà del Firefox. Bàsicament ens permet depurar Chrome sobre Android i Safari sobre iOS. Això és realment genial (tot i que pareix una miqueta complicat de configurar).

Responsive Design View

Esta funcionalitat ens permet jugar fàcilment amb la mida de visualització de les pàgines web:

  • Podem canviar la mida de la pàgina fàcilment (tot a dintre d’una pestanya del Firefox)
  • Permet fer captures de pantalla directament sobre les diferents mides
  • Permet simular la pantalla tàctil
  • Permet simular rotació de dispositiu i canviar entre vàries mides predefinides

responsive-design-view

WebIDE

Una potent eina de desenvolupament d’aplicacions per al Firefox OS. Podeu provar-la dos segons i vos sorprendreu com de fàcil és crear una aplicació per al FirefoxOS, només heu de conéixer html i és suficient, i si sabeu javascript millor encara.

  • Permet instal·lar en qüestió de segons un emulador del FirefoxOS on podem executar les nostres aplicacions

webide_firefox

I molt més

Visiteu la pàgina de presentació d’esta versió del Firefox per saber-ne més.

El que es troba a faltar

Com a desenvolupador web, trobe a faltar moltes coses. Un «navegador per desenvolupadors», des del meu punt de vista, hauria de portar a més del que ja porta el Firefox for developers:

  • Capacitat de simulació de diversos navegadors, de forma que puguem depurar sense haver de canviar de finestra/sistema operatiu
  • Eines d’anàlisi de javascript que permeta controlar fàcilment eines conegudes globalment (google analytics i altres)
  • Eina per informar de totes les tecnologies que fa servir una web (existeix una extensió anomenada Wappalyzer
  • Poder depurar no només html i js, sinó també PHP o altres llenguatges sense haver de dependre d’editors i eines externes (netbeans/xdebug, per exemple)

Gedit no s’escapa com a bon editor de codi. Tampoc no s’escapa dels canvis continus que està sofrint el GNOME des que es va publicar la primera versió del GNOME3. Tot i així, cal dir que les darreres versions del gedit mostren una eina molt potent, completament integrada amb l’escriptori [GNOME] i amb moltes funcionalitats que un «editor de codi» ha de tindre.

gedit314

  • Integració completa amb GNOME
  • Compatible amb els llenguatges de programació més coneguts i els llenguatges de programació del GNOME
  • Tot i que la creació de connectors és fàcil, no té tant d’èxit com Sublime o d’altres editors de codi (de fet, d’èxit en té més ben poc…)
  • Ràpid, modern…

En definitiva, no està mal. Però si no fora perquè està integrat molt bé amb el GNOME, seria una opció més bé no comparable amb la resta d’editors de codi que hem vist fins ara. Podeu instal·lar-la en qualsevol distribució linux (cerqueu per ‘gedit’).

Brackets és un editor de codi lliure desenvolupat de la mà d’Adobe i implementat amb Javascript (per als que no ho sapigueu ja, ja fa un temps que javascript va deixar de ser un llenguatge per pàgines web, ara existeixen moltes aplicacions d’escriptori fetes en javascript).

Podríem dir que Brackets és l’editor de codi ideal per a la maquetació web: té tota una sèrie d’eines que permeten aplicar estils i codi html i veure els canvis directament. Un punt interessant és com permet trobar l’estil específic d’un div o altre element html al full d’estils (vindria a ser com la navegació entre classes i funcions que permeten moltes IDE’s).

brackets_editor

  • Permet desenvolupar ‘en directe’, els canvis que fem s’apliquen al navegador directament.
  • Permet tindre la pantalla partida, a l’igual que l’Atom
  • Permet instal·lar fàcilment extensions, amb la qual cosa guanyem compatibilitat amb molts llenguatges
  • Depuració de Javascript amb Thesseus (no em demaneu què és això)
  • Té un cicle de desenvolupament molt ràpid, contínuament hi ha novetats

Té versió per a totes les plataformes i el podeu baixar des de la pàgina del github.

Atom és un altre editor de codi que com a característica interessant té el fet d’estar creat amb el motor webkit basat en Chrome (la darrera versió, publicada fa dos dies, fa servir el motor del Chrome 38). Presenta una interfície atractiva i senzilla, però potent. A més, és molt extensible a partir de la instal·lació de paquets (de la mateixa manera que ho fa el Sublime Text, per exemple).

atom_editor

  • És lliure i gratuït
  • Interfície agradable (molt semblant a la del Sublime Text, tot i que menys ‘fluïda’)
  • Extensible mitjançant extensions
  • L’eina de partició de l’espai de treball és magnífica (ho podeu veure a la captura)

Si voleu saber-ne més, al blog honkiat van fer un article ultra-detallat i magnífic sobre com traure el màxim profit. Vos assegure que el trobareu molt interessant.

Comparant Atom amb LightTable, del que parlàvem ahir, Atom és un projecte molt més actiu al GitHub, amb molts més forks. Això ens dóna una bona idea del moviment que hi ha darrere per triar-lo com a opció definitiva.

Instal·lació

A l’Ubuntu podeu fer servir el ppa següent:

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

Per a Debian hi ha paquet Deb que podeu baixar des de la pàgina del github. Per a altres distribucions us tocarà compilar-ho.

Continuant amb els articles d’editors de codi, ara m’agradaria parlar de LightTable. Una de les coses interessants d’este editor és que per crear-lo, es va fer una campanya de recaptació de diners al KickStarter. Van aconseguir ni més ni menys que $316.720 (superant els $200.000 que s’havien posat com a fita).

He de dir que m’és complicat explicar els avantatges d’este editor, però es ven com l’editor de codi de la propera generació. Bàsicament estem parlant d’un editor que permet veure els resultats del que fem a mesura que programem. Però la cosa va més enllà: podem debugar directament, veure els valors que s’estan prenent en un moment donat. És com debugar però d’una manera més fàcil.

ligttable

Vegeu el vídeo i ho comprendreu:

  • És lliure i gratuït
  • No és del tot lleuger, però presenta un aspecte molt interessant, que permet treballar a pantalla partida.
  • És molt personalitzable

El projecte a github mostra que té moviment, tot i que menys del que m’esperava.

Des de la mateixa podeu trobar les baixades per a Linux (executables de 32 i 64bits), Windows i MacOSX.