From 7f6d52e9fe0b89de5aaea337b3df3f46988cc71e Mon Sep 17 00:00:00 2001 From: Donne Martin Date: Sun, 2 Apr 2017 08:26:33 -0400 Subject: [PATCH] Add web crawler OmniGraffle diagrams --- .../web_crawler/web_crawler.graffle | Bin 0 -> 5149 bytes .../web_crawler/web_crawler_basic.graffle | Bin 0 -> 3830 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 solutions/system_design/web_crawler/web_crawler.graffle create mode 100644 solutions/system_design/web_crawler/web_crawler_basic.graffle diff --git a/solutions/system_design/web_crawler/web_crawler.graffle b/solutions/system_design/web_crawler/web_crawler.graffle new file mode 100644 index 0000000000000000000000000000000000000000..831e02fd36379087b44c9f57a08b251816258c00 GIT binary patch literal 5149 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 Lu_!LQWmW+Ia>4u= literal 0 HcmV?d00001 diff --git a/solutions/system_design/web_crawler/web_crawler_basic.graffle b/solutions/system_design/web_crawler/web_crawler_basic.graffle new file mode 100644 index 0000000000000000000000000000000000000000..7d466eb227fa349717677771f29c2e28c859d5be GIT binary patch literal 3830 zcmVHjld?_f6eWhRGarOPC?x1d{CJaLyiK zH%5z)97%>SIr;BfE#F#FOW2SLn}`Q2TUC9juKKE~t1WN-{_!fbu4R%2arE00Y@;WZ zjQa5)h=#vCd2_P2;Xe8O+1lnmc8<1B{_5>oqcBJ_tM_K>V1L_sveD^uN25@7Iy)yj zR_|c{_{4%XI-T9aC)SgTEE_%TbZ%~LY+q5?{rE}|rk!3Ak7SbF9zbIoz+exu!4v3a z(t2Sy@aZ7vXV2Dt*}Rmu&s29o-_PLw+X>lbM|}>r{Uq_##V?y_mcaO*L3eh16$Qg2 z9*^uJxO$%W=jWjmo1H0%MvVox1q_7+&5+`N;oj8i5_0mtWAS$!K*hd#TaesUzqpUplAj;%WCeJY4 z?98rbeB)ps(}TEwDF@~L4v#9mS!v1IS8W5 zy4I_MdFc-$nXNFImwpQ4IKGg;Rn&{loCI|He5ye;ODHxF+d#y^esJ^#zrQ$p z@iy$j{q0@n2TZq@e@Zzhk#7R8*8qIHZbbt6-`h%k= zyuI7bO{kc+JhR}bgY9R*wLI`|WwIX)?>Nm24BWu5<@Ya@ zV~z&7V+;Bk-+V+>=XL877Q|h*Fys7lL35`qY=?eoYT)<+tYtBP z3g7;Y&NQ0?DNbi9-t2aPw#7+I2%z!!Ql}`8OlWoz|3)9@FXr{kZ*(*%Ew1&;iI`LQ zK8~-JT*hrby7tqF2hmt&^3KIw)YhCU4#!tfHw=c+vi;;7$0NTF4QV{!hr(wR^d-NT zlkWuSDD-cS`@SyYxuw|18fDgR*5sl(zUcy|D%{lA7uHx^t+K|#n3sNXhWhJs)0t+~*!Ga|X>KwH48=BLjHQ$H!XF_m;dKku7a{a~i zHLPx3+Y6&OO|o-*>PKmi|Lc#2m^kFLANONl-Et6{yh+Dr@ZQB}?bGQw__^#XJUvIJ z=TQK!{R0ej_Kl3d}0&Y&%wqf}~xHJFAm|=zZ0l_+IWQHuN99F4}iQO1o5y< ziD1-oF(ZsK*PAd=4?#=Rafl25Rt{p!-L`Sd_l{e>ZtziDUxUtT5x84UWA%)3>3paj z7HUDEn)g-!;Z8U(gMkqWiUOMHOY?wAKrxq^!z&9rp)cd!Le6D|>TqgSh=__7)gV$S z&79!^12}RWj0q8hxx(=Pj%XfNR-`#+!OW%(N3P(I`w*g_gu2}3oC?N}i!kGa)bkTh z*sixgK%7Gnsdi~l)Cvq$m&E`<1}A2KpQT-54e%IxsR5m3Ag2~^%5c*FHce2|1T?iU zQ^Jw5lB(wJXETJ-RgDHW8BL2*OURs|Rb|c|095Eg;t)6JVN*#U_SRK^yUjQd@W)RV6Q>A}0nc9<^P>DWe|17lEq=encw!UW7Ys*4M(-%BDlu z7foCm;i_7eTNLFCTe%aJUbjBE!uIq(m##tR=*0B5JB8VPdu+FR0*++*X_>VEkU%0DY2sk(O;v)4zX--1DoP@EQ1V)c0 z-0FqnoP?`d_lN%7Y!cx(Bi{qiV!oMl5I9~);3>&D; zxbidZxVE^`P-bXx)1N=>t#LU{*O{LtN2#!Ul1h5sVOH9ub@pXHvL!R9Q$k z4tJ?w4STKBWo`J=p09b>`5M;3)He@*9s*P3JHV7<3yNKbdV;EIQeLtqHl_qIz)c7E z`HC>r)~{QbdIXgnW1!Exy21|SKW1Ua0AX!m=YEA92-!GA6v8mfAy;+9N`)OjSK98}$sgzP-)fTTkA4^462Lp8Ou3eEOhvD}SK(X}&WR}k8Vy{u>|)km>?y$6Ff77PVzl+l6UgVQrU=19?zK} zMl0@~dedjSIqb)E?+*U~yt@*$X$`h-!vHitF^T`N>`D@@zU2+JgAsLIvg*kq>Nt+z z9#|)39$qOXfWXzE3<>q?Fv3GZv@t;&6SOfw8xwqwnBXuzes%D8!U5t`!U2a(q5%*6 zxb?=G2jRE5{>qLWt>(xDm>F{%#yCWx#N{hFa@0ER)^WFvyLH^(Waxpj!2 zqC_w#x=L*=C;lpk;zW^^fus@y_$FtKY-)1R6-%Dc4~K-97;ems3j)hff{Vi3Cpm3= zld37`qpz_;U08XIs^<@-=B?{WB{}h*QjSjIV^}3^ZhA#(QjPL&WuiB!x!sCTyP%k0 z7^UEp>L{8t4|f0a<&O-S%4hDb9+wu&w-JiMi7b-lN(iOmYE-!T^`eQpYaf4 z-GXpiC3Bd#4x}uoyuCZe;DWI)ly7>FWFXJ{g@4iTOTS+XV46leW%$pDf3_6;R3Bc; zp>9@-nQl0qjUDDuOgRL$9^*p&cB_quiv_}*Qo%UKN)X(0Y@yz{s!%8d^42ZRnJpj* z23FVM9C2X~()&2RT68^8M4REfF762AGVVAUCe3-?`ViMF6kl^F1>e$SZ%cGnp_%^` zuxj3;W-oIS$}u;-8YMDKj}+=&YQ|Sm;(k231eI}0s71H;1_UZ{C z;)6)93*_Q?HY?-crZsSFif%IDL#R<4U z(}+=J#249Bn2Srf!R1(js2`38a?9^u4imMJGu>LL7vq%UFphG^0t27KH1!-R=i1Gs zv;4RKBEik(7GDuPaf*@$g}R17WckK{d2kekxAj8?6^+BOaMUJO@Tq?-yXju&XM3R9MCo`nl?2JP2&d=8V2Z9>0?!uJ-0M!MCg8%>k literal 0 HcmV?d00001