Que puis-je apprendre en 10 minutes de programmation informatique qui pourrait être utile pour le reste de ma vie?

Utilisez des raccourcis et des feuilles de triche. Apprenez vos raccourcis et étudiez les nombreuses feuilles de triche créées par d’autres programmeurs avant vous.

Je suppose donc que vous pouvez passer quelques secondes à ajouter ce lien à vos favoris: raccourcis clavier bash | Bash | SS64.com

Déplacer le curseur:

Ctrl + a Aller au début de la ligne (Accueil)
Ctrl + e Aller à la fin de la ligne (Fin)
Ctrl + p Commande précédente (flèche vers le haut)
Ctrl + n commande suivante (flèche vers le bas)
Alt + b Retour (gauche) un mot
Alt + f En avant (à droite) un mot
Ctrl + f Avancer d’un caractère
Ctrl + b Un caractère en arrière
Ctrl + xx Bascule entre le début de la ligne et la position actuelle du curseur

Édition:

Ctrl + L Efface l’écran, similaire à la commande clear
Ctrl + u Couper / supprimer la ligne.

Alt + Suppr Supprime le mot avant le curseur.
Alt + d Supprimer le mot après le curseur.
Ctrl + d Supprimer le caractère sous le curseur
Ctrl + h Supprimer le caractère avant le curseur (Retour arrière)
Ctrl + w Couper le mot avant le curseur dans le presse-papiers.
Ctrl + k Couper la ligne après le curseur dans le presse-papiers.
Alt + t Echanger le mot actuel avec le mot précédent
Ctrl + t Permute les deux derniers caractères avant le curseur (typo).
Echap + t Echangez les deux derniers mots avant le curseur.
ctrl + y coller la dernière chose à couper (yank)
Alt + u UPPER majuscule chaque caractère du curseur à la fin du mot actuel.
Alt + l Abaisse la casse de chaque caractère du curseur à la fin du mot actuel.
Alt + c Mettre le caractère sous le curseur en majuscule et aller à la fin du mot.
Alt + r Annuler les modifications et remettre la ligne telle qu’elle était dans l’historique (revenir).
Ctrl + _ Annuler

Onglet TAB complétion pour noms de fichier / répertoire
Par exemple, pour aller dans un répertoire ‘sample1’; Type cd sam; puis appuyez sur TAB et ENTER.
tapez juste assez de caractères pour identifier de manière unique le répertoire que vous souhaitez ouvrir.

L’histoire:

Ctrl + r Rappelle la dernière commande incluant le ou les caractères spécifiés
recherche dans l’historique des commandes au fur et à mesure de la frappe.
Équivalent à: vim ~ / .bash_history.
Ctrl + p Commande précédente dans l’historique (c’est-à-dire parcourir l’historique des commandes)
Ctrl + n Commande suivante dans l’historique (c’est-à-dire avancer dans l’historique des commandes)

Ctrl + s Revenir à la commande la plus récente.
(attention à ne pas l’exécuter depuis un terminal car cela lancera également son XOFF).
Ctrl + o Exécute la commande trouvée via Ctrl + r ou Ctrl + s
Ctrl + g Échapper au mode de recherche de l’historique
!! Répéter la dernière commande
! abc Exécute la dernière commande commençant par abc
! abc : p Affiche la dernière commande commençant par abc
! $ Dernier argument de la commande précédente
ALT +. Dernier argument de la commande précédente
! * Tous les arguments de la commande précédente
^ abc ^ def Exécute la commande précédente en remplaçant abc par def
Contrôle de processus:
Ctrl + C Interrupt / Kill ce que vous exécutez (SIGINT)
Ctrl + l Efface l’écran
Ctrl + s Arrête la sortie à l’écran (pour les commandes longues et détaillées)
Ctrl + q Autoriser la sortie à l’écran (si précédemment arrêté avec la commande ci-dessus)
Ctrl + D Envoie un marqueur EOF, sauf s’il est désactivé par une option, cela fermera le shell actuel (EXIT)
Ctrl + Z Envoie le signal SIGTSTP à la tâche en cours, qui le suspend.
Pour y revenir plus tard, entrez fg ‘nom du processus’ (au premier plan).


Je suis un débutant dans ce domaine, mais je trouve que l’installation de feuilles de triche est votre fond d’écran lorsque vous essayez d’apprendre une nouvelle langue. Placez donc ceci sur votre fond d’écran lorsque vous apprenez Emacs:


J’aime cette jolie feuille de triche jQuery:
Tableau de mise à jour jQuery mis à jour: Tableau de bord jQuery
(merci Gopal Adhikari)


Beau site de feuilles de triche JavaScript:
Cheat Sheet Javascript | OverAPI.com


