Quantcast
Channel: Utilidades – Soy programador
Viewing all 32 articles
Browse latest View live

Jodit WYSIWYG, Un editor para nuestras aplicaciones

$
0
0
Jodit WYSIWYG editor  jQuery Plugin  Jodit - Opera_2

Jodit es un excelente editor que seguramente te gustara implementar en tu próximo proyecto, por lo fácil de implementar y fácil de usar para el usuario, si el proyecto NO sera para fines comerciales, podremos usarlo sin problema pero si es lo contrario hay que adquirir una licencia.

PrtScr capture_21

Otras características interesantes es la forma en la que trabaja con las tablas, de una manera muy sencilla.

 

También incluye un Explorador de imágenes, donde aparte las podremos ordenar por carpeta.

PrtScr capture_22

Como dije su implementación es muy sencilla

Jodit Documentation Index - Opera

Por cierto, tiene una muy buena documentación para cuando ya no nos conformamos o necesitamos muchas mas funcionalidades.

http://xdsoft.net/jodit/


elFinder, Un explorador de archivos (JS) para nuestra aplicación

$
0
0
elFinder - file manager for web - Opera_4

elFinder es un explorador de archivos OpenSource que podremos implementar en nuestros proyectos, y ademas puede integrarse con Jodit el editor del post anterior, estos proyectos son los que nos viene de gran ayuda.

El explorador funciona bastante bien, no solo nos permite administrar si no también subir archivos desde el mismo.

elFinder - file manager for web - Opera

 

elFinder - file manager for web - Opera_2

Y ademas nos permite opciones de clic derecho, sobre los archivos y carpetas.

 

elFinder - file manager for web - Opera_5

Nos muestra las propiedades de los archivos, como en este caso el de la imagen.

 

http://elfinder.org/

En que lenguaje de programación es más barato mi proyecto web.

$
0
0

Más allá de cual lenguaje es mejor dejando fuera la velocidad, el más sencillo de usar, el que tiene mejor documentación, etc. Hay una diferencia monetaria la cual puede variar drásticamente dependiendo nuestra elección.

phpPHP es uno de los más populares y seguramente por ser uno de los más económicos, ya que prácticamente todos (100%) los proveedores de web hosting tienen soporte para este lenguaje, y de hecho esta característica lo llevo a ser uno de los preferidos.

Salvo ti utilizas algunas librerías muy específicas o una versión en especial, puede ser que optes por un VPS o uno en la nube, para configurarlo a tu gusto, por lo que también es algo que debemos cuidar al momento de desarrollar la aplicación.

Ruby on Rails - OperaRuby On Rails, lo se esto no es un lenguaje, sino un framework, pero generalmente cuando se trabaja con ruby se hace con rails (si vamos a crear un proyecto, ya que es el más popular), hay proveedores de hosting compartido que ofrecen la posibilidad de subir nuestras apps, pero la verdad es que limitad demasiado y debemos adecuarnos a ellos, por lo que recomiendo, probar casi a cada cambio importante en el servidor, para no llevarnos una sorpresa.

(9) DigitalOcean - OperaUna de las cosas que puede ser más tediosa o complicada, es la de realizar una excelente configuración de Rails, pero aun así lo considero económico ya que hay proveedores de servidores en la nube que nos ofrecen servicios ya pre configurados como digitalocean y lo tenemos solo en 1 minuto.

Algunos trabajamos con Rails instalando nuestro servidor con Bitnami, y al configurar todo de manera manual en Linux, podemos llevarnos grandes decepciones por falta de conocimientos.

Java, Un lenguaje muy popular, para bien o para mal, pero el realizar una aplicación en este lenguaje seguramente no será barato, ya que debemos elegir un servidor que cumpla con los requerimientos de hardware para nuestra aplicación, podemos adquirirlo con cualquier proveedor de cloud hosting y configurarlo a nuestro gusto, al hablar de java, damos por entendido que para una aplicación requerimos de ciertos frameworks como hibernate, richfaces, tomcat, apache, etc.

Microsoft Azure Cloud Computing Platform & Services - Opera.Net bueno con esta tecnología debemos darnos una vuelta por https://azure.microsoft.com para ver cuál de todos los servicios que nos ofrecen, se adapta a nuestro proyecto. Creo que esta tecnología puede ser equivalente a java, tomando en referencia el nivel de configuración y que no hay en el mercado algo pre configurado (si alguien sabe de alguno, favor de compartir)

