User:Map: Difference between revisions

From miki
Jump to navigation Jump to search
 
(37 intermediate revisions by the same user not shown)
Line 1: Line 1:

== '''Cooking''' ==

Page [[cooking recipes | cooking recipes]]

== '''PC update''' ==

First

<code>sudo apt-get update</code>

then

<code>sudo apt-get dist-upgrade</code>

== '''Trucs à étudier''' ==

* Naive Bayes, important baseline in AI, concept simple mais ce serait bien de l'appliquer une fois moi-même: https://en.wikipedia.org/wiki/Naive_Bayes_classifier

Naive Bayes is a special case of a bayesian network (as are hidden markov models). A bayesian network (AI course, part 16) is a probabilistic graphical model (?), and is a graphical representation of the assumed dependencies and independencies of the random variables, which can drastically reduce the inference time... (?).

Naive Bayes: voir AI course part 20. Simply count the frequencies in data to estimate the probabilities.

== '''Informatique''' ==
== '''Informatique''' ==


Line 61: Line 84:


== '''Commandes terminal''' ==
== '''Commandes terminal''' ==

VOIR "CommandesTerminal" dans "Programmesetc"


* <code>cd</code> pour "change directory"
* <code>cd</code> pour "change directory"
par exemple <code>cd Documents/maths/envoi5exo7ofm2016-2017</code>
par exemple <code>cd Documents/maths/envoi5exo7ofm2016-2017</code>
Si on tape seulement <code><cd></code>, on se retrouvera dans "home".
Si on tape seulement <code>cd</code>, on se retrouvera dans "home".


* <code>pwd</code> pour "print working directory" indique où on se trouve actuellement.
* <code>pwd</code> pour "print working directory" indique où on se trouve actuellement.
Line 89: Line 114:
* option <code>-f</code> pour qu'on ne demande pas de confirmation?
* option <code>-f</code> pour qu'on ne demande pas de confirmation?


* <code>python3.8 a.py</code>, <code>python3.8 a.py < test1 > out1</code>


* <code>diff out1 out2</code> pour comparer deux fichiers, <code>diff -q out1 out2</code> (q pour "quiet", pour pas visualiser les détails, juste savoir si égaux ou non)


