<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Turdıbek Jumabaev</title>
    <description>The latest articles on DEV Community by Turdıbek Jumabaev (@turdibekjumabaev).</description>
    <link>https://dev.to/turdibekjumabaev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1005254%2F29c8d9e3-3d36-4dfa-a75a-009bf351a79f.jpg</url>
      <title>DEV Community: Turdıbek Jumabaev</title>
      <link>https://dev.to/turdibekjumabaev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/turdibekjumabaev"/>
    <language>en</language>
    <item>
      <title>Linux #2: Fayl hám kataloglar basqarıwı</title>
      <dc:creator>Turdıbek Jumabaev</dc:creator>
      <pubDate>Thu, 23 Nov 2023 06:21:35 +0000</pubDate>
      <link>https://dev.to/turdibekjumabaev/linux-2-fayl-ham-kataloglar-basqariwi-1jpe</link>
      <guid>https://dev.to/turdibekjumabaev/linux-2-fayl-ham-kataloglar-basqariwi-1jpe</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;The article is written in &lt;a href="https://en.wikipedia.org/wiki/Karakalpaks"&gt;Karakalpak&lt;/a&gt;!&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;Joba&lt;/h1&gt;

&lt;ol&gt;
    &lt;li&gt;Fayllar hám kataloglar dizimi&lt;/li&gt;
    &lt;li&gt;Házirgi katalogtı anıqlaw&lt;/li&gt;
    &lt;li&gt;Kataloglardı almastırıw&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;Fayllar hám kataloglar dizimi&lt;/h1&gt;

&lt;p&gt;Linuxda eń kóp qollanılatuǵın buyrıqlardıń biri bolǵan &lt;code&gt;ls&lt;/code&gt; buyrıǵı, katalog quramın kóriw ushın paydalanıladı. Yaǵniy házirgi turǵan katalogdaǵı súwret, video hám taǵı basqalardıń dizimin kórsetedi.&lt;/p&gt;

&lt;h3&gt;Qısqa dizim&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;ls&lt;/code&gt; buyrıǵın iske túsiriw arqalı, katalog dizimin qosımsha maǵlıwmatlarsız kóriw múmkin.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;~&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;ls&lt;/span&gt;

&lt;span class="c"&gt;# ↪️ Nátije:&lt;/span&gt;
&lt;span class="c"&gt;# doc.odt           image.png           picture.jpg         pres.odp&lt;/span&gt;
&lt;span class="c"&gt;# table.ods         text.pdf            web.html&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;Uzın dizim&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;ls -l&lt;/code&gt; buyrıǵı arqalı, katalog dizimin tolıq maǵlıwmatları menen kóriw múmkin. Bul buyrıq tómendegi maǵlıwmatlardı kórsetedi:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;ruxsatlar&lt;/li&gt;
    &lt;li&gt;kólemi&lt;/li&gt;
    &lt;li&gt;iyesi&lt;/li&gt;
    &lt;li&gt;ózgertilgen sáne hám waqıtı&lt;/li&gt;
    &lt;li&gt;atı&lt;/li&gt;
&lt;/ul&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;~&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;ls&lt;/span&gt; &lt;span class="nt"&gt;-l&lt;/span&gt;

&lt;span class="c"&gt;# ↪️ Nátije:&lt;/span&gt;
&lt;span class="c"&gt;# -rw-r--r-- 24k jumabaev 22 avr 21:46 doc.odt&lt;/span&gt;
&lt;span class="c"&gt;# -rw-r--r-- 36k jumabaev 23 avr 22:46 image.png&lt;/span&gt;
&lt;span class="c"&gt;# -rw-r--r-- 48k jumabaev 18 avr 22:00 picture.jpg&lt;/span&gt;
&lt;span class="c"&gt;# -rw-r--r-- 72k jumabaev 20 avr 20:45 pres.odp&lt;/span&gt;
&lt;span class="c"&gt;# -rw-r--r-- 99k jumabaev 21 avr 20:46 table.ods&lt;/span&gt;
&lt;span class="c"&gt;# -rw-r--r-- 34k jumabaev 19 avr 22:12 text.pdf&lt;/span&gt;
&lt;span class="c"&gt;# -rw-r--r-- 12k jumabaev 17 avr 19:09 web.html&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;Tolıq dizim&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;ls -a&lt;/code&gt; buyrıǵı arqalı katalogtıń tolıq dizimin kóriw múmkin, atap aytqanda, jasırın fayl hám kataloglardı da kóriwge boladı. Tolıq dizimdi hámme maǵlıwmatları menen kóriw ushın &lt;code&gt;ls -la&lt;/code&gt; buyrıǵı qollanıladı.&lt;br&gt;
Linuxda noqat (&lt;code&gt;.&lt;/code&gt;) penen baslanǵan fayl atları, jasırın fayl esaplanadı.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;~&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;ls&lt;/span&gt; &lt;span class="nt"&gt;-la&lt;/span&gt;