NodeJs y Python (framework Django), aplica la descripción de Ruby On Rails, ya que digitalocean también nos proporciona servidores ya pre configurados.

La elección de la base de datos también se reflejara en el costo de la aplicación, la más popular y económica es MySql al igual que PHP está incluida en todos los servicios de webhosting compartido, seguida de Postgress que últimamente se ha vuelto más popular en los servicios que ofrecen los proveedores, pero al igual que PHP, debemos revisar la versión de nuestro proveedor para no llevarnos sorpresas.

Otra ventaja de PHP al tener nuestros proyectos en hosting compartido, es la posibilidad de trabajar con múltiples dominios con un mismo servidor, algo que para las otras tecnologías, requiere un poco más de configuración para lograr esto.

Para proyectos pequeños o tener una demo funcional creo que con $10 dólares al mes, es más que suficiente con digitalocean.

Para proyectos con PHP podemos usar A2Hosting, el cual da muy buen servicio, y nos permite cambiar entre diferentes versiones de PHP, así como activar ciertas librerías. Esto sin contar que tenemos un panel de administración (CPanel) que nos hace la tarea toda vía mas sencilla.

Y claro todo depende del tipo de proyecto, pero en general PHP desde $58 dólares al año, será el lenguaje más económico (podemos manejar múltiples proyectos en un mismo servidor), Ruby, NodeJs, Python (Django) desde 10 dólares al mes y por default un proyecto por servidor.

Esto hablando solo del lenguaje principal y claro hay de proyectos a proyectos, y faltara entrar más a detalle con el servidor de la BD, pero si vas iniciar con tu proyecto.

DigitalOcean - Create Droplets - Opera

Para proyectos de producción recomendaría de 2 a 4 Gb en RAM para iniciar, como experiencia, tengo dos proyectos con 1Gb de RAM en Ruby On Rails, pero al paso de unos dia marca error, y es que la memoria es muy poca ya que hay se maneja todo (también php y mysql), creo que el mi problema fue por que actualice a mysql 5.7 y esto me consumió más recursos, a pesas que la he configurado para que consuma lo mínimo según yo, mediante el archivo my.cnf en cuanto tenga más usuario la subiré a 2 GB para ver cómo se comporta.

La recomendación de servidores compartidos no aplica toda la vida, ya que si el proyecto resulta exitoso o requiere de una gran concurrencia, es probable que también nos vayamos a un cloud server.

Editores Json Online

$
0
0
json

Actualmente estoy en un proyecto donde Json juega un papel muy importante en el, bueno, se podría decir que en este formato se almacena la información principal del negocio y es el motor para que esto funcione. una combinarlo de sql con “NoSql” en mysql 5.7

Así que he buscado algunas herramientas online para trabajar y me he encontrado con algunas muy buenas, pareciera que son prácticamente lo mismo, pero la realidad es que son muy distintas pero con una misma finalidad.

 

jsoneditoronline.org

JSON Editor Online - view, edit and format JSON online - Opera_2

Este es con el que trabajo actualmente, me agrado su funcionalidad y se adapta a lo que necesito, entre sus funciones tenemos:

Editor, Nos permite validar el documento, marcándonos el error en la línea en la que se encuentra.

Formato, Es funcionalidad me encanta, podemos pegar un json sin formato (todo junto) y opcionalmente aplicar formato y nos lo mostrara por líneas y con su sangría como debe ser, para poder leerlo mejor. Y viceversa una vez que terminamos de trabajar con el json, podemos compactarlo.

Almacenamiento: Podemos guardar los archivos directamente en la nube y abrirlos después.

Permite abrir archivos alojados en nuestra computadora o mediante una url

Para cosas un poco más avanzada, podemos especificar JSON schema

Por otro lado, en el visualizador podemos agregar más hijos de diferentes tipos, cambiar el orden, y esto actualizada el código json

 

codebeautify.org

Muy similar al anterior, salvo que aquí podemos poner a todo lo ancho de la pantalla el editor. Pero en funciones aparentemente tiene las mismas.

Best Online JSON Editor to edit JSON online, Save and Share - Opera

json-generator.com

Este editor es más avanzado, en el sentido que podemos generar json mediante “codigo” y hacer uso de bucles y funciones, aun no lo he usado, así que no puedo mencionar más al respecto.