* Deux commandes équivalentes: <code>diff <(python3 prog.py < in1) out1</code> (donne l'output de prog.py à diff) et <code>python3 prog.py < in1 | diff - out1</code>
* <code>seq nbFin</code>,<code>seq nbDebut nbFin</code>,<code>seq nbDebut saut nbFin</code> affichent des séquences (nbDebut, nbDebut+saut, ..., nbFin)


* Le pipe <code>|</code> donne la sortie du programme de gauche comme entrée à celui de droite
* <code>gedit nomFichier.txt</code> pour ouvrir le fichier (et éventuellemnt le créer), <code>gedit nomFichier.txt &</code> pour pvr éditer le fichier tout en continuant à tapper des commandes


* <code>for f in *.in; do echo "$f"; done
test.01.in
test.02.in
test.03.in
</code>


* <code>for f in *.in; do echo "$f" ; diff <(python3 prog.py < "$f") ${f/.in/.out}; done</code>, "${f/.in/.out}" nous permet de prendre le contenu de la variable "f", de remplacer le ".in" par un ".out" et de renvoyer le résultat.


* <code>time</code> Pour mesurer le temps mis par un programme pour s'exécuter, <code>time ./prog <test.01.in</code>
RESUME:


* "shell" est le programme qui, dans le terminal, interprète les différentes commandes tappées. (bash est le language(?))
* <code>cd</code>


* <code>ulimit</code> pour fixer une limite de mémoire (<code>-s</code>, <code>-v</code>, <code>-a</code>)
* <code>ls</code>


* <code>pwd</code>


* <code>seq nbFin</code>,<code>seq nbDebut nbFin</code>,<code>seq nbDebut saut nbFin</code> affichent des séquences (nbDebut, nbDebut+saut, ..., nbFin)
* <code>mkdir</code>


* <code>gedit nomFichier.txt</code> pour ouvrir le fichier (et éventuellemnt le créer), <code>gedit nomFichier.txt &</code> pour pvr éditer le fichier tout en continuant à tapper des commandes
* <code>rmdir</code>


* Editeurs emacs et vim: "pour Emacs, lancez <code>emacs</code> puis allez dans Help > Emacs Tutorial ; suivez alors le tutoriel.", "pour Vim, lancez <code>vimtutor</code> puis suivez le tutoriel."
* <code>rm</code>


* <code>cat</code>
* <code>groups</code> pour afficher les groupes dont je fais partie


* <code> time python3.8 programme.py </code>, <code> time -v python3.8 programme.py </code>
* <code>gedit</code>

* <code></code>


== '''Python''' ==
== '''Python''' ==


Voir notespython.py dans Unif/INFORMATICA.
Voir notespython.py dans Unif/INFORMATICA.

Voir Mesnotes dans programmesetc/Python.


Lire "Python in a Nutshell" (<code>/smb/wolverine/family/archive/ebooks/python/Python_in_a_Nutshell_Third_Edition-PERSONAL_COPY.pdf</code>) chapitres 3 et 4.
Lire "Python in a Nutshell" (<code>/smb/wolverine/family/archive/ebooks/python/Python_in_a_Nutshell_Third_Edition-PERSONAL_COPY.pdf</code>) chapitres 3 et 4.


Apprendre avec des exemples: https://learnxinyminutes.com/docs/python/
Apprendre avec des exemples: https://learnxinyminutes.com/docs/python/



{| class=wikitable
|-
|command || comment
|-
|# || comment
|-
|help(input) ||
|-
|import math <br/> from math import * <br/> from math import sin, exp <br/> from datetime import date || (importer des modules: voir 2.2.7 et 7.6 dans livre unif) <br/> ici aussi on importe tout le module <br/> on importe qu'une partie du module <br/> ...
|-
| ||
|-
| ||
|-
|Class str: <br/> isdigit(), "123".isdigit() <br/> endswith(suffix), str.endswith(s,suffix) <br/> str.split(s), s.split(), s.split(" "), "123".split() || <br/> <br/> <br/>
|-
|"\u0021" || returns '!'
|-
|chr(code) || donne le caractère de code unicode donné
|-
|ord(char) || done l'unicode du caractère donné
|-
|assert < Boolean Expression > ||
|-
|random() || from module random
|-
|random.randint(a,b) || random int between a and b
|-
|... || ...
|}


== '''C++''' ==
== '''C++''' ==

Latest revision as of 12:49, 28 October 2024

Cooking

Page cooking recipes

PC update

First

sudo apt-get update

then

sudo apt-get dist-upgrade

Trucs à étudier

Naive Bayes is a special case of a bayesian network (as are hidden markov models). A bayesian network (AI course, part 16) is a probabilistic graphical model (?), and is a graphical representation of the assumed dependencies and independencies of the random variables, which can drastically reduce the inference time... (?).

Naive Bayes: voir AI course part 20. Simply count the frequencies in data to estimate the probabilities.

Informatique

Voir liens dans notes téléphone.

Visualisations algorithmes:

https://github.com/trekhleb/javascript-algorithms

https://github.com/trekhleb/javascript-algorithms/tree/master/src/algorithms/sorting/insertion-sort

https://github.com/trekhleb/javascript-algorithms/tree/master/src/algorithms/sorting/quick-sort

Visualisations data structures:

https://www.cs.usfca.edu/%7Egalles/visualization/Algorithms.html

With code source:

https://homepages.bluffton.edu/%7Enesterd/java/SortingDemo.html

Timsort:

https://skerritt.blog/timsort-the-fastest-sorting-algorithm-youve-never-heard-of/

Appendre avec des exemples:

https://learnxinyminutes.com/

https://learnxinyminutes.com/docs/c/

https://learnxinyminutes.com/docs/python/


Autres sources:

Openclassroom

Tutorialspoint

Project Euler

Franceioi

UVA online judge

uhunt online judge

Kattis

Codeforces

cppreference.com

cplusplus.com

beoitraining

beoitraining github https://github.com/be-oi/beoi-training

https://cses.fi/book/book.pdf

Commandes terminal

VOIR "CommandesTerminal" dans "Programmesetc"

  • cd pour "change directory"

par exemple cd Documents/maths/envoi5exo7ofm2016-2017 Si on tape seulement cd, on se retrouvera dans "home".

  • pwd pour "print working directory" indique où on se trouve actuellement.
  • On peut essayer les commandes help ou man ("man" pour "manuel") pour avoir des informations/expliquations sur une commande.
  • Si on veut exécuter le programme contenu dans le fichier "a.out" se trouvant dans "Documents/uva", et qu'on se trouve déjà dans "Documents/uva", on peut seulement taper <./a.out> suivi des input attendus par le programme. Sinon on tape cd Documents/uva/a.out suivi des entrées du programme.
  • la commande cat permet d'afficher le contenu d'un fichier. Par exemple cat
  • la commande ls pour "list" indiquera tous les fichiers se contenus dans le working directory (il y a aussi ls sousFichier).

la commande similaire ll pour "long list" donnera plus d'information sur les fichiers en question.

  • g++ -std=c++11 -Wall -Wextra -Wshadow -O2 a.cpp permet de compiler. ici on a compilé le fichier "a.cpp", qui nous a donné le fichier "a.out", contenant le programme exécutable par l'ordinateur.
  • ./a.out < ... > ...  : la premiere partie ./a.out est le programme qu'on exécute. La 2e partie entre les "<" et ">" est le fichier dans lequel on prend les entrées et la partie après ">" est le fichier dans lequel on va enregistrer les sorties.
  • à écrire: commande pour créer (joe nomfichier je crois), renommer (mv nomfichier nouveaunomfichier ?), afficher (cat nomfichier), et comparer (et copier, effacer (rm nomfichier je crois), sauver (^KX je crois) ...) fichiers contenant un input, contenant l'output correspondant et l'output de référence auquel on veut le comparer (copier le makefile et ensuite utiliser la commande make dans le terminal).
  • copier-coller dans le terminal : Ctrl + shift + C/V.
  • mkdir nomDossier pour créer un dossier (make directory), rmdir to remove (only if empty), rmdir -rf nameDir va supprimer tout le dossier, avec les sous-fichiers (- indique qu'on va donner des options, r pour "récursif", f pour qu'aucune confirmation ne soit demandée (-> ATTENTION))
  • option -f pour qu'on ne demande pas de confirmation?
  • python3.8 a.py, python3.8 a.py < test1 > out1
  • diff out1 out2 pour comparer deux fichiers, diff -q out1 out2 (q pour "quiet", pour pas visualiser les détails, juste savoir si égaux ou non)
  • Deux commandes équivalentes: diff <(python3 prog.py < in1) out1 (donne l'output de prog.py à diff) et python3 prog.py < in1 | diff - out1
  • Le pipe | donne la sortie du programme de gauche comme entrée à celui de droite
  • for f in *.in; do echo "$f"; done

test.01.in test.02.in test.03.in

  • for f in *.in; do echo "$f" ; diff <(python3 prog.py < "$f") ${f/.in/.out}; done, "${f/.in/.out}" nous permet de prendre le contenu de la variable "f", de remplacer le ".in" par un ".out" et de renvoyer le résultat.
  • time Pour mesurer le temps mis par un programme pour s'exécuter, time ./prog <test.01.in
  • "shell" est le programme qui, dans le terminal, interprète les différentes commandes tappées. (bash est le language(?))
  • ulimit pour fixer une limite de mémoire (-s, -v, -a)


  • seq nbFin,seq nbDebut nbFin,seq nbDebut saut nbFin affichent des séquences (nbDebut, nbDebut+saut, ..., nbFin)
  • gedit nomFichier.txt pour ouvrir le fichier (et éventuellemnt le créer), gedit nomFichier.txt & pour pvr éditer le fichier tout en continuant à tapper des commandes
  • Editeurs emacs et vim: "pour Emacs, lancez emacs puis allez dans Help > Emacs Tutorial ; suivez alors le tutoriel.", "pour Vim, lancez vimtutor puis suivez le tutoriel."
  • groups pour afficher les groupes dont je fais partie
  • time python3.8 programme.py , time -v python3.8 programme.py

Python

Voir notespython.py dans Unif/INFORMATICA.

Voir Mesnotes dans programmesetc/Python.

Lire "Python in a Nutshell" (/smb/wolverine/family/archive/ebooks/python/Python_in_a_Nutshell_Third_Edition-PERSONAL_COPY.pdf) chapitres 3 et 4.

Apprendre avec des exemples: https://learnxinyminutes.com/docs/python/


command comment
# comment
help(input)
import math
from math import *
from math import sin, exp
from datetime import date
(importer des modules: voir 2.2.7 et 7.6 dans livre unif)
ici aussi on importe tout le module
on importe qu'une partie du module
...
Class str:
isdigit(), "123".isdigit()
endswith(suffix), str.endswith(s,suffix)
str.split(s), s.split(), s.split(" "), "123".split()



"\u0021" returns '!'
chr(code) donne le caractère de code unicode donné
ord(char) done l'unicode du caractère donné
assert < Boolean Expression >
random() from module random
random.randint(a,b) random int between a and b
... ...

C++

Voir voc.cpp dans Documents/Informatique

Competitive programmer's handbook: https://cses.fi/book/book.pdf

Other book on competitive programming: https://www.comp.nus.edu.sg/~stevenha/myteaching/competitive_programming/cp1.pdf

C

Lire tout le livre "C - Kernighan and Ritchie" (à part éventuellement les annexes): /smb/wolverine/family/archive/ebooks/c_cpp/Kernighan_Ritchie_Language_C_2ed.pdf.

Apprendre avec des exemples: https://learnxinyminutes.com/docs/c/

LaTeX

Mais sur le wiki je peux utiliser MathJax __MATHJAX_DOLLAR__: $\sqrt{2 \over 3}$ et bien sûr en plus grand: $$\sqrt{2 \over 3}$$

Pour utiliser MathJax, je ne dois pas oublier d'ajouter le mot-clè __MATHJAX_DOLLAR__ quelque part sur la page, sinon les formules "en petit" avec un seul signe dollar ($...$) ne fonctionnent pas.

Références

Afficher des symboles spéciaux en latex: http://deuns.chez.com/latex/carac.html . Par exemple: utiliser \textasciicircum pour afficher ^!

Editer un texte

  • Il faut d'abord aller dans le bon répertoire: (symbole dollar) cd nom du répertoire. Ex.: (symbole dollar) cd Documents/maths/synthese/
  • (symbole dollar) history | grep make : chercher dans l'historique les commandes avec make
  • (symbole dollar) find -name "*.tex" | entr make : commande qu'on peut trouver grâce au point précédent: chaque fois qu'on sauve dans gedit, il fait "make" tout seul.
  • Pour changer le format d'une fenêtre avec le clavier numérique: ctrl+alt+1=quart d'écran bas-gauche, ctrl+alt+6=demi écran droit, ctrl+alt+5=centrer
  • exemples de figures en Latex: http://texample.net/

Maths

Mes liens

Sur ce wiki:

Mes notes

  • Accéder à wolverine: computer/smb/wolverine

Régler des problèmes d'impression

  • Aller sur internet
  • taper dans la barre de recherche "localhost:631"
  • Aller dans "Administration" (tout en haut de la page)
  • Aller ensuite dans "Printers > Manage printers
  • Cliquer sur "Canon-MG5300-series"
  • Parfois il faut changer "maintenance" en "resume"


En cas de manque d'espace de stockage : effacer les mises-à-jour précédentes

Aller dans ubuntu tweak, computer janitor, old kernel

MediaWiki

Keyboard shortcuts

Shift-Esc Show keyboard shortcuts
Shift-Esc-F Find, Search
Shift-Esc-P Show Preview
Shift-Esc-S Save page

WikiText

References


On peut écrire en gras (bold en anglais), en italic (euh... italic en anglais), en souligné (underlined).


Grâce à mon super papa, je peux aussi facilement écrire en couleur comme en rouge, en vert, en bleu. Trop fort mon papa.


J'ai faim, donc je mange des boulettes:

  • Une boulette
  • Deux boulettes
    • Une soupe de boulette, non... une sous-boulette.

Mais moi je trip avec des chiffres:

  1. Un chiffre.
  2. Deux chiffres.
    • Un chiffre à la boulette.

Pour des listes plus compliquées (c'est le mot officiel... liste):

  • ul cela veut unsorted list en anglais, en li cela veut dire list item. Plus facile pour retenir
    • Boulette my friend.
    • Bullet in english
    Un peu de texte décallé comme cela (parce qu'il y a un espace au début).
  • Plus encore.

Exemple de table avec MediaWiki:

Description You type You get
only at the beginning of the line
Definition list

;Definition
:item 1
:item 2

Definition
item 1
item 2


Git

Survival list:

cd ~/Documents/maths/synthese/
git status                      # Status (modified files, new files)
git st                          # (alias) same as "git status"
git diff                        # Show differences with last version
git diff --word-diff            # ... idem, but show *word* differences
git add -A                      # Add all differences to "index" 
git commit                      # Commit changes, enter a message
git ci                          # (alias) same as "git commit"
git ci -m "my message"          # Commit changes, with given message "my message"
git ci -am "my message"         # Add all files *AND* Commit changes, with given message
gitk                            # Show history of changes (graphical)
git ha                          # Show history of changes, summary (textual)
git ha --stat                   # Show history of changes, list of changed files (textual)