&lt;span class="c"&gt;# ↪️ Nátije:&lt;/span&gt;
&lt;span class="c"&gt;# -rw-r--r-- 24k jumabaev 22 avr 21:46 .bashrc   &lt;/span&gt;
&lt;span class="c"&gt;# -rw-r--r-- 24k jumabaev 22 avr 21:46 doc.odt&lt;/span&gt;
&lt;span class="c"&gt;# -rw-r--r-- 36k jumabaev 23 avr 22:46 image.png&lt;/span&gt;
&lt;span class="c"&gt;# -rw-r--r-- 48k jumabaev 18 avr 22:00 picture.jpg&lt;/span&gt;
&lt;span class="c"&gt;# -rw-r--r-- 72k jumabaev 20 avr 20:45 pres.odp&lt;/span&gt;
&lt;span class="c"&gt;# -rw-r--r-- 99k jumabaev 21 avr 20:46 table.ods&lt;/span&gt;
&lt;span class="c"&gt;# -rw-r--r-- 34k jumabaev 19 avr 22:12 text.pdf&lt;/span&gt;
&lt;span class="c"&gt;# -rw-r--r-- 12k jumabaev 17 avr 19:09 web.html&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;Qosımsha maǵlıwmatlar&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;ls -r&lt;/code&gt;: Fayllardıń teris tártiptegi dizimin kóriw.&lt;br&gt;
&lt;code&gt;ls -R&lt;/code&gt;: Fayllardıń rekursiv dizimin kóriw.&lt;br&gt;
&lt;code&gt;ls -lS&lt;/code&gt;: Dizimdi úlken fayllar menen baslap kóriw.&lt;/p&gt;

&lt;p&gt;pwd buyrıǵı "Print Working Directory" degen mánini ańlatadı. Ol házirgi katalogtıń tolıq mánzilin anıqlaw ushın isletiledi.&lt;/p&gt;

&lt;p&gt;Linux terminalın ashqan waqtıńızda, siz tilda (тилда) (~) belgisi menen kórsetilgen "home" dep atalǵan standart katalogta turǵan bolasız. cd buyrıǵı menen basqa kataloglarǵa ótiwińiz múmkin. &lt;/p&gt;

&lt;p&gt;Mısal ushın: &lt;br&gt;
Eger siz "home" katalogında turǵan bolsańız, cd Documents buyrıǵı arqalı "Documents" katalogına ótiwińiz múmkin. pwd buyrıǵı "Documents" katalogınıń tolıq mánzilin kórsetedi.&lt;/p&gt;

&lt;h1&gt;Házirgi katalogtı anıqlaw&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;pwd&lt;/code&gt; buyrıǵı "Print Working Directory" degendi bildiredi. Ol házirgi katalogtıń tolıq mánzilin anıqlaw ushın isletiledi.&lt;/p&gt;

&lt;p&gt;Linux terminalın ashqan waqtıńızda, siz tilda (тильда, ~) belgisi menen kórsetilgen "home" dep atalǵan standart katalogta turǵan bolasız. &lt;code&gt;cd&lt;/code&gt; buyrıǵı menen basqa kataloglarǵa ótiwińiz múmkin. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mısal ushın:&lt;/strong&gt; &lt;br&gt;
Eger siz "home" katalogında turǵan bolsańız, &lt;code&gt;cd Documents&lt;/code&gt; buyrıǵı arqalı "Documents" katalogına ótiwińiz múmkin. &lt;code&gt;pwd&lt;/code&gt; buyrıǵı "Documents" katalogınıń tolıq mánzilin kórsetedi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;~&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;Documents/
~/Documents&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;pwd&lt;/span&gt;

