<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>@ashurovblog</title><generator>teletype.in</generator><description><![CDATA[@ashurovblog]]></description><link>https://teletype.in/@ashurovblog?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/ashurovblog?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/ashurovblog?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Sat, 27 Jun 2026 04:20:45 GMT</pubDate><lastBuildDate>Sat, 27 Jun 2026 04:20:45 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@ashurovblog/J3ZDOpKkbed</guid><link>https://teletype.in/@ashurovblog/J3ZDOpKkbed?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog</link><comments>https://teletype.in/@ashurovblog/J3ZDOpKkbed?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog#comments</comments><dc:creator>ashurovblog</dc:creator><title>Java Script 10 savol </title><pubDate>Sun, 16 Apr 2023 18:59:57 GMT</pubDate><description><![CDATA[1) Quyidagi funksiya nima chiqaradi? shu funksiya nega bu javobni chiqardi? Yana nimalar qilsak boshqa javoblar olamiz?]]></description><content:encoded><![CDATA[
  <p id="43ML">1) Quyidagi funksiya nima chiqaradi? shu funksiya nega bu javobni chiqardi? Yana nimalar qilsak boshqa javoblar olamiz?</p>
  <p id="4Vgy"></p>
  <pre id="JddN">
function sayHi() {
  console.log(name);
  console.log(age);
  var name = &quot;Lydia&quot;;
  let age = 21;
}

sayHi();</pre>
  <p id="49Vq"></p>
  <p id="hKNd">Javob: Funksiya ichida avval nom o‘zgaruvchini var kalit so‘zi bilan aniqlaymiz. Bu shuni anglatadiki, o&#x27;zgaruvchi ko&#x27;tariladi (o&#x27;zgaruvchi uchun xotira maydoni yaratish bosqichida ajratiladi) standart qiymat undefined bilan kod bajarilishi o&#x27;zgaruvchi aniqlangan qatorga yetguncha. Konsolga chop qilmoqchi bo&#x27;lganimizda nom qiymatini hali aniqlamadik, shuning uchun u konsolda aniqlanmagan bo&#x27;ladi.</p>
  <p id="un3W">let (va const) bilan aniqlangan o&#x27;zgaruvchilar ham ko&#x27;tariladi, lekin vardan farqli o&#x27;laroq, ishga tushirilmaydi. Ularning ta&#x27;rifi (boshlash) chizig&#x27;i bajarilmaguncha ularga kirish mumkin emas. Bu &quot;vaqtinchalik o&#x27;lik zona&quot; deb ataladi. Biz o&#x27;zgaruvchilarni aniqlashdan oldin ularga kirishga harakat qilsak, JavaScript ReferenceError istisnosini chiqaradi.</p>
  <p id="4syR"></p>
  <p id="h3ym"></p>
  <p id="N4eN">2)  Quyidagi funksiya nima chiqaradi? shu funksiya nega bu javobni chiqardi? Yana nimalar qilsak boshqa javoblar olamiz?</p>
  <p id="fF1J"></p>
  <pre id="whRo">for (var i = 0; i &lt; 3; i++) {
  setTimeout(() =&gt; console.log(i), 1);
}

//333
//012 
for (let i = 0; i &lt; 3; i++) {
  setTimeout(() =&gt; console.log(i), 1);
}</pre>
  <p id="AZkr"></p>
  <p id="jkd7">Javob: JavaScript-ning hodisalar navbati tufayli setTimeout funksiyasi sikl tugallangandan keyin chaqiriladi. Birinchi tsiklda i var bilan aniqlanganligi sababli u global bo&#x27;ladi. Tsiklda biz unary ++ operatori yordamida har safar i qiymatini 1 ga oshiramiz. setTimeout funksiyasi bajarilgunga qadar birinchi misolda i qiymati 3 ga teng bo&#x27;ladi.</p>
  <p id="Khr4">Ikkinchi siklda i o&#x27;zgaruvchisi let bilan aniqlanadi. Bunday o&#x27;zgaruvchilar (shuningdek, const) blok doirasiga ega (blok { } orasidagi har qanday narsadir). Har bir iteratsiya bilan men yangi qiymatga ega bo&#x27;laman va har bir qiymat tsikl ichida o&#x27;z doirasiga o&#x27;raladi.</p>
  <p id="MPHn"></p>
  <p id="Q2oz">3) Quyidagi funksiya nima chiqaradi? shu funksiya nega bu javobni chiqardi? Yana nimalar qilsak boshqa javoblar olamiz?</p>
  <p id="n7a4"></p>
  <pre id="Zurt">const shape = {
  radius: 10,
  diameter() {
    return this.radius * 2;
  },
  perimeter: () =&gt; 2 * Math.PI * this.radius
};

console.log(shape.diameter());
console.log(shape.perimeter());</pre>
  <p id="f2Y6">javob: </p>
  <p id="pmIl">E&#x27;tibor bering, diametr oddiy funktsiya, perimetr esa o&#x27;q funktsiyasidir.</p>
  <p id="J8Ho">O&#x27;q funktsiyalari oddiy funktsiyalardan farqli o&#x27;laroq, atrofdagi doiraga ishora qiluvchi bu qiymatga ega! Bu shuni anglatadiki, perimetr chaqirilganda ushbu funktsiyaning bu qiymati shakl ob&#x27;ektiga emas, balki tashqi doiraga (masalan, oyna) ishora qiladi.</p>
  <p id="agGi">Bu obyekt radius kalitiga ega emas, shuning uchun undefined qaytariladi.</p>
  <p id="mr38"></p>
  <p id="wh9L"></p>
  <p id="oVU8">4) Quyidagi funksiya nima chiqaradi? shu funksiya nega bu javobni chiqardi? Yana nimalar qilsak boshqa javoblar olamiz?</p>
  <pre id="RYeT">+true;
!&#x27;Lydia&#x27;;</pre>
  <p id="EcQy"></p>
  <p id="pLRt">Javob: Unary plyus operandni raqamga aylantiradi. rost - 1, noto&#x27;g&#x27;ri - 0.</p>
  <p id="YOe9">&quot;Lidiya&quot; qatori &quot;haqiqiy&quot; qiymatdir. Biz so&#x27;ragan narsa &quot;bu haqiqiy qiymat yolg&#x27;onmi&quot;? Javob: yolg&#x27;on</p>
  <p id="XT9D"></p>
  <p id="szxk"></p>
  <p id="W0AN"></p>
  <p id="CM2b">5) Nima to&#x27;g&#x27;ri EMAS?</p>
  <p id="7Dg0"></p>
  <pre id="6yTW">const bird = {
  size: &#x27;small&#x27;
};

const mouse = {
  name: &#x27;Mickey&#x27;,
  small: true
};</pre>
  <p id="MRp4"></p>
  <p id="5CFg">Javob: </p>
  <p id="mTIT">In JavaScript, all object keys are strings (except Symbol). And although we don&#x27;t type them as strings, they are always converted to strings under the hood.</p>
  <p id="mAVP">JavaScript interprets (or unpacks) statements. When using square brackets, JS notices [ and continues until it encounters ]. Only after that it will calculate what is inside the brackets.</p>
  <p id="GzE7">mouse[bird.size]: Bird.size is defined first, which is equal to &quot;small&quot;. mouse[&quot;small&quot;] returns true.</p>
  <p id="8LGW">But this does not happen with dot notation. mouse does not have a bird key. So mouse.bird is undefined. We then request the size key using dot notation: mouse.bird.size. Since mouse.bird is undefined, we ask for undefined.size. This is not valid and we get an error like Cannot read property &quot;size&quot; of undefined.</p>
  <p id="AoPy"></p>
  <p id="V4Lj">qayta tayorlanish bu savolga</p>
  <p id="TKid"></p>
  <p id="zINi"></p>
  <p id="WCq6"></p>
  <p id="cACI">6) Quyidagi funksiya nima chiqaradi? shu funksiya nega bu javobni chiqardi? Yana nimalar qilsak boshqa javoblar olamiz?</p>
  <pre id="MOCV">let c = { greeting: &#x27;Hey!&#x27; };
let d;

d = c;
c.greeting = &#x27;Hello&#x27;;
console.log(d.greeting);</pre>
  <p id="2uD2">Javob: o&#x60;zgaruvchilar har xil, saqlangan ma&#x60;lumot esa bir xil...</p>
  <p id="vzle"></p>
  <p id="KXXT"></p>
  <p id="6lN7">7) Quyidagi funksiya nima chiqaradi? shu funksiya nega bu javobni chiqardi? Yana nimalar qilsak boshqa javoblar olamiz?</p>
  <pre id="gjq2">let a = 3;
let b = new Number(3);
let d = aka Salom(3);
let c = 3;


