¿Qué puedo aprender en programación de computadora en solo 10 minutos que podría ser útil para el resto de mi vida?

Usa atajos y hojas de trucos. Aprende tus atajos y estudia las muchas, muchas hojas de trucos hechas por otros programadores antes que tú.

Así que supongo que puedes pasar unos segundos para marcar este enlace: atajos de teclado bash | Bash | SS64.com

Moviendo el cursor:

Ctrl + a Ir al principio de la línea (Inicio)
Ctrl + e Ir al final de la línea (Fin)
Ctrl + p Comando anterior (flecha arriba)
Ctrl + n Siguiente comando (flecha abajo)
Alt + b Atrás (izquierda) una palabra
Alt + f Adelante (derecha) una palabra
Ctrl + f Adelante un carácter
Ctrl + b Atrás un carácter
Ctrl + xx Alterna entre el inicio de línea y la posición actual del cursor

Edición:

Ctrl + L Borrar la pantalla, similar al comando de borrar
Ctrl + u Cortar / borrar la línea.

Alt + Supr Borrar la palabra antes del cursor.
Alt + d Borrar la palabra después del cursor.
Ctrl + d Eliminar carácter debajo del cursor
Ctrl + h Borrar el carácter antes del cursor (Retroceso)
Ctrl + w Corta la palabra antes del cursor al portapapeles.
Ctrl + k Cortar la línea después del cursor al portapapeles.
Alt + t Intercambiar palabra actual con anterior
Ctrl + t Intercambiar los dos últimos caracteres antes del cursor (error tipográfico).
Esc + t Intercambia las dos últimas palabras antes del cursor.
Ctrl + y Pegar lo último que se cortará (tirón)
Alt + u SUPERIOR pone en mayúscula todos los caracteres desde el cursor hasta el final de la palabra actual.
Alt + l Baje la caja de todos los caracteres desde el cursor hasta el final de la palabra actual.
Alt + c Capitaliza el carácter debajo del cursor y mueve hasta el final de la palabra.
Alt + r Cancelar los cambios y volver a colocar la línea como estaba en el historial (revertir).
Ctrl + _ Deshacer

TAB Tab completado para nombres de archivos / directorios
Por ejemplo, para mover a un directorio ‘sample1’; Escriba cd sam; luego presione TAB y ENTER.
escriba solo los caracteres suficientes para identificar de forma única el directorio que desea abrir.

Historia:

Ctrl + r Recuperar el último comando, incluidos los caracteres especificados
busca el historial de comandos a medida que escribe.
Equivalente a: vim ~ / .bash_history.
Ctrl + p Comando anterior en el historial (es decir, retroceder a través del historial de comandos)
Ctrl + n Siguiente comando en el historial (es decir, caminar hacia adelante a través del historial de comandos)

Ctrl + s Regresa al siguiente comando más reciente.
(tenga cuidado de no ejecutarlo desde un terminal porque esto también lanzará su XOFF).
Ctrl + o Ejecutar el comando encontrado a través de Ctrl + r o Ctrl + s
Ctrl + g Escape del modo de búsqueda de historial
!! Repetir el último comando
! abc Ejecutar el último comando comenzando con abc
! abc : p Imprimir el último comando comenzando con abc
! $ Último argumento del comando anterior
ALT +. Último argumento del comando anterior.
! * Todos los argumentos del comando anterior
^ abc ^ def Ejecuta el comando anterior, reemplazando abc con def
Control de procesos:
Ctrl + C Interrumpir / Matar lo que esté ejecutando (SIGINT)
Ctrl + l Borrar la pantalla
Ctrl + s Detiene la salida a la pantalla (para los comandos detallados de larga ejecución)
Ctrl + q Permitir salida a la pantalla (si se detuvo anteriormente usando el comando anterior)
Ctrl + D Enviar un marcador EOF, a menos que esté deshabilitado por una opción, esto cerrará el shell actual (SALIR)
Ctrl + Z Envía la señal SIGTSTP a la tarea actual, que la suspende.
Para volver a él más adelante, ingrese fg ‘nombre de proceso’ (primer plano).


Soy un principiante en esto, pero creo que la configuración de hojas de trucos es tu fondo de pantalla cuando intentas aprender un nuevo idioma para que te sea de gran ayuda. Así que configura esto en tu fondo de pantalla cuando estés aprendiendo Emacs:


Me gusta esta bonita hoja de trucos jQuery:
Hoja de referencia de jQuery actualizada: Hoja de referencia de jQuery
(gracias Gopal Adhikari)


Niza página de trucos de JavaScript:
Javascript hoja de trucos | OverAPI.com