JSON Generator – Tool for generating random data - Opera

objgen.com

Con esta herramienta, podemos generar código mediante la escritura delimitada por sangría, al mismo tiempo que definimos el tipo de dato de manera opcional.

ObjGen - Live JSON Generator - Opera

La herramienta es muy buena, pero muy limitada en funciones.

dotNet Disk Imager, para nuestras imagenes ISO

$
0
0
dotnet-disk-imager_16

Este software nos sera de gran utilidad si trabajamos regularmente con imagenes ISO, ya sea para instalar sistemas operativos mediante USB o microSD,

La verdad es muy sencillo de usar, solo seleccionamos la imagen ISO o en zip y la unidad en la que lo grabaremos y listo a esperar que este lista.

Muy practico si trabajas con raspberry u orange PI

 

dotnet-disk-imager_15

Que es programar?

$
0
0
nerd

Programar, esa palabra a la cual muchos estudiantes le temen en la universidad, pero realmente que significa el programar:

Es escribir una serie de instrucciones para llevar a cabo una tarea?

Es algo aburrido, y tedioso que solo sirve para pasar la materia?

Realmente por que le tienen miedo a la programación?

Es deprimente pero es cierto, hay quienes odian la programación, aun cuando son del área de informática, es por eso que me pregunto, que es programar, o por que la vemos desde diferentes perspectivas, o porque me encuentro con médicos, contadores que me hablan de programación y lo bien que hacen paginas web (sencillas pero lo hacen).

Desde mi perspectiva:

Programar es crear algo nuevo, algo que no existía, y no por ello signifique que estamos inventando algo innovador, simplemente estamos creando, las primeras veces crearemos copias de lo ya existente, y bueno de algún modo tenemos que aprender.

Programar es el resolver problemas de una manera creativa, es pensar hasta quedarnos secos, y es no dejar de pensar en esa solución.

Es cierto, no todo el tiempo de la programación es divertido, hay cosas tediosas como en todo, pero la mayor parte del tiempo es emocionante, el ver como vas mejorando lo que haces y pensar, “no puedo creer que antes lo resolvía así, existiendo otras soluciones”

La programación, no se aprende, se desarrolla, podemos aprender como funciona un if, o un while, pero desarrollaremos la forma de usarlo de la mejor manera, es dedicarle muchas horas a descubrir nuevas cosas, y otras tantas a corregir.

Programar, de alguna forma materializar las ideas, que tenemos respecto a algo.

Programar no es escribir un programita de unas cuantas lineas de codigo, es en la mayoria de los casos es solo un algoritmo, programar es conectar muchas cosas para formar una sola.

No puedes decir que odias la programación, si nunca has programado en realidad, mas bien te odias a ti mismo por no saber programar.

Conoce el uso real, de tu servidor MySql en tu WebHosting (No te espantes!)

$
0
0

Si tienes un servidor compartido o web hosting, seguramente sabras que “valga la redundancia lo compartes” con otros usuarios, pero en este post te darás una idea de que tanto se usa “tu” servidor, no te espantes!!.

Con PhpMyAdmin podemos conocer cierta información de nuestro servidor de base de datos, pero no solo de nuestras bd’s si no de todo el servidor en si, es decir, el uso que también le dan nuestros vecinos, te sorprenderán la cantidad de información que se procesa.

Por ejemplo, les muestro información de dos diferentes servidores.

En el primer servidor tiene una transferencia al día de 340 GB (0.3325 TB) y el segundo 143 GB (0.14 TB)

 

Este servidor ha estado activo por 79 días y 19 horas, y vemos la cantidad de sentencias sql que ha procesado (mas  de tres mil cuatrocientos treinta y un millones).

En la tabla vemos el tipo de sentencias SQL que se procesan así como la cantidad.

 

Y si queremos ver las conexiones y estadísticas en tiempo real:

Como vemos al momento de la captura se realizaron 2,702 conexiones al servidor (como maximo), también monitoreamos el uso del procesador y memoria.

 

Para conocer esto debemos ir a PhpMyAdmin y en el menu seleccionar Status, y bueno a explorar todas las opciones.

 

Espero este dato curioso los entretenga un rato en su servidor!.

Problemas con acentós y eñes con PHP y MySql

$
0
0

Seguramente les habra pasado que al guardan en BD de datos todo esta bien, pero al momento de consultar la informacion esta se muestra con simbolos raros donde usamos caracteres esepeciales.