Il y en a beaucoup plus pour tout sous le soleil. Je viens tout juste de commencer à apprendre à coder il y a un peu moins de 3 mois lors d’un dev bootcamp (blog quotidien: https://thealmightyjenny.com), et je dirais que la collecte et l’utilisation de raccourcis ont rendu le codage plus amusant et m’a probablement évité une tonne de temps que je continue à coder! 🙂

Écrire du code propre est aussi important que d’écrire du code de travail.

Vous aurez toujours cette conversation dans votre tête “Je veux juste tester si ce morceau de code fonctionnera, je restructurerai le code plus tard quand je le ferai fonctionner”, vous continuerez à dire que, vous ne reviendrez pas nettoyer ce morceau de code, et vous passerez à la partie suivante et ferez exactement la même chose.

Le résultat? vous obtiendrez probablement une application qui fonctionnera, mais elle vous épuisera si vous essayez de tracer quelque chose ou de modifier une ligne de ce code. Et vous ne vous sentirez pas aussi satisfait que si le code était bien écrit / structuré.

Créer un raccourci Windows à l’aide d’un langage de script

Avez-vous déjà voulu tout faire dans Windows avec une simple combinaison de touches? Cette astuce vous permettra d’ouvrir, disons Google, avec une combinaison de touches Alt + G ou Ctrl + G ou toute autre option de votre choix .

Cela prend à peine 2 minutes pour apprendre.

Il y a cet outil très simple appelé Autohotkey . Cet outil fait les choses suivantes:

  1. Définissez des raccourcis clavier pour la souris et le clavier, remappez les touches et les boutons, ainsi que les remplacements de type correction automatique.
  2. Il peut créer des interfaces utilisateur graphiques standard avec des contrôles pour la présentation des entrées.
  3. Analyser les flux provenant de diverses sources à des fins de traitement et de manipulation avec des expressions régulières.


L’image ci-dessus montre un tel usage.

Dites, vous envoyez un email à quelqu’un et vous vous retrouvez avec une signature à la fin qui est une routine. Pourquoi l’écrire à chaque fois? Au lieu de cela, automatisez-le.
Appuyez sur “Ctrl + Alt + S” pour ajouter votre signature à l’e-mail.
En outre, “btw”, s’étendra à “à propos”. Il y a beaucoup de telles utilisations.

Comment est-ce utilisé?

Pour utiliser autohotkey, procédez comme suit:

  1. Installez Autohotkey à partir d’ici: autohotkey
  2. Cliquez avec le bouton droit de la souris sur un emplacement vide de votre bureau ou dans un dossier de votre choix.
  3. Dans le menu qui apparaît, sélectionnez Nouveau -> Script AutoHotkey . (Vous pouvez également sélectionner Nouveau -> Document texte. )
  4. Tapez un nom pour le fichier en vous assurant qu’il se termine par .ahk . Par exemple: Test.ahk
  5. Cliquez avec le bouton droit sur le fichier et choisissez Editer le script.
  6. Sur une nouvelle ligne vide, tapez ce qui suit:
    #space :: Run http://www.google.com

Dans la ligne ci-dessus, le premier caractère “#” représente la touche Windows; so #space signifie maintenir la touche Windows enfoncée puis appuyer sur la barre d’espacement pour activer le raccourci clavier. Le :: signifie que la commande suivante doit être exécutée chaque fois que vous appuyez sur cette touche de raccourci, dans ce cas, accédez au site Web de Google. Pour essayer ce script, procédez comme suit:

  1. Enregistrez et fermez le fichier.
  2. Double-cliquez sur le fichier pour le lancer. Une nouvelle icône apparaît dans la zone de notification de la barre des tâches.
  3. Maintenez la touche Windows enfoncée et appuyez sur la barre d’espace. Une page Web s’ouvre dans le navigateur par défaut.
  4. Pour quitter ou modifier le script, cliquez avec le bouton droit de la souris sur l’icône verte “H” dans la zone de notification de la barre des tâches.

Le voilà. Vous venez d’utiliser la touche Windows + Espace pour ouvrir google.com.

Plus d’exemples

  1. Lancer un programme ou un document
    La commande Exécuter permet de lancer un programme, un document, une URL ou un raccourci. Un exemple est:


    Une touche de raccourci peut être attribuée à l’un des exemples ci-dessus en incluant une étiquette de touche de raccourci. Dans le premier exemple ci-dessous, le raccourci clavier attribué est Win + N, tandis que dans le second, il s’agit de Control + Alt + C:

    Les exemples ci-dessus sont connus sous le nom de raccourcis monolignes, car ils consistent en une seule commande. Pour que plusieurs commandes soient exécutées par un raccourci clavier, placez la première ligne sous la définition du raccourci clavier et retournez la dernière ligne. Par exemple:

  2. Manipulation de fichiers et de dossiers
    Pour ajouter du texte à la fin d’un fichier (ou créer un nouveau fichier), utilisez FileAppend comme indiqué dans l’exemple suivant. Notez qu’il utilise `n (saut de ligne) pour commencer une nouvelle ligne de texte par la suite:


    Pour écraser un fichier existant, utilisez FileDelete avant FileAppend. Par exemple:


    Certaines des autres commandes de fichiers et de dossiers couramment utilisées sont:
    FileRead: lit l’intégralité du contenu d’un fichier dans une variable.
    Boucle de lecture de fichier: Récupérez les lignes d’un fichier texte, l’une après l’autre.
    IfExist: détermine si un fichier ou un dossier existe.
    FileSelectFile et FileSelectFolder: Affiche une boîte de dialogue permettant à l’utilisateur de choisir un fichier ou un dossier.
    FileDelete / FileRecycle: Supprimer / recycler un ou plusieurs fichiers. Utilisez FileRemoveDir pour supprimer un dossier entier.
    FileCopy / FileMove: Copier / déplacer un ou plusieurs fichiers. Utilisez FileCopyDir / FileMoveDir pour copier / déplacer un dossier entier.
    Boucle de fichiers et de dossiers: Récupérez les fichiers et les dossiers contenus dans un dossier, un à la fois.
    FileSetAttrib et FileSetTime: modifiez les attributs ou l’horodatage d’un ou de plusieurs fichiers.
    IniRead, IniWrite et IniDelete: Créer, accéder et gérer des fichiers INI au format standard.
    RegRead, RegWrite, RegDelete et Registry Loop: travaillez avec le registre Windows.

  3. Interface utilisateur graphique
    Les options de l’interface graphique étant un peu longues, je souhaiterais lier la documentation ici plutôt que de la saisir ici. Alors voici la documentation: GUI

Il y a beaucoup plus d’utilisations. Les possibilités avec cet outil sont vraiment vastes. Pour conclure, je voudrais donner quelques scripts ici:

  1. Vitrine de script AutoHotkey
    Ces scripts ont été soumis au site officiel et de nombreux scripts sont disponibles sur ce lien. La description est donnée sur la page elle-même.
  2. Montrez-nous votre meilleur script AutoHotkey
    Voir les commentaires sur cette page lifehacker. Ils contiennent des gemmes.
  3. Les meilleurs trucs AutoHotkey pour gagner du temps que vous devriez utiliser
    Cette page Lifehacker énumère quelques trucs et astuces pour utiliser ces outils.

Remarque: j’ai utilisé la propre documentation d’Autohotkey pour fournir des exemples ci-dessus.

J’espère que vous avez trouvé ce qui précède intéressant.

tout d’abord:
en python au lieu de:
si x:
foo ()
autre:
bar()

vous pouvez simplement utiliser:
[bar, foo] [bool (x)] ()

mettre à jour:
voici comment cela fonctionne:
pense que x est index, s’il est False, bool (x) sera équivalent à 0, donc [bar, foo] [0] est bar
si c’est vrai, bool (x) deviendrait vrai, ce qui équivaut à 1, donc [bar, foo] [1] donc foo.
la parenthèse en est utilisée pour appeler la fonction correspondante.

seconde:
pas 10 min, mais une valeur totale de 16 min, découvrez le cryptage à clé publique:

ps mise à jour que je me souviens de trucs cool 🙂

Programmation parallèle rapide et sale, avec OpenMP!
Voici trois longues boucles en C, avec des itérations qui ne dépendent pas de l’ordre dans lequel elles sont exécutées:

#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 

Ils prennent un moment pour courir:

  % make CFLAGS = -std = c99 LDLIBS = -lm nombres
 gcc -std = c99 numbers.c -lm -o nombres
 % temps / nombre
 Valeur moyenne 1.065549e + 01

 réel 0m6.247s
 utilisateur 0m5.996s
 sys 0m0.227s

Annotez les boucles pour assurer le compilateur que les itérations sont indépendantes:

 /* 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 

Compiler et relancer:

  % make CFLAGS = "- std = c99 -fopenmp" LDLIBS = -lm numbers_parallel
 gcc -std = c99 -fopenmp numbers_parallel.c -lm -o numbers_parallel
 % time ./numbers_parallel
 Valeur moyenne 1.065549e + 01

 0m2.517s réels
 utilisateur 0m6.464s
 sys 0m0.234s

Abracadabra , 2,5 fois plus rapide (du moins sur mon quadricœur) sans rien écrire de compliqué. Vous pourriez dire que cela aurait dû être presque 4 fois plus rapide, mais le partage de la variable average dans la dernière étape ralentit un peu les choses, et il existe des coûts d'initialisation et de déplacement de données que la parallélisation des boucles n'aide pas.

La parallélisation des programmes devient (beaucoup) plus difficile lorsqu'il y a des dépendances, mais si la partie la plus lente de votre programme est une boucle avec itérations indépendantes, il est extrêmement simple de faire fonctionner plus de cœurs de processeur. Il est difficile de garantir que les processeurs C, C ++ ou multicœurs seront présents pour le reste de votre vie, mais ils doivent rester en place pendant un certain temps, et cela ne prend pas 10 minutes pour le comprendre.

Quand le réseau est en panne

Tout le monde se sent triste quand la connexion Internet est en panne! Ce post est juste pour vous remonter le moral à ce moment là

Le navigateur Google Chrome affiche le vilain dinosaure nu vous informant de l’indisponibilité du réseau (et peut-être aussi insinuant sur le retour de l’âge du dinosaure!)


Quoi qu’il en soit, le plaisir commence lorsque vous essayez d’appuyer sur le bouton “UP”! (ou n’importe quelle touche fléchée)

Voila!
Ce que vous découvrirez va vous remonter le moral!
Le vilain dinosaure nu commence à courir…

Avant, je détestais ça quand le réseau était en panne…
… Maintenant je l’attends! 😀


Juste partager… c’est amusant! Peut rafraîchir l’esprit pour écrire de nouveaux codes!

Conseil rapide:

Partager n’importe quel répertoire sur un serveur http en utilisant une seule commande

Python 2

  python -m SimpleHTTPServer 8000 

Python 3

  python -m http.server 8000 

Maintenant, vous pouvez partager votre http://:8000 IP avec n’importe qui et leur demander d’accéder via http://:8000

Remarque: la fourniture du port dans la commande est facultative.

Conseil Life Time:

Trois règles d’or (les miennes):

1. Respecter les modèles
Construire quelque chose? Pour un succès à long terme, votre code doit être simple, faiblement couplé, évolutif, etc. Maintenant, de nombreux développeurs ont fait le même voyage, commis des erreurs et compris la nécessité de certains principes. Et la clé de la survie est un modèle de conception. Croyez-moi, perdre du temps à les apprendre en vaut la peine!
Il existe de nombreux modèles (environ 23, je suppose). Un livre recommandé est Head First Design Patterns

2. code toujours contre le type super
C’est comme un bouchon. Disons que vous avez une prise murale à deux broches.

Maintenant ce gars peut prendre * N’IMPORTE QUEL * type de prise à deux broches

Considérez cela comme un contrat entre la prise murale à deux broches et la fiche à deux broches. La prise murale à deux broches ne peut pas accepter une fiche à trois broches car elle n’est pas conforme au contrat, mais elle peut accepter tout type d’implémentation de la fiche tant qu’elle est à deux broches. (Ce n’est pas un très bon exemple. Je ne sais pas pourquoi, mais cela m’est venu à l’esprit :))
Pour un exemple de code, reportez-vous à ma réponse sur stackoverflow.com

3. Préférez la composition à l’héritage
Celui-ci est contraire au point (2), mais cela dépend du cas d’utilisation.
Les deux ont leurs propres avantages et inconvénients.
Cela donne plus de flexibilité dans la conception. En d’autres termes:
HAS-A (confinement / composition) PEUT être un meilleur choix que IS-A (héritage). Repensez à votre conception.
Un exemple très courant peut être un contrat d’égalité (méthode equals Java Platform SE 7) ne peut pas être respecté lors de la substitution d’une méthode equals pour un sous-type (qui ajoute une nouvelle fonctionnalité) si la super-classe substitue également une méthode equals. Dans ce cas, la composition peut résoudre le problème.
Pour plus de détails, consultez Wikipedia, http://en.wikipedia.org/wiki/Com… .

Il semble y avoir deux approches différentes pour répondre à cette question: certains auteurs proposent des conseils de “meilleures pratiques” aux programmeurs expérimentés, tandis que les autres tentent de proposer quelques leçons simples qui inspireraient les débutants. Je vais suivre cette dernière approche en montrant comment nous pouvons utiliser Microsoft Excel (ou un tableur similaire) pour enseigner quelques principes de base en gestion de données. Les outils de productivité tels que MS Access et MS Excel offrent aux nouveaux programmeurs un excellent moyen d’exploiter des plateformes à la fois puissantes (prise en charge des scripts, liaison à des sources de données externes, etc.) et conçues pour les débutants (dotés d’assistants, etc.). outils de conception graphique, modèles intégrés et autres fonctionnalités conçues pour vous aider à être opérationnel rapidement).

Dans ce “tutoriel de dix minutes”, je présenterai sept concepts de base pouvant être appris à l’aide d’Excel. Chacune des sept sections ci-dessous ne devrait nécessiter qu’une ou deux minutes pour être passée en revue et complétée.


Premier concept: cellules, valeurs et références

Pas:

  1. Créez une nouvelle feuille de calcul vierge.
  2. Entrez une valeur dans la cellule supérieure gauche (A1 – l’intersection de la colonne “A” et de la ligne “1”. Dans l’exemple, j’ai saisi ” 36 “.
  3. Dans la cellule B1 (une cellule à droite de “A1″), entrez cette formule: ” = A1 ” et appuyez sur la touche Retour. La valeur que vous avez entrée dans la cellule A1 doit maintenant être également affichée dans la cellule B2.

Idées :

  • Dans Excel, un fichier ( classeur ) est composé d’une ou de plusieurs feuilles de calcul . À son tour, chaque feuille de calcul est une grille de cellules, où chaque cellule a sa propre identité unique (” adresse “).
  • Dans chaque cellule, vous pouvez entrer une valeur codée en dur (comme 36 dans la cellule A1) ou une formule, qui fait généralement référence aux valeurs des autres cellules. Par exemple, dans la cellule B1, nous avons créé une formule de base (utilisant le signe égal) qui récupère la valeur stockée dans l’ adresse A1.
  • Alors que la cellule de la grille affichera toujours la valeur ultime, la barre de formule (en haut à droite de la photo ci-dessus) nous indique si la cellule contient une valeur ou une formule qui référence les valeurs d’autres cellules.

Deuxième concept: définir une plage

Pas:

  1. Créez une petite “table” dans une feuille de calcul en entrant un ensemble de noms de colonnes sur une ligne consécutive de cellules. Vous voudrez peut-être mettre en surbrillance ces cellules en gras (c.-à-d. Pour les rendre facilement reconnaissables en tant qu’en-têtes de colonne).
  2. Sous cette ligne d’en-tête, entrez une ligne de données définissant un “enregistrement” (c’est-à-dire un ensemble complet d’entrées pour chacune des colonnes que vous avez énumérées précédemment).
  3. Continuez à entrer des lignes / “enregistrements” jusqu’à ce que vous ayez décrit au moins quelques éléments distincts dans votre table.
  4. Lorsque votre tableau est terminé, mettez en surbrillance toutes les cellules du tableau que vous avez créé. Ensuite, dans la zone de référence de cellule (directement au-dessus de la cellule A1), entrez un nom décrivant les données que vous avez entrées (exemple: ” MYRANGE “), puis appuyez sur la touche Retour. Vous venez de créer une plage – un ensemble contigu de cellules pouvant être référencées à l’aide du nom que vous venez de fournir.

Idées:

  • Dans Excel, toutes les données sont essentiellement structurées en cellules et en feuilles. En d’autres termes, l’application ne dispose pas d’un mécanisme permettant de “savoir” quel type de données vous entrez (par exemple, si une rangée de cellules représente un “enregistrement” utilisant un ensemble de valeurs différentes pour décrire une seule entité, ou un ensemble / liste de valeurs similaires où chaque cellule représente une mesure prise à partir d’une entité différente).
  • Cependant, nous pouvons imposer notre propre signification à un groupe de cellules utilisant des plages. Une plage est essentiellement un nom attribué à un groupe de cellules à deux dimensions, indiquant que ces cellules appartiennent ensemble. Une plage peut être utilisée pour indiquer un “tableau” (un ensemble de descriptions d’entités discrètes, où chaque ligne est un “enregistrement” décrivant une entité) ou une “matrice” (un ensemble bidimensionnel de mesures similaires; au-delà de la colonne et en-têtes de lignes, chaque cellule d’une matrice représente fondamentalement le même type de valeur).

QUELQUES TERMINOLOGIES EXCEL CLES :

Parties explicites du modèle Excel :

  • une cellule – le «bloc de construction» de base dans Excel, qui contient une valeur, une référence ou une fonction
  • une feuille de calcul – un ensemble de cellules disposées en deux dimensions, suivant une convention d’appellation standard pour les colonnes et les lignes intégrées (A1, B2, etc.)
  • une plage – une sous-grille (rectangle) de cellules, identifiée à l’aide d’un nom unique (et traitée comme une valeur unique dans certaines fonctions)

Concepts de données implicitement modélisés dans Excel :

  • une ” table ” – une plage utilisée de manière à ce que chaque ligne de cellules (” enregistrement “) décrit une seule entité (et chaque colonne se réfère à un attribut de cette entité)
  • une ” matrice ” – chaque cellule d’une matrice (à part celles de la colonne extérieure / gauche et de la rangée supérieure) contient une mesure ou une valeur unique
  • un ” vecteur ” – une plage de colonne unique (généralement imbriquée dans une autre plage), contenant des identifiants ou d’autres informations de référence (utile pour la correspondance, le tri, etc.)

Troisième concept: Utilisation de deux plages pour stocker des données associées

Pas:

  1. Créez une seconde plage dans la feuille de calcul en entrant une ligne de noms de colonnes suivie de plusieurs lignes d’enregistrements. Dans cet exemple, une colonne de la nouvelle table (“ID”) contient des valeurs qui référencent une colonne de la plage d’origine (“OfficeID”). Assurez-vous que la colonne ID est la colonne la plus à gauche de cette nouvelle plage.
  2. Comme vous le faisiez auparavant, attribuez un nom à cette plage en entrant ce nom (” KEYRANGE “) dans la zone de référence de cellule, en haut à gauche de l’image ci-dessus (et en appuyant sur Entrée ).

Idées:

Nous avons maintenant créé deux ensembles d’entités distincts (une liste de “personnes” et une liste de “bureaux”), les entités d’une table référençant les entités de l’autre table à l’aide d’une référence de clé étrangère . Dans l’exemple de l’image ci-dessus, un ensemble de numéros d’identification de bureau est attribué à chaque personne / employé de la première plage / table. La deuxième plage / tableau décrit chaque affectation de bureau de manière plus détaillée; En d’autres termes, la colonne Office ID sur le côté gauche identifie chaque option de bureau, tandis que les valeurs de ces autres colonnes fournissent les détails ( attributs ) concernant cet élément.


Quatrième concept: association des deux plages à l’aide de la recherche

Pas:

  1. Ajoutez une colonne à la première plage, intitulée “Bâtiment”.
  2. Dans cette colonne, dans la première ligne de données (cellule D2), insérez une formule VLOOKUP (” = VLOOKUP (C2, KEYRANGE, 2, FALSE) “).
  3. Faites glisser cette formule au bas de la plage de cellules (D2 à D6), en plaçant d’abord le curseur dans le coin inférieur droit de la cellule D2, jusqu’à ce que l’icône se transforme en croix; Faites ensuite un clic gauche et faites glisser le curseur vers le bas, sur toutes les cellules que vous souhaitez remplir avec la formule. Notez que les références de cellule de la formule sont automatiquement mises à jour , en fonction du nouvel emplacement de la formule.

Idées:

  • C’est la première fois dans ce didacticiel que nous utilisons l’une des nombreuses fonctions intégrées d’Excel pour définir une formule de cellule. Comme on peut le constater, les formules peuvent être plus que des équations mathématiques (comme ” = A2 + B2 “). Dans Excel, nous pouvons utiliser des formules pour associer des données dans différentes plages, comme pour l’écriture de requêtes en langage SQL afin de créer des associations entre les tables de base de données. (Si vous n’êtes pas familier avec SQL, il s’agit d’un langage standard de l’industrie pour l’analyse de données et la gestion de bases de données relationnelles.)
  • Plus précisément, dans cet exemple, nous avons utilisé la fonction VLOOKUP pour “extraire” des informations d’une “table de bouclage” / plage de référence, en fonction de la valeur d’une colonne “clé étrangère” (dans ce cas, “ID Office” colonne) dans la plage principale. Comme vous pouvez le constater, il s’agit d’un moyen puissant de stockage et de mise en relation des informations (en particulier si vous devez gérer plusieurs ensembles de feuilles de calcul et de plages dans un classeur Excel).

Concept cinq: plusieurs plages décrivant le même type (entité)

Pas:

  1. Copiez et collez les en-têtes de colonne de la première plage dans un autre ensemble de cellules de la ligne 1 (c’est-à-dire la ligne contenant tous les en-têtes de colonne).
  2. Commencez à saisir un nouvel ensemble de valeurs d’enregistrement dans les cellules / lignes situées sous le nouvel ensemble d’en-têtes de colonne, comme indiqué ci-dessus.
  3. Une fois terminé, définissez une nouvelle plage (” RANGE2 “) de la même manière que la première plage.

Idées:

  • Bien que ces deux plages contiennent des ensembles de données distincts, elles décrivent le même type d’entité sous-jacent (étant donné que les en-têtes de colonne sont généralement identiques ou complètement identiques). Nous pourrions imaginer que les deux ensembles de données pourraient être combinés dans une seule “table d’union”.
  • Étant donné que les deux ensembles de données contiennent des types d’informations identiques, notre principale préoccupation est de savoir s’il existe un chevauchement entre les entrées de la table (par exemple, si les noms sont uniques, ou si plusieurs personnes sont affectées à la même fonction). bureau de la personne).

Concept Six: Recherche de doublons (membres identiques) dans une plage

Pas:

  1. Créez une nouvelle colonne dans la nouvelle plage (“Dupliquer?”) Et utilisez la formule COUNTIF pour rechercher les valeurs en double dans la plage. L’expression exacte dans la cellule H2 serait: ” = COUNTIF (RANGE2, G2) “.
  2. Comme nous l’avons fait précédemment: utilisez la fonction glisser-déposer pour copier cette formule sur toute la plage de la colonne H, afin de localiser toutes les occurrences en double dans la plage. (Une valeur de 1 indique que la valeur de la cellule correspondante dans la colonne G est unique – elle n’a été trouvée qu’une fois dans toute la plage de cellules.)
  3. Essayez de changer l’une des valeurs de la colonne G ci-dessus pour qu’elle corresponde à une valeur existante. Par exemple, essayez de mettre un 5 dans la cellule G3; la valeur dans la cellule H3 devrait alors changer. La valeur de deux cellules de la colonne H devrait alors passer de 1 à 2 .

Idées:

Nous venons d’exécuter un moyen très simple (s’il est défectueux) de rechercher des valeurs de clé en double dans une plage. Si nous avions trouvé des valeurs de clé en double (et si nos règles commerciales stipulaient que “chaque ID de bureau devait être attribué à un, et à un seul employé à la fois de l’organisation”, nous aurions simplement identifié une violation des règles commerciales. Il s’agit d’un problème de “qualité des données” (ou “d’intégrité des données”); nous devons toujours nous assurer que nos données reflètent les processus sous-jacents qu’elles décrivent et ne violent aucune des règles guidant ces processus.


Concept Sept: Recherche de doublons sur plusieurs plages

Pas:

  1. Nous utiliserons à nouveau la fonction COUNTIF , mais cette fois nous référencerons une plage “externe”, au lieu de la même plage; nous voulons découvrir si des valeurs de clé dans une plage sont réutilisées dans une autre plage. Créons un nouvel en-tête de colonne dans la colonne I (” Autre table? “).
  2. Dans la cellule I2, nous allons entrer cette formule: ” = COUNTIF (MYRANGE, G2) “. Notez que le seul changement par rapport à la formule du Concept Six ci-dessus est que le nom de la plage (qui est en cours de vérification) pointe maintenant vers l’autre plage.
  3. Comme nous l’avons fait précédemment, glissez-déposez pour copier la formule dans les autres cellules de la colonne I dans les mêmes lignes que le reste de la plage.

Il existe un autre moyen d’obtenir le même résultat: utilisez la fonction MATCH au lieu de la fonction COUNTIF comme suit:

Pas:

  1. Créons un nouvel ensemble de valeurs dans la colonne J. Dans la cellule J1, entrez l’en-tête de colonne ” Vérifier les correspondances “.
  2. Dans la cellule J2, nous allons entrer la formule suivante: ” = MATCH (G2, C1: C6,0) “. La fonction MATCH , telle qu’elle est utilisée ici, peut renvoyer deux types de valeurs: une valeur entière (indiquant la position dans la plage recherchée – dans ce cas, la plage C1: C6 ) ou une valeur indiquant qu’aucune correspondance n’a été trouvée (” NA ” ).
  3. Comme aucune correspondance n’a été trouvée (en utilisant les valeurs de l’exemple ci-dessus), nous voulons renvoyer une valeur plus “lisible” que ” NA “; s0 nous “encapsulons” l’appel de fonction MATCH dans une autre fonction: ” = ISNA (MATCH (G2, C1: C6,0)) “. La fonction ISNA renverra TRUE si aucune correspondance n’est trouvée et FALSE lorsqu’une correspondance est trouvée (et la fonction MATCH renvoie un entier au lieu de “NA”).
  4. Si ce résultat semble trop déroutant – si nous voulons que TRUE indique quand un enregistrement correspondant est trouvé, au lieu de quand il n’a pas été trouvé – nous pouvons simplement envelopper cet appel de fonction ISNA avec un appel de fonction NOT (qui renvoie la valeur booléenne opposée – TRUE devient FALSE et vice versa). On termine donc avec: ” = NOT (ISNA (MATCH (MATCH (G2, C1: C6,0))) ” “.
  5. Comme nous l’avons fait précédemment, il suffit de glisser-déposer pour copier la formule dans toutes les cellules de la colonne J, qui se trouvent dans les mêmes lignes que le reste de la plage.

Idées:

  • Les exemples de cette section montrent que les mêmes fonctions peuvent être utilisées pour comparer des valeurs dans la même plage ou dans une plage différente. la seule différence est la plage spécifiée (en tant que paramètre) dans la formule.
  • L’exemple précédent a introduit le concept de wrapping de fonction – nous pouvons imbriquer des fonctions dans d’autres fonctions afin de construire des processus multi-étapes (algorithmes simples) dans une définition de cellule Excel.
  • Notez que la fonction MATCH fait référence à un certain type de plage (en tant que paramètre) – une plage à une colonne (ou une seule ligne), que nous appelons un “vecteur”. Gardez à l’esprit que nous pouvons définir des plages à l’ intérieur d’autres plages . En effet, il serait peut-être judicieux de définir une colonne (contenant un ensemble de clés étrangères ou de clés primaires [ID d’enregistrement]) dans laquelle la recherche sera effectuée dans sa propre plage de vecteurs.
  • Nous avons également vu une autre syntaxe pour spécifier une plage. Au lieu de sélectionner manuellement un ensemble de cellules, puis de lui attribuer un nom de plage unique et reconnu, nous pouvons spécifier des plages “à la volée” en identifiant simplement leurs cellules membres en haut à gauche et en bas à droite (c.-à-d. ” A1: E5 ” définit une cellule à cinq colonnes et cinq rangées).

BONUS INFO: une autre façon de rechercher et de créer des plages

Comme vous l’avez vu, les plages constituent un concept important à comprendre et à utiliser si vous envisagez de stocker des données sous forme de tableau dans vos classeurs Excel. Bien que nous ayons déjà présenté différentes manières de créer et de gérer des plages, il existe également une fenêtre spéciale – ” Gestionnaire de noms ” – qui facilite la recherche, la création, la modification ou la suppression de vos plages nommées:

Recherchez l’icône du gestionnaire de noms dans la barre de menus des formules , dans la section du menu intitulée ” Noms définis “.


Révision et résumé

Si vous êtes un débutant en programmation, j’espère que vous avez pu acquérir une compréhension de base de certains principes fondamentaux de la gestion de données. et si vous êtes un développeur expérimenté, j’espère vous avoir montré de nouvelles façons de rendre les données de votre entreprise plus accessibles aux gestionnaires et aux autres utilisateurs non techniques de la veille stratégique. Alors que les programmeurs expérimentés disposent de nombreux outils de gestion de données puissants (allant des langages de requête tels que SQL aux outils ORM et des langages tels que LINQ dans le .NET Framework; à un large éventail de technologies ETL), Excel devrait rester un outil de choix chaque fois que vous avez besoin d’analyser de relativement petites quantités de données, provenant de plusieurs sources distinctes. Il devrait toujours avoir sa propre place dans la trousse à outils de chaque développeur d’entreprise.

1. Au moment de préparer un entretien pour des entreprises telles qu’Amazon, Google, etc., l’écriture de code spécialement arborescent, la liste de liens est très utile et toujours recommandée avant de passer à un tel entretien.
Après avoir écrit le code, comment le vérifiez-vous? En donnant des entrées et en vérifiant la sortie? Si c’est une fonction basée sur un arbre ou un graphique, alors? En créant une arborescence aléatoire sur du papier, en organisant les valeurs dans un ordre quelconque pour construire l’entrée ou en créant une arborescence codée en dur dans le code? Frustrant et prenant trop de temps? Vous avez écrit le code, vous devez maintenant mettre le même temps pour le vérifier et il y a toujours une chance de rater certains cas difficiles. Imaginez si vous n’aviez pas à subir cela pour valider votre code. Eh bien, pour éviter ces souffrances et économiser votre temps précieux, vous pouvez utiliser Problems | LeetCode JO. C’est un outil Web, qui pose de nombreux problèmes fréquemment lors d’entretiens et vous fournit une interface pour soumettre votre code. Cool? fait gagner beaucoup de temps !!

2. Outil d’écran – Si vous travaillez sur une machine Linux distante, vous en aurez certainement besoin. Si vous êtes au bureau, accédez à votre machine linux via ssh et que vous voulez construire quelque chose sur cette machine, ce qui prendrait longtemps, comme 2-3 heures. Vous avez commencé à construire et maintenant vous voulez partir. Qu’est-ce que tu ferais? Dès que votre ordinateur portable tombe en panne, la session ssh est tuée, le processus de construction est tué. Pas plus de parent alors pas plus d’enfant. l’écran est là pour vous sauver de cette situation. Avant de lancer la construction, lancez screen et vous êtes bon. Vous pouvez éteindre votre ordinateur de manière pacifique et le lendemain, votre code sera construit.

En savoir plus sur screen Comment utiliser Linux Screen.

3. Utilisez-vous vim? Que faites-vous lorsque vous travaillez simultanément sur deux fichiers? vsplit? Et si plus de deux fichiers? encore vsplit? ou maintenant hsplit? Trouvez-vous facile à utiliser? Oui? Félicitations, vous êtes un vrai nerd linux. Pour ceux qui ne savent pas ce que vsplit est, c’est une commande vim qui divise votre terminal vim verticalement.

Si vous n’avez pas à propos de vsplit ou si vous ne trouvez pas cela facile à utiliser, linux n’est pas pour vous. Chill, je rigolais. Il existe un outil appelé terminateur pour vous aider dans une telle situation. Très flexible et facile à utiliser.
http://www.tecmint.com/terminato…


Ajoutera plus que je me souviens.

Eh bien, la programmation informatique ne signifie pas un seul langage de programmation. Différents langages de programmation sont disponibles. Ils diffèrent les uns des autres à bien des égards. Mais ils partagent de nombreux concepts de base communs, qui constituent l’épine dorsale de tous les langages de programmation et de programmation. Je mentionne quelques-uns de ces concepts communs ci-dessous, comprenant et exploitant lesquels, je pense que vous pouvez renforcer votre vie de programmation:

1. Pratiquez plus que d’étudier.
On dit que “la pratique rend un homme parfait”. Les compilateurs, interprètes d’un langage de programmation, ont toujours besoin d’un morceau de code exempt d’erreurs. S’il y a une erreur, vous n’obtiendrez pas le résultat. Il y a beaucoup d’erreurs stupides, tous les programmeurs commettent. Avec une pratique rigoureuse, il peut être surmonté. Lorsque vous développez 1 000 lignes de code, vous n’êtes pas censé commettre d’erreurs de recrue telles que des mots-clés de programmation mal orthographiés, des blocs de code non fermés (accolades), des fonctions d’appel avec un nombre d’arguments incorrect ou incorrect, etc. .

2. Comprendre les bases de chaque ligne de code.
Sans copier les codes de différentes sources, la vie d’un programmeur devient plus difficile. Mais avant de copier un code, essayez de comprendre les concepts qui se cachent derrière chaque ligne de codes. Analysez les blocs de code. Essayez de manipuler le code avec votre propre style. Faites des expériences là-dessus. Essayez de jouer avec. Lorsque vous constatez des changements, vous pouvez connaître la fonction de chaque ligne de code et son impact sur le résultat. Finalement, si cela s’avère utile, implémentez ces concepts dans le futur, cette fois sans copier, en vous guidant simplement. Cela ferait apparemment de vous un meilleur programmeur.

3. Adoptez une pratique de programmation uniforme.
Prévenir vaut mieux que guérir. Rien ne peut être purement parfait à un intervalle de temps déterminé. Tout va mieux avec le temps. Supposons que vous lanciez un programme avec 100 lignes de code, qui a finalement rassemblé 10 000 lignes de code, en passant par différentes améliorations (la partie la plus longue et la plus longue d’un cycle de vie de développement logiciel, acronyme de SDLC). Maintenant, il a été mis à l’essai qu’il existe certains problèmes dans le programme, dont le seul remède consiste à supprimer les lignes de code erronées. Maintenant, si le programme est de mauvaise qualité, mal commenté (comme /**/ ou // pour de nombreux langages de programmation), pas mis en retrait correctement, un travail de seulement 10 minutes devient un long travail frustrant d’une heure. Adopter une pratique de programmation uniforme vous aide donc à atteindre facilement la racine d’un problème.

4. Soyez un pro dans n’importe quel outil.
Des outils tels que Eclipse (pour Java), Adobe Dreamweaver (pour un langage de conception tel que HTML ou un langage de script tel que JavaScript) vous aident à réaliser vos tâches de manière intelligente. Avec ces outils, les chances de commettre les erreurs idiotes mentionnées ci-dessus sont réduites à un nombre moins élevé. Maintenant, vous devez principalement vous soucier de la partie logique, qui est la responsabilité exclusive de votre cerveau. Les outils améliorent la lisibilité (aide lors du débogage) d’un code en affichant les mots-clés avec une couleur et une police différentes des non-mots-clés avec une indention appropriée.

5. Utilisez des noms significatifs.
Supposons que vous avez 100 chiens différents. Si vous les nommez à l’aide du système de numérotation (1-100), est-il facile à mémoriser? Pouvez-vous identifier tous les chiens par leurs noms. Si vous leur donnez un sens, ce n’est pas si difficile à mémoriser. Il en va de même pour les langages de programmation également. Dans un programme autre que les mots-clés (mots réservés), vous utiliserez probablement des variables, des constantes, des fonctions, des classes, des objets, etc. définis par l’utilisateur (et le nombre serait vraiment grand, pour les grands projets / programmes). Si vous ne les nommez pas avec le sens qui convient, la personne (ce sera peut-être vous) qui déboguera le code acquerra un mal de tête.

6. Testez votre code régulièrement.
Est-il facile de trouver une pierre dans l’océan ou dans une baignoire? C’est toujours plus facile dans le cas d’une baignoire. Vous avez terminé un programme de 1000 lignes de code et vous le testez pour la première fois. La possibilité d’obtenir des erreurs n’est jamais nulle. Donc, tester votre code à chaque fois après un intervalle de temps régulier et court permet d’obtenir moins d’erreurs pendant l’apogée du patient. Il est toujours bon de résoudre un problème avant qu’il ne commence à créer des branches.

Bien que ces points ne prennent pas seulement 10 minutes, aucun langage de programmation ne peut être appris en 10 minutes. Pour être un programmeur réussi et intelligent, voici quelques points à respecter (bien sûr, il y en aurait beaucoup plus).

1. Si vous êtes bloqué dans le code et que rien ne semble fonctionner – Faites une petite pause, allez vous promener, détendez-vous. La solution apparaîtra automatiquement dans votre tête une fois que votre cerveau sera soulagé

2. Si votre code fait quelque chose de souhaitable, mais qui semble être un peu inattendu, allez à l’intérieur et cherchez comment cela s’est passé. Si vous l’ignorez, il reviendra vous hanter quelque part dans le futur.

3. Toujours placer le contrôle pour les valeurs NULL – Soit dans le code ou l’API envoie quelque chose de stupide. Cela provoquerait un arrêt inattendu de la production hors de tout endroit (je travaille avec Objective – C et il est toujours douloureux d’ignorer les erreurs de traitement nul / nul)

4. Si vous reconnaissez copier et coller du code à plusieurs endroits, pensez à les insérer dans la méthode. Faites en sorte que le processus soit le plus cohérent possible afin de ne pas avoir à vous en occuper plus tard.

Pour déboguer efficacement. La majeure partie du temps qu’un programmeur passe au clavier est à la recherche de bogues. Il s’agit de réduire l’espace de recherche de manière efficace.

Commencez avec les symptômes:
– Familiarisez-vous avec les codes d’erreur insolites signalés par votre langage / structure de choix – Si vous ne comprenez pas le symptôme, vous ne pouvez pas émettre d’hypothèses sur la raison (ce qui est une stratégie terrible pour commencer).

Commencez à collecter des faits:
– reproduire le bogue: cela permet de rechercher le bogue, mais surtout, cela vous donne un plan pour savoir si le bogue est corrigé lors de vos efforts à venir.

– émettre des hypothèses sur la raison et commencer à les rechercher par priorité (hypothesis_probability * effort_to_test est une bonne mesure)

– restreignez votre champ de vision jusqu’à trouver la ligne / méthode exacte qui se comporte mal; les traces de pile, REPL, les journaux et les listes de surveillance sont votre meilleur ami maintenant

– corrigez-le et testez-le: si vous pouvez (je vous le recommande vivement), créez un test automatisé, il sera rentable en cas de régression

Autres astuces:

– Concentrez-vous toujours sur UNE seule chose à la fois – vous pouvez trouver d’autres choses qui nécessitent votre attention lorsque vous traquez un bogue; il peut être tentant de faire des corrections rapides, mais ne le faites pas sauf si cela est nécessaire pour corriger le bogue actuel. (Ajoutez un commentaire à la place si vous le souhaitez). Non seulement vous perdez le focus, vous pouvez également introduire une nouvelle complexité qui peut se manifester par de nouveaux bogues.

– Les tests automatisés et TDD constituent un moyen efficace de vous donner une assurance raisonnable de ne pas avoir rompu les comportements existants lors de l’ajout d’un nouveau morceau de code.

– Courez et compilez souvent. Pour que l’espace de recherche reste relativement petit, vous devez être en mesure d’indiquer les modifications apportées au code qui ont provoqué l’apparition du bogue. Si les modifications sont minimes, la complexité de l’espace de recherche l’est également.

– Ne balayez jamais un bug sérieux sous le tapis – une fois, quelque part, le bug se reproduira et il sera beaucoup plus difficile à corriger. Pire encore, de mystérieux bugs “obsolètes” ruinent lentement la confiance de l’équipe dans le code … et c’est un péché mortel pour les programmeurs!

Et enfin: avant de célébrer, débarrassez-vous de tous les artefacts de débogage introduits dans votre code lors du débogage. Gardez le code (et les journaux) non pollué.

Dix minutes, ce n’est pas très long. Au cours de votre carrière professionnelle en informatique, vous rencontrerez probablement de nombreux langages de programmation, vous en apprendrez plusieurs et vous pourrez peut-être écrire quelque chose d’utile dans un ou deux d’eux. Pour vos 10 minutes, je suggérerais:

  • Utilisez 10 minutes pour vous lier d’amitié avec un bon éditeur (Vim, Emacs, Notepad ++, UltraEdit). Cet outil deviendra un jour votre outil préféré.
  • Jetez un coup d’œil à Gimp ou à un programme graphique similaire.
  • Examinez les opportunités fournies par les outils d’invite de commande. Tout n’a pas besoin d’une interface graphique. Essayez d’écrire dans bash ou awk au lieu d’écrire / compiler des programmes.
  • Oui, apprendre une langue. Python est un bon endroit pour commencer (quelqu’un a dit que ça “correspond au cerveau”, et je suis d’accord). Il existe plusieurs centaines de bibliothèques utiles pour vous aider à faire exactement ce que vous voulez – et oui, Google est votre ami. Cela vous prendra plus de 10 minutes, mais si vous suivez un bon tutoriel (plongez bien dans Python ou ceux de la menuiserie logicielle), vos 10 premières minutes ne seront pas perdues. Il vous faudra 10 minutes pour installer Anaconda et examiner l’environnement Jupyter / IPython. Ce serait du temps bien dépensé.
  • Apprenez à lire et à écrire des formats de données tels que HTML (bien sûr), mais aussi CSS, CSV, JSON, YAML ou autre XML.
  • Examinez d’autres outils et langages, tels que le langage DOT pour les graphiques et LaTeX pour les documents. Examinez les outils qui vous aideront à structurer vos pensées (Evernote ou FreeMind). Pensez à utiliser un programme de gestion de projet (ToDoList ou similaire).
  • Si vous êtes intéressé par l’analyse de données, jetez un coup d’œil à R, Pandas ou MathLab.
  • Vous devez également être familiarisé avec les bases de données (MySQL ou Postgres, par exemple) et leur administration (via des programmes et du SQL interactif).
  • Sois curieux. Expérience.
  • Faire des erreurs.

Non, non, non… Dans dix minutes, apprenez à vous déplacer efficacement dans Google et à rechercher dans les forums des informations relatives aux domaines dans lesquels vous travaillez. C’est probablement l’outil le plus efficace que vous utiliserez jamais… Je ne connais personne qui utilise une feuille de triche et je suis sur le terrain depuis 15 ans… Sérieusement… Les problèmes de programmation et d’ingénierie sont résolus principalement en analysant et en utilisant efficacement les expériences des autres. “Google est votre ami” – mots à vivre. 🙂

Si vous êtes débutant en programmation, optez toujours pour un bon IDE et souvenez-vous de la combinaison de touches Ctrl + Espace.


Cela vous donne des indications.

Par exemple, en Java, si vous écrivez simplement system.out et appuyez sur Ctrl + Espace, toutes les fonctions possibles seront écrites et vous pourrez sélectionner celles que vous souhaitez. Cela vous évite également des fautes d’orthographe ou des erreurs majuscules / majuscules.

Non seulement pour les fonctions intégrées, il fournit également des astuces si nous avons notre propre classe et ses méthodes.

En outre, des IDE tels qu’Eclipse peuvent également détecter des erreurs syntaxiques sans donner l’ordre de compiler ou de construire le projet. Il vérifie ces erreurs pendant que nous écrivons le code. Cela facilite notre tâche pour écrire du code efficace.

Apprenez des modèles de conception.

En voici quelques unes que je trouve très utiles:

Méthodes d’usine statiques

L’utilisation de ces constructeurs vous permet d’avoir des schémas de nommage flexibles, notamment. si vous êtes objet peut être de nombreuses formes. Par exemple, supposons que vous ayez une classe Vehicle qui possède une méthode d’usine statique getVehicleForCapacity (capacité) . 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

Notes de bas de page

[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. Lire le code des autres. 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 🙂