Hay toneladas más por ahí para todo bajo el sol. Acabo de empezar a aprender a codificar hace poco menos de 3 meses en un bootcamp de dev (blog diario: https://thealmightyjenny.com), y diría que recopilar y usar accesos directos ha hecho que la codificación sea más divertida y probablemente me salve Un montón de tiempo mientras sigo codificando! 🙂

Escribir código limpio es tan importante como escribir código de trabajo.

Siempre tendrá esta conversación en su cabeza “Solo quiero probar si este bit de código funcionará, reestructuraré el código más adelante cuando lo haga funcionar”, seguirá diciendo eso, no volverá y limpia esa parte del código, y pasarás a la siguiente parte y harás exactamente lo mismo.

¿El resultado? terminarás con una aplicación que probablemente funcione, pero te agotará si intentas rastrear algo o modificar cualquier línea de ese código. Y no solo se sentirá tan satisfecho como si el código estuviera bien escrito / estructurado.

Crear cualquier acceso directo de Windows usando un lenguaje de scripting

¿Alguna vez has querido hacer todo en Windows con una simple combinación de teclas? Este truco te permitirá abrir, digamos google, con una combinación de teclas de Alt + G o Ctrl + G o cualquier otra cosa de tu elección .

Esto apenas tomará 2 minutos para aprender.

Hay una herramienta muy simple llamada Autohotkey . Esta herramienta hace lo siguiente:

  1. Defina teclas de acceso rápido para el mouse y el teclado, vuelva a asignar teclas y botones y sustituciones de tipo autocorrección.
  2. Puede crear interfaces gráficas de usuario estándar con controles para la presentación de entradas.
  3. Analice las fuentes de una variedad de fuentes para procesar y manipular con expresiones regulares.


La imagen de arriba, muestra uno de tales usos.

Digamos que está enviando un correo electrónico a alguien y termina con una firma al final, que es de rutina. ¿Por qué escribirlo cada vez? En su lugar, simplemente automatizarlo.
Al presionar “Ctrl + Alt + S” se agregará su firma al correo electrónico.
Además, “por cierto”, se expandirá a “por cierto”. Hay muchos de esos usos.

¿Cómo se usa?

Para usar autohotkey, sigue estos pasos:

  1. Instala Autohotkey desde aquí: autohotkey
  2. Haga clic derecho en un lugar vacío en su escritorio o en una carpeta de su elección.
  3. En el menú que aparece, seleccione Nuevo -> AutoHotkey Script . (Alternativamente, seleccione Nuevo -> Documento de texto ) .
  4. Escriba un nombre para el archivo, asegurándose de que termine en .ahk . Por ejemplo: Test.ahk
  5. Haga clic derecho en el archivo y elija Editar Script.
  6. En una nueva línea en blanco, escriba lo siguiente:
    #space :: Ejecutar http://www.google.com

En la línea anterior, el primer carácter “#” significa la tecla de Windows; así que # espacio significa mantener presionada la tecla de Windows y luego presionar la barra espaciadora para activar la tecla de acceso rápido. El :: significa que el comando subsiguiente debe ejecutarse cada vez que se presiona esta tecla de acceso rápido, en este caso para ir al sitio web de Google. Para probar este script, continúa de la siguiente manera:

  1. Guarde y cierre el archivo.
  2. Haga doble clic en el archivo para iniciarlo. Aparece un nuevo icono en el área de notificación de la barra de tareas.
  3. Mantén presionada la tecla de Windows y presiona la barra espaciadora. Se abrirá una página web en el navegador predeterminado.
  4. Para salir o editar la secuencia de comandos, haga clic con el botón derecho en el icono verde “H” en el área de notificación de la barra de tareas.

Ahí está. Acaba de usar la Tecla de Windows + Espacio para abrir google.com.

Más ejemplos

  1. Lanzar un programa o documento
    El comando Ejecutar se usa para iniciar un programa, documento, URL o acceso directo. Un ejemplo es:


    Se puede asignar una tecla de acceso rápido a cualquiera de los ejemplos anteriores incluyendo una etiqueta de tecla de acceso rápido. En el primer ejemplo a continuación, la tecla de acceso directo asignada es Win + N, mientras que en el segundo es Control + Alt + C:

    Los ejemplos anteriores se conocen como teclas de acceso rápido de una sola línea porque cada una consta de un solo comando. Para que más de un comando se ejecute mediante una tecla de acceso rápido, coloque la primera línea debajo de la definición de la tecla de acceso rápido y haga que la última línea sea un retorno . Por ejemplo:

  2. Manipulación de archivos y carpetas
    Para agregar texto al final de un archivo (o crear un nuevo archivo), use FileAppend como se muestra en el siguiente ejemplo. Tenga en cuenta que utiliza `n (salto de línea) para iniciar una nueva línea de texto después:


    Para sobrescribir un archivo existente, use FileDelete antes de FileAppend. Por ejemplo:


    Algunos de los otros comandos de archivos y carpetas más utilizados son:
    FileRead: lee el contenido completo de un archivo en una variable.
    Bucle de lectura de archivos: recupera las líneas de un archivo de texto, una por una.
    IfExist: Determine si existe un archivo o carpeta.
    FileSelectFile y FileSelectFolder: muestra un cuadro de diálogo para que el usuario elija un archivo o carpeta.
    FileDelete / FileRecycle: elimine / recicle uno o más archivos. Utilice FileRemoveDir para eliminar una carpeta completa.
    FileCopy / FileMove: Copie / mueva uno o más archivos. Use FileCopyDir / FileMoveDir para copiar / mover una carpeta completa.
    Bucle de archivos y carpetas: recupera los archivos y carpetas contenidos en una carpeta, uno a la vez.
    FileSetAttrib y FileSetTime: cambia los atributos o la marca de tiempo de uno o más archivos.
    IniRead, IniWrite e IniDelete: crea, accede y mantiene archivos INI de formato estándar.
    RegRead, RegWrite, RegDelete y Registry Loop: trabaje con el registro de Windows.

  3. Interfaz gráfica del usuario
    Las opciones de GUI son un poco largas, así que me gustaría vincular la documentación aquí, en lugar de escribirla aquí. Así que aquí está la documentación: GUI

Hay muchos más usos. Las posibilidades con esta herramienta son realmente vastas. En una nota final, me gustaría dar algunos guiones aquí:

  1. AutoHotkey Script Showcase
    Estos scripts se han enviado al sitio oficial y hay muchos scripts en este enlace. La descripción se da en la propia página.
  2. Muéstrenos su mejor script de AutoHotkey
    Vea los comentarios en esta página de lifehacker. Contienen algunas gemas.
  3. Los mejores trucos de AutoHotkey para ahorrar tiempo que debería usar
    Esta página de lifehacker enumera algunos consejos y trucos para usar estas herramientas.

Nota: He usado la documentación propia de Autohotkey para proporcionar los ejemplos anteriores.

Espero que hayas encontrado interesante lo anterior.

ante todo:
en python en lugar de:
si x
foo ()
más:
bar()

simplemente puede utilizar:
[bar, foo] [bool (x)] ()

actualizar:
Así es como funciona:
piense en x como índice, si es Falso bool (x) será equivalente a 0, entonces [bar, foo] [0] es bar
si es cierto, bool (x) se convertiría en Verdadero, que es equivalente a 1, por lo que [bar, foo] [1] por lo tanto foo.
el paréntesis en se utiliza para llamar a la función correspondiente.

segundo:
No 10 min, pero vale la pena 16 min, aprenda sobre el cifrado de clave pública:

ps actualizando como recuerdo cosas geniales 🙂

Programación paralela rápida y sucia, con OpenMP!
Aquí hay tres bucles largos en C, con iteraciones que no dependen del orden en que se ejecutan:

#include  #include  #include  /* 500 million elements, use fewer if test takes too long */ #define N 500000000 int main ( int argc, char **argv ) { double *data = calloc ( N, sizeof(double) ); for ( size_t i=0; i 

Se toman un momento para correr:

  % make CFLAGS = -std = c99 LDLIBS = -lm números
 gcc -std = c99 numbers.c -lm -o numbers
 % tiempo ./números
 Valor medio 1.065549e + 01

 0m6.247s reales
 usuario 0m5.996s
 sys 0m0.227s

Anote los bucles para asegurar al compilador que las iteraciones son independientes:

 /* Headers and things are the same as above */ int main ( int argc, char **argv ) { double *data = calloc ( N, sizeof(double) ); /* This can be parallel... */ #pragma omp parallel for for ( size_t i=0; i 

Compila y ejecuta de nuevo:

  % make CFLAGS = "- std = c99 -fopenmp" LDLIBS = -lm numbers_parallel
 gcc -std = c99 -fopenmp numbers_parallel.c -lm -o numbers_parallel
 % tiempo ./numbers_parallel
 Valor medio 1.065549e + 01

 0m2.517s reales
 usuario 0m6.464s
 sys 0m0.234s

Abracadabra , 2.5 veces más rápido (al menos en mi quad-core) sin escribir nada complicado. Podría decir que debería haber sido casi 4 veces más rápido, pero compartir la variable average en el último paso ralentiza un poco las cosas, y hay costos de inicialización y movimiento de datos con los que paralizar los bucles no ayuda.

La paralelización de programas se hace (mucho) más difícil cuando hay dependencias, pero si la parte más lenta de su programa es un bucle con iteraciones independientes, poner en funcionamiento más núcleos de CPU es muy simple. Es difícil garantizar que las CPUs C, C ++ o multi-core estén ahí por el resto de su vida, pero deberían quedarse por un tiempo, y de todas formas no es necesario tomar 10 minutos.

Cuando la red no funciona

¡Todos se sienten tristes cuando la conexión a internet no funciona! Este post es solo para animarte en ese momento 🙂

El navegador Google Chrome muestra el feo dinosaurio desnudo que te informa sobre la falta de disponibilidad de la red (¡y quizás también insinúa sobre el regreso de la era del dinosaurio!)


De todos modos, la diversión comienza cuando intentas presionar el botón “ARRIBA”. (o cualquier tecla de flecha)

Voila!
¡Lo que descubrirás te animará!
El feo dinosaurio desnudo comienza a correr …

Antes solía odiarlo cuando la red no funcionaba …
… ahora lo espero! 😀


Solo compartiendo … ¡es divertido! ¡Podría refrescar la mente para escribir algunos códigos nuevos!

Consejo rapido:

Comparte cualquier directorio a través del servidor http usando un solo comando

pitón 2

  python -m SimpleHTTPServer 8000 

pitón 3

  python -m http.server 8000 

Ahora puede compartir su ip con cualquier persona y pedirle que acceda a través de http://:8000

Nota: proporcionar puerto en el comando es opcional.

Consejo de tiempo de vida:

Tres reglas de oro (las mías):

1. Respetar los patrones de diseño.
¿Construyendo algo? Para el éxito a largo plazo, su código debe ser simple, ligeramente acoplado, escalable, etc. Ahora, muchos desarrolladores se han equivocado en el mismo viaje, cometieron errores y se dieron cuenta de la necesidad de ciertos principios. Y la clave para la supervivencia es un patrón de diseño. ¡Confía en mí, perder el tiempo en aprenderlos vale la pena!
Hay muchos patrones de diseño (alrededor de 23 supongo). Un libro recomendado es Head First Design Patterns

2. Siempre codifique contra el súper tipo
Es como un enchufe. Digamos que tienes un enchufe de pared de dos clavijas.

Ahora este tipo puede tomar * CUALQUIER * tipo de enchufe de dos clavijas

Considérelo como un contrato entre el enchufe de pared de dos clavijas y el enchufe de dos clavijas. El enchufe de pared de dos clavijas no puede aceptar enchufes de tres clavijas ya que no cumple con el contrato, pero puede aceptar cualquier tipo de implementación de clavijas siempre que sea de dos clavijas. (No es un buen ejemplo. No sé por qué, pero esto me llamó la atención :))
Para ver un ejemplo de código, consulte mi respuesta en stackoverflow.com

3. Prefiere la composición sobre la herencia
Este es contrario al punto (2), pero depende del caso de uso.
Ambos tienen sus pros y sus contras.
Da más flexibilidad en el diseño. En otras palabras:
HAS-A (contención / composición) PUEDE ser una mejor opción que IS-A (herencia). Piensa de nuevo en tu diseño.
Un ejemplo muy común puede ser un contrato de igualdad (método igual a Java Platform SE 7) que no se puede adherir cuando se reemplaza un método igual para un subtipo (que agrega alguna característica nueva) si la superclase también invalida un método igual. En este caso, la composición puede resolver el problema.
Para más detalles, consulte Wikipedia, http://en.wikipedia.org/wiki/Com… .

Parece que hay dos enfoques diferentes para responder a esta pregunta: algunos escritores ofrecen consejos de “mejores prácticas” para programadores experimentados, mientras que otros intentan ofrecer algunas lecciones simples que inspirarían a los principiantes. Voy a seguir este último enfoque, al demostrar cómo podemos usar Microsoft Excel (o una aplicación similar de hoja de cálculo) para enseñar algunos principios básicos en la administración de datos. Las herramientas de productividad como MS Access y MS Excel proporcionan una excelente manera para que los nuevos programadores aprovechen las plataformas que son poderosas (es decir, ofrecen soporte para secuencias de comandos, enlace a fuentes de datos externas, etc.) y están diseñadas para que los principiantes las comprendan (es decir, llenas de asistentes, herramientas de diseño gráfico, plantillas integradas y otras características destinadas a ayudarlo a comenzar a trabajar rápidamente).

En este “tutorial de diez minutos”, presentaré siete conceptos básicos que se pueden aprender usando Excel. Cada una de las siete secciones a continuación debe requerir solo uno o dos minutos para revisar y completar.


Concepto uno: Células, valores y referencias

Pasos:

  1. Crea una nueva hoja de cálculo en blanco.
  2. Ingrese un valor en la celda superior izquierda (A1 – la intersección de la columna “A” y la fila “1”. En el ejemplo, ingresé ” 36 “.
  3. En la celda B1 (una celda a la derecha de “A1″), ingrese esta fórmula: ” = A1 ” y presione la tecla de retorno. El valor que ingresó en la celda A1 ahora también debería mostrarse en la celda B2.

Ideas :

  • En Excel, un archivo ( libro de trabajo ) se compone de una o más hojas de cálculo . A su vez, cada hoja de cálculo es una cuadrícula de celdas, donde cada celda tiene su propia identidad única (” dirección “).
  • Dentro de cada celda, podemos ingresar un valor codificado (como 36 en la celda A1) o una fórmula, que generalmente hace referencia a los valores de otras celdas. Por ejemplo, en la celda B1 creamos una fórmula básica (con el signo igual) que recupera el valor almacenado en la dirección A1.
  • Mientras que la celda en la cuadrícula siempre mostrará el valor final, la barra de fórmulas (arriba a la derecha en la foto de arriba) nos muestra si la celda contiene un valor o una fórmula que hace referencia a los valores de otras celdas.

Concepto Dos: Definiendo Un Rango

Pasos:

  1. Cree una pequeña “tabla” dentro de una hoja de cálculo ingresando un conjunto de nombres de columnas en una fila consecutiva de celdas. Es posible que desee resaltar estas celdas en negrita (es decir, para que sean fáciles de reconocer como encabezados de columna).
  2. Debajo de esa fila de encabezado, ingrese una fila de datos que define un “registro” (es decir, un conjunto completo de entradas para cada una de las columnas que anotó anteriormente).
  3. Continúe ingresando filas / ‘registros’ hasta que haya descrito al menos algunos elementos separados en su tabla.
  4. Cuando la tabla esté completa, resalte todas las celdas de la tabla que creó. Luego, en el cuadro de referencia de la celda (directamente arriba de la celda A1), ingrese un nombre que describa los datos que ingresó (ejemplo: ” MYRANGE “), y presione la tecla de retorno. Acaba de crear un rango: un conjunto de celdas contiguas a las que se puede hacer referencia usando el nombre que acaba de proporcionar.

Ideas:

  • En Excel, todos los datos están esencialmente estructurados en términos de celdas y hojas. En otras palabras, la aplicación no tiene un mecanismo para “saber” qué tipo de datos está ingresando (por ejemplo, si una fila de celdas representa un “registro” que usa un conjunto de valores diferentes para describir una sola entidad, o un conjunto / lista de valores similares donde cada celda representa una medida tomada de una entidad diferente).
  • Sin embargo, podemos imponer nuestro propio significado a un grupo de celdas utilizando rangos. Un rango es esencialmente un nombre asignado a un grupo de celdas de dos dimensiones, que indica que esas celdas pertenecen juntas. Se puede usar un rango para indicar una “tabla” (un conjunto de descripciones de entidades discretas, donde cada fila es un “registro” que describe una entidad), o una “matriz” (un conjunto bidimensional de medidas similares; más allá de la columna y encabezados de fila, cada celda en una matriz básicamente representa el mismo tipo de valor).

ALGUNAS CLAVES DE LA TERMINOLOGÍA DE EXCEL

Partes explícitas del modelo de Excel :

  • una celda : el ‘bloque de construcción’ básico en Excel, que contiene un valor, una referencia o una función
  • una hoja de cálculo : un conjunto de celdas organizadas en dos dimensiones, siguiendo una convención de nomenclatura estándar para columnas y filas integradas (A1, B2, etc.)
  • un rango – una sub-cuadrícula (rectángulo) de celdas, que se identifica con un solo nombre (y se trata como un solo valor en algunas funciones)

Conceptos de datos modelados implícitamente en Excel :

  • una ” tabla “: un rango utilizado de una manera en la que cada fila de celdas (” registro “) describe una entidad única (y cada columna se refiere a un atributo de esa entidad)
  • una ‘ matriz ‘: cada celda de una matriz (además de las de la columna exterior / izquierda y la fila superior) contiene una única medida o valor
  • un ‘ vector ‘ – un rango de una sola columna (normalmente anidado dentro de otro rango), que contiene ID u otra información de referencia (útil para hacer coincidir, clasificar, etc.)

Concepto tres: uso de dos rangos para almacenar datos relacionados

Pasos:

  1. Cree un segundo rango en la hoja de cálculo ingresando una fila de nombres de columna seguidos por varias filas de registros. En este ejemplo, una columna en la nueva tabla (“ID”) contiene valores que hacen referencia a una columna en el rango original (“OfficeID”). Asegúrese de que la columna ID sea ​​la columna más a la izquierda en este nuevo rango.
  2. Tal como lo hizo antes, asigne un nombre a este rango ingresando ese nombre (” KEYRANGE “) en el cuadro de referencia de la celda, en la parte superior izquierda de la imagen anterior (y presionando Enter ).

Ideas:

Ahora hemos creado dos conjuntos separados de entidades (una lista de “personas” y una lista de “oficinas”), donde las entidades en una tabla hacen referencia a las entidades en la otra tabla usando una referencia de clave externa . En el ejemplo de la imagen de arriba, se asigna un conjunto de números de ID de oficina a cada una de las personas / empleados en el primer rango / tabla. El segundo rango / tabla describe cada asignación de oficina con mayor detalle; en otras palabras, la columna de ID de oficina en el lado izquierdo identifica cada opción de oficina, mientras que los valores en esas otras columnas proporcionan los detalles ( atributos ) con respecto a ese elemento.


Concepto cuatro: asociar los dos rangos usando la búsqueda

Pasos:

  1. Agregue una columna al primer rango, titulada “Construcción”.
  2. En esa columna, en la primera fila de datos (celda D2), inserte una fórmula VLOOKUP (” = VLOOKUP (C2, KEYRANGE, 2, FALSE) “).
  3. “Arrastre y suelte” esa fórmula en la parte inferior del rango de celdas (D2 a D6), colocando primero el cursor en la esquina inferior derecha de la celda D2, hasta que el icono cambie a una cruz; luego haga clic con el botón izquierdo y arrastre el cursor hacia abajo, a través de todas las celdas que desea rellenar con la fórmula. Observe cómo cualquier referencia de celda dentro de la fórmula se actualiza automáticamente , según la ubicación de la nueva fórmula.

Ideas:

  • Esta es la primera vez, en este tutorial, en el que hemos utilizado una de las muchas funciones integradas de Excel para definir una fórmula de celda. Como podemos ver, las fórmulas pueden ser más que ecuaciones matemáticas (como ” = A2 + B2 “). En Excel, podemos usar fórmulas para asociar datos en diferentes rangos, de manera similar a escribir consultas en el lenguaje SQL para crear asociaciones entre tablas de bases de datos. (Si no está familiarizado con SQL, es un lenguaje estándar de la industria para el análisis de datos y la administración de bases de datos relacionales).
  • Específicamente, en este ejemplo, hemos utilizado la función VLOOKUP para “extraer” información de una “tabla de bucle” / rango de referencia, basado en el valor en una columna de “clave externa” (en este caso, la “ID de Office” columna) en el rango principal. Como puede ver, esta es una forma poderosa de almacenar y relacionar información (especialmente si tiene que mantener varios conjuntos de hojas de cálculo y rangos dentro de un libro de Excel).

Concepto cinco: rangos múltiples que describen el mismo tipo (entidad)

Pasos:

  1. Copie y pegue los encabezados de columna del primer rango a otro conjunto de celdas en la fila 1 (es decir, la fila que contiene todos los encabezados de columna)
  2. Comience a ingresar un nuevo conjunto de valores de registro en las celdas / filas debajo del nuevo conjunto de encabezados de columna, como se muestra arriba
  3. Cuando haya terminado, defina un nuevo rango (” RANGE2 “) de la misma manera que el primer rango

Ideas:

  • Si bien estos dos rangos contienen conjuntos de datos separados, describen el mismo tipo de entidad subyacente (ya que los encabezados de columna son en su mayoría o completamente idénticos). Podríamos imaginar que ambos conjuntos de datos podrían combinarse en una sola “tabla de unión”.
  • Dado que ambos conjuntos de datos contienen tipos de información idénticos, nuestra principal preocupación sería si hay alguna superposición entre las entradas de la tabla (por ejemplo, si los nombres son únicos o si se asigna más de una persona a la misma persona). persona oficina).

Concepto seis: búsqueda de duplicados (miembros idénticos) dentro de un rango

Pasos:

  1. Cree una nueva columna en el nuevo rango (“¿Duplicar?”), Y use la fórmula COUNTIF para buscar valores duplicados dentro del rango. La expresión exacta en la celda H2 sería: ” = COUNTIF (RANGE2, G2) “.
  2. Como hicimos anteriormente: use arrastrar y soltar para copiar esta fórmula en todo el rango en la columna H, para ubicar todas las instancias duplicadas dentro del rango. (Un valor de 1 indica que el valor de la celda correspondiente en la columna G es único; solo se encontró una vez dentro del rango completo de celdas).
  3. Intente cambiar uno de los valores en la columna G anterior, para que coincida con un valor existente; por ejemplo, intente poner un 5 en la celda G3; el valor en la celda H3 debería cambiar. El valor de dos celdas en la columna H debería cambiar, de 1 a 2 .

Ideas:

Acabamos de realizar una forma muy simple (si es defectuosa) de buscar valores de clave duplicados dentro de un rango. Si encontramos valores clave duplicados (y si nuestras reglas comerciales establecen que “cada ID de oficina debe asignarse a un empleado de la organización, y solo a uno, en cualquier momento”, simplemente habríamos identificado una violación de la empresa Este es un problema de “calidad de los datos” (o “integridad de los datos”). Siempre debemos asegurarnos de que nuestros datos reflejen los procesos subyacentes que describen y no violan ninguna de las reglas que guían esos procesos.


Concepto siete: búsqueda de duplicados en múltiples rangos

Pasos:

  1. Volveremos a utilizar la función COUNTIF , pero esta vez haremos referencia a un rango ‘externo’, en lugar del mismo rango; queremos descubrir si algún valor clave en un rango se está reutilizando en el otro rango. Vamos a crear un nuevo encabezado de columna en la columna I (“¿ Otra tabla? “).
  2. En la celda I2, ingresaremos esta fórmula: ” = COUNTIF (MYRANGE, G2) “. Observe que el único cambio de la fórmula en el Concepto Seis anterior es que el nombre del rango (que se está verificando) ahora apunta al otro rango.
  3. Como hemos hecho anteriormente, arrastre y suelte para copiar la fórmula a las otras celdas de la columna I en las mismas filas que el resto del rango.

Hay otra manera de obtener el mismo resultado: use la función MATCH , en lugar de la función COUNTIF , de la siguiente manera:

Pasos:

  1. Vamos a crear un nuevo conjunto de valores en la columna J. En la celda J1, ingrese el encabezado de la columna ” Verificar con coincidencia “.
  2. En la celda J2, ingresaremos la siguiente fórmula: ” = MATCH (G2, C1: C6,0) “. La función MATCH , como se usa aquí, puede devolver dos tipos de valores: un valor entero (que indica la posición en el rango buscado – en este caso, el rango C1: C6 ) o un valor que indica que no se encontró una coincidencia (” NA ” ).
  3. Como no se encontró ninguna coincidencia (usando los valores del ejemplo anterior), queremos devolver un valor más “legible” que ” NA “; S0 “envolveremos” la llamada de la función MATCH dentro de otra función: ” = ISNA (MATCH (G2, C1: C6,0)) “. La función ISNA devolverá VERDADERO cuando no se encuentre una coincidencia, y FALSO cuando se encuentre una coincidencia (y la función EMPAREJAR devuelve un número entero en lugar de “NA”).
  4. Si este resultado parece demasiado confuso, si queremos que VERDADERO indique cuando se encuentra un registro coincidente, en lugar de cuando NO se encontró, podemos simplemente ajustar esa llamada de función ISNA con una llamada de función NO (que devuelve el valor booleano opuesto – VERDADERO se vuelve FALSO y viceversa). Así terminamos con: ” = NO (ISNA (PARTIDO (PARTIDO (G2, C1: C6,0))) “.
  5. Como hicimos anteriormente, simplemente arrastre y suelte para copiar la fórmula a través de todas las celdas de la columna J que están en las mismas filas que el resto del rango.

Ideas:

  • Los ejemplos en esta sección muestran que se pueden usar las mismas funciones para comparar valores en el mismo rango o en un rango diferente; la única diferencia es qué rango se especifica (como parámetro) dentro de la fórmula.
  • El ejemplo anterior introdujo el concepto de ajuste de funciones : podemos anidar funciones dentro de otras funciones, a fin de construir procesos de varios pasos (algoritmos simples) dentro de una definición de celda de Excel.
  • Tenga en cuenta que la función MATCH se refiere a un cierto tipo de rango (como parámetro) – un rango de una sola columna (o de una sola fila), al que nos referimos como un “vector”. Tenga en cuenta que podemos definir rangos dentro de otros rangos ; de hecho, podría ser una buena idea definir cualquier columna (que contenga un conjunto de claves externas o claves primarias [de registro]) que se buscará como su propio rango vectorial.
  • También vimos otra sintaxis para especificar un rango. En lugar de primero seleccionar manualmente un conjunto de celdas y luego asignarle un nombre de rango único y reconocido, podemos especificar rangos “sobre la marcha” simplemente identificando sus celdas miembro superior izquierda y derecha (es decir, ” A1: E5 ” define una celda con cinco columnas y cinco filas).

INFORMACIÓN BONUS: Otra forma de encontrar y crear rangos

Como ha visto, los rangos son un concepto importante que debe comprender y usar si planea almacenar datos basados ​​en tablas en sus libros de Excel. Si bien ya hemos demostrado un par de formas diferentes para crear y administrar rangos, también hay una ventana especial, el ” Administrador de nombres “, que facilita la búsqueda, creación, modificación o eliminación de los rangos con nombre:

Busque el ícono del Administrador de nombres dentro de la barra de menú Fórmulas , en la sección del menú llamada ” Nombres definidos “.


Revisión y resumen

Si usted es un principiante en programación, entonces espero que haya podido obtener una comprensión básica de algunos principios básicos de la administración de datos; y si usted es un desarrollador veterano, espero haberle mostrado nuevas formas de hacer que los datos de su empresa sean más accesibles para los gerentes y otros consumidores no técnicos de inteligencia empresarial. Si bien los programadores expertos tienen muchas herramientas de administración de datos a su disposición (que van desde lenguajes de consulta como SQL; a las herramientas ORM y lenguajes como LINQ en .NET Framework; hasta una amplia gama de tecnologías ETL), Excel aún debería ser una herramienta. de elección siempre que necesite analizar cantidades relativamente pequeñas de datos, extraídas de varias fuentes separadas. Siempre debe tener su propio lugar en el kit de herramientas de cada desarrollador corporativo.

1. Al momento de prepararse para una entrevista para compañías como Amazon, Google, etc., escribir un código especialmente para el árbol, la lista de enlaces es muy útil y siempre se recomienda antes de ir a esa entrevista.
Después de escribir el código, ¿cómo lo verificas? ¿Al dar entradas y verificar la salida? Si es alguna función basada en árbol o gráfica entonces? ¿Al hacer un árbol al azar en el papel, organizar los valores en algún orden para construir la entrada o hacer un árbol codificado en el código? ¿Frustrante y lento también? Usted ha escrito el código, ahora tiene que poner el mismo tiempo para verificarlo también y siempre hay una oportunidad de perder algunos casos de esquina. Imagínese si no tuviera que sufrir esto para validar su código. Bueno, para evitar este sufrimiento y ahorrar tu precioso tiempo puedes usar Problemas | LeetCode DO. Es una herramienta web, que tiene muchos problemas frecuentes en las entrevistas y le proporciona una interfaz para enviar su código. ¿Guay? Ahorra mucho tiempo !!

2. Herramienta de configuración: si trabaja en una máquina Linux remota, definitivamente la necesitará. Si está en la oficina accediendo a su máquina linux a través de ssh, y quiere construir algo en esa máquina, lo que demoraría mucho en construirse como 2-3 horas. Has empezado a construir y ahora quieres irte. ¿Qué harías? Tan pronto como su computadora portátil se apaga, la sesión de ssh muere, el proceso de construcción se cancela. No más padres, entonces no más hijos. La pantalla está aquí para salvarte de esta situación. Antes de ejecutar la compilación, ejecute la pantalla y usted es bueno. Puede apagar pacíficamente su computadora portátil y, a la mañana siguiente, se construirá su código.

Más sobre la pantalla Cómo usar la pantalla de Linux.

3. ¿Usas vim? ¿Qué haces cuando tienes que trabajar simultáneamente en dos archivos? vsplit? ¿Y si más de dos archivos? de nuevo vsplit? o ahora hsplit? ¿Es fácil de usar? ¿Sí? Felicidades, eres un verdadero nerd de linux. Para aquellos que no saben qué es vsplit, es un comando vim que divide su terminal vim verticalmente.

Si no te interesa vsplit o no te resulta fácil de usar, entonces Linux no es para ti. Chill, sólo estaba bromeando. Hay una herramienta llamada terminador para ayudarlo en tal situación. Muy flexible y fácil de usar.
http://www.tecmint.com/terminato…


Agregaré más como recuerdo.

Bueno, la programación informática no significa un solo lenguaje de programación. Hay diferentes lenguajes de programación disponibles. Se diferencian entre sí de muchas maneras. Pero comparten muchos conceptos básicos comunes, que son la columna vertebral de cualquier lenguaje de programación y programadores. A continuación menciono algunos de los conceptos comunes, entendiendo y utilizando cuáles, creo que puede fortalecer su Vida de programación:

1. Practicar más que estudiar.
Se dice que “la práctica hace al hombre perfecto”. Los compiladores, intérpretes de un lenguaje de programación siempre necesitan un código libre de errores. Si hay algún error, no obtendrías el resultado. Hay muchos errores tontos, todos los programadores cometen. Con la práctica rigurosa se puede superar. Cuando está desarrollando 1000 líneas de código, no debe cometer errores de novato como palabras clave de programación mal escritas, bloques de código no cerrados (llaves), funciones de llamada con un número incorrecto de argumentos, etc. Practicar cada vez más ayuda a minimizar dichos errores. .

2. Comprender los conceptos básicos de cada línea de código.
Sin copiar códigos de diferentes fuentes, la vida de un programador se vuelve más difícil. Pero antes de copiar cualquier código, intente comprender los conceptos detrás de cada línea de códigos. Analizar los bloques de código. Intenta manipular el código con tu propio estilo. Haz experimentos sobre ello. Intenta jugar con eso. Cuando vea algún cambio, puede conocer la función de cada línea de código y su impacto en el resultado. Eventualmente, si lo encuentra útil, implemente esos conceptos en el futuro, esta vez sin copiar, solo tomando alguna orientación. Aparentemente te haría un mejor programador.

3. Adoptar una práctica de programación uniforme.
Siempre es mejor prevenir que curar. Nada puede hacerse puramente perfecto en un intervalo de tiempo fijo. Todo mejora en el transcurso del tiempo. Supongamos que inició un programa con 100 líneas de código, que eventualmente ha acumulado 10000 líneas de código, pasando por diferentes mejoras (la parte más grande y más larga de un ciclo de vida de desarrollo de software, acrónimo de SDLC). Ahora, se ha comprobado que hay algunos problemas en el programa, para los cuales eliminar las Líneas de Código enfermas es el único remedio. Ahora bien, si el programa es de mala calidad, no está correctamente comentado (como /**/ o // para muchos lenguajes de programación), no está sangrado correctamente, un trabajo de solo 10 minutos se convierte en un trabajo frustrante que dura una hora. Por lo tanto, adoptar una Práctica de programación uniforme lo ayuda a alcanzar la raíz de un problema fácilmente.

4. Ser un profesional en cualquier herramienta.
Herramientas como Eclipse (para Java), Adobe Dreamweaver (para diseñar lenguaje como HTML o lenguaje de scripting como JavaScript) lo ayudan a hacer sus cosas de manera inteligente. Con estas herramientas, las posibilidades de cometer los errores tontos mencionados anteriormente se reducen a un número más pequeño encomiable. Ahora necesita principalmente preocuparse por la parte lógica, que es responsabilidad exclusiva de su cerebro. Las herramientas mejoran la legibilidad (Ayuda durante la depuración) de un código al mostrar las palabras clave con color y fuente diferentes de las palabras clave que no tienen la sangría adecuada.

5. Use nombres significativos.
Supongamos que tienes 100 perros diferentes. Si los nombra usando el sistema numérico (1-100), ¿es fácil de memorizar? ¿Puedes identificar a todos los perros por sus nombres? Si los nombras con algún significado, de alguna manera no es tan difícil de memorizar. Lo mismo ocurre con los lenguajes de programación también. En un programa aparte de las palabras clave (palabras reservadas), es probable que utilice variables definidas por el usuario, constantes, funciones, clases, objetos, etc. (Y el número sería realmente grande, para grandes proyectos / programas). Si no los nombrara con el significado adecuado, la persona (tal vez usted) depurando el código adquirirá un dolor de cabeza.

6. Pruebe su código regularmente.
¿Es fácil encontrar una piedra en el océano o en una bañera? Siempre es más fácil en el caso de una bañera. Ha completado un programa de 1000 líneas de código y finalmente lo prueba por primera vez. La posibilidad de obtener errores nunca es nula. Por lo tanto, probar su código cada vez después de un intervalo de tiempo regular y corto, ayuda a obtener menos errores durante el clímax del paciente. Siempre es bueno desarraigar un problema, antes de que empiece a ramificarse.

Aunque estos puntos no tomarían solo 10 minutos, ni un lenguaje de programación se puede aprender en 10 minutos. Para ser un programador exitoso e inteligente, estos son algunos puntos (por supuesto, habría muchos más) que cumplir.

1. Si se cuelga en algún lugar del código y nada parece funcionar, tome un pequeño descanso, vaya a caminar, relájese. La solución aparecerá automáticamente en tu cabeza una vez que tu cerebro obtenga algo de alivio

2. Si su código hace algo que es deseable, pero parece que es algo inesperado, investigue cómo sucedió. Si lo ignora, volverá a atormentarlo en algún lugar en el futuro.

3. Coloca siempre la casilla de verificación de valores nulos: el código o la API están enviando algo estúpido. Provocará un bloqueo inesperado en la producción de ninguna parte (trabajo con Objective – C y es un dolor perenne ignorar los errores de manejo nulos / nulos)

4. Si reconoce copiar y pegar código en varios lugares, piense en ponerlos dentro del método. Hágalo lo más cohesionado posible para que no tenga que lidiar con él en etapas posteriores

Para depurar con eficacia. La mayor parte del tiempo que un programador pasa en el teclado está buscando errores. Se trata de reducir el espacio de búsqueda de una manera efectiva.

Comience con los síntomas:
– familiarícese con los códigos de error extravagantes que informa su lenguaje / marco de elección – si no entiende el síntoma, no tiene ninguna base para las hipótesis sobre la razón (lo cual es una estrategia terrible para comenzar)

Empieza a recopilar datos:
– reproduzca el error: esto reduce el área en el código para buscar el error, pero lo más importante es que le da un plan de cómo probar si el error se corrige durante sus próximos esfuerzos.

– haga hipótesis sobre la razón y comience a verificarlas con alguna prioridad (hypothesis_probability * effort_to_test es una buena medida)

– reduzca su enfoque hasta que encuentre la línea / método exacto que se comporta mal; Las huellas de pila, REPL, registros y listas de vigilancia son tus mejores amigos ahora.

– corríjalo y pruébelo: si puede (se lo recomiendo), cree una prueba automatizada de algún tipo, que valdrá la pena en caso de una regresión

Otros consejos:

– Siempre enfócate en hacer solo UNA cosa a la vez – puedes encontrar otras cosas que necesiten atención mientras cazan un error; Puede ser tentador hacer soluciones rápidas, pero no lo hagas a menos que sea necesario para solucionar el error actual. (Agregue un comentario de todo en su lugar, si quiere). No solo pierde el enfoque, también puede introducir una nueva complejidad que puede manifestarse en nuevos errores.

– Las pruebas automatizadas y TDD son una forma eficaz de darle una confianza razonable de que no ha roto los comportamientos existentes al agregar una nueva pieza de código

– Ejecutar y compilar a menudo. Para mantener el espacio de búsqueda razonablemente pequeño, debe poder decir qué cambios en el código causaron la aparición del error. Si los cambios son pequeños, la complejidad del espacio de búsqueda también lo es.

– Nunca pase un error grave debajo de la alfombra – una vez, en algún lugar, el error volverá a aparecer y será mucho más difícil de solucionar. Lo peor de todo, los errores misteriosos “obsoletos” arruinan lentamente la confianza del equipo en el código base … ¡y eso es un pecado mortal para los programadores!

Y finalmente: antes de ir a celebrar, elimine todos los artefactos de depuración que introdujo en su código durante la depuración. Mantener el código (y los registros) sin contaminar.

Diez minutos no es muy largo. En el curso de una carrera profesional en TI, probablemente se encontrará con muchos lenguajes de programación, aprenderá varios y tal vez escriba algo útil en uno o dos de ellos. Por tus 10 minutos, te sugiero:

  • Use 10 minutos para hacer amigos con un buen editor (Vim, Emacs, Notepad ++, UltraEdit); este día se convertirá en su herramienta favorita.
  • Echa un vistazo a Gimp, o un programa de gráficos similar.
  • Mira las oportunidades proporcionadas por las herramientas de línea de comandos. No todo necesita una GUI. Intente hacer scripts en bash o awk como alternativa a escribir / compilar programas.
  • Sí, aprender un idioma. Python es un buen lugar para comenzar (alguien dijo que “se ajusta al cerebro”, y estoy de acuerdo). Hay muchos cientos de bibliotecas útiles para ayudarlo a hacer exactamente lo que quiere, y sí, Google es su amigo. Le llevará más de 10 minutos, pero si sigue un buen tutorial (Dive into Python o Software Carpentry están bien escritos), no se perderán sus primeros 10 minutos. Le llevará 10 minutos instalar Anaconda y observar el entorno Jupyter / IPython. Este sería un tiempo bien empleado.
  • Aprenda a leer y escribir formatos de datos como HTML (por supuesto), pero también CSS, CSV, JSON, YAML u otro XML.
  • Mire otras herramientas e idiomas, como el lenguaje DOT para gráficos, LaTeX para documentos. Mira las herramientas que te ayudarán a estructurar tus pensamientos (Evernote o FreeMind). Considere la posibilidad de utilizar un programa de gestión de proyectos (Lista de tareas o similar).
  • Si está interesado en el análisis de datos, eche un vistazo a R, Pandas o MathLab.
  • También debe estar familiarizado con las bases de datos (por ejemplo, MySQL o Postgres) y cómo administrarlas (tanto a través de programas como de SQL interactivo).
  • Ser inquisitivo Experimentar.
  • Cometer errores.

No, no, no … en diez minutos aprenda cómo “buscar” y buscar en los foros de manera efectiva la información relacionada con las áreas en las que está trabajando. Esta es probablemente la herramienta más efectiva que utilizará … No conozco a nadie que utiliza una hoja de trucos y he estado en el campo durante 15 años … En serio … los problemas de programación e ingeniería se resuelven principalmente mediante el escaneo y el uso eficaz de las experiencias de otros. “Google es tu amigo” – palabras para vivir. 🙂

Si usted es un principiante en la programación, siempre opte por un buen IDE y recuerde la combinación de teclas Ctrl + Espacio.


Te proporciona una especie de consejos.

Por ejemplo, en java, si solo escribe system.out y luego presiona Ctrl + Espacio, entonces se mostrarán todas las funciones posibles que puede escribir y puede seleccionar cualquiera que desee utilizar. También evita errores ortográficos o errores de mayúsculas y minúsculas (superior / inferior).

No solo para las funciones integradas, también proporciona sugerencias si tenemos nuestra propia clase y sus métodos.

Además de esto, los IDE como Eclipse también pueden detectar errores sintácticos sin dar comandos para compilar o construir el proyecto. Comprueba si hay errores mientras escribimos el código. Esto hace que nuestra tarea sea más fácil de escribir código eficiente.

Learn design patterns.

Here’s a few that I find very useful:

Static factory methods

Using these over constructors allows you to have flexible naming schemes esp. if you’re object can be many forms. For example, say you have a Vehicle class which has a static factory method getVehicleForCapacity(capacity) . Within that method, you determine in runtime what type of Vehicle to instantiate (eg for lower capacities, instantiate a Car and for higher capacities instantiate a Truck , etc.).

Builders

Builders are useful in situations when your object contains many fields but most of which are not required. So instead of having a constructor with n parameters, you can chain a bunch of setX() calls and call build() when all of the parameters have been passed in.

Singletons

Singletons are perhaps the most common design pattern used in software engineering. Simply put, Singletons are objects that can only be instantiated once. This is done for: (1) memory reasons & (2) it doesn’t make sense to have multiple instances of that object.

This is a small trick for all those who thrash their laptop’s keypads throughout the day. I learnt this recently and thought to share it.

Whenever you need to press the functional keys in a laptop:

compile a code,

check for error,

or even go full screen in Google Chrome (F11): This is where I learned 😀

Just Press the “Fn” key first and then you can press any of those F1-F12 keys and it works for you! So no need to simultaneously press both of those keys![1]

Picture : Microsoft

Notas al pie

[1] Page on microsoft.com

(Porting it from my answer to a very similar question)

Keep up your interviewing skills.

You can’t develop interviewing skills in 10 minutes, but in 10 minutes I can hopefully convey the importance of it such that you can learn the importance of it.

Interviewing is a skill that’s different from the skill of building and shipping a product at work. It’s also a skill that’s different from getting As in college.

You don’t learn that skill at work, and you don’t learn that skill in college. But it’s critical in you finding the next job. It’s the skill that decides, whether you’ll be forced to continue to work for that mediocre company, or take a plunge into one of the top ones. It’s a skill that will decide whether you live a life in mediocrity, or break into awesomeness.

To keep up your interviewing skill, you should practice programming problems on a regular basis. Make it a hobby. Find like-minded people to do it. Create your own solution-bank. Build your own libraries from scratch. Read other people’s code. Write and throw away bad code, only to build new and better code. Contribute to open-source. All of that will help keep that axe sharp, and will come in handy when you want to switch.

Here are a few guidelines to keeping your code neat, readable and testable [citation needed]:

  1. Pick and stick with a single naming convention in your entire code-base.
  2. Do not abbreviate or use single-letter identifiers.
  3. If you use an expression more than once, put it in a variable and reference that instead.
  4. Avoid multiple levels of nesting (eg, a loop within a loop within an if within an else – yuck!).
  5. Try to keep methods/functions short and concise (5-10 lines of meaningful code), doing exactly one thing, and eliminate side-effects.
  6. Also try to keep classes/code files short and concise. If you have hundreds of lines of code and dozens of methods/functions in a single class/code file, it’s time to refactor.
  7. Doing your housekeeping and refactoring as you’re coding is a lot less effort than doing so retroactively (or rather intending to, since you’ll never actually get around to it, unless you just do it on the spot).
  8. Learn and follow the SOLID (object-oriented design) principles.

There are many cool things you can do if you learn some BATCH scripting.
Lets look at a simple virus ( well its not a virus, its just a simple script ).

Press windows+r and enter the text cmd to open command prompt.

Pressing OK will get you a window like this

Now the first thing we are going to do is change its color to green.
Which can be done by the command color 0a

After this lets print something on it. For that enter the command
echo whatever you want to show on screen
for example, echo hello world
this will print hello world on the screen.

Now we are going to open notepad from command prompt.
Just enter the command notepad and press enter.
After opening the notepad, don’t close it. Just minimize the notepad window.

Now we are going to learn about tasklist command.
What it does is, it will show you all the running tasks (applications) on your pc.

In this list you can find notepad.exe ( if you have closed the notepad window then you will not find notepad.exe in this list. )

Now our next task is to close the notepad without using the GUI of notepad that is the red close button. We are going to close it by issuing a command to the cmd window.
The command is taskkill /IM notepad.exe
It will close your minimized notepad window.

Now we are going to make a BATCH file.
Its simple, you just need to open a notepad and put all the commands you are typing here in that file and save it as *.bat file.
For example, myname.bat or something.bat

I added a pause command at the end, it just prevents the window from closing after executing all the commands.
Before saving the file remember to select all files else it will become a text file.

After selecting all files now save it with any name you want.
But with .bat extension.

I saved the file at desktop, as a result a batch file appeared on my desktop.

Now just double click this file and it will run the commands written in it.
The output will look like this

If you press any key the window will close.
This Press any key to continue . . . prompt appeared because of the pause command.

Now we will change our somename.bat file by simply editing it with notepad to look like this and run it again.
Before running it remember to save it. [A Ctrl+S before running it]

As you can see I added the extra code
:xyz
echo hello
goto xyz
basically its an infinite loop
After changing the color with color 0a and printing hello world by
echo hello world
The program will just echo hello and goto xyz to again echo hello and continues to do the same.
To stop this just close the cmd window.

Now we are going to make the last change to our somename.bat script.

I changed the line echo hello to taskkill /IM notepad.exe
So now our program, instead of printing hello, tries to kill notepad infinitely in a loop. Just make this change save it.
Before running it remember to save it. [A Ctrl+S before running it]

Your notepad will close as run this script.
Do not close this script and try to open notepad.
The notepad will not open because as soon as you double click the notepad icon to run it, this script will kill it immediately.

If you really want to do really awesome, cool and dangerous things with windows or anything.
Start learning programming from today.

Happy HACKING 🙂