Una de las opciones es agregar utf8_encode o decode segun sea el caso, y el problema se soluciona “momentaneamente” ya que lo hace mas grande, por que nos perderemos entre tantas conversiones, y nos traera mas problemas.

Y que decir cuando tenemos que migrar a otro servidor, todo sera un caos.

Verifica la codificacion de tu servidor con SHOW VARIABLES; y busca los valores a continuacion:

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

Si son diferentes, tendran que configurar el archivo de mysql en mi caso

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

y agregar las lineas antes mencionadas, en la seccion que le corresponde (busca [mysqld]), yo las coloque la final de esa sección, pero antes verifique que no estuvieran ya declaradas.

 

Y con esto todo se arreglo. espero tambien sea su caso!.

No te olvides de reiniciar MySql


tabulator.info una tabla con muchas funcionalidades

$
0
0

Desde hace unos meses encontre tabulator.info y la verdad me ha encantado este componente, pues me permite agregar mucha funcionalidad a mis aplicaciones web de una manera muy sencilla.

Es posible cargar los datos de manera dinámica median ajax y con scroll infinito, es decir conforme vas bajando el scroll de la tabla va solicitando mas información.

La actual documentación esta muy nutrida y encuentras prácticamente de todo para su implementación y con muchísimos ejemplos.

Es posible integrarlos con fremeworks como VueJs, React Angular o bien usarlo sin ellos.

http://tabulator.info/

Uso de comando ls en linux ubuntu

$
0
0

ls nos listará todos los archivos y carpetas contenidos en un directorio

//Para filtrar por tipo de archivo 
ls *.<extencion>
ejemplo ls *.php

//Ordenar de menor a mayor tamaño (útil para cuando queremos eliminar los mas grandes)
ls -Slhr

