Actualizar node y npm a la última versión en MacOS con Brew
brew update
brew upgrade node
npm install -g npm
brew update
brew upgrade node
npm install -g npm
Tiempo de estudiar un ratico: http://bit.ly/DevCoursesTutorials
Si eres programador o quieres llegar a serlo, de seguro buscas aprovechar de cualquier manera la enorme cantidad de recursos que te ofrece Internet. Hacker.io es una comunidad, cualquier persona puede enviar un curso o tutorial que haya encontrado o creado para la web y los usuarios pueden votar para calificarlos según su calidad.
Tiempo de estudiar un ratico: http://bit.ly/DevFreeBooks
Si quieres aprender algo y tienes una conexión a Internet es muy poco lo que se escapará de tus posibilidades. DevFreeBooks es una iniciativa open-source para compartir con todo el mundo libros sobre programación que sean gratis.
Desde la década de 1970, Vi y Vim son populares entre los desarrolladores y están presentes en la mayoría de los servidores basados en UNIX. Esos editores de texto libre y de código abierto puede ser un poco difícil de usar al principio, pero son extremadamente poderosos. Aquí está una lista de más de 130 comandos para impulsar el potencial de su codificación con Vi / Vim.
BASICS
:e filename | Open filename for edition |
:w | Save file |
:q | Exit Vim |
:q! | Quit without saving |
:x | Write file (if changes has been made) and exit |
:sav filename | Saves file as filename |
. | Repeats the last change made in normal mode |
5. | Repeats 5 times the last change made in normal mode |
MOVING IN THE FILE
k or Up Arrow | move the cursor up one line |
j or Down Arrow | move the cursor down one line |
e | move the cursor to the end of the word |
b | move the cursor to the begining of the word |
0 | move the cursor to the begining of the line |
G | move the cursor to the end of the file |
gg | move the cursor to the begining of the file |
L | move the cursor to the bottom of the screen |
:59 | move cursor to line 59. Replace 59 by the desired line number. |
20| | move cursor to column 20. |
% | Move cursor to matching parenthesis |
[[ | Jump to function start |
[{ | Jump to block start |
CUT, COPY & PASTE
y | Copy the selected text to clipboard |
p | Paste clipboard contents |
dd | Cut current line |
yw | Yank word |
yy | Copy current line |
y$ | Copy to end of line |
D | Cut to end of line |
SEARCH
/word | Search word from top to bottom |
?word | Search word from bottom to top |
* | Search the word under cursor |
/\cstring | Search STRING or string, case insensitive |
/jo[ha]n | Search john or joan |
/\< the | Search the, theatre or then |
/the\> | Search the or breathe |
/\< the\> | Search the |
/\< ¦.\> | Search all words of 4 letters |
/\/ | Search fred but not alfred or frederick |
/fred\|joe | Search fred or joe |
/\<\d\d\d\d\> | Search exactly 4 digits |
/^\n\{3} | Find 3 empty lines |
:bufdo /searchstr/ | Search in all open files |
bufdo %s/something/somethingelse/g | Search something in all the open buffers and replace it with somethingelse |
REPLACE
:%s/old/new/g | Replace all occurences of old by new in file |
:%s/onward/forward/gi | Replace onward by forward, case unsensitive |
:%s/old/new/gc | Replace all occurences with confirmation |
:2,35s/old/new/g | Replace all occurences between lines 2 and 35 |
:5,$s/old/new/g | Replace all occurences from line 5 to EOF |
:%s/^/hello/g | Replace the begining of each line by hello |
:%s/$/Harry/g | Replace the end of each line by Harry |
:%s/onward/forward/gi | Replace onward by forward, case unsensitive |
:%s/ *$//g | Delete all white spaces |
:g/string/d | Delete all lines containing string |
:v/string/d | Delete all lines containing which didn’t contain string |
:s/Bill/Steve/ | Replace the first occurence of Bill by Steve in current line |
:s/Bill/Steve/g | Replace Bill by Steve in current line |
:%s/Bill/Steve/g | Replace Bill by Steve in all the file |
:%s/^M//g | Delete DOS carriage returns (^M) |
:%s/\r/\r/g | Transform DOS carriage returns in returns |
:%s#<[^>]\+>##g | Delete HTML tags but keeps text |
:%s/^\(.*\)\n\1$/\1/ | Delete lines which appears twice |
Ctrl+a | Increment number under the cursor |
Ctrl+x | Decrement number under cursor |
ggVGg? | Change text to Rot13 |
CASE
Vu | Lowercase line |
VU | Uppercase line |
g~~ | Invert case |
vEU | Switch word to uppercase |
vE~ | Modify word case |
ggguG | Set all text to lowercase |
gggUG | Set all text to uppercase |
:set ignorecase | Ignore case in searches |
:set smartcase | Ignore case in searches excepted if an uppercase letter is used |
:%s/\<./\u&/g | Sets first letter of each word to uppercase |
:%s/\<./\l&/g | Sets first letter of each word to lowercase |
:%s/.*/\u& | Sets first letter of each line to uppercase |
:%s/.*/\l& | Sets first letter of each line to lowercase |
READ/WRITE FILES
:1,10 w outfile | Saves lines 1 to 10 in outfile |
:1,10 w >> outfile | Appends lines 1 to 10 to outfile |
:r infile | Insert the content of infile |
:23r infile | Insert the content of infile under line 23 |
FILE EXPLORER
:e . | Open integrated file explorer |
:Sex | Split window and open integrated file explorer |
:Sex! | Same as :Sex but split window vertically |
:browse e | Graphical file explorer |
:ls | List buffers |
:cd .. | Move to parent directory |
:args | List files |
:args *.php | Open file list |
:grep expression *.php | Returns a list of .php files contening expression |
gf | Open file name under cursor |
INTERACT WITH UNIX
:!pwd | Execute the pwd unix command, then returns to Vi |
!!pwd | Execute the pwd unix command and insert output in file |
:sh | Temporary returns to Unix |
$exit | Retourns to Vi |
ALIGNMENT
:%!fmt | Align all lines |
!}fmt | Align all lines at the current position |
5!!fmt | Align the next 5 lines |
TABS/WINDOWS
:tabnew | Creates a new tab |
gt | Show next tab |
:tabfirst | Show first tab |
:tablast | Show last tab |
:tabm n(position) | Rearrange tabs |
:tabdo %s/foo/bar/g | Execute a command in all tabs |
:tab ball | Puts all open files in tabs |
:new abc.txt | Edit abc.txt in new window |
WINDOW SPLITING
:e filename | Edit filename in current window |
:split filename | Split the window and open filename |
ctrl-w up arrow | Puts cursor in top window |
ctrl-w ctrl-w | Puts cursor in next window |
ctrl-w_ | Maximize current window vertically |
ctrl-w| | Maximize current window horizontally |
ctrl-w= | Gives the same size to all windows |
10 ctrl-w+ | Add 10 lines to current window |
:vsplit file | Split window vertically |
:sview file | Same as :split in readonly mode |
:hide | Close current window |
:nly | Close all windows, excepted current |
:b 2 | Open #2 in this window |
AUTO-COMPLETION
Ctrl+n Ctrl+p (in insert mode) | Complete word |
Ctrl+x Ctrl+l | Complete line |
:set dictionary=dict | Define dict as a dictionnary |
Ctrl+x Ctrl+k | Complete with dictionnary |
MARKS
m {a-z} | Marks current position as {a-z} |
‘ {a-z} | Move to position {a-z} |
” | Move to previous position |
ABBREVIATIONS
:ab mail [email protected] | Define mail as abbreviation of [email protected] |
TEXT INDENT
:set autoindent | Turn on auto-indent |
:set smartindent | Turn on intelligent auto-indent |
:set shiftwidth=4 | Defines 4 spaces as indent size |
ctrl-t, ctrl-d | Indent/un-indent in insert mode |
>> | Indent |
<< | Un-indent |
=% | Indent the code between parenthesis |
1GVG= | Indent the whole file |
SYNTAX HIGHLIGHTING
:syntax on | Turn on syntax highlighting |
:syntax off | Turn off syntax highlighting |
:set syntax=perl | Force syntax highlighting |
Fuente: CATS WHO CODE
La tecnología se ha convertido en uno de los rasgos más definitorios del mundo contemporáneo. Desde su surgimiento, el ser humano ha sido testigo de una aceleración sin precedentes del desarrollo en numerosas esferas. Si bien es cierto que desde el punto de vista laboral muchas tareas se han visto facilitadas y perfeccionadas, lo cual ha estado favorecido, por ejemplo, por un aumento de la capacidad productiva y un mejoramiento de la gestión empresarial, no solo en este ámbito se pueden apreciar sus beneficios. La vida del hombre se ha vuelto indudablemente más cómoda, y una nueva era se ha abierto también en el mundo del entretenimiento gracias a una invención maravillosa: los videojuegos. A partir de la década de los setenta, con la popularidad alcanzada por estos, la tecnología dejó de ser vista como meros instrumentos de trabajo o medios de confort para transformarse en un atractivo universo de actividades recreativas.
Desde entonces la industria de los juegos virtuales ha ido perfeccionándose hasta alcanzar la elevada capacidad de los sistemas de DVD y Blu-Ray que existen actualmente. Sin embargo, debido a los altos costos de estas tecnologías, son los juegos online los que han alcanzado una mayor popularidad. Y no es esta su única ventaja; entre otras, podemos contar su amplia cobertura en la población dada por su facilidad de acceso, su gran disponibilidad y la posibilidad de adquirir frecuentes actualizaciones.
Aunque el origen de los juegos en red se remonta a 1979, y durante los ochenta se desarrollaron paulatinamente entre los usuarios de la entonces poco popular internet, los cuales formaron los primeros grupos virtuales, no fue hasta 1993, con la creación de la World Wide Web, que comenzaron a expandirse hasta alcanzar los actuales niveles de popularización. Juegos para todos los gustos, con espectaculares gráficos de un realismo que una generación atrás se hubiera creído imposible, se abren a la consideración de un ejército de usuarios deseosos de encontrar la más encantadora manera de disfrutar de su tiempo libre. La proliferación de las redes sociales, además, ha añadido otra ventaja: no se trata de un disfrute en solitario sino de una manera genuina de relacionarse y de compartir con nuestros amigos nuestros gustos y nuestro tiempo.
La posibilidad de realizar nuestros deseos en el mundo virtual está al alcance de todos. Todas las preferencias tienen su espacio en las redes: desde los juegos para niños hasta los que recrean las más complejas situaciones y fantasías de los adultos. Entre estos sobresalen los juegos de casinos, tan alucinantes como en la vida real aunque sin sus riesgos. Pero qué maravilloso sería si los logros virtuales tuvieran algo de realidad. La más amplia gama de juegos de casinos del mercado, en todas sus variedades, la podemos encontrar, en algunos sitios, como por ejemplo casino.com; este tiene un servicio de mucha calidad, que incluye una atención personalizada al cliente, entre otros servicios que no son muy comunes en estos días. La necesidad de enriquecer con recompensas al usuario debe tenerse en cuenta por estas empresas, hasta el punto de que estos puedan recibir dinero en efectivo por todo lo ganado en el juego. La confidencialidad de este debe estar también protegida, para garantizar su tranquilidad. Casino.com ofrece una amplia gama de juegos distintos como la ruleta online en los que realmente se puede ganar dinero.
Una vez hecha su elección ¡solo resta jugar y ganar!