&lt;span class="c"&gt;# ↪️ Nátije:&lt;/span&gt;
&lt;span class="c"&gt;# /home/jumabaev/Documents/&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;Kataloglardı almastırıw&lt;/h1&gt;

&lt;p&gt;Linuxda eń kóp qollanılatuǵın buyrıqlardıń biri bul &lt;code&gt;cd&lt;/code&gt; buyrıǵı bolıp, ol "Change Directory" degendi bildiredi. Bul buyrıq kataloglardı ózgertiw ushın isletiledi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;~&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /home/jumabaev/Documents/
~/Documents&lt;span class="err"&gt;$&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Dıqqat:&lt;/strong&gt; &lt;code&gt;cd ~&lt;/code&gt; buyrıǵı sizdi qálegen orınnan, paydalanıwshınıń standart katalogına alıp baradı.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;~/Documents/Code/&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~
~&lt;span class="err"&gt;$&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;cd ..&lt;/code&gt; buyrıǵı arqalı, bir katalog arqaǵa qaytıw múmkin:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;~&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /home/jumabaev/Documents/
~/Documents&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ..
~&lt;span class="err"&gt;$&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>linux</category>
      <category>beginners</category>
      <category>karakalpak</category>
    </item>
    <item>
      <title>Linux #1: Tiykarǵı túsinikler</title>
      <dc:creator>Turdıbek Jumabaev</dc:creator>
      <pubDate>Wed, 22 Nov 2023 07:22:32 +0000</pubDate>
      <link>https://dev.to/turdibekjumabaev/linux-1-tiykargi-tusinikler-3f4j</link>
      <guid>https://dev.to/turdibekjumabaev/linux-1-tiykargi-tusinikler-3f4j</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;The article is written in &lt;a href="https://en.wikipedia.org/wiki/Karakalpaks"&gt;Karakalpak&lt;/a&gt;!&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vNl8uwry--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8nstzymuuuk5x1if66xt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vNl8uwry--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8nstzymuuuk5x1if66xt.png" alt="Linux Logo" width="800" height="208"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kóp jaǵdaylarda baǵdarlamashılarǵa Linux operacion sistemasınan paydalanıw usınıs etiledi. Sebebi, Linux sizge haqıyqıy basqarıw huqıqın bere aladı. Hámme nárseni ózińiz qolda basqarıwıńız múmkin. &lt;br&gt;
Linux paydalanıwshıları hám baǵdarlamashılar biliwi kerek bolǵan tiykarǵı atamalardı kórip shıǵamız.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shell&lt;/strong&gt; - paydalanıwshılar tárepinen Operacion Sistemaǵa &lt;em&gt;(Operation System)&lt;/em&gt; kelgen buyrıqlardı &lt;em&gt;(command)&lt;/em&gt; qabıl etip, onıń nátijesin qaytarıwshı baǵdarlama.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bash&lt;/strong&gt; - Linux Shell baǵdarlama túrleriniń biri hám Linux operacion sistemasındaǵı standart &lt;em&gt;(default)&lt;/em&gt; Shell esaplanadı.&lt;/p&gt;