console.log(a == b);
console.log(a === b);
console.log(b === c);
console.log(d === a); 
</pre>
  <p id="ogXX"></p>
  <p id="YcAi">Javob:  new Number() funksiyaning oʻrnatilgan konstruktoridir. Va u raqamga o&#x27;xshasa ham, u haqiqiy raqam emas: u bir qator qo&#x27;shimcha funktsiyalarga ega va u ob&#x27;ektdir.</p>
  <p id="oGqs">== operatori turlarni chiqarishga ruxsat beradi, qiymatlar tengligini tekshiradi. Ikkala qiymat ham 3 ga teng, shuning uchun rost qaytariladi.</p>
  <p id="iESL">=== operatoridan foydalanilganda qiymat va tur bir xil bo&#x27;lishi kerak. Lekin bizning holatlarimizda bunday emas: new Number() raqam emas, bu ob&#x27;ekt. Ikkalasi ham yolg&#x27;onni qaytaradi.</p>
  <p id="RE5S"></p>
  <p id="MTDl"></p>
  <p id="E2OP"></p>
  <p id="d60n">8) Natija qanday bo&#x27;ladi? nima sabab?</p>
  <pre id="LB7Y">class Chameleon {
  static colorChange(newColor) {
    this.newColor = newColor;
    return this.newColor;
  }

  constructor({ newColor = &#x27;green&#x27; } = {}) {
    this.newColor = newColor;
  }
}

const freddie = new Chameleon({ newColor: &#x27;purple&#x27; });
freddie.colorChange(&#x27;orange&#x27;);</pre>
  <p id="BwB8"></p>
  <p id="Romm">Javobi: topilmadi qayta</p>
  <p id="r79w"></p>
  <p id="rWXQ"></p>
  <p id="dtt4">9) Quyidagi funksiya nima chiqaradi? shu funksiya nega bu javobni chiqardi? Yana nimalar qilsak boshqa javoblar olamiz?</p>
  <p id="RBz4"></p>
  <pre id="ESck">let greeting;
greetign = {}; // Опечатка!
console.log(greetign);</pre>
  <p id="uDgh"></p>
  <p id="9B4G">Javob: </p>
  <p id="n1a2">Ob&#x27;ekt konsolda ko&#x27;rsatiladi, chunki biz global ob&#x27;ektda bo&#x27;sh ob&#x27;ekt yaratdik! Biz salomlashish o&#x27;rniga salomlashishni yozganimizda, JS tarjimoni haqiqatda ko&#x27;rdi:</p>
  <p id="loon">global.greetign = {} Node.js<br />brauzerlarda window.greetign = {}, frames.geetign = {} va self.greetign.<br />veb ishchilarida self.greetign.<br />globalThis.greetign barcha muhitlarda.<br />Bunday xatti-harakatdan qochish uchun siz &quot;qat&#x27;iy foydalanish&quot; dan foydalanishingiz kerak. Ushbu belgi o&#x27;zgaruvchiga qiymat tayinlanishidan oldin aniqlanganligini ta&#x27;minlashga yordam beradi.</p>
  <p id="MlA1"></p>
  <p id="mRqO"></p>
  <p id="nT3E"></p>
  <p id="MtON">10) Nima bo&#x27;ladi? nima sabab?</p>
  <pre id="0xUa">function bark() {
  console.log(&#x27;Woof!&#x27;);
}

bark.animal = &#x27;dog&#x27;;</pre>
  <p id="dUKL"></p>
  <p id="ptc9">Javob: </p>
  <p id="RNRX">JavaScript-da bu mumkin, chunki funksiyalar ob&#x27;ektlardir! (ibtidoiylardan tashqari hamma narsa ob&#x27;ektdir).</p>
  <p id="jL7Y">Funktsiya - bu chaqirilishi mumkin bo&#x27;lgan ob&#x27;ektning maxsus turi. Bundan tashqari, funktsiya xossalarga ega ob&#x27;ektdir. Bunday ob&#x27;ektning xossasini chaqirib bo&#x27;lmaydi, chunki u funktsiya emas.</p>
  <h2 id="hd3k">Hammaga omad Efirda @ozbekdasturchi</h2>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ashurovblog/MX5F2qGRSW9</guid><link>https://teletype.in/@ashurovblog/MX5F2qGRSW9?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog</link><comments>https://teletype.in/@ashurovblog/MX5F2qGRSW9?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog#comments</comments><dc:creator>ashurovblog</dc:creator><title>JSHint</title><pubDate>Thu, 08 Dec 2022 19:25:42 GMT</pubDate><description><![CDATA[JSHint - bu JavaScript-da yozilgan dasturlarda shubhali foydalanishni belgilovchi dastur. Asosiy loyiha kutubxonaning o'zi va tugun moduli sifatida tarqatilgan CLI dasturidan iborat.]]></description><content:encoded><![CDATA[
  <p id="pLz6">JSHint - bu JavaScript-da yozilgan dasturlarda shubhali foydalanishni belgilovchi dastur. Asosiy loyiha kutubxonaning o&#x27;zi va tugun moduli sifatida tarqatilgan CLI dasturidan iborat.</p>
  <p id="Yy2j"></p>
  <h2 id="6Nqs">Asosiy foydalanish</h2>
  <p id="jtCo"><br />Birinchidan, JSHintni o&#x27;zingiz yoqtirgan muhitda qanday o&#x27;rnatish haqida batafsil ma&#x27;lumot olish uchun o&#x27;rnatish ko&#x27;rsatmalarini tekshiring. Bajariladigan buyruq qatori ham, JavaScript API ham JSHint xatti-harakatlarini sozlashning noyob usullarini taklif qiladi. Eng keng tarqalgan foydalanish:</p>
  <ul id="6pIx">
    <li id="bnWh">Buyruqlar qatori vositasi sifatida (Node.js orqali)</li>
    <li id="EYc6">JavaScript moduli sifatida</li>
  </ul>
  <p id="Albt"></p>
  <p id="1jsN">O&#x27;zingiz yoqtirgan muhitdan qat&#x27;i nazar, siz JSHint xatti-harakatlarini istalgan sonli linting opsiyalarini belgilash orqali boshqarishingiz mumkin.</p>
  <p id="EfiV"></p>
  <h3 id="5SUN">Konfiguratsiya</h3>
  <p id="xPZ7"><br />JSHint standart ogohlantirishlar to&#x27;plami bilan birga keladi, lekin u juda sozlanishi uchun mo&#x27;ljallangan. JSHint nusxasini sozlashning uchta asosiy usuli mavjud: siz --config bayrog&#x27;i orqali konfiguratsiya faylini qo&#x27;lda belgilashingiz, maxsus .jshintrc faylidan foydalanishingiz yoki konfiguratsiyangizni jshintConfig xususiyati ostida loyihalaringiz paketi.json fayliga qo&#x27;yishingiz mumkin. .jshintrc bo&#x27;lsa, JSHint bu faylni liniyalangan fayl bilan bir xil katalogdan qidira boshlaydi. Agar topilmasa, u katalog daraxtidan bir daraja yuqoriga, fayl tizimi ildizigacha ko&#x27;tariladi. (E&#x27;tibor bering, agar kirish stdin dan kelgan bo&#x27;lsa, JSHint konfiguratsiya faylini topishga harakat qilmaydi)</p>
  <p id="pZgc">Ushbu sozlash har bir loyiha uchun turli xil konfiguratsiya fayllariga ega bo&#x27;lish imkonini beradi. Faylingizni loyihaning asosiy katalogiga joylashtiring va JSHint-ni loyiha katalog daraxtining istalgan joyidan ishga tushirsangiz, xuddi shu konfiguratsiya faylidan foydalaniladi.</p>
  <p id="UMHr">Konfiguratsiya fayli oddiy JSON fayli boʻlib, qaysi JSHint opsiyalarini yoqish yoki oʻchirishni belgilaydi. Misol uchun, quyidagi fayl aniqlanmagan va foydalanilmagan o&#x27;zgaruvchilar haqida ogohlantirishlarni faollashtiradi va JSHint-ga MY_GLOBAL nomli global o&#x27;zgaruvchi haqida xabar beradi.</p>
  <p id="tad9"></p>
  <pre id="grdn">{
  &quot;undef&quot;: true,
  &quot;unused&quot;: true,
  &quot;globals&quot;: {
    &quot;MY_GLOBAL&quot;: true
  }
}</pre>
  <p id="xnsH"></p>
  <h3 id="5ZA5">Inline konfiguratsiya</h3>
  <p id="2Ap3"><br />Konfiguratsiya fayllaridan foydalanish bilan bir qatorda JSHint-ni fayllaringiz ichidan maxsus izohlar yordamida sozlashingiz mumkin. Bu izohlar jshint yoki globals (quyida toʻliq roʻyxat) kabi yorliq bilan boshlanadi va undan keyin vergul bilan ajratilgan qiymatlar roʻyxati keladi. Misol uchun, quyidagi parcha aniqlanmagan va foydalanilmagan o&#x27;zgaruvchilar haqida ogohlantirishlarni faollashtiradi va JSHint-ga MY_GLOBAL nomli global o&#x27;zgaruvchi haqida xabar beradi.</p>
  <p id="2Zpf"></p>
  <pre id="Fz4X">/* jshint undef: true, unused: true */
/* globals MY_GLOBAL */</pre>
  <p id="HBn0"></p>
  <p id="MzEO">Direktivlar<br />Bu erda JSHint tomonidan qo&#x27;llab-quvvatlanadigan konfiguratsiya direktivalari ro&#x27;yxati:</p>
  <p id="KU5M">jshint<br />JSHint opsiyalarini sozlash uchun direktiv.</p>
  <p id="D994"></p>
  <pre id="V2si">/* jshint strict: true */</pre>
  <p id="4f9f"></p>
  <p id="pJRR">jslint<br />JSHint-mos JSLint opsiyalarini o&#x27;rnatish uchun direktiv</p>
  <pre id="V6DG">/* jslint vars: true */
</pre>
  <p id="WNbl"></p>
  <h3 id="7T6W">globallar</h3>
  <p id="dYo5"><br />JSHint-ga boshqa joyda aniqlangan global o&#x27;zgaruvchilar haqida aytib berish uchun direktiv. Agar qiymat noto&#x27;g&#x27;ri bo&#x27;lsa (standart), JSHint bu o&#x27;zgaruvchini faqat o&#x27;qish uchun deb hisoblaydi. Undef variantiga ta&#x27;sir qiladi.</p>
  <p id="HwET"></p>
  <pre id="Cy2l">/* globals MY_LIB: false */</pre>
  <p id="sL7X"></p>
  <p id="YWuI">Shuningdek, siz joriy faylning biron bir joyida ishlatilmasligiga ishonch hosil qilish uchun ba&#x27;zi global o&#x27;zgaruvchilarni qora ro&#x27;yxatga kiritishingiz mumkin.</p>
  <pre id="nmZu">/* globals -BAD_LIB */</pre>
  <p id="8csU"></p>
  <h3 id="D1LE">eksport qilingan</h3>
  <p id="c7tF"><br />JSHint-ga joriy faylda aniqlangan, lekin boshqa joyda ishlatiladigan global o&#x27;zgaruvchilar haqida aytib berish uchun direktiv. Foydalanilmayotgan variantga ta&#x27;sir qiladi.</p>
  <pre id="CT5p">/* exported EXPORTED_LIB */</pre>
  <p id="MrLp"></p>
  <h3 id="4bbg">a&#x27;zolari</h3>
  <p id="xYdN"><br />JSHint-ga siz foydalanmoqchi bo&#x27;lgan barcha xususiyatlar haqida xabar berish uchun direktiv. Ushbu ko&#x27;rsatma eskirgan.</p>
  <h3 id="qQKu">e&#x27;tibor bermaslik</h3>
  <p id="7xVN"><br />JSHint-ga kod blokini e&#x27;tiborsiz qoldirishni aytish uchun ko&#x27;rsatma.</p>
  <p id="W3RP"></p>
  <pre id="vChb">// Code here will be linted with JSHint.
/* jshint ignore:start */
// Code here will be ignored by JSHint.
/* jshint ignore:end */</pre>
  <p id="rCwF"></p>
  <p id="Q2Jr">ignore:start va ignore:end orasidagi barcha kodlar JSHint-ga o&#x27;tkazilmaydi, shuning uchun siz Facebook React kabi istalgan til kengaytmasidan foydalanishingiz mumkin. Bundan tashqari, siz keyingi sharh bilan bitta qatorni e&#x27;tiborsiz qoldirishingiz mumkin:</p>
  <p id="9t6v"></p>
  <pre id="UdXB">ignoreThis(); // jshint ignore:line</pre>
  <p id="NGS9"></p>
  <p id="GA4J">keyingi maqolalargacha ko&#x60;rishguncha</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ashurovblog/feRhHqxPw5o</guid><link>https://teletype.in/@ashurovblog/feRhHqxPw5o?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog</link><comments>https://teletype.in/@ashurovblog/feRhHqxPw5o?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog#comments</comments><dc:creator>ashurovblog</dc:creator><title>Elektron.js nima?</title><pubDate>Thu, 08 Dec 2022 19:04:09 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/4f/1e/4f1e20dc-37db-4c15-890d-bbb0e2e62cc2.png"></media:content><description><![CDATA[<img src="https://img4.teletype.in/files/77/de/77def98e-4a46-4150-9086-440d604e47ef.png"></img>
Elektron.js  - bu JavaScript, HTML va CSS-dan foydalangan holda ish stoli ilovalarini yaratish uchun ramka. Chromium va Node.js-ni ikkilik fayliga joylashtirish orqali Electron sizga bitta JavaScript kod bazasini saqlash va Windows, macOS va Linuxda ishlaydigan platformalararo ilovalarni yaratish imkonini beradi - buning uchun mahalliy ishlab chiqish tajribasi talab qilinmaydi.]]></description><content:encoded><![CDATA[
  <p id="ihS6"><br />Elektron.js  - bu JavaScript, HTML va CSS-dan foydalangan holda ish stoli ilovalarini yaratish uchun ramka. Chromium va Node.js-ni ikkilik fayliga joylashtirish orqali Electron sizga bitta JavaScript kod bazasini saqlash va Windows, macOS va Linuxda ishlaydigan platformalararo ilovalarni yaratish imkonini beradi - buning uchun mahalliy ishlab chiqish tajribasi talab qilinmaydi.</p>
  <p id="9owh"></p>
  <figure id="Nwut" class="m_original">
    <img src="https://img4.teletype.in/files/77/de/77def98e-4a46-4150-9086-440d604e47ef.png" width="728" />
  </figure>
  <h2 id="97Ws">Ishni boshlash</h2>
  <p id="5VSA"></p>
  <p id="M1Di">Sizga Electron.js ilovasini ishlab chiqish va uni foydalanuvchilarga tarqatish jarayoni bo&#x27;yicha yo&#x27;l-yo&#x27;riq ko&#x27;rsatadigan o&#x27;quv qo&#x27;llanmadan boshlashingizni tavsiya qilamiz. Misollar va API hujjatlari ham atrofni ko&#x27;rib chiqish va yangi narsalarni kashf qilish uchun yaxshi joylardir.</p>
  <p id="DZKG"></p>
  <h3 id="cmZm">Elektron skripka bilan ishlash misollari</h3>
  <p id="tQFT"><br />Electron Fiddle - bu Electron bilan yozilgan va Electronning texnik xizmatchilari tomonidan qo&#x27;llab-quvvatlanadigan sandbox ilovasi. Biz uni Electron API-lari bilan tajriba qilish yoki ishlab chiqish jarayonida prototip xususiyatlarini o&#x27;rganish uchun o&#x27;rganish vositasi sifatida o&#x27;rnatishni tavsiya qilamiz.</p>
  <p id="EBp8">Fiddle ham bizning hujjatlarimiz bilan yaxshi integratsiyalashgan. Darslarimizdagi misollarni ko&#x27;rib chiqishda siz kod bloki ostidagi &quot;Elektron skripkada ochish&quot; tugmasini tez-tez ko&#x27;rasiz. Agar sizda Fiddle o‘rnatilgan bo‘lsa, bu tugma misolni Fiddle’ga avtomatik yuklaydigan fiddle.electronjs.org havolasini ochadi, nusxa ko‘chirish-joylashtirish shart emas.</p>
  <p id="QVut"></p>
  <p id="Tzm2">main.js</p>
  <pre id="0qbr">const { app, BrowserWindow } = require(&#x27;electron&#x27;)
const path = require(&#x27;path&#x27;)

function createWindow () {
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      preload: path.join(__dirname, &#x27;preload.js&#x27;)
    }
  })

  win.loadFile(&#x27;index.html&#x27;)
}

app.whenReady().then(() =&gt; {
  createWindow()

  app.on(&#x27;activate&#x27;, () =&gt; {
    if (BrowserWindow.getAllWindows().length === 0) {
      createWindow()
    }
  })
})

app.on(&#x27;window-all-closed&#x27;, () =&gt; {
  if (process.platform !== &#x27;darwin&#x27;) {
    app.quit()
  }
})
</pre>
  <p id="YDgE">preload.js</p>
  <pre id="1BTN">window.addEventListener(&#x27;DOMContentLoaded&#x27;, () =&gt; {
  const replaceText = (selector, text) =&gt; {
    const element = document.getElementById(selector)
    if (element) element.innerText = text
  }

  for (const type of [&#x27;chrome&#x27;, &#x27;node&#x27;, &#x27;electron&#x27;]) {
    replaceText(&#x60;${type}-version&#x60;, process.versions[type])
  }
})
</pre>
  <p id="vnu3"></p>
  <p id="tmiL">index.html</p>
  <pre id="en65">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;title&gt;Hello World!&lt;/title&gt;
    &lt;meta http-equiv=&quot;Content-Security-Policy&quot; content=&quot;script-src &#x27;self&#x27; &#x27;unsafe-inline&#x27;;&quot; /&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;h1&gt;Hello World!&lt;/h1&gt;
    &lt;p&gt;
        We are using Node.js &lt;span id=&quot;node-version&quot;&gt;&lt;/span&gt;,
        Chromium &lt;span id=&quot;chrome-version&quot;&gt;&lt;/span&gt;,
        and Electron &lt;span id=&quot;electron-version&quot;&gt;&lt;/span&gt;.
    &lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
  <p id="8XfB"></p>
  <h3 id="DI7Q">Hujjatlarda nima bor?</h3>
  <p id="5Fgu"><br />Barcha rasmiy hujjatlar yon panelda mavjud. Bular turli toifalar va har birida nimani kutishingiz mumkin:</p>
  <ul id="ZDe5">
    <li id="JXlI">O&#x27;quv qo&#x27;llanma: Birinchi Electron ilovangizni qanday yaratish va nashr etish bo&#x27;yicha to&#x27;liq qo&#x27;llanma.</li>
    <li id="Mt3K">Elektrondagi jarayonlar: Elektron jarayonlari va ular bilan ishlash bo&#x27;yicha chuqur ma&#x27;lumot.</li>
    <li id="7ysp">Eng yaxshi amaliyotlar: Electron ilovasini ishlab chiqishda yodda tutish kerak bo&#x27;lgan muhim nazorat ro&#x27;yxatlari.</li>
    <li id="fmIz">Misollar: Electron ilovangizga funksiyalar qo&#x27;shish uchun tezkor havolalar.</li>
    <li id="WU5f">Rivojlanish: Har xil rivojlanish bo&#x27;yicha qo&#x27;llanmalar.</li>
    <li id="EEGc">Tarqatish: Ilovangizni oxirgi foydalanuvchilarga qanday tarqatishni bilib oling.</li>
    <li id="pTQT">Sinov va disk raskadrovka: JavaScript-ni disk raskadrovka qilish, testlarni yozish va sifatli Electron ilovalarini yaratish uchun foydalaniladigan boshqa vositalar.</li>
    <li id="oI8R">Ma&#x27;lumotnomalar: Elektron loyihasi qanday ishlashi va tashkil etilishini yaxshiroq tushunish uchun foydali havolalar.</li>
    <li id="gZYk">Hissa: Elektronni kompilyatsiya qilish va hissa qo&#x27;shish juda qiyin bo&#x27;lishi mumkin. Biz ushbu bo&#x27;limda buni osonlashtirishga harakat qilamiz.</li>
  </ul>
  <p id="ba7N"></p>
  <h2 id="0Xd0">Tez boshlash</h2>
  <p id="fCHp"><br />Ushbu qo&#x27;llanma sizni Electron-da elektron/elektron-tezkor ishga tushirishga o&#x27;xshash &quot;Hello World&quot; ilovasini yaratish jarayoni bo&#x27;yicha qadam qo&#x27;yadi.</p>
  <p id="7mQe">Ushbu qo‘llanmaning oxirida ilovangiz brauzer oynasini ochadi, unda qaysi Chromium, Node.js va Electron versiyalari ishlayotgani haqidagi ma’lumotlarga ega veb-sahifa ko‘rsatiladi.</p>
  <h3 id="GkQ1">Old shartlar</h3>
  <p id="pPeK"><br />Electron-dan foydalanish uchun Node.js-ni o&#x27;rnatishingiz kerak. Mavjud bo&#x27;lgan so&#x27;nggi LTS versiyasidan foydalanishni tavsiya qilamiz.</p>
  <blockquote id="FsDK">Iltimos, Node.js ni platformangiz uchun oldindan oʻrnatilgan oʻrnatuvchilar yordamida oʻrnating. Aks holda, turli ishlab chiqish vositalari bilan mos kelmaslik muammolariga duch kelishingiz mumkin.</blockquote>
  <p id="LZHJ">Node.js toʻgʻri oʻrnatilganligini tekshirish uchun terminal mijozingizga quyidagi buyruqlarni kiriting:</p>
  <p id="mRxW"></p>
  <pre id="KvPd">node -v
npm -v</pre>
  <p id="hlBS"></p>
  <p id="uwuo">Buyruqlar mos ravishda Node.js va npm versiyalarini chop etishi kerak.</p>
  <p id="eOgX">Eslatma: Electron Node.js ni ikkilik fayliga joylashtirgani uchun kodingiz bilan ishlaydigan Node.js versiyasi tizimingizda ishlaydigan versiya bilan bog‘liq emas.</p>
  <figure id="lhtt" class="m_original">
    <img src="https://img3.teletype.in/files/e1/f5/e1f5b213-4ad4-4b68-bd3d-aefd68ade923.png" width="417" />
  </figure>
  <p id="g6t0">Davom etammiz, zerikib qolmang keyingi maqolalarda ko&#x60;rishguncha....</p>
  <p id="7l0P"></p>
  <p id="Qil7">.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ashurovblog/6J8P-Tdoo7P</guid><link>https://teletype.in/@ashurovblog/6J8P-Tdoo7P?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog</link><comments>https://teletype.in/@ashurovblog/6J8P-Tdoo7P?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog#comments</comments><dc:creator>ashurovblog</dc:creator><title>Funktsional dasturlash tamoyillari</title><pubDate>Tue, 06 Dec 2022 08:52:07 GMT</pubDate><description><![CDATA[Funktsional dasturlash bu paradigma bo'lib, uning ildizlari matematikada, birinchi navbatda lambda hisobidan kelib chiqadi. Funktsional dasturlash deklarativ bo'lishni maqsad qilib qo'yadi va ilovalarni bir-biridan tuzilgan sof funktsiyalar natijasi sifatida ko'rib chiqadi.]]></description><content:encoded><![CDATA[
  <p id="XRMP">Funktsional dasturlash bu paradigma bo&#x27;lib, uning ildizlari matematikada, birinchi navbatda lambda hisobidan kelib chiqadi. Funktsional dasturlash deklarativ bo&#x27;lishni maqsad qilib qo&#x27;yadi va ilovalarni bir-biridan tuzilgan sof funktsiyalar natijasi sifatida ko&#x27;rib chiqadi.</p>
  <p id="kOjE">Ushbu dasturlash uslubining asosiy maqsadi ob&#x27;ektga yo&#x27;naltirilgan dasturlashda keng tarqalgan umumiy holat, o&#x27;zgaruvchan ma&#x27;lumotlar va nojo&#x27;ya ta&#x27;sirlar bilan bog&#x27;liq muammolardan qochishdir.</p>
  <p id="4lYQ">Funktsional dasturlash ob&#x27;ektga yo&#x27;naltirilgan dasturlashdan ko&#x27;ra ko&#x27;proq bashorat qilinadigan va sinovdan o&#x27;tkazish osonroq bo&#x27;ladi, lekin yangi kelganlar uchun zich va o&#x27;rganish qiyin bo&#x27;lib tuyulishi mumkin, ammo funktsional dasturlash birinchi qarashda ko&#x27;rinadigan darajada qiyin emas.</p>
  <p id="KtNC"></p>
  <p id="tZMU"><strong>Sof funksiyalar</strong><br />Sof funksiya bu quyidagi funksiyadir:</p>
  <p id="r4Ob">1. Xuddi shu kirishlarni hisobga olgan holda, har doim bir xil chiqishni qaytaradi<br />2. Hech qanday yon ta&#x27;siri yo&#x27;q</p>
  <p id="oLsi"></p>
  <pre id="VgTp">// pure
function getSquare(x) {
   return x * x;
}

// impure
function getSquare(items) {
  var len = items.length;
  for (var i = 0; i &lt; len; i++) {
    items[i] = items[i] * items[i];
  }
  return items;
}</pre>
  <p id="Zsk9">Asosan, o&#x27;z kirishlarini yoki ba&#x27;zi tashqi o&#x27;zgaruvchilarning qiymatini o&#x27;zgartiradigan har qanday funktsiya no&#x60;tog&#x60;ri funktsiyadir.</p>
  <p id="qEKc"></p>
  <h2 id="ur1Q">Hech qanday yon ta&#x27;siri yo&#x27;q</h2>
  <p id="ODrP"></p>
  <p id="wtMW">Yon ta&#x27;sirlar funktsional dasturlash paradigmasi tomonidan yomon deb hisoblanadi. Yon ta&#x27;sirlar - kirish/chiqarish, konsolga kirish, o&#x27;chirilgan va to&#x27;xtatilgan xatolar, tarmoq qo&#x27;ng&#x27;iroqlari va tashqi ma&#x27;lumotlar strukturasi yoki o&#x27;zgaruvchining o&#x27;zgarishi. Umuman olganda, tizimni oldindan aytib bo&#x27;lmaydigan narsa.</p>
  <p id="ZkIc">Buni aytganda, funktsional dasturlash sizda nojo&#x27;ya ta&#x27;sirlar bo&#x27;lishi mumkin emas, demaydi, chunki ular ba&#x27;zan talab qilinadi, lekin bu kabi effektlarning paydo bo&#x27;lishini iloji boricha kamaytirishga qaratilgan.</p>
  <p id="bwqp">Agar funktsiyada nojo&#x27;ya ta&#x27;sirlar bo&#x27;lsa, u protsedura deyiladi.</p>
  <p id="ng79"></p>
  <h2 id="rNcc">O&#x27;zgarmaslik</h2>
  <p id="M2ZT"></p>
  <p id="xGwa">O&#x27;zgarmaslik funktsional dasturlashning asosidir. O&#x27;zgarmaslik - bu qiymat e&#x27;lon qilingandan so&#x27;ng, u o&#x27;zgarmas bo&#x27;lib, dasturingizdagi xatti-harakatlarni ancha oldindan aytib bo&#x27;ladigan qiladi degan fikrdir.</p>
  <p id="Xabn"></p>
  <h2 id="zOBv">Yo&#x27;naltiruvchi shaffoflik</h2>
  <p id="oHmS"></p>
  <p id="SuXW">Yo&#x27;naltiruvchi shaffoflik, agar siz funktsiya chaqiruvini uning qaytariladigan qiymati bilan almashtirsangiz, dasturning xatti-harakati avvalgidek bashorat qilinadigan bo&#x27;lishini aytishning ajoyib usuli. Yo&#x27;naltiruvchi shaffof funktsiyalar faqat ularning kirishlariga tayanadi va shuning uchun sof funktsiyalar va o&#x27;zgarmaslik tushunchasi bilan chambarchas bog&#x27;liq.</p>
  <p id="nmVV"></p>
  <pre id="ggjT">function two() {
  return 2;
}

const four = two() + two(); // 4
// or
const four = two() + 2; // 4
// or
const four = 2 + two(); // 4
// or
const four = 2 + 2; // 4</pre>
  <p id="EmnP"></p>
  <p id="9eUH">To&#x27;rt o&#x27;zgaruvchini yaratishning ushbu usullarining barchasi ikkinchi funktsiya mos ravishda shaffof ekanligini ko&#x27;rsatadi, chunki men uni chaqirishni uning qaytariladigan qiymati bilan almashtira olaman va dastur kutilganidek ishlaydi.</p>
  <p id="EJ1Q"></p>
  <h2 id="msgu">Birinchi darajali ob&#x27;ektlar sifatida ishlaydi</h2>
  <p id="olSu"></p>
  <p id="evpP">Bu shuni anglatadiki, funktsiyalar boshqa funktsiyalarga argument sifatida uzatilishi, boshqa funktsiyalardan qiymatlar sifatida qaytarilishi, ma&#x27;lumotlar tuzilmalarida saqlanishi va o&#x27;zgaruvchilarga tayinlanishi mumkin.</p>
  <p id="U1Pw">Masalan, JavaScript funksiyalarni birinchi darajali ob&#x27;ektlar sifatida ko&#x27;rgani uchun men quyidagilarni qila olaman:</p>
  <p id="AgcI"></p>
  <pre id="ncpl">function add(left, right) {
 return left + right;
}

const adder = add;

adder(2,3);</pre>
  <p id="Ngw0"></p>
  <h2 id="zlFI">Yuqori tartibli funktsiyalar</h2>
  <p id="h8Dp"><br />Yuqori tartibli funksiyalar quyidagilardan kamida bittasini bajaradigan funksiyalardir:</p>
  <p id="3Nbd">1.Argument sifatida bir yoki bir nechta funksiyalarni oladi<br />2.Funktsiyani natijasi sifatida qaytaradi</p>
  <p id="VEbe"></p>
  <p id="YF4v">Boshqa barcha funktsiyalar birinchi darajali funktsiyalar deb ataladi.</p>
  <p id="UpmX"></p>
  <h2 id="Xwqm">Intizomli holat</h2>
  <p id="kXXV"></p>
  <p id="9U44">Intizomli holat umumiy, o&#x27;zgaruvchan holatga qarama-qarshidir. Birgalikda, o&#x27;zgaruvchan holatning kamchiliklariga misol sifatida quyidagilar bo&#x27;lishi mumkin:</p>
  <p id="qqVG"></p>
  <pre id="Yumx">function logElements(arr) {
  while (arr.length &gt; 0) {
    console.log(arr.shift());
  }
}

function main() {
  const arr = [&#x27;banana&#x27;, &#x27;orange&#x27;, &#x27;apple&#x27;];

  console.log(&#x27;Before sorting:&#x27;);
  logElements(arr);

  arr.sort();

  console.log(&#x27;After sorting:&#x27;);
  logElements(arr);
}

main();
// Before sorting:
// &quot;banana&quot;
// &quot;orange&quot;
// &quot;apple&quot;
// After sorting:
// undefined</pre>
  <p id="Mmlp"></p>
  <p id="a5ds">Biz ikkinchi qo&#x27;ng&#x27;iroq hech qanday natija bermasligini ko&#x27;rishimiz mumkin, chunki birinchi qo&#x27;ng&#x27;iroq kirish massivini bo&#x27;shatdi va shu tariqa dastur holatini o&#x27;zgartirib, kutilmagan natijani keltirib chiqardi.</p>
  <p id="UXQr">Buni tuzatish uchun biz o&#x27;zgarmaslikka va dastlabki holatni shaffof va o&#x27;zgarmas saqlash uchun nusxalardan foydalanishga murojaat qilamiz.</p>
  <p id="LrCX"></p>
  <pre id="6RJT">function logElements(arr) {
  while (arr.length &gt; 0) {
    console.log(arr.shift());
  }
}

function main() {
  const arr = [&#x27;banana&#x27;, &#x27;orange&#x27;, &#x27;apple&#x27;];

  console.log(&#x27;Before sorting:&#x27;);
  logElements([...arr]);

  const sorted = [...arr].sort();

  console.log(&#x27;After sorting:&#x27;);
  logElements([...sorted]);
}

main();
// Before sorting:
// &quot;banana&quot;
// &quot;orange&quot;
// &quot;apple&quot;
// After sorting:
// &quot;apple&quot;
// &quot;banana&quot;
// &quot;orange&quot;</pre>
  <p id="lTnx"></p>
  <p id="iIgT">Alohida funktsiyalar doirasida davlatni inkapsulyatsiya qilish, tashqi holat yoki ma&#x27;lumotlar tuzilmalarini o&#x27;zgartirmaslik va sayoz yoki chuqur nusxalar va kirishlardan foydalanish sizning holatingizni intizomli va oldindan aytib bo&#x27;ladigan saqlashga yordam beradi.</p>
  <p id="4tNp"></p>
  <h2 id="ZB2d">Tip tizimlari</h2>
  <p id="3XwA"></p>
  <p id="w1ix">Turlardan foydalanish orqali biz ishlab chiqish jarayonida yuzaga kelishi mumkin bo&#x27;lgan keng tarqalgan xatolar va xatolardan qochishimizga yordam beradigan kompilyatordan foydalanamiz.</p>
  <p id="KISg">JavaScript yordamida biz quyidagilarni amalga oshirishimiz mumkin:</p>
  <p id="9qvu"></p>
  <pre id="YvLh">function add(left, right) {
  return left + right;
}

add(2, 3) // 5
add(2, &quot;3&quot;); // &quot;5&quot;</pre>
  <p id="GUPe"></p>
  <h2 id="PYpc">Xulosa</h2>
  <p id="Upiq"><br />Funktsional dasturlash bizga kodimizni yanada o&#x27;qilishi, oldindan aytib bo&#x27;ladigan va sinab ko&#x27;rishga imkon beradigan ba&#x27;zi printsiplarni beradi. Bu bizga kamroq xatolarni o&#x27;z ichiga olgan kodga ega bo&#x27;lish imkonini beradi, ishga kirishni osonlashtiradi va tajribamdan ko&#x27;ra yaxshiroq kod bazasiga ega bo&#x27;ladi. Keyingi maqolalarda biz ko&#x27;proq funktsiyaga asoslangan ilovalarni ishlab chiqishga yordam beradigan ba&#x27;zi funktsiyalarni ko&#x27;rib chiqamiz.</p>
  <p id="DnM1"></p>
  <p id="TKqT">@ozbekdasturchi — keyingi maqolalarda ko&#x60;rishguncha</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ashurovblog/1fSxHRbmXBH</guid><link>https://teletype.in/@ashurovblog/1fSxHRbmXBH?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog</link><comments>https://teletype.in/@ashurovblog/1fSxHRbmXBH?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog#comments</comments><dc:creator>ashurovblog</dc:creator><title>Smart DDoS. Har qanday saytni botnetdan foydalanmasdan qanday qulatish mumkin</title><pubDate>Mon, 29 Aug 2022 11:57:35 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/30/52/3052ebec-df00-4a95-b937-7ec4bff28744.png"></media:content><description><![CDATA[<img src="https://img4.teletype.in/files/b5/5f/b55f4bf9-92fd-4dc4-aa9f-a91c7f662ba1.png"></img>Assalomu Aleykum efirda O`zbek Dasturchi, demak boshladik]]></description><content:encoded><![CDATA[
  <p id="H8pa">Assalomu Aleykum efirda O&#x60;zbek Dasturchi, demak boshladik</p>
  <p id="lH8h"></p>
  <p id="kBZq">Keling, &quot;aqlli&quot; DDoS haqida gapiraylik. Ya&#x27;ni, L7 hujumlari yoki dastur darajasidagi hujumlar haqida. Eng ilg&#x27;or mudofaa usullarining aksariyati bu hujumga qarshi kuchsizdir.</p>
  <p id="qdaC"></p>
  <figure id="YSF7" class="m_custom">
    <img src="https://img4.teletype.in/files/b5/5f/b55f4bf9-92fd-4dc4-aa9f-a91c7f662ba1.png" width="1920" />
  </figure>
  <p id="u31z">Umid qilamanki, DDoS nima ekanligini aytish shart emas. Agar kerak bo&#x27;lsa, tezda Googledan qidiring. Ushbu maqolada biz minglab botnetlar tomonidan uskunaning ishdan chiqishiga olib keladigan ibtidoiy hujumlarni muhokama qilmaymiz. Bu allaqachon o&#x27;tmishda.</p>
  <p id="LCCT"></p>
  <p id="o9e0">Bugun men sizga &quot;aqlli&quot; DDoS haqida gapirib beraman. Ya&#x27;ni, L7 hujumlari yoki dastur darajasidagi hujumlar haqida. Men sizga kichik Python skripti va Selenium ramkasidan foydalangan holda haqiqiy foydalanuvchilarning xatti-harakatlarini qanday qilib to&#x27;liq taqlid qilishni aytaman. Ushbu yondashuv haqiqiy brauzerni boshqarish orqali amalga oshiriladi. Shunday qilib, inson xatti-harakatlariga imkon qadar o&#x27;xshash mexanizm amalga oshiriladi, eng ilg&#x27;or himoya usullarining aksariyati kurashishga ojizdir.</p>
  <p id="Z5Ph"></p>
  <p id="F26q">Sinovlarimizni o&#x27;tkazish uchun bizga hech qanday botnet kerak bo&#x27;lmaydi. Biz barcha kerakli resurslarni Google, Amazon yoki Microsoft-dan mutlaqo bepul olamiz, ularning har biri o&#x27;z xizmatlarini mutlaqo bepul sinab ko&#x27;rish imkoniyatiga ega. Misol uchun, Google juda kam cheklovlar bilan 3 oylik sinov muddatini va 300 dollar miqdorini taqdim etadi, bu juda jiddiy resursni sindirish uchun etarli. Qanday qilib bepul olish haqida ma&#x27;lumot, shuningdek, bulutli misollarni qanday o&#x27;rnatish haqida ma&#x27;lumot ushbu maqola doirasidan tashqarida, ehtimol biz bu haqda biroz keyinroq gaplashamiz.</p>
  <p id="t8zY"></p>
  <p id="fU0z">Biz yaratadigan vosita bu oddiy booter/stresser, saytning yuklash qobiliyatini tekshirish uchun oddiy skript. Hatto juda katta resurslarni to&#x27;liq sinab ko&#x27;rish uchun sizga 2-4 protsessor va 4 Gb xotiraga ega 5-10 nusxa kerak bo&#x27;ladi (albatta, ko&#x27;proq yaxshi). Ko&#x27;pgina bulutli xizmatlarda chiquvchi trafik cheklovlari tufayli engilroq misollarni olish tavsiya etiladi.</p>
  <p id="bo1F"></p>
  <p id="9LF5">Aytgancha, Selenium nafaqat DDoS uchun mos keladi. Bundan tashqari, men ushbu ajoyib SELENIUM yordamida DDoS-ni shunchaki vahshiylik deb atagan bo&#x27;lardim. Selenium, shuningdek, murakkab, yopiq resurslarni yoki nakrutka reklamalarni tahlil qilish (jumladan, YouTube-da, Selenium bo&#x27;lgan Methbot botnetini yaratuvchisi Aleksandr Jukov tomonidan amalda isbotlangan) kabi ancha murakkab vazifalarni bajaradi.</p>
  <p id="5lzm">Adolat uchun shuni ta&#x27;kidlash kerakki, Selenium eng qadimgi, ammo bozorda brauzerni boshqarishning yagona vositasi emas. Seleniumdan tashqari, bunday vazifalar uchun  pythonda ishlaydigan Puppeteerdan foydalanishingiz mumkin, bu ham o&#x27;zini juda yaxshi ko&#x27;rsatdi.</p>
  <p id="NDcX"></p>
  <p id="jGLs">Ushbu maqolada men faqat ishning asosiy printsipini tasvirlab beraman. Murakkab variantlar, jumladan, socksdan foydalanish va hatto eng murakkab &quot;kaptchalar&quot; ni tanib olish uchun XEvil bilan o&#x27;zaro aloqa qilish ushbu maqola doirasidan tashqarida va keyinroq ko&#x27;rib chiqilishi mumkin.</p>
  <p id="b69r"></p>
  <blockquote id="F9U6"><br /> Shunday qilib, Python-ni yuklab oling, barcha bog&#x27;liqliklarni o&#x27;rnating</blockquote>
  <blockquote id="xX2G"><br />     ChromeDriver-ni yuklab oling</blockquote>
  <p id="EEwk"></p>
  <p id="4JB2"></p>
  <pre id="4JB2">Selenning o&#x27;zidan tashqari, biz ko&#x27;p oqimlarni ta&#x27;minlash uchun Concurrent Futures-dan foydalanamiz.

from concurrent.futures.thread
import ThreadPoolExecutor from selenium.webdriver.chrome.options
import Options from selenium import webdriver 
import time import random 
import string import re 
chromeOptions = Options() chromeOptions.headless = True 
#как будет запускаться хром - в фоне или нет executor = ThreadPoolExecutor(20) 
#количество одновременных потоков 
def generate_random_string(length): 
letters = string.ascii_lowercase 
rand_string = &#x27;&#x27;.join(random.choice(letters) 
for i in range(length)) return rand_string 
# простейшая функция выгрузки всех ссылок с заданой страницы 
def getlinks(url): 
driver = webdriver.Chrome(r&quot;путь к chromedriver&quot;, options=chromeOptions) 
# path к chromedriver list = [] 
driver.get(url) 
a = driver.find_elements_by_xpath(&#x27;.//a&#x27;) 
i = 0 for b in a: i = i+1 link = b.get_attribute(&quot;href&quot;) 
list.insert(i, link) driver.quit() 
return list 
def scrape(url): executor.submit(scraper, url) 
executor.submit(scraper, &quot;адрес_тестируемого_ресурса/&quot;+generate_random_string(10))
 #генерируем мусорные ссылки, если надо. кстати, если в тестируемом сайте есть функция поиска или любые другие страницы с тяжелыми запросами в БД, этот вариант - твой 
 def scraper(url): driver = webdriver.Chrome(r&quot;путь_к_chromedriver&quot;, options=chromeOptions) 
 #path к chromedriver driver.get(url) time.sleep(15) driver.quit() urls = getlinks(&quot;адрес_тестируемого_ресурса&quot;) for url in urls * 10: #количество инстансов scrape(url)</pre>
  <p id="PiyV">    </p>
  <p id="ZNRS">Skript ma&#x27;lum miqdordagi Google Chrome iplarini yuklab oladi, ularning har biri havolalarni o&#x27;chiradi va shu bilan hujum qilingan saytni zich yuklaydi. Eng yaxshi ta&#x27;sirga erishish uchun sinovdan o&#x27;tgan resursni murakkab so&#x27;rovlar (masalan, qidiruv funktsiyasi yoki murakkab tanlov) bilan yuklash tavsiya etiladi.</p>
  <p id="X4an">Usulning samaradorligi haqida hech qanday shubha yo&#x27;q. Turli xil o&#x27;zgartirishlar bilan ushbu oddiy skript hatto Cloudflare, Varity yoki DDoS Guard kabi himoyalangan xizmatlarda joylashgan resurslarni muvaffaqiyatli joylashtirish imkonini beradi. Biroq, &quot;captcha&quot; ni hal qilish uchun sizga socks va qo&#x27;shimcha vositalar kerak bo&#x27;ladi.</p>
  <p id="CWA1"></p>
  <p id="k77q">Bugun hammasi shu. efirda O&#x60;zbekdasturchi edi...</p>
  <p id="aofB">Agar siz ma&#x27;lum bir mavzu bo&#x27;yicha maqolani ko&#x27;rishni istasangiz - botda menga yozing va, ehtimol, biz buni qilamiz...</p>
  <p id="sa6T"></p>
  <p id="FLRa">xayr..</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ashurovblog/WIHQ0T9SVXF</guid><link>https://teletype.in/@ashurovblog/WIHQ0T9SVXF?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog</link><comments>https://teletype.in/@ashurovblog/WIHQ0T9SVXF?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog#comments</comments><dc:creator>ashurovblog</dc:creator><title>Jamiyatning yo'qligidan yomonroq narsa -- uning mavjudligi bo'lganda</title><pubDate>Wed, 24 Aug 2022 11:48:19 GMT</pubDate><description><![CDATA[Sog‘lom inson jamiyati yaxshi mahsulot atrofida, garchi u Gorbachyov qo‘l ostida yozilgan egri matn muharriri bo‘lsa ham, mahsulotni qadrlaydigan, undan har kuni foydalanadigan, uni yaxshilashni xohlaydigan va ularsiz hayotni tasavvur qila olmaydigan odamlar yig‘iladi. Shu bilan birga, mahsulot pul topish bilan bevosita bog'liq emasligi ma'qul. Va eng muhimi, jamiyat mahsulot atrofida emas, balki mahsulot atrofida qurilishi kerak.]]></description><content:encoded><![CDATA[
  <p id="WAgP">Sog‘lom inson jamiyati yaxshi mahsulot atrofida, garchi u Gorbachyov qo‘l ostida yozilgan egri matn muharriri bo‘lsa ham, mahsulotni qadrlaydigan, undan har kuni foydalanadigan, uni yaxshilashni xohlaydigan va ularsiz hayotni tasavvur qila olmaydigan odamlar yig‘iladi. Shu bilan birga, mahsulot pul topish bilan bevosita bog&#x27;liq emasligi ma&#x27;qul. Va eng muhimi, jamiyat mahsulot atrofida emas, balki mahsulot atrofida qurilishi kerak.</p>
  <p id="CvGx">Hindistondan oltin izlovchilar, MDHdan oq tanlilar, oltin milliardlar mamlakatidan mansab yo&#x27;qotganlar, shuningdek, shunchaki dam olishni yaxshi ko&#x27;radiganlar bir joyda to&#x27;planishadi. Undan nima chiqadi? Ha, siz mendan yaxshiroq bilasiz. Ammo maktabdan oldin takrorlaymiz.</p>
  <p id="YWvQ">Klassik hamjamiyat, qoida tariqasida, kareristlar, menejerlar, PR xodimlari, muddati o&#x27;tadigan frilanserlar, yonayotgan eshaklari bo&#x27;lgan maktab o&#x27;quvchilari, dasturchi prot^W erini qidirayotgan noaniq jinsdagi odamlar uchun qiziq emas. Shu sababli, oddiy dasturchilar uchun qiziqarli, bu boshqa dasturchilar uchun qimmatlidir.</p>
  <p id="3NRs">Kasal jamoalar yuqorida aytilganlarning barchasi tufayli yuzaga keladi. Men kasal jamiyatni shakllantirishning barcha stsenariylarini bilmayman, lekin men o&#x27;z fantaziyalarimni baham ko&#x27;rishga tayyorman.</p>
  <p id="5SvX"></p>
  <h2 id="ZwEC">Stsenariy 1</h2>
  <p id="hNvJ">G&#x27;arbiy kompaniyadagi dasturchi pul etishmasligini yumshoq ko&#x27;nikmalar bilan tugatishga qaror qiladi. Yoki u karerasi boshi berk ko&#x27;chada ekanligini tushunadi, chunki u shartli googlemazonni tortib olmaydi. Yoki u faqat amakisi uchun ishlashni xohlamasligi haqida o&#x27;z tasavvuriga ega. U (yaratuvchiga ko&#x27;ra) ushbu vazifa uchun allaqachon mavjud bo&#x27;lgan boshqa 10 ta ramkadan yaxshiroq bo&#x27;lgan ramka yaratishga qaror qiladi.</p>
  <p id="5F8m">Birinchidan, istiqbolli README.md bilan ramkaning o&#x27;zi github-ga yuklanadi, so&#x27;ngra Twitter-da ramka mavjudligi haqida xabar e&#x27;lon qilinadi. Muallifning do&#x27;stlari tarmoqqa kirishayotgani uchun retvit qilishadi va agar u o&#x27;qqa tutsa, ular bu chelakning kelib chiqishida turishlari ehtimoli bor. Ammo ko&#x27;proq tarmoq. Pashsha kabi, hindular, pokistonliklar va boshqalar darhol kirib kelishadi. Ehtimol, haqiqat o&#x27;qqa tutiladi va shuning uchun muallif bilan do&#x27;stlashish mumkin bo&#x27;ladi. Tarmoqqa ulanish. Va agar u suratga tushmasa, ular yana o&#x27;nlab ramkalarni retvit qilishadi. Nimadir otadi. Tarmoq kvadratlarga tegishi kerak.</p>
  <p id="Ha72">Ko&#x27;pgina MDH dasturchilari tomonidan bunday loyihalardan bizning alohida hurmatimiz paydo bo&#x27;ladi, chunki loyiha g&#x27;arblik janob tomonidan yaratilgan. Bu, aslida, 10 yil davomida o&#x27;zgarmagan yana bir MVC ramka bo&#x27;lsin. Kim yoshi kattaroq va hafsalasi pir bo&#x27;lganini aytadi - hammasi 20. Va, ehtimol, u haq bo&#x27;ladi.</p>
  <p id="1lmq">Shaxsiy g‘arazli manfaatlarini ko‘zlagan tovlamachi, har qanday holatda ham qashshoqlikdan qutulmoqchi bo‘lgan tovlamachilar va yana bir ahmoq doiraning o‘rtamiyonaligini chin dildan sezmaydigan odamlardan iborat jamoa adekvat bo‘la oladimi? Javob aniq - bu mumkin va faqat u mumkin! Va kim rozi bo&#x27;lmaydi - bu zaharli. Kim uchun bu sado xonasida baxtli manyak va shaxsiyatga sig&#x27;inish bilan ziravorlanmagan bo&#x27;lsa.</p>
  <p id="YKr9">Zaharli shaxs sifatida ishonch bilan ayta olamanki, mahsulot atrofida yaxshi jamoa qurilgan, u ijtimoiy komponentga ega bo&#x27;lmasligi va shaxsiy manfaatlar uchun joy bo&#x27;lmasligi kerak. Aks holda, kimdir javoblar, nashrlar, majburiyatlar to&#x27;ldirish orqali o&#x27;zini reklama qilishni boshlashi yoki rezyumelarida ko&#x27;rsatish uchun biror narsa bo&#x27;lishi uchun allaqachon tayyor mahsulotni keng ko&#x27;lamda ishlab chiqish vaqt masalasidir.</p>
  <p id="zZvP">Bunday stsenariyning tugashining apofeozi intervyuda sizdan Semning yangi versiyada bo&#x27;lajak o&#x27;zgarishlar haqida so&#x27;nggi tvitini o&#x27;qidingizmi, degan savol tug&#x27;iladi. Xo&#x27;sh, yoki jamiyatda kim va kim bo&#x27;lmaganiga qarab, deyarli bir xil yamoqlar qabul qilinganda.</p>
  <p id="fsH7"></p>
  <h2 id="T0Xy">Stsenariy 2</h2>
  <p id="0wRY">MDH mintaqaviy markazidagi do&#x27;stlar kompaniyasi Rostovning PHP-styu / Dneprning Ruby-sty / Gomel Java-istlari va boshqalarni tashkil etishga qaror qildi. Natijada, kikbol o&#x27;ynashdagi kabi qiziqishlar klubi paydo bo&#x27;ladi, bu erda ijtimoiy komponent ta&#x27;lim va professionaldan ko&#x27;ra muhimroqdir. Ular hatto yig&#x27;ilishlar va konferentsiyalar o&#x27;tkazadilar, ularda ular keyingi &quot;yangi&quot; ramka yoki kutubxonani cheksiz chaynashadi. Internetda topib bo&#x27;lmaydigan narsa yo&#x27;q. Bundan tashqari, siz u erda martaba qilolmaysiz, chunki bu sizni yaxshi lavozimga yaratmaydigan o&#x27;rtacha odamlar to&#x27;da. Ishga qabul qiluvchilar u erga unchalik yuqori bo&#x27;lmagan maosh uchun chiziqli krudolepsga boradilar. Xo&#x27;sh, yoki eng yaxshi holatda, yirik kompaniyalar bozordan pastroq ish haqi evaziga nuggetlar uchun hududlarni changyutmoqda.</p>
  <p id="dDQa">Oddiy bolada, albatta, savol tug&#x27;ilishi kerak - nega u va uning oddiy do&#x27;stlari bir vaqtning o&#x27;zida o&#x27;rtamiyonalar bilan bir xil xo&#x27;roz qafasga tushishdi? Axir u do&#x27;stlarini mutaxassis sifatida hurmat qiladi, ular ham uni hurmat qilishadi, shuning uchun ular hurmatli mutaxassislardir. Afsuski, bu savolga javob bera oladiganlar allaqachon autsorsing yoki emigratsiya yoki poytaxtga tashlab ketishgan, bu erda kimningdir nimanidir isbotlash befoydaligini tushunib etishgan. Shuning uchun, bu echo-xonada faqat hurmatli mutaxassislar qoladi. Xulosa - bu faqat ijtimoiy komponent. Bu erda rivojlanish yo&#x27;q, faqat o&#x27;rtoqlik hissi.</p>
  <h2 id="Wia6"><br />Stsenariy 3</h2>
  <p id="vCNq">Keyingi mahsulotning menejeri / egasi / xushxabarchisi ajoyib g&#x27;oya bilan uyg&#x27;onadi: agar bizning CMS-da kumunit bo&#x27;lsa, u holda sotuvlar yaxshilanadi va bu yirtqich hayvonni saqlash uchun mutaxassislar to&#x27;plami bo&#x27;ladi. Ko&#x27;ngilochar o&#x27;z dahosini amalga oshirishdan yurak xurujiga duchor bo&#x27;lmagan bo&#x27;lsa-da, u shoshqaloqlik bilan tadbirlarni tashkil qilishni yoki o&#x27;z hisobotiga kirishi mumkin bo&#x27;lgan mavjudlarini qidirishni boshlaydi. Mahsulot veb-saytiga bog&#x27;langan forum yaratilmoqda va eng faollari hatto mahalliy texnik bo&#x27;lmagan kollej va institutlarga borib, yetuk onglarga ta&#x27;sir o&#x27;tkazishga harakat qilishadi.</p>
  <p id="8abh">Hurmat bilan shuni ta&#x27;kidlaymanki, bu erda ijtimoiy komponent umuman yo&#x27;q bo&#x27;lishi mumkin. Xulosa qilib aytganda, jamiyatdagi barcha savollar pulli mahsulotni qo&#x27;llab-quvvatlashga yo&#x27;naltiriladi.</p>
  <p id="GPwD"></p>
  <p id="SRxI">Umuman olganda, aytadigan gapim yo&#x27;q</p>
  <p id="0svc">Autistik odamlar yetarlicha bo&#x27;lgan ekan, muammo unchalik o&#x27;tkir emas edi. Ammo oddiy odamlar sanoatdagi teshiklarni yopish uchun ham tashlab ketilgan. Inson ijtimoiy hayvondir. Bu qimmatga tushadi - oddiy odamlar vaqt o&#x27;tkazishni va odam bo&#x27;lishni yaxshi ko&#x27;radilar. Bu yomon emas, lekin bu partiya mahsulot bilan birlashganda, nima uchun ularning hammasi bu erda ekanligini unutib qo&#x27;yganida yomon. Keyin ziyofat bilan shug&#x27;ullanish kabi muammolar, karerizm, o&#x27;zingizga ko&#x27;rpani tortib olish va faqat mahsulotdan samarali foydalanish uchun ziyofatda qatnashish zarurati mahsulot muammolariga aylanadi.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ashurovblog/3Rr8ZmZ4_4V</guid><link>https://teletype.in/@ashurovblog/3Rr8ZmZ4_4V?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog</link><comments>https://teletype.in/@ashurovblog/3Rr8ZmZ4_4V?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog#comments</comments><dc:creator>ashurovblog</dc:creator><title>Frontend bo`yicha 7 savolga javob</title><pubDate>Mon, 22 Aug 2022 10:20:12 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/2b/f7/2bf7e2f3-cef9-4cb1-96ce-082e46d1cb63.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/0b/3e/0b3ecde5-6182-4ab0-9d9e-b1510818001c.jpeg"></img>Assalomu Aleykum Efirda O`zbek Dasturchi demak boshladik...]]></description><content:encoded><![CDATA[
  <figure id="cb4Y" class="m_original">
    <img src="https://img1.teletype.in/files/0b/3e/0b3ecde5-6182-4ab0-9d9e-b1510818001c.jpeg" width="640" />
  </figure>
  <p id="IovU">Assalomu Aleykum Efirda O&#x60;zbek Dasturchi demak boshladik...</p>
  <h2 id="46vA">1. Nima uchun HTMLni bilishingiz kerak?</h2>
  <p id="ClTa"></p>
  <p id="5YyU">Agar siz to&#x27;g&#x27;ri yorliqlardan to&#x27;g&#x27;ri foydalansangiz, natijangiz ikki baravar yaxshi bo&#x27;ladi va harakat yarmiga kamayadi!</p>
  <p id="sSHt">Qidiruv tizimining ruxsati: HTML semantikasi sahifa mazmunini tuzadi.</p>
  <p id="T8DL">O&#x27;qishni yaxshilash: CSS uslubisiz ham hujjat formatida ko&#x27;rsatish.</p>
  <p id="OLYy">SEO uchun foydali: Qidiruv mexanizmlari har bir kalit so&#x27;zning konteksti va vaznini aniqlash uchun HTML teglariga tayanadi.</p>
  <p id="OxsS"></p>
  <h2 id="H5vf">2. HTTP olish/post usullari haqida nimalarni bilasiz?</h2>
  <p id="tFD4"></p>
  <p id="Wi0B">So&#x27;rovlarni olish:</p>
  <p id="I3YA">     keshlangan;<br />     brauzer tarixida saqlangan;<br />     xatcho&#x27;p bo&#x27;lib qoling.</p>
  <p id="XIxK">Maxfiy ma&#x27;lumotlar bilan ishlashda Get so&#x27;rovlaridan foydalanmaslik kerak. Bunday so&#x27;rovlar faqat ma&#x27;lumotlarni olish uchun ishlatilishi kerak.</p>
  <p id="VmrE">Get so&#x27;rovi uzunlik chegarasiga ega (2048 belgi). Turli xil brauzerlar turli xil cheklovlar qo&#x27;yadi: Safari 2000 belgi va Chrome 8000 belgi.</p>
  <p id="nq5Y">Post so&#x27;rovlari:</p>
  <p id="eqIh">     keshlanmagan;<br />     brauzer tarixida saqlanmaydi;<br />     xatcho&#x27;plarga qo&#x27;shilmagan:<br />     ma&#x27;lum bir ma&#x27;lumot uzunligini talab qilmaydi.</p>
  <p id="YBHq"></p>
  <h2 id="Z1Dt">3. Sayt kodini tekshirish funksiyasi nima?</h2>
  <p id="qt9U"></p>
  <p id="dTpJ"></p>
  <p id="Siz2">Ommaviy to&#x27;liq avtomatik dastur foydalanuvchi kompyuter yoki inson ekanligini aniqlaydi. Xavfsizlik darajasida u ma&#x27;lum bir ro&#x27;yxatdan o&#x27;tgan foydalanuvchini xakerlar tomonidan buzib kirishdan samarali tarzda oldini oladi, shuningdek, parolni buzish, chipta o&#x27;g&#x27;irlash, yopiq forumlarni sizdirish va boshqa operatsiyalarni oldini oladi.</p>
  <p id="7Phy"></p>
  <h2 id="xwzO">4. This nima?</h2>
  <p id="NfgQ"></p>
  <p id="pJy7">This har doim bilvosita emas, balki funksiya chaqiruvining bevosita tashabbuskoriga ishora qiladi: agar new kalit so&#x27;z bo&#x27;lsa, this yangidan ob&#x27;ektga ishora qiladi. Hodisada bu hodisani keltirib chiqaradigan ob&#x27;ektga ishora qiladi.</p>
  <p id="RVtz"></p>
  <h2 id="nQcR">5. Oyna va hujjat obyektlari haqida nimalarni bilasiz?</h2>
  <p id="aUyo"></p>
  <p id="P0Pz">Oyna obyekti brauzer ochadigan oynadir.</p>
  <p id="2yGn">Hujjat ob&#x27;ekti hujjat ob&#x27;ektiga faqat o&#x27;qish uchun havola (HTML hujjat ob&#x27;ekti) va oyna ob&#x27;ektining atributidir.</p>
  <p id="wO3t"></p>
  <h2 id="07WU">6. Yopilish nima? U qanday maqsadlarda ishlatiladi?</h2>
  <p id="V3zj"></p>
  <p id="KWjs"></p>
  <p id="mP1W">Yopish - bu boshqa funktsiya doirasidagi o&#x27;zgaruvchilarga kirish huquqiga ega bo&#x27;lgan funksiya. Yopish yaratishning eng keng tarqalgan usuli bu funksiyada boshqa funktsiya yaratish va boshqa funktsiya orqali funktsiyaning mahalliy o&#x27;zgaruvchilariga kirishdir. Yopish orqali siz qamrov zanjirini uzishingiz va funktsiya ichidagi o&#x27;zgaruvchilar va usullarni tashqariga o&#x27;tkazishingiz mumkin.</p>
  <p id="fyj5"></p>
  <h2 id="54BH">7. Nodening afzalliklari va kamchiliklari qanday?</h2>
  <p id="K4vu"></p>
  <p id="a1yU">Afzalliklari:</p>
  <p id="OUe7">    Node hodisalarga asoslangan va bloklanmaydi va bir vaqtning o&#x27;zida so&#x27;rovlarni ko&#x27;rib chiqish uchun javob beradi. Shuning uchun, tugunga o&#x27;rnatilgan proksi-server boshqa texnologiyalar (masalan, Ruby) yordamida amalga oshirilgan serverga qaraganda ancha yaxshi ishlaydi.<br />    Node proksi-server bilan o&#x27;zaro aloqada bo&#x27;lgan mijoz kodi JavaScript-da yozilgan. Shunday qilib, mijoz ham, server ham bir xil tilda yozilgan, bu esa ishlab chiquvchilarni xursand qila olmaydi.</p>
  <p id="TUMo">Kamchiliklari:</p>
  <p id="oI2w">    Node nisbatan yangi ochiq kodli loyiha bo&#x27;lib, u barqarorlikka ega emas va doimo o&#x27;zgarib turadi.<br />    Uchinchi tomon kutubxonalari uchun etarli yordam yo&#x27;q.</p>
  <p id="ADl8"></p>
  <p id="hsFW">Efirda o&#x60;zbek dasturchi edi.. hammaga xayr, keyingi maqolada ko&#x60;rishguncha...</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ashurovblog/PxoQxTKEn3S</guid><link>https://teletype.in/@ashurovblog/PxoQxTKEn3S?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog</link><comments>https://teletype.in/@ashurovblog/PxoQxTKEn3S?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog#comments</comments><dc:creator>ashurovblog</dc:creator><title>Kotlin nima?</title><pubDate>Tue, 16 Aug 2022 07:37:17 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/9e/71/9e71d84a-4bc6-499b-aec5-a12b33c5ff9c.png"></media:content><description><![CDATA[<img src="https://media.tproger.ru/uploads/2021/07/wr9mEizXVD0.jpg"></img>Assalomu Aleykum Efirda O`zbek Dasturchi ... ]]></description><content:encoded><![CDATA[
  <p id="lc9Q">Assalomu Aleykum Efirda O&#x60;zbek Dasturchi ... </p>
  <p id="wCgA">Kotlin bu ...</p>
  <p id="JldN">Java Virtual Machine (JVM) ustida ishlaydigan JetBrains-dan zamonaviy, qisqa va xavfsiz dasturlash tili. U yaratilganda, kompaniya o&#x27;z ehtiyojlaridan kelib chiqqan holda boshqarildi va dastlab bu ichki ish uchun texnologiya edi. 2011 yilda allaqachon til ommaga taqdim etilgan va 2012 yilda manba kodi ochiq bo&#x27;lgan. Kechirasiz, iOS ishlab chiquvchilari, lekin birinchi bo&#x27;lib nima bo&#x27;lganligi va kimdan ilhomlanganligi haqidagi bahsda Kotlin yoki Svift g&#x27;alaba qozonadi.</p>
  <p id="gx86">Bu statik tarzda yozilgan, ob&#x27;ektga yo&#x27;naltirilgan dasturlash tili. Uning afzalliklari orasida ijodkorlar pragmatizm va moslashuvchanlikni ta&#x27;kidlashadi. Til yangi boshlanuvchi dasturchilar uchun ham, tajribalilar uchun ham birdek yaxshi.</p>
  <p id="HUkk"></p>
  <blockquote id="7ao2">Til faol rivojlanmoqda. Joriy versiya 1.5.20.</blockquote>
  <p id="2Sld"></p>
  <p id="bZSp">Kotlinning ifodaliligi va qisqaligini ham ta&#x27;kidlash kerak:</p>
  <p id="DxXi"></p>
  <figure id="hV2d" class="m_original">
    <img src="https://media.tproger.ru/uploads/2021/07/wr9mEizXVD0.jpg" width="1800" />
  </figure>
  <p id="Q3EO"></p>
  <p id="DqM0">O&#x27;zidan oldingi Java-dan farqli o&#x27;laroq, Kotlin xavfsizroq. Tilning semantikasi odatda dasturni bajarish vaqtida yuzaga keladigan bir qator juda keng tarqalgan xatolarni oldini oladigan printsiplarni o&#x27;z ichiga oladi. Masalan, Kotlin Null o&#x27;zgaruvchilarni qo&#x27;llab-quvvatlash orqali Null xavfsizlik mexanizmini va ixtiyoriy qiymatni ochish orqali xavfsiz tekshirishni ta&#x27;minlaydi. Kotlin shuningdek, xavfsiz turdagi tekshirish va quyishni qo&#x27;llab-quvvatlaydi:</p>
  <p id="jNFc"></p>
  <figure id="8JvA" class="m_original">
    <img src="https://media.tproger.ru/uploads/2021/07/Pochemu-stoit-vyuchit-Kotlin-3-e1626794389926.png" width="1795" />
  </figure>
  <p id="vxA3">Va ha, Kotlin Java bilan to&#x27;liq mos keladi. Siz JVM uchun yozilgan mavjud kutubxonadan foydalanishingiz yoki Java-da yozilgan dasturdan asta-sekin o&#x27;tishingiz mumkin. Shuningdek, IDE Intelij Ide va Android Studio Java kodini Kotlinga avtomatik ravishda o&#x27;zgartirishni qo&#x27;llab-quvvatlaydi.</p>
  <p id="sO4o">Kotlin, shuningdek, noyob tuzilgan parallel mexanizmni qo&#x27;llab-quvvatlaydi. Kotlin koroutinlari ilovada ko&#x27;p qirrali ishlashni tashkil qilishning oddiy va ishlatish uchun qulay usulidir. JVM tepasida ishlaydigan Kotlin ichida Java-dagi kabi iplar va asinxroniya bilan ishlash mexanizmi saqlanib qolgan, ammo Kotlin Coroutines tufayli biz ular bilan to&#x27;g&#x27;ridan-to&#x27;g&#x27;ri ishlashimiz shart emas va biz juda engil echimga ega bo&#x27;lamiz. har qanday ma&#x27;noda:</p>
  <p id="BCKh"></p>
  <figure id="fkZs" class="m_original">
    <img src="https://media.tproger.ru/uploads/2021/07/Pochemu-stoit-vyuchit-Kotlin-4.png" width="1800" />
  </figure>
  <p id="OUxe"></p>
  <p id="Wftv">Kotlin Java degan taassurot paydo bo&#x27;ladi, u faqat yaxshi va qulayroq, boy sintaktik imkoniyatlarga ega. Lekin unday emas. Tillar o&#x27;rtasidagi farqlar haqida ko&#x27;proq o&#x27;qing. Aslida, Kotlin yoki Java yoki ikkala tilni o&#x27;z xohishiga ko&#x27;ra birgalikda ishlatish paradigmasi mavjud.</p>
  <p id="e5Qe"></p>
  <figure id="c9hR" class="m_original">
    <img src="https://media.tproger.ru/uploads/2021/07/Pochemu-stoit-vyuchit-Kotlin-5-e1626794988310.png" width="1746" />
  </figure>
  <p id="zmeO"></p>
  <p id="6mpX">Android uchun mobil ilovalarni ishlab chiqish uchun asosiy til</p>
  <p id="N7Yd">2017-yilda Google I/O-da ular Android Studio IDE-dan foydalangan holda Android ilovalarini ishlab chiqish uchun Kotlin tilini qo&#x27;llab-quvvatlashlarini e&#x27;lon qildilar. 2 yil o&#x27;tgach, I/O 2019 ko&#x27;rgazmasida Google Kotlinni Android ilovalarini ishlab chiqish uchun ustuvor til deb e&#x27;lon qildi (Kotlin-First) va Kotlinda allaqachon yangi loyihalarni boshlashni tavsiya qildi: “Siz uchun kamroq kod, yozish uchun kamroq kod, sinovdan o&#x27;tkazish va texnik xizmat ko&#x27;rsatish osonroq. ”. Kotlin-First shuningdek, yangi API va kutubxonalarni (Jetpack API) maxsus Kotlinda chiqarish ustuvorligini anglatadi.</p>
  <p id="CpoT">Google statistikasiga ko&#x27;ra (I/O 2021), Kotlin hozirda eng ommabop dasturlash tili hisoblanadi. Va nafaqat Android ilovalarining o&#x27;zi, balki turli xil kutubxonalar va echimlar, shu jumladan server va o&#x27;zaro faoliyat platformalar (pastga qarang). Google Play-dan 1000 ta eng yaxshi (oʻrnatish boʻyicha) ilovalar Kotlin kodining 80% ni oʻz ichiga oladi. Barcha Android dasturchilarining 60% o&#x27;z kodlarini Kotlinda yozadilar.</p>
  <p id="xcSO"></p>
  <figure id="oqIf" class="m_original">
    <img src="https://media.tproger.ru/uploads/2021/07/Pochemu-stoit-vyuchit-Kotlin-6-e1626795026899.png" width="1800" />
  </figure>
  <p id="qMp1">70 dan ortiq Google ilovalari Kotlin tilida yozilgan. Xaritalar, joylar, Firebase va boshqalar Kotlindan uzoq vaqtdan beri foydalanmoqda. Google shuningdek, ularning JetBrains bilan kompilyator bo&#x27;yicha hamkorligi tufayli Kotlin-dagi ishlanma Java-ga qaraganda tezroq va samaraliroq bo&#x27;lib borayotganini ta&#x27;kidlaydi.</p>
  <p id="Aq6w">Shunday qilib, qanday kengaytmalar (KTX) va Kotlin kutubxonalari kutubxonalar va ilovalarni ishlab chiqishni osonlashtiradi va yaxshilaydi:</p>
  <p id="Yt5A">    Kotlin Symbol Processing (KSP), kuchli, ammo oddiy API, Kotlinda yozilgan kodni to&#x27;g&#x27;ridan-to&#x27;g&#x27;ri tahlil qiladi va Room kabi ba&#x27;zi kutubxonalarda 2 baravar tezroq ishlay oladi. Bundan tashqari, o&#x27;zaro faoliyat platformalar qo&#x27;llab-quvvatlanadi.<br />    Android Jetpack Compose<br />    Android Jetpack API<br />    Kotlin Coroutines, Flows, DataStore, Paging….<br />    Kotlin seriyali;<br />    Android Lifecycle KTX;<br />    Va boshqalar.</p>
  <p id="VWDD">Qo&#x27;shimcha ma&#x27;lumot olish uchun Kotlin shtati videosiga qarang.</p>
  <p id="IFKO">Umuman olganda, agar siz Android dasturchisi bo&#x27;lsangiz, men sizga Kotlinni o&#x27;rganishingizni maslahat beraman.</p>
  <p id="4b8Q"></p>
  <h2 id="Vatf">Kotlin Multiplatform kross-platforma ishlab chiqish texnologiyasi</h2>
  <p id="mfF0">Kotlin nafaqat Android uchun, balki boshqa platformalar, shuningdek, kross-platformalar uchun ham ishlatilishi mumkin.</p>
  <p id="puvj">Kotlin multiplatformasi - bu JetBrains-dan o&#x27;zaro platformalar ishlab chiqish SDK. Bu texnologiya sizga Kotlin-da umumiy umumiy kod modulini yozish, Android uchun JVM va iOS uchun baytkod uchun LLVM yordamida kompilyatsiya qilish va uni mahalliy ilovalarga kutubxona sifatida ulash imkonini beradi.</p>
  <p id="3wI2"></p>
  <figure id="QK0T" class="m_original">
    <img src="https://media.tproger.ru/uploads/2021/07/Pochemu-stoit-vyuchit-Kotlin-7.png" width="1800" />
  </figure>
  <p id="BPTY">Umumiy kod foydalanuvchi interfeysidan va ayniqsa, maxsus platforma kodidan tashqari deyarli hamma narsani o&#x27;z ichiga olishi mumkinligi sababli, KMM-dan foydalanish ikkala platforma uchun dasturning parallel rivojlanishini tezlashtirish va soddalashtirish imkonini beradi.</p>
  <p id="7Zof">Umumiy kod blokiga qo&#x27;shimcha ravishda, modulda ishlatiladigan platformalarni qo&#x27;llab-quvvatlash uchun funksionallikni amalga oshirishni to&#x27;ldirishga imkon beruvchi platforma modullari mavjud.</p>
  <p id="TSPB">Qo&#x27;llab-quvvatlanadigan platformalarning har biri uchun (bu nafaqat iOS, Android, balki JS, Windows, MacOS va shunga o&#x27;xshashlar), Kotlin Multiplatform platformaning individual xususiyatlariga moslashtirilgan tilning o&#x27;z versiyasidan foydalanadi:</p>
  <p id="0D5n"></p>
  <figure id="1Xj5" class="m_original">
    <img src="https://media.tproger.ru/uploads/2021/07/aXCgk1qHG7U-1.jpg" width="1800" />
  </figure>
  <p id="a90p">KMM (Kotlin Multiplatform Mobile) plagini hali alfa bosqichida (ya&#x27;ni ishlab chiqarishda) bo&#x27;lsa-da, u ko&#x27;pgina ilovalarni ishlab chiqishda sanoatda foydalanishga tayyor. Ko&#x27;pgina kompaniyalar allaqachon o&#x27;z mahsulotlarini Kotlin Multiplatform-da faol rivojlantirmoqda.</p>
  <p id="GE96">Samarali KMM ilovalarini ishlab chiqish uchun ko&#x27;plab tayyor kutubxonalar va ramkalar mavjud. Ular orasida Ktor (tarmoq mijozi), SqlDelight (saqlash), Coroutines, Serialization, Moko (IceRock yechimlari), Badoo yechimlari va boshqalar bor.<br />Va nafaqat mobil ilovalar.</p>
  <p id="Xexn">Kotlin texnologiyalari nafaqat mobil ilovalarni ishlab chiqish imkonini beradi. Kotlin JS veb uchun mo&#x27;ljallangan. Rivojlanishda siz tilning ekotizimidan ikkala yechimdan, shuningdek, JS, JavaScript, TypeScript uchun tayyor kutubxonalardan foydalanishingiz mumkin.</p>
  <p id="38MJ">Kotlin JS tomonidan ishlab chiqilgan eng qiziqarli ramkalardan biri bu Web uchun Compose. Veb-ishlab chiqish uchun Jetpack Compose-ning maxsus versiyasi. Qo&#x27;llab-quvvatlanadigan echimlarning batafsil ro&#x27;yxatini bu erda topishingiz mumkin.</p>
  <p id="tt1U">Bundan tashqari, til backend uchun mos keladi. Bahor kabi ramkalar uni uzoq vaqt davomida faol qo&#x27;llab-quvvatlamoqda.</p>
  <p id="7WCi">Umuman olganda, agar kerak bo&#x27;lsa:</p>
  <p id="edec">    oddiy va tushunarli sintaksisga ega zamonaviy kuchli vosita,<br />    Android uchun dastur yozish texnologiyasi,<br />    platformalararo rivojlanish uchun samarali vosita;<br />    bir xil tilda backend va frontend yozishni xohlaysiz,</p>
  <p id="2owW">keyin siz Kotlinni o&#x27;rganishingiz kerak.</p>
  <p id="pIHh"></p>
  <p id="rqzS">Efirda O&#x60;zbek Dasturchi edi.. Aloqa tamom ... Xayr...</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ashurovblog/bi0kyaG3_S4</guid><link>https://teletype.in/@ashurovblog/bi0kyaG3_S4?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog</link><comments>https://teletype.in/@ashurovblog/bi0kyaG3_S4?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog#comments</comments><dc:creator>ashurovblog</dc:creator><title>Frontend - muammo emas... ishlab chiqaruvchilar va his qilganlar uchun</title><pubDate>Mon, 15 Aug 2022 06:21:45 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/58/df/58df5266-37a2-4e6d-85ae-878e75d351b0.png"></media:content><category>kelajak</category><description><![CDATA[<img src="https://bespoyasov.ru/front-not-pain/img/sad-frontender.jpg"></img>Assalomu Aleykum Efirda O`zbek Dasturchi ..]]></description><content:encoded><![CDATA[
  <figure id="24Ll" class="m_original">
    <img src="https://bespoyasov.ru/front-not-pain/img/sad-frontender.jpg" width="800" />
    <figcaption>@ozbekdasturchi</figcaption>
  </figure>
  <p id="zbUe">Assalomu Aleykum Efirda O&#x60;zbek Dasturchi ..</p>
  <p id="DokF">Bu maqolamiz nima haqida va kim uchun?</p>
  <p id="sZuV">Frontendchilar doimo bombardimon qilinadi.</p>
  <p id="Hjn9">Dizaynerlar sizdan logotipni bir piksel o&#x27;ngga siljitishingizni so&#x27;rashadi, lekin  ular tayyor sahifalarni 100 500 marta takrorlaydi, doim takror ishlashadi .. dizayn bir xil..</p>
  <p id="a0vr">Backendchilar API-ni buzadi...</p>
  <p id="0sGa">Sinovchilar vazifalarni ishlab chiqishga qaytaradilar. orqaga ....</p>
  <p id="jmGb">Menejerlar dahshatli muddatlarni belgilashadi.</p>
  <p id="O0lu">G&#x27;amgin frontenchilar  ular bilan kurashishga harakat qiladi, lekin taslim bo&#x27;lib, odatiy holga tushib qoladi...</p>
  <p id="ixxH"></p>
  <h2 id="UnLb">Frontenderlarning og&#x27;rig&#x27;i</h2>
  <p id="5gzN"></p>
  <p id="E63w">Biz ularga vazifalarni tezroq va yaxshiroq bajarishga yordam berishni, odatdagidan xalos bo&#x27;lishni va ishdan zavqlanishni o&#x27;rganishni xohlaymiz. Siz frontendchimisiz demak maqolamiz siz uchun..</p>
  <p id="Jj5A">Shunday bo&#x27;ldiki, maket dizaynerlari va front-end ishlab chiquvchilari o&#x27;zlari yaratgan narsalarni yaxshi ko&#x27;rishadi. Ular uchun tuzilgan sahifa va yozilgan kod uy hayvonlariga o&#x27;xshaydi.</p>
  <p id="liPt">Va yovuz dizaynerlar kelib, blokni o&#x27;zgartirish yoki sahifadan olib tashlash kerakligini aytishganda, front-end ishlab chiquvchilari xavotirda...bo&#x60;lishadi.. </p>
  <p id="07PT"></p>
  <blockquote id="WgXZ">Axir buyurtma uchun vaqt kam, qayta taxlagacha vaqt ketadiyu...</blockquote>
  <p id="MmR7"></p>
  <p id="Jsw1">Ularning fikriga ko&#x27;ra, ularning g&#x27;oyalari &quot;ho&#x27;l&quot; va o&#x27;sishga imkon bermaydi. Go&#x27;yo jamoa ularga qarshi til biriktirib, qanday ishlashni tushunmayotgandek. Lekin bu, albatta, mutlaqo bema&#x27;nilik.</p>
  <p id="N0Gs"></p>
  <h2 id="Tu4a">Frontendchilar kod uchun pul olmaydi </h2>
  <p id="XEWr"></p>
  <p id="TrrB">Front-end ishlab chiquvchilarning vazifasi Proekt-da kod yozish yoki vazifalarni yopish emas. Ammo ular buni darhol tushunishlari qiyin. </p>
  <p id="edY4"></p>
  <blockquote id="p6gs">Mening ishim kod yozish emasmi? Lekin men buning uchun pul olaman</blockquote>
  <p id="s49Z"></p>
  <p id="uBrR">Buning uchun emas. Qancha qatorlar yozilgani va monitorda qancha soat o&#x27;tkazilayotganiga ahamiyat bermang. Natija muhim - kod oxirida nima qiladi.</p>
  <p id="QrNq">Aslida, front-end ishlab chiqaruvchining vazifasi u ishlayotgan loyihaning foydasi nima ekanligini tushunishdir. Agar kod loyihaga foydalanuvchi muammolarini hal qilishga yordam bersa, natija bor va ishlab chiquvchi yaxshi ishlamoqda. Natija bo&#x27;lmasa - yaxshi bajarilmagan.</p>
  <p id="4XCY"></p>
  <blockquote id="Lnfo">Front-end dasturchining vazifasi loyihaning foydasi nima ekanligini tushunishdir</blockquote>
  <p id="321u"></p>
  <p id="HdNr">Foyda olish yoqimli.  Odamlar mehnat natijalaridan foydalanishlarini ko&#x27;rish ajoyib.</p>
  <p id="YXSl">Ammo ko&#x27;pincha yirik loyihalarda jamoadagi hamma ham natijaga o&#x27;z hissasini ko&#x27;rmaydi. Demak, bularning barchasi &quot;5 dan keyin men ofisda emasman&quot;, &quot;mening ishim vazifani yopish&quot;</p>
  <p id="wCU4">Frontendchilar, dizayner, backender, tester, menejer, mijoz - barchasi teng va bir narsani qiladi: foydalanuvchilar uchun mahsulot ishlab chiqarish hisoblanadi....</p>
  <p id="moM3"></p>
  <blockquote id="lM8y">Ta-a-ak, padazhjdi. Hamma teng, ular mahsulot ishlab chiqaradi, bla bla. Men shunchaki sahifalar tuzyapman. Ular menga maketlarni berishadi, men ...</blockquote>
  <p id="fAr7"></p>
  <p id="E7Qw">Va ko&#x27;p narsa sizning tartibingizga bog&#x27;liq. Frontenderlar quruvchilardir. Me’mor quruvchilarga: “Bu yerda poydevorsiz osmono‘par bino quramiz”, demaydi. Ular uni bekorga yuborishadi, chunki ular osmono&#x27;par binoning qulashini bilishadi. Frontenderlar loyihada quruvchilar bilan bir xil rolga ega.</p>
  <p id="746r">Mo&#x27;rt tuzilishga ega bo&#x27;lgan loyihani masshtablashtirib bo&#x27;lmaydi. Egri arxitekturaga ega dastur o&#x27;ladi va chiqarilmaydi. Ishlab chiquvchilar bularning barchasini oldindan bilishlari mumkin. Shuning uchun muammolar haqida gapirish va ularni jamoa bilan muhokama qilish muhimdir.</p>
  <p id="iCHC"></p>
  <blockquote id="KJBP">Lekin hech kim meni tinglamaydi!</blockquote>
  <p id="4BFr"></p>
  <h2 id="PKDn">Boshqalar muammoni qanday ko&#x27;rishadi?</h2>
  <p id="xdDx"></p>
  <p id="FW0D">Frontendchilar ularning fikriga quloq solmayotganini his qilishadi. Dizaynerlarning fikricha, hamma narsa doimo hammaga tushuntirilishi kerak. Hech kim baxtli emas.</p>
  <p id="Q3sy"></p>
  <blockquote id="UgzK">Lekin frontender mutaxassis. Siz boshqalar bilmagan narsani bilasiz</blockquote>
  <p id="e08p"></p>
  <p id="FbxE">Sizning bilimingiz kuchdir. Sizning fikringiz eshitilishi uchun undan foydalanishni o&#x27;rganing. Va buning uchun sizga kerak bo&#x27;ladi:</p>
  <h3 id="h4Qv">Qichqirishni bas qiling. Siz xirillaganingizda, hammaga ishdan qochayotgandek tuyuladi. Go‘yo bir-ikki sahifani noldan o‘girish hech narsaga arzimaydi, lekin siz juda dangasasiz.</h3>
  <p id="LSlb">Qilayotgan ishingizga kirishni boshlang. &quot;Nima uchun&quot; degan tushuncha bilan topshiriqlarni bajarsangiz, o&#x27;zingizning ishingiz natijasini ko&#x27;rasiz. Hissa yanada sezilarli bo&#x27;ladi - ishlash yanada yoqimli.</p>
  <p id="ZvhR"></p>
  <blockquote id="NWCR">Ha, bunga qanday kirishasiz? Hech kim tushuntirmaydi. Siz so&#x27;rashni boshlaysiz - javob darhol &quot;ishlang, sekinlashmang&quot;</blockquote>
  <p id="TtGY"></p>
  <h2 id="fpDq">Frontendchilar o&#x27;z so&#x27;zlariga ega </h2>
  <p id="Y3dR"></p>
  <p id="LOar">Jamoadagi har bir kishining juda ko&#x27;p ishi, shoshilinch vazifalari va uchrashuvlari bor. Frontender savollariga ko&#x27;pincha javob berilmaydi. Ular vazifalarni, xatolarni to&#x27;playdi, hamma narsa buziladi, eski brauzerlar ularga yashashga ruxsat bermaydi. Koinot normal ishlashiga qarshidek tuyuladi.</p>
  <p id="rNNQ">Bu erda siz birinchi navbatda tinchlanishingiz va hech kimning &quot;sizni dunking&quot; vazifasi yo&#x27;qligini tushunishingiz kerak. Dizayner, menejer va sinovchi sizdan nafratlanishi shart emas. Ammo dizayner ham, menejer ham, mijoz ham loyihadan xavotirda va sifatli ish qilishni xohlaydi.</p>
  <p id="lhea"></p>
  <blockquote id="SONB">Hech kimda &quot;sizni chopish&quot; vazifasi yo&#x27;q.</blockquote>
  <p id="57yT"></p>
  <p id="uUSq">Shu sababli, dizayner unga eskilaridan ko&#x27;ra yaxshiroq ko&#x27;rinadigan yangi echimlarni taklif qiladi. Shunday qilib, qayta dizaynlar, qayta tartiblar va tamom.</p>
  <p id="Mqn4">Bu dizayner har doim oxirgi so&#x27;zni aytadi degani emas. Bu erda dizayner chiroyli tanlovni chizdi. Tanlov mobil qurilmalarda yaxshi ishlashi kerak. Uni moslashtirish qiyin, loyihaga esa vaqt kam. Mobil telefonlar uchun tugallanmagan boshqaruvni bo&#x27;shatib bo&#x27;lmaydi.</p>
  <h3 id="fiNB">Siz tunda bu tanlovni amalga oshirishingiz va dizaynerni tishlari bilan qoralashingiz mumkin. Va siz platforma cheklovlarini tushuntirishingiz, mobil brauzerlardagi ma&#x27;lum xatolar haqida gapirishingiz va mahalliy boshqaruvni taklif qilishingiz mumkin.</h3>
  <p id="ZAD9">Ehtimol, standart tanlov mobil telefonlar uchun juda mos keladi. Har bir inson g&#x27;alaba qozonadi: foydalanuvchilar tanish interfeysga ega bo&#x27;lishadi, dizayner muammoni hal qiladi va siz kechasi o&#x27;tirib, qasam ichishingiz shart emas.</p>
  <p id="PGk4"></p>
  <blockquote id="imnf">Oxirgi so&#x27;z har doim ham dizayner bilan emas</blockquote>
  <p id="kpa5"></p>
  <p id="V36N">Yana bir keng tarqalgan muammo: dizaynerda turli xil chekkalar mavjud. Bir sarlavhada 10 piksel, boshqasida 8, uchinchisida 11 piksel mavjud.</p>
  <p id="PpUw">Aqlga kelgan birinchi fikr nima? Yarim shaffof tartibni tepaga qo&#x27;ying va barcha to&#x27;ldirishni pikselga tekislang. Yaxshi, lekin keyin qayta ishlangan tartib paydo bo&#x27;ladi va u erda barcha to&#x27;ldirishlar avvalgilaridan 1-2 pikselga farq qiladi.</p>
  <p id="tXmE">Bu xato yoki xususiyatmi, aniq emas. Xo&#x27;sh, har qanday holatda, biz yana tartibni qo&#x27;shamiz va chekinishlarni yangi usulda qayta qilamiz. Va keyin yana. Va keyin yana. Va keyin biz juda ko&#x27;p tartib qaerdan kelganini so&#x27;raymiz :-)<br />&quot;Bu erda nimadir qilish kerak&quot;<br />&quot;Bu erda nimadir qilish kerak&quot;</p>
  <h2 id="qRaE">Boshlashdan oldin dizaynerlar bilan chekinishlar tizimini, shrift o&#x27;lchamlarini va bloklarini muhokama qilish, panjaralarni muhokama qilish samaraliroq bo&#x27;ladi. Agar loyihada qoidalar va cheklovlar tizimi mavjud bo&#x27;lsa va jamoa ularga rioya qilsa, hech kim proektda chalkashib ketmaydi.</h2>
  <p id="bJIR"></p>
  <blockquote id="mSo4">Bularning barchasi ajoyib, lekin biz unday emasmiz. Oxirgi so&#x27;z har doim dizaynerda, menejerlar ham ular tomonda, biz front-end ishlab chiquvchilarga quloq solmaymiz. Ular shunday deyishdi - bu o&#x27;zingga zarar etkazish degani, lekin shunday qil..</blockquote>
  <p id="amiH"></p>
  <h2 id="wq1f"> Qanday qilib o&#x27;zingizni eshitirishingiz mumkin</h2>
  <p id="kt9E"></p>
  <p id="uO2J">Front-end ishlab chiquvchilari ishidagi asosiy vositalardan biri bu jamoa bilan muloqot qilish va muammolarni muhokama qilish qobiliyatidir.</p>
  <p id="xVj5"></p>
  <blockquote id="zZt5">Muammolarni dizayner va jamoa bilan muhokama qilish mumkin va kerak</blockquote>
  <p id="2idb"></p>
  <p id="m3OT">Dizaynerlarga muammoni tushuntirish uchun siz ular bilan gaplashishingiz kerak. Funktsiya interfeysini backenderlar bilan muhokama qilish uchun - ham. Menejerlardan nimanidir o&#x27;rganish kerak - siz yana gaplashishingiz kerak. Agar siz muloqot qila olsangiz, siz boshqalarga qaraganda ancha sovuqroqsiz.</p>
  <p id="Nhyl"></p>
  <blockquote id="fzUa">Men xohlayman, lekin bu ishlamayapti ...</blockquote>
  <p id="MUz4"></p>
  <p id="9SAm">Ha, muzokaralar doimo to&#x27;sqinlik qiladi. Dizayner charchagan va aloqaga chiqmaydi, qo&#x27;llab-quvvatlovchining vaqti yo&#x27;q, menejer juda dangasa. Suhbatdosh bilan kelisha olish uchun u muhokamada o&#x27;zi uchun foyda ko&#x27;rishi kerak.<br />Suhbatdoshning muzokaralardan o&#x27;zi uchun foyda ko&#x27;rishi muhimdir</p>
  <p id="ByIR">Menga ayting-chi, grid tizimi dizaynerlarni tarkib sahifalarini chizishdan ozod qiladi va siz ularni o&#x27;zingiz to&#x27;ldirishingiz mumkin. Hujjatlangan API bilan har safar backend qanday ishlashini so&#x27;rashingiz shart emasligini backenderlarga ko&#x27;rsating. Muammolarni muhokama qilishda ular o&#x27;zlari uchun foyda ko&#x27;rishlari bilanoq, vaqt bo&#x27;ladi.</p>
  <p id="1sfA">Muzokaralarda siz doimo pompalashingiz kerak. Avvaliga u ishlamaydi, shuning uchun siz ko&#x27;proq mashq qilishingiz kerak.<br />Muzokaralarda siz pompalashingiz kerak</p>
  <p id="tgs3">Muammolarni hal qilishga qiziqish bildiring. Muammolarni boshqalarga tashlab, yechimlarini kutsangiz, hech narsa ishlamaydi. Ammo jamoaga muammolarni hal qilishda yordam bersangiz, ular sizga ko&#x27;proq ishonishadi va fikringizni tinglashni boshlaydilar.</p>
  <p id="XdI7"></p>
  <p id="1iIS">Yozaversang gap ko&#x60;p shu sababli maqolamizni 2 qism qilamiz.. birinchi qismi tugadi... Keyingi qismlarda maqolamizni davomida ko&#x60;rishguncha..</p>
  <p id="Rwu5"></p>
  <p id="I0lD">Unutmang.. Frontendchi bu universal ishchi emas.. sizga yordam beruvchilar bor..</p>
  <p id="MVKh"></p>
  <p id="MNGu">Aloqa tamom.. xayr efirda O&#x60;zbek Dasturchi edi..</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ashurovblog/Spotifyhamkorliklik</guid><link>https://teletype.in/@ashurovblog/Spotifyhamkorliklik?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog</link><comments>https://teletype.in/@ashurovblog/Spotifyhamkorliklik?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ashurovblog#comments</comments><dc:creator>ashurovblog</dc:creator><title>O`zbek Dasturchi va Spotify hamkorligi</title><pubDate>Mon, 01 Aug 2022 06:13:14 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/af/91/af91864b-b35d-40f7-81c2-d338b32b3dfd.png"></media:content><category>kelajak</category><description><![CDATA[<img src="https://img3.teletype.in/files/e5/4a/e54a10c6-b9c1-4fd2-8f35-abc6c1e44ff8.png"></img>Har kuni butun dunyo bo'ylab yuz millionlab odamlar Spotify-dan musiqa va podkastlarni kashf qilish va tinglash uchun foydalanadilar. Biz har bir insonga ajoyib tavsiyalar berish va dunyoni tinglashda davom etishimiz uchun audio dunyosini hammadan yaxshiroq tushunishga intilamiz.]]></description><content:encoded><![CDATA[
  <p id="E7pB">Har kuni butun dunyo bo&#x27;ylab yuz millionlab odamlar Spotify-dan musiqa va podkastlarni kashf qilish va tinglash uchun foydalanadilar. Biz har bir insonga ajoyib tavsiyalar berish va dunyoni tinglashda davom etishimiz uchun audio dunyosini hammadan yaxshiroq tushunishga intilamiz.</p>
  <p id="SW2b"></p>
  <figure id="KqQ6" class="m_original">
    <img src="https://img3.teletype.in/files/e5/4a/e54a10c6-b9c1-4fd2-8f35-abc6c1e44ff8.png" width="400" />
  </figure>
  <p id="5JTW">Biz Spotify dasturchilar hamjamiyatiga mumkin bo&#x27;lgan eng yaxshi tajribani taklif etuvchi platformalashtirilgan yechimlarni tadqiq qilish va rivojlantirishdan zavqlanamiz. Biz hozirda Spotify’da ma’lumotlarni boshqarish va kashf qilish uchun yangi avlod platformasini qurmoqdamiz. Ushbu platforma ma&#x27;lumotlar amaliyotchilariga yuqori sifatli, mos keladigan va osongina topiladigan ma&#x27;lumotlar to&#x27;plamlarini yaratish va faol boshqarish imkonini berish uchun jamoalarga mukammal tajriba taklif qiladi. Biz kuchli ochiq manba madaniyatini boshqaramiz, katta ochiq kodli kod bazalariga kirib boramiz, ushbu loyihalar atrofida hamjamiyatni shakllantirishga g&#x27;amxo&#x27;rlik qilamiz va o&#x27;z hissamizni qo&#x27;shishga e&#x27;tibor beramiz.</p>
  <p id="vveo"></p>
  <p id="5Vsk"></p>
  <p id="0jPi"></p>
  <figure id="pyWk" class="m_original">
    <img src="https://img4.teletype.in/files/f3/09/f3091825-43fe-4dfb-87b0-608c70043a5c.jpeg" width="1176" />
  </figure>
  <p id="ufXt">Shu sabali O&#x60;zbek Dastuchi rivojlanib borayotgan dasturchilar jamiyati bilan hamkorligda yangi lohiyani boshladik..</p>
  <p id="Z9nf"></p>
  <p id="Phmf">Hamkorligimiz davomida siz biz bilan: </p>
  <p id="JX5D">     Maʼlumotlar platformasi komponentlarini birlashtiruvchi va Spotify boʻylab maʼlumotlar muhandislari va jamoalariga maʼlumotlar obʼyektlarini hamkorlik qilish, kashf qilish, boshqarish va nazorat qilishda yordam beruvchi Backstage plaginimiz Data Hubga boshchilik qiling va hissa qoʻshing.<br />     Foydalanuvchilarimizni tushunish, shuningdek, ma&#x27;lumotlar platformasi komponentlari xususiyatlari va cheklovlarini tushunish uchun ko&#x27;p funktsiyali jamoamiz bilan yaqindan hamkorlik qiling.<br />     Kengaytiriladigan, sinovdan o&#x27;tkaziladigan, parvarish qilinadigan va yuqori sifatli kodni taqdim eting.<br />     Bilimlarni baham ko&#x27;ring, standart metodologiyalarni targ&#x27;ib qiling va Spotify-ning eng yaxshi veb-muhandislari bilan hamkorlik qiling.<br />     Sizga qiziqarli ish, dam olish kunlarida yangi ko&#x27;nikmalarga ega bo&#x27;lish erkinligi, o&#x27;qish guruhlari va turli ichki o&#x27;quv kurslarini taqdim etish orqali shaxsiy o&#x27;sishingizni qo&#x27;llab-quvvatlaydigan muhitda ishlang.</p>
  <p id="VEJ8"></p>
  <p id="7zlv">Biz taqsimlangan ishchi kuchimiz, bu guruh a&#x27;zolarimizga ular uchun eng mos ish rejimini topishga imkon beradi!<br />     Dunyoning qayerida? Bu rol uchun u bizning ish joyimiz bo&#x27;lgan va ish soatlari ichida joylashgan Amerika mintaqasida bo&#x27;lishi mumkin.<br />     Ish vaqti? Biz hamkorlik qilish uchun Sharqiy standart vaqt zonasida ishlaymiz va barchadan o&#x27;sha vaqt zonasida joylashishini so&#x27;raymiz.<br />     Uydan ishlash o&#x27;rniga ofisni afzal ko&#x27;rasizmi? Muammo emas! Sizning ish afzalliklaringiz uchun bizda juda ko&#x27;p imkoniyatlar mavjud.</p>
  <p id="K5ln"></p>
  <p id="d2Lp">O&#x60;zbek Dasturchi innovatsiion markazi taklif etgan Ta&#x60;lim labirintini o&#x60;qib tugatgin va Spotifyda New Yorkda ish boshla...</p>
  <p id="Bmdb"></p>
  <p id="P2ow">Hamma sening qo&#x60;linga, biz bir jamoa, bir maqsad, bir qadriyatga egamiz.. KEljakni o&#x60;zimi quramiz...</p>

]]></content:encoded></item></channel></rss>