Aqui la lista de los argumentos

       List  information  about  the  FILEs  (the  current  directory  by default).  Sort entries
       alphabetically if none of -cftuvSUX nor --sort is specified.

       Mandatory arguments to long options are mandatory for short options too.

       -a, --all
              do not ignore entries starting with .

       -A, --almost-all
              do not list implied . and ..

       --author
              with -l, print the author of each file

       -b, --escape
              print C-style escapes for nongraphic characters

       --block-size=SIZE
              scale sizes by SIZE before printing them; e.g., '--block-size=M'  prints  sizes  in
              units of 1,048,576 bytes; see SIZE format below

       -B, --ignore-backups
              do not list implied entries ending with ~

       -c     with  -lt:  sort  by,  and  show,  ctime  (time of last modification of file status
              information); with -l: show ctime and sort  by  name;  otherwise:  sort  by  ctime,
              newest first

       -C     list entries by columns

       --color[=WHEN]
              colorize the output; WHEN can be 'always' (default if omitted), 'auto', or 'never';
              more info below

       -d, --directory
              list directories themselves, not their contents

       -D, --dired
              generate output designed for Emacs' dired mode

       -f     do not sort, enable -aU, disable -ls --color

       -F, --classify
              append indicator (one of */=>@|) to entries

       --file-type
              likewise, except do not append '*'

       --format=WORD
              across -x, commas -m,  horizontal  -x,  long  -l,  single-column  -1,  verbose  -l,
              vertical -C

       --full-time
              like -l --time-style=full-iso

       -g     like -l, but do not list owner

       --group-directories-first
              group directories before files;

              can  be  augmented  with  a --sort option, but any use of --sort=none (-U) disables
              grouping

       -G, --no-group
              in a long listing, don't print group names

       -h, --human-readable
              with -l and/or -s, print human readable sizes (e.g., 1K 234M 2G)

       --si   likewise, but use powers of 1000 not 1024

       -H, --dereference-command-line
              follow symbolic links listed on the command line

       --dereference-command-line-symlink-to-dir
              follow each command line symbolic link

              that points to a directory

       --hide=PATTERN
              do not list implied entries matching shell PATTERN (overridden by -a or -A)

       --hyperlink[=WHEN]
              hyperlink file names; WHEN can be 'always' (default if omitted), 'auto', or 'never'

       --indicator-style=WORD
              append indicator with style WORD  to  entry  names:  none  (default),  slash  (-p),
              file-type (--file-type), classify (-F)

       -i, --inode
              print the index number of each file

       -I, --ignore=PATTERN
              do not list implied entries matching shell PATTERN

       -k, --kibibytes
              default to 1024-byte blocks for disk usage

       -l     use a long listing format

       -L, --dereference
              when  showing  file  information for a symbolic link, show information for the file
              the link references rather than for the link itself

       -m     fill width with a comma separated list of entries

       -n, --numeric-uid-gid
              like -l, but list numeric user and group IDs

       -N, --literal
              print entry names without quoting

       -o     like -l, but do not list group information

       -p, --indicator-style=slash
              append / indicator to directories

       -q, --hide-control-chars
              print ? instead of nongraphic characters

       --show-control-chars
              show nongraphic characters as-is (the default, unless program is 'ls' and output is
              a terminal)

       -Q, --quote-name
              enclose entry names in double quotes

       --quoting-style=WORD
              use  quoting  style  WORD  for  entry  names: literal, locale, shell, shell-always,
              shell-escape, shell-escape-always, c, escape

       -r, --reverse
              reverse order while sorting

       -R, --recursive
              list subdirectories recursively

       -s, --size
              print the allocated size of each file, in blocks

       -S     sort by file size, largest first

       --sort=WORD
              sort by WORD instead of name: none  (-U),  size  (-S),  time  (-t),  version  (-v),
              extension (-X)

       --time=WORD
              with -l, show time as WORD instead of default modification time: atime or access or
              use (-u); ctime or status (-c); also use specified time as sort key if  --sort=time
              (newest first)

       --time-style=STYLE
              with -l, show times using style STYLE: full-iso, long-iso, iso, locale, or +FORMAT;
              FORMAT is interpreted like in 'date'; if FORMAT  is  FORMAT1<newline>FORMAT2,  then
              FORMAT1  applies  to  non-recent  files  and  FORMAT2  to recent files; if STYLE is
              prefixed with 'posix-', STYLE takes effect only outside the POSIX locale

       -t     sort by modification time, newest first

       -T, --tabsize=COLS
              assume tab stops at each COLS instead of 8

       -u     with -lt: sort by, and show, access time; with -l: show access  time  and  sort  by
              name; otherwise: sort by access time, newest first

       -U     do not sort; list entries in directory order

       -v     natural sort of (version) numbers within text

       -w, --width=COLS
              set output width to COLS.  0 means no limit

       -x     list entries by lines instead of by columns

       -X     sort alphabetically by entry extension

       -Z, --context
              print any security context of each file

       -1     list one file per line.  Avoid '\n' with -q or -b

       --help display this help and exit

       --version
              output version information and exit

       The  SIZE  argument  is an integer and optional unit (example: 10K is 10*1024).  Units are
       K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,... (powers of 1000).

       Using color to distinguish file types is disabled both by default and with  --color=never.
       With  --color=auto,  ls  emits  color  codes  only  when standard output is connected to a
       terminal.  The LS_COLORS environment variable can change the settings.  Use the  dircolors
       command to set it.

   Exit status:
       0      if OK,

       1      if minor problems (e.g., cannot access subdirectory),

       2      if serious trouble (e.g., cannot access command-line argument).

Como quitar el fondo de una imagen

$
0
0

En muchas ocasiones requerimos quitar el fondo de una imagen, en lo personal lo más usual que realizo es quitar el donde blanco de un logotipo, para que este sea transparente, si bien lo podemos hacer con algunos programas como Photoshop o Gimp, es como usar un tanque de guerra para matar una mosca, anteriormente usaba una aplicación ya descontinuada de adobe llamada Fireworks (con esta aplicación empece a quitar los fondos).

Pero el tiempo y la tecnología avanza y ya no podemos seguir usando lo mismo, es por ello que hoy quiero compartir con ustedes la actual herramienta que utilizo hoy en día la cual es https://remove.rb

Hay dos opciones en línea (de las que yo uso) muy parecidas en interfaz y funcionamiento pero con resultados bastante diferentes.

Vamos a ver el resultado para esta imagen

Espero les sirva esta herramienta.

clipboard.js liberia muy util y sencilla para copiar al portapapeles

$
0
0

Comparto esta librería que encontré, ahorita mismo que estoy realizando un script para recorrer directorios, mostrar archivos y copiar la URL al portapapeles (así lo requiere el cliente).


La librería se llama Clipboard.js

Made with ♥ by Zeno Rocha under MIT license
Viewing all 32 articles
Browse latest View live