&lt;p&gt;Shell tek ǵana ózine tanıs bolǵan buyrıqlardı qabıl qılıw hám buyrıq tiykarında juwap qaytarıw imkaniyatına iye. Eger siz qandayda bir biytanıs buyrıq kirgizseńiz, Shell sizge buyrıq biytanıs &lt;em&gt;(unknown)&lt;/em&gt; ekenligi haqqında xabar beredi.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Terminal&lt;/strong&gt; - Shell buyrıqların jazıw imkaniyatın beriwshi "qara ayna".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Command Line&lt;/strong&gt; - tekstli buyrıqlardı &lt;em&gt;(textual commands)&lt;/em&gt; jazıw imkaniyatın beriwshi hár qanday túrdegi interfeys.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;echo&lt;/em&gt; buyrıǵı - oǵan argument esabında berilgen tekstti &lt;em&gt;(string)&lt;/em&gt; nátijesi esabında qaytarıp beriwshi buyrıq esaplanadı:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Assalawma Áleykum Qaraqalpaqstan!"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>linux</category>
      <category>beginners</category>
      <category>karakalpak</category>
    </item>
    <item>
      <title>Pythonda asinxron</title>
      <dc:creator>Turdıbek Jumabaev</dc:creator>
      <pubDate>Sun, 09 Apr 2023 05:15:53 +0000</pubDate>
      <link>https://dev.to/turdibekjumabaev/pythonda-asinxron-29f1</link>
      <guid>https://dev.to/turdibekjumabaev/pythonda-asinxron-29f1</guid>
      <description>&lt;p&gt;Asinxron haqqında aytıwdan aldın thread, yaģıniy aģım haqqında bilip alayıq. Ádette biz jazģan kodlar joqardan tómenge qarap izbe-iz oqıladı hám orınlanadı. Usı izbe-iz orınlanatuģın operaciyalar izbe-izligi thread delinedi. Basqasha qılıp aytqanda thread bul bizdiń kodımızdı orınlaw ushın kompyuter tárepinen jallanģan “jumısshı”. Onıń waziypası kodtı oqıp, kerekli operaciyalardı orınlaw.&lt;/p&gt;

&lt;p&gt;Thread kodlardı joqardan tómenge qarap orınlaydı hám qaysıdur bólegine kelgende kútiw jaģdayına túsiwi múmkin. Máselen, programma bizden input mánis kirgiziwdi soraģan waqtında islewden toqtap turadı hám mánis kirgizgenimizde jáne islewdi dawam etedi. Bul jaģdayda thread “blocked”, yaģınıy bloklanģan delinedi. Bunday jaģdaydı keltirip shıģarģan operaciyalar bolsa ulıwmalastırıp “blocking call” delinedi. Programmanıń sırttan maģlıwmat alatuģın yamasa maģlıwmat uzatatuģın bólegi IO-bound workload delinedi. Ulıwma alģanda, hár qanday túrdegi “IO-bound workload” blocking callģa mısal bola aladı.&lt;/p&gt;

&lt;p&gt;Aytayıq, programma qısqa waqıt ishinde kóp ámellerdi orınlawı kerek. Mexanikada bir qaģıyda bar: quwat qansha kóbeyse, isti orınlawģa ketken waqıt sonsha azayadı. Máselen, belgili bir jumıstı 1 jumısshı 10 kúnde orınlasa, 5 jumısshı eki kúnde juwmaqlaydı. Biz programmamız tezrek juwmaqlanıwı ushın kóbrek jumısshı jallaymız. Pútkil jumıstı bir threadke júklep qoyıw ornına bir neshe thread ashıp, ulıwmalıq jumıstı olarģa bólistirip beremiz. Áyne usı nárse multitreading delinedi.&lt;/p&gt;

&lt;p&gt;Keliń bir mısal kóremiz. Kóz aldıńızģa keltiriń, biz 100 URLge soraw jiberip olardan maģlıwmat alıwımız kerek. Deylik, hár bir URLden maģlıwmat alıwģa 1 sekund waqıt ketedi. Biz soraw jiberemiz hám 1 sekundtan keyin juwap keledi. Eger bir dana thread isletsek, proces shama menen tómendegishe boladı. Juwap keliwine ketken waqıttı uqsatıw ushın sleepten paydalanamız. Nátijeni kóriw ushın cikldi 100 márte emes, 5 márte tákirarlayıq:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hbt-U2Dn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qnd1gxramkch13nfid1p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hbt-U2Dn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qnd1gxramkch13nfid1p.png" alt="Image description" width="800" height="844"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kórgenimizdey, hár sapar tek ģana bir sekund kútip keyingi sorawģa óttik. Demek, blocking call bolıp atır. Ulıwmalıq nátije 5 sekundtan kóbirek waqıt aldı. 100 URL ushın 100 sekundtan kóbirek waqıt ketedi.&lt;/p&gt;

