From 8588b3be5fed278e20eb62b2d28e3c7412afdc6c Mon Sep 17 00:00:00 2001 From: thomasabishop Date: Wed, 27 Apr 2022 07:30:50 +0100 Subject: [PATCH] Last Sync: 2022-04-27 07:30:50 --- Programming_Languages/NodeJS/Middlewear.md | 19 +++++++++++++++++++ pdf/Algorithmic_complexity.pdf | Bin 549310 -> 549310 bytes pdf/Arrays.pdf | Bin 83599 -> 83599 bytes pdf/Assembly_programs.pdf | Bin 58049 -> 58049 bytes pdf/Atomic_and_molecular_sentences.pdf | Bin 97737 -> 97737 bytes pdf/Axioms_of_set_theory.pdf | Bin 66749 -> 66749 bytes pdf/Basic_database_concepts.pdf | Bin 99218 -> 99218 bytes pdf/Basic_properties_of_sets.pdf | Bin 128524 -> 128524 bytes pdf/Biconditional_Elimination.pdf | Bin 39042 -> 39042 bytes pdf/Biconditional_Introduction.pdf | Bin 35537 -> 35537 bytes pdf/Binary_arithmetic.pdf | Bin 149838 -> 149838 bytes pdf/Binary_arithmetic_with_circuits.pdf | Bin 357156 -> 357156 bytes pdf/Bits,_bytes,_nibbles.pdf | Bin 51186 -> 51186 bytes pdf/Compile_from_source.pdf | Bin 49795 -> 49795 bytes pdf/Conditional_Elimination.pdf | Bin 43232 -> 43232 bytes pdf/Conditional_Introduction.pdf | Bin 74250 -> 74250 bytes pdf/Conjunction_Elimination.pdf | Bin 47565 -> 47565 bytes pdf/Conjunction_Introduction.pdf | Bin 45840 -> 45840 bytes pdf/Defining_a_computer.pdf | Bin 731550 -> 731550 bytes pdf/Design_features_of_language.pdf | Bin 60132 -> 60132 bytes pdf/Disjunction_Elimination.pdf | Bin 91007 -> 91007 bytes pdf/Disjunction_Introduction.pdf | Bin 54596 -> 54596 bytes pdf/HTTP_request_types.pdf | Bin 46765 -> 46765 bytes pdf/Indeterminacy.pdf | Bin 112534 -> 112534 bytes pdf/Law_of_the_Excluded_Middle.pdf | Bin 35622 -> 35622 bytes pdf/Logic_circuits.pdf | Bin 157687 -> 157687 bytes pdf/Logic_gates.pdf | Bin 407144 -> 407144 bytes pdf/Logical_possibility_and_necessity.pdf | Bin 122811 -> 122811 bytes pdf/Lovelace_quote.pdf | Bin 31770 -> 31770 bytes pdf/Morphology.pdf | Bin 77311 -> 77311 bytes pdf/Negation_Elimination.pdf | Bin 44476 -> 44476 bytes pdf/Negation_Introduction.pdf | Bin 44871 -> 44871 bytes pdf/Object_language_and_meta-language.pdf | Bin 131464 -> 131464 bytes pdf/Package_management_in_Arch.pdf | Bin 71061 -> 71061 bytes pdf/Primary_key.pdf | Bin 80548 -> 80548 bytes pdf/Queue.pdf | Bin 154497 -> 154498 bytes pdf/RESTful_APIs.pdf | Bin 105744 -> 105744 bytes pdf/Recursion.pdf | Bin 176160 -> 176160 bytes pdf/Reiteration.pdf | Bin 53262 -> 53262 bytes pdf/SQL_syntax.pdf | Bin 559941 -> 559941 bytes pdf/Semantic_versioning.pdf | Bin 118251 -> 118251 bytes pdf/Soundness.pdf | Bin 98882 -> 98882 bytes pdf/Stacks.pdf | Bin 151943 -> 151943 bytes pdf/Syllogism.pdf | Bin 79914 -> 79914 bytes pdf/The_Pragmatic_Programmer_1999.pdf | Bin 169339 -> 169339 bytes pdf/The_binary_number_system.pdf | Bin 146858 -> 146858 bytes pdf/Theorems_and_empty_sets.pdf | Bin 75643 -> 75643 bytes pdf/Turing_machines.pdf | Bin 102880 -> 102880 bytes pdf/User_management.pdf | Bin 74126 -> 74126 bytes pdf/Von_Neumann_architecture.pdf | Bin 239665 -> 239665 bytes pdf/Why_computers_use_binary.pdf | Bin 144674 -> 144674 bytes 51 files changed, 19 insertions(+) diff --git a/Programming_Languages/NodeJS/Middlewear.md b/Programming_Languages/NodeJS/Middlewear.md index 1f3276c..b74dc44 100644 --- a/Programming_Languages/NodeJS/Middlewear.md +++ b/Programming_Languages/NodeJS/Middlewear.md @@ -72,3 +72,22 @@ We can expose this to express with `app.use(static('public'))`. Then if we navig > `app.use(express.urlencoded())` Generally we handle the data of API requests via a JSON body and the `express.json()` middlewear. However, in cases where the data is sent from the client in the form of `key=value&key=value` appendages to the request URL, `urlencoded` allows us to parse them. + + +## Third-party middlewear +### Helmet + +Helmet is middlewear that makes it easier to set HTTP headers. + +### Morgan + +Morgan is middlewear that is used to log HTTP requests to the Express instance. +```js +app.use(morgan('dev')) +``` +With Morgan in place, every time we run a request it will be logged on the console that is running our Node application, e.g: + +```plain +GET /api/courses 200 95 - 1.774 ms + +``` \ No newline at end of file diff --git a/pdf/Algorithmic_complexity.pdf b/pdf/Algorithmic_complexity.pdf index aee752103f75ac3857d8a5d6a3ccabb4285492c7..e620d6d83bb66947625ae40a436514b9be2e3511 100644 GIT binary patch delta 1026 zcmdmYSaIKB#fBEfEljta1(H*NATh}_$s)PFnmTVk%VWFnGu=+?!n~ea$=%o777Zq0XM0nO&&g<3q)bzz7?&#&if~E>LGyi>v z4eWbA>qKWmM%VB17q{oR-9H)_va)`TNXE85m#h}dToC$M);QTl{fcx+cHyQK`vh92 zZqq2|-z_~a|4!SflciZxWn8qIeb&}gGQC&H%?iAFY{}jAlV5E4n|-M}@ciX&!QW4d zP5wH6d^=gMxWt2b*HOnUx0c25E)H#4ex-|V;nai6ubkjpBr0dcvzga^mVtJ|owt%a*VdSx&)T1`p(?^)4-ZRL_uX^r)U5fx2tPGd*s+!GIN$4n zIq$_{mj7GAdcFJq@ut^L=kI(_^)+5&M_xtqdo$BVLCgJkmx$hoTdBBn>1>AklTv(IdP^ZIYXlil@8f__G5E&a0cYLWU|p-RDu zSD_MauRlmf=`kl)LD;>W}{vrx@4meE&YZd%Irz{rx`y_v&Yz*N~Kt6?^#tOu2+h?}1|2n~9Y+ztCeY!t~Jeak8mp_Lrzmuz(k)@@ni@BqPxuvsTX ev5A|DrJI47nW2-DxtX1U4FM(FCF41kG64WtE%G-2 delta 1026 zcmdmYSaIKB#fBEfEljta1uT**(=5zPjf@QvQ!G-GjJCgaW}2vnA>7_m#0135+k1*w zIQTK8mo&0WU((2WzJ5;e&$jOU1$8&Jw@vWgwEE|AHM=-v$4gF==04f1bZFM!x4(Y8 zx3B;GY|Rhbdh`8GRjl_?ZL|H}f0FuYdvf1-asCyH{P$UCr!C%9ld)=6)zpk<+b;)} zM*AJt`Mq?GoPYY$BBg^za*NHGU;Hta=gugvEiddk>cO^GqLRBmWB-zl`p;tOSGI0B zY#*js@om?y%BVxDm~!2(&(&TLe!zzDt8-m^j+;dH^Pjbrl`YDTZ5Fdy{H&SOpDtLw z$g-31SlmR***daCHjY<8F zbsERZeV@2Em>m6U{Uz6b@%u*_t3vAixJ;t!GG#CLTv+w9Z>Hfq;a9x7wpv7n#CII> zik`B&{Vwl$^E~ILPpr0j@hzI_xGZd+O=I~av#l$#k}tix?pbo{pXtk^E1thR+VS_3 z<*a`Te|+q}JC9_F z%be#eEH}uD{u+Ab)b%G)^7Eccz5jN?^jYM$uXP5WV(Wue*62(P`gJ91=j5`^JsdV) zwRjen{@`7+Ev$j>QtkBI;^6H*U+UAp?p-oba^I2DEgQZC>)e=Lk=^Q7uwJu&zJ6_X z;%@gGCC0UTtsmC(zfcMNr|zY=Zc#LQedYIW*So*x*J-@BKbt%Zh%r$Ah7W0uE%P9EP=wo#Hk zs|xQ;71cCPGynLica3lJRp!oK&)y5oLH_D@bN;T}q%0~ec4qaYOKqCsyOiEcZ#jA) zeAn!SFQ%@3_&&7yf0oP{2Hr`x;)4r4=CGTeimbT{vvM_L*($zfQ0i7#J8&pYG2g4`yxO<4w4>SF3@YHVTb ZW^UkUVQFUSWM-#eLqN%P$#{;XOaOG*zSZp&yq-NKepiP3m_v@N3~hqI%Tn~{l`v4xY9vy+>lft!W7k&&~Z ZrMacKsfC%Dp|PEU4Iw4dx4Sal007bz7?A(~ delta 99 zcmeD0W$o`}ZP>zSZp&ye-NKepiP2ztv@N3~hqIHprL(cAlewFVrICrNvALOvfq|)u ZtDCEZp_`k5lck-44Iw4dx4Sal007w)82JDI diff --git a/pdf/Assembly_programs.pdf b/pdf/Assembly_programs.pdf index f3da18166e73ba70ee170e2b04057e3acbf2d0ad..01f9b63e260085f244a137ad508f4dda0905342e 100644 GIT binary patch delta 100 zcmX?jl=aw)riSJ& cuEu6=PL3{?W@bi~hIR@zgp^EwUBh?}02c%tUjP6A delta 105 zcmX^4oAu;x)`l&NDy1w228Kq{HA)%f!L04xrHrxc&ZdUOuI7errltmN#>S?`h86~9 c78XWM&aTF$mWE~)26hTIgp^EwUBh?}0QiU-qW}N^ diff --git a/pdf/Axioms_of_set_theory.pdf b/pdf/Axioms_of_set_theory.pdf index 4cd76389ac4e62400563b9c6d6bd65385a2ce33c..3f34ec42429e64e7216a2ece22c3015b6bb4c9a8 100644 GIT binary patch delta 101 zcmdnn$+EYTWrOK27GncrlgXC9)O$>~k X-GJhjCg$d5b_zCxluSR(%=ifa(#IQ4 diff --git a/pdf/Basic_database_concepts.pdf b/pdf/Basic_database_concepts.pdf index 9cc232942d19b226cef5c21a7375e7705a828f61..c64ab952243be73931c13780529449a190ba964f 100644 GIT binary patch delta 100 zcmbQ#&Niu?tziqJSvjNebn|jXB}U`zQRR&1xtuL6U7XF04Gk=eoXssv-5f0)U5yM} aogAGE%q17nlvZciEI!L03>PZ?kGIa|7zTAG@=nHZZGyE!?TIvF?_ dnHv~6yBb@%xEh%oo7pMY5K^*z>KDdxMgX({9oPT> delta 106 zcmeBq!`}0TyPZ?kGIa^pbTe?`98X1_FIvToKm>4;m dySSK|8=G4iyBQl9JKHJP5K^*z>KDdxMgXZI9i#vN diff --git a/pdf/Biconditional_Elimination.pdf b/pdf/Biconditional_Elimination.pdf index 0b4d817e7ef7ceec75e6510454e9aa8c0628bd1a..655cbb900e8f04775908ca59a24085015441991f 100644 GIT binary patch delta 100 zcmZqL$keovX~Xo1EXD?gCX;7Rlm|05@0+-t)!D?t#m&;((%9I^+``$>$=K4^#nRQx Y$jH&$!qv#a#Kca)hLDoUJEork0Od3sd;kCd delta 100 zcmZqL$keovX~Xo1ECvRK#*=4Hlm|05@0+-t)!EV5)Y!n%)!EX((a_ky*vQ4m$ko8q Y#l_sv($dAn&CO21hLDoUJEork0N4H;XaE2J diff --git a/pdf/Biconditional_Introduction.pdf b/pdf/Biconditional_Introduction.pdf index dd7b27de38511c9fdafb2dec9128b56b7206e81f..3e3459a04ff3c1037e23b217fb42b00dc11f3838 100644 GIT binary patch delta 100 zcmcaOmFePCrVXhrEXD?grjs*U&dyHGhQ_X@j>e{DrY;tyW(LM4E(We< X#%4~gj&3Hd=5`7;gp^E{>e>zfuBsay delta 100 zcmcaOmFePCrVXhrECvRK#*;H!&W?sIP6p1#jwTis#!i+%+SJn0$k5Ql V$kNQk%*4>mPQiwdlF3qC+X0-X8j}D3 diff --git a/pdf/Binary_arithmetic.pdf b/pdf/Binary_arithmetic.pdf index 91649ff3e5b0f15b0e5669e97b3984f110c23ca6..b275ee1f7c3a97284c54b149c6aa410bc2087421 100644 GIT binary patch delta 108 zcmX>%iSyhf&W0AoElkZeEXD@L7Sr2pnB>8%?W=5%iSyhf&W0AoElkZeECvR~#?#wvnB>8%?W=5A`koLx=LosAvs6l@47+5X*~DVz}iDUBPV diff --git a/pdf/Binary_arithmetic_with_circuits.pdf b/pdf/Binary_arithmetic_with_circuits.pdf index 2cea8ffbe62146937e8b688716e9472a500821aa..2111d981e185a0c54f63c4763cc3ea90a2c85e90 100644 GIT binary patch delta 114 zcmZ4TOmxXJ(S{br7N!>F7M3lnk!dW(2F8}tW7AmW!L02KX{@T;&L++-j;;nqu4V>C lZk7g4Zmy0_rp^YIE*9pF&K5?dCUy!ogp_Q5QOIh;2mm?79!dZJ delta 114 zcmZ4TOmxXJ(S{br7N!>F7M3lnk!dUj2F51SW7AmW!L02KX{@T;&Iaa|=EhFWmS!#{ l24;pX&TdXlW|oF-rp7K#7H$@XZgvVbgp_Q5QOIh;2mmUI9wYz& diff --git a/pdf/Bits,_bytes,_nibbles.pdf b/pdf/Bits,_bytes,_nibbles.pdf index d5e12670042b1d5d812a2c093347e168f3012293..08184b31741f22175414f5dfec6683caf10e4385 100644 GIT binary patch delta 99 zcmey=&-|&Mc?07?7GnbwgUPH1<-v^28VC2YIyt!-I~%#VI=Yy+89SL6x;h&e8XH=g XIvQIVo0vITnAj=U5KuB%^Y}>ssbm{x delta 99 zcmey=&-|&Mc?07?76Sug)5)v{<-v^28VC2YI+-{-8XFs#I-0t;m>HT`SQr{O8=AVB X8o3#{nm8Fdn%F7W5KuB%^Y}>smunj# diff --git a/pdf/Compile_from_source.pdf b/pdf/Compile_from_source.pdf index 9532f5d7a928291b68cf424f8659ee752f4e9c7f..37ef3a3e8a74d0a2554a26ffedac0d88ecf5ead6 100644 GIT binary patch delta 100 zcmZo}Wo~X|-Vn5h#n`~maB|olc`##h9i5Q#%D4LP{oIJh%w}f}k6h delta 100 zcmZo}Wo~X|-Vn5h#lXPOU~E=d++14Fav`y?6V!L02MB^lY-on2im3=N&l%v?+@%`8ovTwKfz cEsP8-&CJ|Pon0J_EbJ6)2q~Gat;l#E0NTD9!vFvP delta 105 zcmeA=!qRnwrC|%>E=d*x14EPP`y?6V!L02MB^lY-oh=NEOpGi|T}(~P+>D$JTrEs2 cos7+mT}@0)9nGCB-0T!=2q~Gat;l#E0LD)mZvX%Q diff --git a/pdf/Conjunction_Elimination.pdf b/pdf/Conjunction_Elimination.pdf index 7527d56ca58473181f22f8d560235bd024204d2f..160da721e840a2632adff4058c66e19688815c99 100644 GIT binary patch delta 99 zcmX^6nd$6jrVXn%u^1Z|nonN8Ngm8td}$M#v!#)-g^R0^i;1&=tCOXrrIVwDsj-2% Xk&&~3o29e4nVo_SAtjSVckTcHKVBT- delta 99 zcmX^6nd$6jrVXn%u^1Q_noeH7Ngm8td}$M#v$>&#nX84XfvcH`n}v&kfs?thn~}4N XxtWupp`nq9shxriAtjSVckTcHHJBWp diff --git a/pdf/Conjunction_Introduction.pdf b/pdf/Conjunction_Introduction.pdf index bd049223369e4e5cacf4ec4c115fa25ba608515a..06f5d88a6aa1d2faffd48dbe68579635abe592ec 100644 GIT binary patch delta 100 zcmbR6jA_C%rVTD@Sd0w}Ehc-ckq0w2XRles>TGQ3ZsF!)WZ`6HZt7@mYT;%A V5_Gk&bTK!!Q?MbVWOBr&9RTVy9AW?f delta 100 zcmbR6jA_C%rVTD@SPTpd%_e)Skq0w2XRles>TKa^;AC!WU~1-MVQA`TW@hBF7M2#)7Pc1l7LFFq7OpMaqB1PT1||m6C1tqf!L02zGTdLe xoz2Y6jE!7O4V_KQ-Ar5!9gR&4O1PES(%(9qkls2r1cKqQR}j2momRAAkS= delta 126 zcmbPtS!dp5orV_17N!>F7M2#)7Pc1l7LFFq7OpMaqB1N72F9k-C1tqf!L02zGTdLe woh@CA%pHy03{9O~%w3&aEG?XtFeKxxuvP8ftjg= Yp^=lTg^RPXxrLpA4FM&Sv#;C)04aSP7XSbN delta 99 zcmX@IiuuSY<_$;BuoxH^T1-B9Mjp)A{N{`;yOWubqmzk&nX93NvyqddvxT{liHV!B YlYynVfuoCstA(9{4FM&Sv#;C)05@$NdjJ3c diff --git a/pdf/HTTP_request_types.pdf b/pdf/HTTP_request_types.pdf index 499fd1c33cc8236976e4346b7bfc14c9a0481b54..d002d6bf4372ad8bcf51a5751a626e0db5ef9b9b 100644 GIT binary patch delta 94 zcmZ4cmTB!DUCj+m VoQ#Z}9No<96l@47nS5#MZ2;+X9U}k$ delta 94 zcmZ4cmTB!1<)>YGGt*Fi`-;A&!KXl7vQ=4xha?rdh@ d=Hy~*ZtQAgYU=3dYGS8gLrBT?zHN*gi~x4d9D@J= diff --git a/pdf/Law_of_the_Excluded_Middle.pdf b/pdf/Law_of_the_Excluded_Middle.pdf index ee9af8cd06acd82533772873a261b5e135e72ccf..d557a3a734b2dd0520f3067e74c48943ec97869f 100644 GIT binary patch delta 99 zcmZ2BjcM65rVVB-EXD>#CX=mNejp diff --git a/pdf/Logic_circuits.pdf b/pdf/Logic_circuits.pdf index 7f4010d007d5028ed7bb4e3aa9b9224f45c777bd..38b7082c493c8cd25c899b40495dfcc9f88dd28a 100644 GIT binary patch delta 152 zcmexS#bYs%o{xXe;j}ZXQwkVJQ diff --git a/pdf/Logic_gates.pdf b/pdf/Logic_gates.pdf index 6d31daa217fe8233e32427bd91a6af969ffba649..6312260033bfa4a8b564b541f9bda6fc07f57459 100644 GIT binary patch delta 116 zcmaFyM&iXAiG~)&7N!>F7M2#)Eo>zkEXD>V#?vb_*yO>i?Xxx5oVlIdTuscKEnN&< n&7CZb9W7nVoJ<^DoLyba-3%>_%nU5;6l@47*{*29=FS8FsAL{k delta 116 zcmaFyM&iXAiG~)&7N!>F7M2#)Eo>zkECvR~=F=-Q*yO>i?Xxx5oVlHy44j=^j9tvk nU7Q`=%$?kf%#6*P3=9n294*XD+zgED6l@47*{*29=FS8FpRgVj diff --git a/pdf/Logical_possibility_and_necessity.pdf b/pdf/Logical_possibility_and_necessity.pdf index 70d683d48901ebcd68b75423fe2d0a874325c9f7..403e9f3249d77bbbc82d7dda862e8b86d576411a 100644 GIT binary patch delta 106 zcmdnJpMCd!_J%EtL04Fe4U9~uhh1Tm2eYFj21>}>4f>SE&LWa#E-VQOsQ d>g;6dXklSuVPxszFjD~VBu)!V&QD*YHDs|VQOM# dZfIs?=wzp0LrBT?)%O?$7y+mn9U}k$ diff --git a/pdf/Lovelace_quote.pdf b/pdf/Lovelace_quote.pdf index 8ec4377a7a45b0c029be3a4ec2952af51045a21f..5c4937f7bb6a503c8ffd0092e85929f748fd6593 100644 GIT binary patch delta 100 zcmbRBgK^dm#tp`0EXD>VCX>y}c5!hrw^Oh&CZJ@xt}f#x03qocj{pDw delta 104 zcmex=o8|v)mWC~ib5vOj3=9pXFHmKa2eY;xR%O&+cQSA`bapg$voJF;H+FM#ah($ diff --git a/pdf/Negation_Elimination.pdf b/pdf/Negation_Elimination.pdf index a44e6dec68979d003b7aadcf3955704225dd2776..8b30980f1a6457311d2eab1e91f91bbd9ba4c342 100644 GIT binary patch delta 100 zcmdmUn`zH&rVZbgu^1Z|nN9w+OdibGEW3OytFw!KDC*?wXs2L9NXgb3CLTrr`*$IL diff --git a/pdf/Package_management_in_Arch.pdf b/pdf/Package_management_in_Arch.pdf index 623ecce5b1fc1544f2dfd8b4ff43895f729cee44..9780a6876a5f88c9b46bca0fe8a6f59927ad7f97 100644 GIT binary patch delta 130 zcmbQbnq}&0mWC~i{k-bN28Kr328QYe2I`tz`o8%oE{P?n3K}j}Mg~Sk1|~-42Ie3o z+qdyDo@H}(ayD=_b2D%?HFh<1b98aCbhflKFtl(qGjTDnG;=kyQ?MbVWco1?#`6HD C^&vR` delta 130 zcmbQbnq}&0mWC~i{k-Z128M>(28KXdU6V`SH$TNCu_RSN!^O(Tz{tqJ#K_#h9HeCX zHeSZFY|dt8=Emm6ZmyOVmd@r*X08^-=5Cfwj%Egyu10PqMlN;=HiVQ+KPJL>9sruk BAr}Au diff --git a/pdf/Primary_key.pdf b/pdf/Primary_key.pdf index 9b2f13e0cd84677a2365718ad50f5f58ca27be78..eb94b0b2b6c8f53b624a18cf89c73eca1bf9ec66 100644 GIT binary patch delta 105 zcmZ4Tm1W6SmWC~iYm8Wo4Gb)%Z!lt%2eYVs7B%>TF`+ cVr=B-=}q0e>Sk(UX<=b( cXkldFV(#YR=w#~T>SCv0LrBT=tCo!C0axiA0RR91 diff --git a/pdf/Queue.pdf b/pdf/Queue.pdf index b7092df29807e1dca3c7ed2270f05ac5020117c7..c291294e7579776767317ea213a294dcf98edb0e 100644 GIT binary patch delta 2644 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 delta 101 zcmZ4RfNQ}6u7(!IEliaQ84adaEo4$+G}u0OA=5b?Cl_ZE6H7BUQ$r_X6GLZnCnsYU dOGjrnM^`foHzxxF7dr(T0!p^8UB^_+2mnK59SZ;e diff --git a/pdf/Reiteration.pdf b/pdf/Reiteration.pdf index bba31ffff0bd38aad421834045da5d4b240087af..4f38913c69c4f2e046538518fb8d3dadbe3fa928 100644 GIT binary patch delta 100 zcmeBMz}&Zhc>~u;7Gnb=^T~WC<-v^2h9@7hI-5J0T3DKz8@QSqnYb948XGvenweO* X85kK`np;}9n%gPZ5K=NZ{QPzRiE$eT delta 100 zcmeBMz}&Zhc>~u;76St#lgWH1<-v^2h9@7hIvY3{o0uCJx;a_6I2s#SS{OQ7SQ?rb Xn_C!|xmg&PxY{Y$5K=NZ{QPzRgm)V6 diff --git a/pdf/SQL_syntax.pdf b/pdf/SQL_syntax.pdf index 25c8b3699ae7edb1c0da4443ff1bb24f9dcf0235..771a27a5fea3d13b801b9bc4688f7380e35314d1 100644 GIT binary patch delta 113 zcmX>)P3h<~rG^&97N!>F7M2#)7Pc1lEgZ#7jKb%7 delta 113 zcmX>)P3h<~rG^&97N!>F7M2#)7Pc1lEgZ#7j0V$7nmCjg4Yp5j;+V|pWM<-I;cDV+ o>EvYKYT;yNVCd%TVrFURW@=>NV(R2-r(k12K*{!;4vw2l0C6cFc>n+a diff --git a/pdf/Semantic_versioning.pdf b/pdf/Semantic_versioning.pdf index 42d5239a3daa80e1c78f8bdf6c672256fac51750..3b1b085a6930bb1598c7e2f5d6368131234da679 100644 GIT binary patch delta 106 zcmaDooBj1{_J%Etj}EdJ8yK5Te|C^j9?aU#d5E!s%h}n|$l1Wy(aFih$Itziq}x(an;10xG<14DHK19eRItziq}x(amz10z#y14AIKuF0kEo1fy6Sdyxs;bLWEU}R)qVq|V$4pOrH yY6YVmhqIZnlclAhnUjl)siC={vALtGr74IoFgJE`F)}u_Q?MbVWO`U5;~N0niXnOc diff --git a/pdf/Stacks.pdf b/pdf/Stacks.pdf index 0f75b6e7925f2f28669df40697fd8208a09b4282..e3fde783903baf05e9c1fa5094783df465af9fdc 100644 GIT binary patch delta 2587 zcmV+$3gq>NqX~zj39y<15MeMhI5%N3GB+_eV>4qpGP9}z{sItTFf=$fVKOo|F*sv0 zV>vQ|xCMu}1p&9X1p-Mu0W+5ZLjocJGq)u}0u2Lyvyw6W1LOZ-tl#U{;z#eH-EZ=E zUMvvX=v$ATlQLhTmC$mUd`U;i)r*tw39p%ecfY^Kg)+3@fR^bYGi1J;PH%TfN-t@Q z9rDN>BFe2DvPc{xYG8b~ru7UwfuQ%C`6XYu4K8n0<-yg#`!Nq)=)2cMK4J;|RXx$W(9M8VfR5kk)sT(PlSu!E`ZidNinIaILx z50YgZWW_u8ntG4Q`|0IAmQyJ-_R!V3YRfRWt5qkphA(xoW6uSD zCg+%(Ve-1an@zFF=FJASQ4MR}uD+|yNo(T9J9&L{UhZqNyuGsxP4kVKyiR=a+a5#Z zrlF^`p|g6_`IZT6CM0d-_6(&qhq|h%ns1-<#%?b)@eO;%(3@jib^(vNsGB*QZqT@> zlj#=ub;~_N{oV&H^sP_H-~Uhk|Nmlt4y@(iHE`a6Jq9*IIh43J`G5Rrt%rtG`Km6+ zHZ|?OArFUa*Y3FMD4L%q z1*;85QyOC>YY6H70#)1?7$)=z>1qI_)KFKcj1VxK{VME#FW3L&a`qDwQs=#Y)YX1o z`L30aHnkxayh^luGNdTcX={7_fj-}i9a6iIDvLf`)xb&KGKZMFXImoyhj9!nGFqU7 zQ{Z+eCyjSHF6;GVfQg8ks=cc7eJkzKU=Pnvr61)qt^!dHuUBiKF?6-qeMimO6!^N} z>+O74J&i;~V5k)h9o1Cmu5^%pkP!z{WaRaQ32C(k147=X-~diVAZw!t`Z+F!_?X0- zDIFZj;dBjo2LuXyOoCY9RHz+34`H~Ltsde7Dr0K_2gU%q#-S>ocQS%j>i1>buKulm#Au#!D&WE#z=%$j=V@EF_amU!P+2yUDZaIhMGv) zN}`bs?Mg>J7WsT5<=X;7A@5UQ(1Ii~<(-O$`G!6g`KufdmJrl>IqCE;EI_0PE%4Mu z-UWlE5G8&8khcO6=`b&0gdpkDDDvAwtHuN-n5lw#mD5ens>b`QGR*%srO?{cg>q9X zG}_>}_al!g$hGtd^h3ped|;4XLaurn<72&FrpkH$N4eY9$rKN8r%5r&(?yx(;XwB) zo&gp8}JB9=Vd%iN5}KYG$E`d|*qCs?(h;~~!R zD0oDV=_x&<=k$WUrkC`J-q4ud(GeZfgx=E$eV{4*gHGv;&S^#$G^YhE>5_h-Z~*YQ z&r%r6==NdyF*;tIT>tX^qNallu9C@e8s|G0fwS;HL=2x4BO{{42y64f8aCJtDomRR z$-7LP(C40uD|$_T-_YNIi8#-*uQ^HsDR*#KPfFlsluffaq_bIE@pPY7RDEiZmCX|% z%s*Y6Cii8?1!apQPqQ)oOg}HPGV!fG7g__yqxCD>zqakR{3&)nyZq(m?TgCpN0*r9U^s_3i*Je;H;v&s>P)yVHiirF^o8~u zmKOw>JRSvq&-b}%kwNy4q^zqU9~xRzt%an=R~eF7B(pRu+wQ^w*P?$VdDh`sK85FB zpFKN&`?leE@4|{Inw|HrHq8eHvetsy8_F)|D_}VU^F5?)MzTrE7azVY9+LSMwtcKB zQbaT?3mzDr#>K;yu+<4#cFQ*Ld_Ky?pbKnH@9z_Td>4}xOGGHhs- z0TtY8)&m}#TMrrmd1!DOSeae>1l)Oa*CA|YxE(-rgWVDK1aJv@4tF*50`3KYS=cIx z6Jei#`$u{McS7`cxFc_K4fkptx=CbO;eK_Ao+q zYdfodiEU;PqP?m1xZ6$V2d`V+mA;6T;BF^zk@!c}JMV5fYX)Db`p5ETXMP!4zs+IJ#^6aiw!eKi_uO`@L3Qg;h1&&HJPy@8 z9qR7=x{K7ZM@SV7QuR2}=;=sz?yqY=#RgD+-UiB}8mNvQ1?t$-f$rWA*O01pq>6PY z)eWWmaisj|NOx{2Yd|*^6yDlz^-}E~2P(erg6g=bG!3V09je}dD!(JAGHL;pEiW~X z<5ZhC@$F@SuP>K?3T_U6O~=LRt$X$AHM}rfi@~p#z*lWMEFUJZ#>42WPGlA0qQEimwEC9KP+iu4L$j)r;2v>RFx~e!qoU&EJ_)a0kK#d5!WKVB zi$OfV35xT{U;)Q{G`fP zFThFg-K%RAMIS%IYRa-tqzR5fFVb0Bt^r(0-L4z4fcu6r9mUf@yjZ{*@M9N!{4~pJ z&zEz+oM+3)Lmxlu@|Ep3!d$M^AvCpC2k?Ylt5bdaK5Py0E;#LO8#c6G&BVa8lA)wz8W@)Ye5lAyoa zvL8PK@0weM(P60Bc_`U!D delta 2587 zcmV+$3gq>NqX~zj39y<15MyFDIWjglH#K25Ff}!0H?yh&{sItVVmCQ5HaIsmVK*=} zHDx!0xCMu}1p&9X1p-Mu0Wg;WLjocJFt;T`0u2Ly%noDv2gd)wSije?#gE=YyWiyT zyjUQ%(YGEwCuP1wE1~5y`I3&3s~0EV6J9d`?|y%e3uS1*0WH%*X2^Uwo!;(}lwQ&p zJLHi&M3h@QWRW;X)WG;|P3swW0zvON^Gm*R8(iM1%7d$e_hTNq(08xzJ|&~j<$T6T zC3QZ3g9TL!0mq~3q$D4}-%ih9dXhg&a@*VIh=Q+sB7~kNxME|uUr@<&@Bt)*5q zal0_BW#*V9wLspM8rRk3hK2@#@3O36lyxz$Rj)evwui3PRa=J1U9CE)HGHXy9eXZ+ zFgeHM43pRW-E4|YHg7htjcQo)cJ*CtPFfQ;-pT8u^KxICi0fqp>KUk{{DaR|Nj?%b6_n8uYvOp>@lzz%Av%)$^YX|Ydtii%2#zk zwyA0N4S6_>40)~Rv48wY=Z1LN@tS;|?fF?Dh61-~hhws;-)1}h6obvVzIMl5N74K| zDOhbdn$j36Swl$o7pUUKz%Zd#NLK?WrG~mnWrTp?>{ns`d%6BEm$RRkkUH;wrLOk# z%6F}Vw5bib;8mjKlOaWkPFvga5A^wF?2y`xR9W=lss>K-mN~@aJ=+=yIE-Upk?mKGMroh() zUvKBb>S-h@0z<86=%}Vbccp`Wgp4?tA|tOaOh~IW7!dM41qW~{0$CeH(9dx(#K$Dw zOzGfI4yS9#J0MWtV-my)r$X)Uc?iR`Z1oTyP#IebI4}m-H4atzyps{M8vmq5fKq3a zm&1WMH=@dh)W8irVE0J0t#iRay+l=`3{EpTGDaf2a^yuSiJ{D(4AusJ>8duuG}J`W zRuYYDXjeM&vB>8eDc=?t3VELbgBB!_DeqJ~%s2G0$Y14vu!Nx2%Soq)VF4mVXo06L z@-7%Og(&I!hrAVtNQZd|BLqpGMv>nhS~Vsx!Aup@tDJ6nRyE#dm0|wBDTUUiE|i;E zq0t7%y&rj0L9V4wpdTuK<^zND5^~ks7$58XGF8s|Kg!*7x8Uf1QIEc>I>D+19S?Di zN5La{Oi$?UM32%LonB4YTY7#R^QMp&B<*08~LP+{6k zNZw`Qgg*CNT+wTP`iA}vOvHJfea%rCNV$W>ymbig4)+60X}W7yC}i*J!?-ZGLQ`SPlfL>qL$sP<7&QG+by`=;crgvv>I(rX!3a(Pw51o z5+}L0AFW^6{X6QD?$^u`yhTr!TbU zu)HA1)EexEB2@$+Hg6@+mz3 z`s~^H+qVtRdlyzz(d@i`wP`*ukhK=n-cWWyUjfS@nC~HVGm=eOzWDHM@sP~7u2}C*aPbyAEMH!|ec~8|;p-CxA=PbGWOa7jQ2K%)(Yl zoCx~_+&|JAxD%qk!yS2>Yq(eI&`l!K3iq44?5EB?`?(eWeC!8Dt(Odeklb1}w}%m` zTiaQGO>8rZ5baI1$K7r^KX~2puJlE$1a~`$i^M;&-g$S^Su^-b)jyU$OY@>cUj>$X z^dhbbT!7A-bX-0Z#8gl4SC-)GRbTNY`)v+$HU>}HvHk7Cx#zZH4XRs*D%>up;&G_% z=}>p?*IlHRJwmEzkgCU#Mo&k&bAMd}DmH+B@-|Q&)j)OhC{V|q4s`d1xQ0}%BUP+J zsctCck0a$zN4j%MSp&MUpzzjytCwo`I8gC@7gWbhrD-^2>rnLuRQVk_l~D_*YWJyo>3r>b1(6~0c?a#M|RwHmWW zjcTjef=20DjohP#x6~-RMUAM{u&ruB&(750ogU26(P=gsT$gcP_DOj4dK3?e61Mn3 zS`6X=PEec=#&L<&`Epb)^JGvy#N{A=yDO6XOHzQ$eb&cst$g=!GRx*5>OT?b<0nUQ0T1>853=_sBK;>7~ifFHZ)FI)EqaTAk|S_hD<0cfo0Q+pwYiYED*vQ}Hz! zjNG#CG@<16BAFk1`$@e`{TuBoB`^wQ zZe(+Ga%Ev{3T19&Z(?c+IWr)apHBi;Lqs<)I5IOuIYu%;LPa-2Ml(e_ZL^m)vGBZUvMlwM{MK?o6GetEyI5RgwFgP+eGcZCkw>eM(P62ZX_lW=i diff --git a/pdf/Syllogism.pdf b/pdf/Syllogism.pdf index 5ca41a5f89380672783b25b0b24276190ecb77b6..a36dfbd640d8cd16e77fe5274926391b474ec8f5 100644 GIT binary patch delta 103 zcmZ4Wfo0VPmWC~iC-qs34U8!J=HMewjGB7l-Q?Ri#!mng{ggN6S0RIphDF6Tf delta 103 zcmZ4Wfo0VPmWC~iC-qqj42;aCpVeoS2eY<+&}URc$2pCfWvu>IMetnq2z6`6(`mC8-J;E>=bcMn(oEM&<_Q zASK(E=`+RhIGY=rnix5|x|o<+I64|Q8JU}zn7SF78Cf`5SU6ic8Q3Y<5K^+;&4ww3 F5dc(aAvXX3 delta 133 zcmZ4Wn`6~)j)oS-EllIMeJmf8k}Kw4dsOW!v?#U-&MRYAkW%E-XT$iT$N+`t^9 zWcxCGrdS?lS4$T&XEO^&H)kUkb5lzbH%mivCl?@TX=Y+(>S|%9U_(gBb~hWQ6h;7V Cz9Gc` diff --git a/pdf/Theorems_and_empty_sets.pdf b/pdf/Theorems_and_empty_sets.pdf index 04eb173168b95d3dcf2b442c3230f7acfd80277b..926bcaf0efaa5e64e3a0cd7ac8f09c298603438c 100644 GIT binary patch delta 105 zcmex;j^+0`mWC~i*>Wt#2F3={^W_-j!L03*}fWrf21e%7^W_-j!L03*VHUIzs diff --git a/pdf/Turing_machines.pdf b/pdf/Turing_machines.pdf index 1f9ad66ae3397cdfaca7e3684b49c922883fca9f..2332cf750c6a1a43e14c7210e3680c1f920a42aa 100644 GIT binary patch delta 105 zcmaE`nC-!0wuUW?3)@+Y4NOd@FKuU(2eY=HXlK02;bdUuXl`QYXk>0=Vd3iPXliU| d;Am>(;^<^y;cRJQWT#+bNI=Q<`x6)$83B(89Mu2- delta 105 zcmaE`nC-!0wuUW?3)@)?42&(OFKuU(2eY=HXlK02;pFP%Vr=Q;YG!QgVr1;<{9 diff --git a/pdf/User_management.pdf b/pdf/User_management.pdf index df39af799c63b892467223539f774d8e80ad603a..3c89620b9cefcb985ab05957e26a2dda9c8f50db 100644 GIT binary patch delta 130 zcmeA>%+hz5rC|$WzofdcfuXUsfuXvAfx0G_zHfetOJYf?f`*Hgk%5tsfr*j1fjLOY z_HB}k``Mh`oSmKBOe{@I%uGz3Oq>m!3=B+MOe_q|ot=#hjLco_6l@47nZ84T@frZK CF(DQJ delta 130 zcmeA>%+hz5rC|$Wzofc>fuWJMfgzAq*W}Xo%};SjEJ;<+aIrEnFfuYQF)}wW2PxUU zO_Fgxo3o>fqqB>Pk+YMFfs>JmiL0fXo1>AjrKO{xtC^FFxwD;u4Iw4dcPKDk0|3ts BA?yGE diff --git a/pdf/Von_Neumann_architecture.pdf b/pdf/Von_Neumann_architecture.pdf index 4eb2646c65304d739cb62bc11fc80e78fe3ae872..20c71b6456fcab98aeffed584e56040d2039d1d0 100644 GIT binary patch delta 110 zcmdmZfp6mlzJ?aY7N#xCt}|GS4NT0Yd(L2%2eY>4%wU$_b9Od%adC4pGIlj`c5-qx hcQJG}FfcSWurP46FmpCGH?>o+A*5vc@ny_ei~zwF9bo_f delta 110 zcmdmZfp6mlzJ?aY7N#xCt}|E+3``8Bd(L2%2eY>4%wU$_b2c?`bu~1#a5QrV=F=TCnB>8%?a3NUk=)J}X6D95j>cw=&K8E2F6OS5 f#*U`OMlO~vh9;JlPG**N3O0n4Z2xb}q|68a3Je8%?a3NUk=)LfM$Tqtj>ZPYCT1qaCI&{1 fhEB!?hE9eCCZ+~Xj%LPo3O0n4Z2xb}q|68a=EWKw