&lt;p&gt;Multitheading arqalı bul waqıttı ádewir kemeytiriwimiz múmkin. Eger 10 threadten paydalansaq olar bir waqıtta 10 URL menen isley aladı. Ulıwmalıq waqıt da derlik 10 márte azayadı. Bıraq multitreading menen asinxron bir nárse emes.&lt;/p&gt;

&lt;p&gt;Usı jerde asinxronnıń islewin túsindiriw ushın mısal keltiremen:&lt;br&gt;
Kóz aldıńızģa keltiriń, sizde úlken restoran bar hám soģan jarasa jumıslar da kóp. Álbette hámme iske bir adam úlgermeydi, sonıń ushın siz onlaģan xizmetkerler jumsaysız. Qálegen waqıtta restoranģa kirgenińizde tómendegishe jaģdayģa dus kelesiz: Bir jumısshı awqat ushın kartoshka tuwrap atır, birewi qazandaģı awqat pisiwin kútip turıptı, barmen ishimlik beriwdi kútip turıptı, basqası klientke menyudi berip, buyırtpa alıwdı kútip turıptı hám t.b. Jumıs procesin bıraz kúzetip qarasańız, jumısshılardıń 90%ten kóp waqıtı kútiw menen ótip atır. Bıraq siz olarģa bul waqıtlar ushında pul tóleysiz. Bunnan tısqarı jumısshılar kóp bolģanlıģınan bazı waqıtları bir-birine kesent etip qaladı. Usı jerde bir pikir keldi: Jumısshılardıń kóp waqıtları kútiw menen ótip atırģan eken, pútkil restorandaģı jumıstı az jumısshılar menen de eplewge bolmayma?&lt;br&gt;
Táwekel etip hámme xizmetkerlerdi jumıstan bosatıp, tek ģana 1 adamdı qaldırdıńız. Ol endi hámme jumıstı qılıwı kerek. Awqattı qazanģa saladı hám klientke menyudi beredi. Buyırtpanı kútip otırmay barmennen ishimlikti aladı hám iyelerine jetkeredi. Keyin kelip baģanaģı menyu bergen klientten buyırtpanı qabıllaydı (eger tayyar bolsa) hám usı arada awqattan da xabar aladı. Qarsańız, pútkil restoran jumızlarına bir adam úlgerip atır.&lt;/p&gt;

&lt;p&gt;Asinxron programmalastırıw tiykarında da usı princip jatadı. Threadler sanın asırıw ornına bir theadten effektivlew paydalanıw. Thread bospa, basqa waziypa beriw kerek.&lt;/p&gt;

&lt;p&gt;Asinxron programmalastırıwda tiykarınan eki nárse, coroutine hám event looptan paydalanamız. Coroutine bul orınlanıwı kerek bolģan waziypa, task depte atawımız múmkin. Event loop bolsa sol tasklardı aylanıp shıģıp, qaysısı tayyar bolsa, sonı orınlap keteberetuģın thread.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Event loop — restorandaģı xizmetshi, coroutine bolsa bir waqıtta orınlanıwı kerek bolģan waziypalar (buyırtpa alıw, awqat pisiriw, …).&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Usı xizmetshi bir neshe waziypalardı orınlaģanı siyaqlı, event loop da bir waqıtta bir neshe corountinelerdi júrgizedi. Waqıttan únemli paydalanıw ushın, waziypanıń áyne qaysı bólegin kútiw kerek ekenligin biliwimiz kerek. Sonda, sol jerge kelgende kútip turıwımız kerek ekenligin bilip, keyingi waziypaģa ótip ketemiz. Máselen, xizmetshi menyudi klientke bergennen keyin buyırtpa alaman degenshe kútip turıwı kerek ekenligin biledi hám kútiw ushın waqıt sarıplamastan keyingi waziypaģa ótip keteberedi hám keyinrek jáne aylanıp keledi.&lt;/p&gt;

&lt;p&gt;Eger asinxron programmalastırıw ne ekenligi túsinikli bolsa, keliń endi onıń qolınan ne keletuģının kóremiz:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--s9JL-jFX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hzc3xqnko4nepfj2w23x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--s9JL-jFX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hzc3xqnko4nepfj2w23x.png" alt="Image description" width="800" height="854"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5 taskti 1 sekundta orınladı. Bul jaqsı nátiyje, solay emespe?&lt;br&gt;
Itibar bergen bolsańız, birinshi URLge request jiberilgen waqıtta event loop, coroutinedi kútip otırmay keyingisine ótip ketti. Qızıq, coroutine qayjerde keyingi taskke ótiw kerek ekenligin qalay bilip atır? Juwap — await járdeminde.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Demek, async asinxron funkciyanı, await bolsa sol tasktiń qay jerinde basqa teskke ótiw múmkin ekenligin bildiredi.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;main funkciyası arqalı biz orınlawımız kerek bolģan tasklerdi jiynap aldıq. asyncio.gather() funkciyası coroutinelerdi jiynap alıp, bir event loopde júrgizdi hám nátijelerdi aldı.&lt;/p&gt;

&lt;p&gt;Asyncio bul Python tárepinen jaratılģan, asinxron programmalardı isletiw ushın standart kitapxana. Bıraq bul asinxron kodtı iske túsiriwdiń jalģız usılı emes. Qáleseńiz basqa kitapxanalardan paydalanıwıńız yamasa ózińiz tazasın jazıp alıwıńız múmkin.&lt;/p&gt;

&lt;p&gt;Hár dayım yadıńızda saqlań, hesh bir usıl yamasa texnologiya jetik emes. Hámmesiniń ózine tán jaqsı hám jaman tárepleride bar. Hámmesin óz ornında paydalanıw kerek. Asinxron sizdiń programmańızdı tezlestirip bermeydi, tek ģana kútiwlerdiń aldın aladı.&lt;/p&gt;

&lt;p&gt;Asinxron programmalastırıw “IO-bound workload”da járdem beriwi múmkin. Bıraq “CPU-bound workload”ta emes.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;IO-bound workload — programmaģa sırttan maģlıwmat kirgiziliw waqtında threadti kútiwge májbúrleytuģın bólegi. Sırttan kirip keliwshi maģlıwmat degende internet, hard disk yamasa paydalanıwshı tárepinen kiritiletuģın maģlıwmatlar názerde tutıldı!&lt;br&gt;
CPU-bound workload — programmanıń quramalı esap-kitaplar yamasa kóp maģlıwmat menen islegende, CPU hám RAMģa úlken basım beretuģın bólegi.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Tómende “CPU-boud workload” jaģayına dus kelingen. Kórip turģanıńızday sinxron hám asinxron derlik birdey waqıt sarıplaģan:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jmlyBrFV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ltw8n66i9ivwjvp0b1ny.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jmlyBrFV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ltw8n66i9ivwjvp0b1ny.png" alt="Image description" width="576" height="806"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Joqarda aytılģanlar menen, asinxron juwmaqlanıp qalmaydı. Asinxron júdá úlken hám quramalı tema. Bul maģlıwmatlar arqalı tek asinxronnıń ne ekenligin bilip alıwıńız múmkin bolģanı. Elede kóbirek maģlıwmatlar kerek bolsa, internetten izlep kóriń.&lt;/p&gt;

&lt;p&gt;Úyreniwden hám taza nárselerdi sınap kóriwden hesh qashan sharamań, ele hámmesi aldında…&lt;/p&gt;

</description>
      <category>python</category>
      <category>async</category>
    </item>
    <item>
      <title>“SELF-HOSTING” KOMPILYATORLAR</title>
      <dc:creator>Turdıbek Jumabaev</dc:creator>
      <pubDate>Tue, 10 Jan 2023 10:57:01 +0000</pubDate>
      <link>https://dev.to/turdibekjumabaev/self-hosting-kompilyatorlar-32jk</link>
      <guid>https://dev.to/turdibekjumabaev/self-hosting-kompilyatorlar-32jk</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/python/cpython" rel="noopener noreferrer"&gt;Python&lt;/a&gt; tiliniń 64.6%ı Pythonda, &lt;a href="https://github.com/microsoft/TypeScript" rel="noopener noreferrer"&gt;Typescript&lt;/a&gt; tiliniń 99.8%ı Typescriptte jazılģan. Bul qızıq jaģday, qalayınsha taza tildi jaratıw ushın ózinen paydalanıw múmkin?&lt;br&gt;
&lt;em&gt;Házir bul sorawģa juwap alamız…&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Logikalıq jaqtan ilajsiz bolģan jaģday, &lt;strong&gt;X&lt;/strong&gt; payda bolıwdan aldın, jańa &lt;strong&gt;X&lt;/strong&gt;’ti qalayınsha &lt;strong&gt;X&lt;/strong&gt;’te jazıw múmkin? Bıraq azģana oylanıp qaralsa bunıń ilaji bar. Mısal ushın siz birinshi “&lt;em&gt;robot jasawshı&lt;/em&gt;” robottı islep shıģarasız. Keyin ol ózine uqsaģan “&lt;em&gt;robot jasawshı&lt;/em&gt;” robotlardı islep shıģaradı. Onan keyin “&lt;em&gt;robot jasawshı robot, robot jasawshı robot tárepinen jasalģan&lt;/em&gt;” degen filosofiya payda boladı. Dáslepki qádem áhamiyetli, birinshi robottı siz jasaysız. Nátiyjede eski hám kúshsiz nárseden paydalanıp, kúshliregin islep shıģarıw imkaniyatı payda boladı. Ózin-ózi jaza alatuģın yaģıniy “&lt;strong&gt;self-hosting&lt;/strong&gt;” kompilyatorlarda da usı jaģday.&lt;/p&gt;

&lt;p&gt;Kóz aldıńızģa keltiriń, ele hesh qanday programmalastırıw tilleri jaratılmaģan, sizde Assemblerde kod jazıwdan basqa ilaj joq. Qandayda bir proyektti 0 den baslap Assemblerde jazıp shıģıw uzaq dawam etedi. Demek sizge qolay programmalastırıw tili kerek. Bıraq taza programmalastırıw tilin tolıq Assemblerde jazıw durıs pikir emes, sebebi júdá kóp miynet hám waqıt ketedi. Sizde jaqsı ideya bar. Jaratıp atırģan programmalastırıw tilińizdiń 1-versiya kompilyatorın, 1–2 ay ishinde Assemblerde jazıp shıģasız. Bul versiya júda ápiwayı boladı hám keyingileri ushın tiykar waziypasın atqaradı, tilidiń tiykarģı xarakterlerin, operacion sistema hám yad penen islesiw kónlikpelerinde qánshedur kólemde óz ishine aladı. Demek 1-versiya tayyar hám onda kod jazıw múmkin. Endi jańa kompilyatordıń 1-versiyası hámde Assembler járdeminde kompilyatordın 2-versiyanın jaratıwımız múmkin. Eger jańalanıwlar usılay dawam etse, jaratıp atırģan tilimizde Assemblerdiń úlesi 0% ģa umtılıp baradı. Nátijede, qaysıdur versiyada tilińizdi tolıq óz-ózinde jazıp qoyasız. Joqarda aytıp ótilgen TypeScript aldın JavaScript járdeminde jaratılģan edi. Jańa kompilyatordı, eski versiyada jazıw sıyaqlı processlerdiń bárshesi “&lt;a href="https://en.wikipedia.org/wiki/Bootstrapping_(compilers)" rel="noopener noreferrer"&gt;bootstrapping&lt;/a&gt;” dep ataladı.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Hár bir programmalastırıw tili qaysıdur tilge tiykarlanıp jaratılģan boladı. Mısal ushın Python, C tiline, C tili bolsa ALGOL, BSPL hám B tillerine tiykarlanģan, hámmesi eń aqırında Assemblerge, Assembler bolsa 0 hám 1 lerge tiykarlanģan.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>network</category>
    </item>
  </channel>
</rss>
