<?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: Diyor Kadirkulov</title>
    <description>The latest articles on DEV Community by Diyor Kadirkulov (@diyordev).</description>
    <link>https://dev.to/diyordev</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%2F1013762%2F9701c69e-695d-4e3e-831d-178850915135.jpg</url>
      <title>DEV Community: Diyor Kadirkulov</title>
      <link>https://dev.to/diyordev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/diyordev"/>
    <language>en</language>
    <item>
      <title>Qanday qilib SEO ni yaxshilash mumkin?</title>
      <dc:creator>Diyor Kadirkulov</dc:creator>
      <pubDate>Sat, 01 Feb 2025 10:42:32 +0000</pubDate>
      <link>https://dev.to/diyordev/qanday-qilib-seo-ni-yaxshilash-mumkin-45dc</link>
      <guid>https://dev.to/diyordev/qanday-qilib-seo-ni-yaxshilash-mumkin-45dc</guid>
      <description>&lt;p&gt;SEO(Search Engine Optimization) sizga web-saytingizni Google, Yandex va shunga o'xshash qidiruv tizimlarida yuqorida qismda chiqishni ta'minlab, web-saytingizga ko'proq traffic hamda potensial mijozlarni olib kelishiga yordam beradi.&lt;/p&gt;

&lt;p&gt;Xo'sh qanday qilib SEO ni optimallashtirish mumkin ?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. On-Page SEO ( Sayt kontenti va kodni optimallashtirish)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To'g'ri kalit so'zlardan foydalaning&lt;br&gt;
Google Keyword Planner, Ahrefs yoki Ubersuggest yordamida yuqori trafikli, kam raqobatli kalit so'zlarni toping.&lt;/p&gt;

&lt;p&gt;Kalit so'zlarni quyidagicha joylashtiring&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Title Tag: "Best Laptops for Gaming - 2024"&lt;/li&gt;
&lt;li&gt;Meta Description: "Discover the top gaming laptops with high performance and battery life."&lt;/li&gt;
&lt;li&gt;Headings &lt;/li&gt;
&lt;li&gt;URL (example.com/best-gaming-laptops)&lt;/li&gt;
&lt;li&gt;First 100 words of content&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Alt Text for images:&lt;br&gt;
&lt;code&gt;&amp;lt;img src="laptop.jpg" alt="Best gaming laptop 2024 with RGB keyboard"&amp;gt;&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Yuqori sifatli, foydali kontent yozing&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Google EEAT (Tajriba, Ekspertiza, Vakolat, Ishonchlilik) kalit!&lt;/li&gt;
&lt;li&gt;Uzoq muddatli, qimmatli kontent yarating (bloglar uchun 1500+ soʻz).&lt;/li&gt;
&lt;li&gt;Tez-tez so'raladigan savollar, bosqichma-bosqich qo'llanmalar va amaliy tadqiqotlarni qo'shing.&lt;/li&gt;
&lt;li&gt;Kontentni muntazam yangilab turing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;URL larni qisqa va o'qishga oson qiling:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;❌ example.com/p=123
✅ example.com/best-gaming-laptops

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Sahifa tezligini oshiring&lt;/strong&gt;&lt;br&gt;
Tezlikni tahlil qilish va yaxshilash uchun Google PageSpeed ​​Insights-dan &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;foydalaning.&lt;/li&gt;
&lt;li&gt;TinyPNG yoki WebP formati kabi vositalar yordamida tasvirlarni optimallashtiring.&lt;/li&gt;
&lt;li&gt;Tasvirlar uchun lazy yuklashni yoqing:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;img src="image.webp" loading="lazy" /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;CSS va JavaScript-ni minimallashtiring (Gzip, Brotli siqishni foydalaning).&lt;/li&gt;
&lt;li&gt;Tezroq global yuklash uchun CDN (Cloudflare, Fastly) dan foydalaning.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Web-saytni mobil telefonlarga ham responsive qiling&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Qidiruvlarning 60% dan ortig'i mobil qurilmada sodir bo'ladi!&lt;/li&gt;
&lt;li&gt;Responsive dizayndan foydalaning (CSS Flexbox, Grid, media so'rovlari).&lt;/li&gt;
&lt;li&gt;Google-ning mobil qurilmalarga mosligi testi bilan tekshiring.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bulardan tashqari yana ko'plab SEO ni optimallashtirish uchun maxsus usullar mavjuddir. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>html</category>
      <category>uz</category>
    </item>
    <item>
      <title>Web Accessibility nima?</title>
      <dc:creator>Diyor Kadirkulov</dc:creator>
      <pubDate>Sat, 01 Feb 2025 09:58:28 +0000</pubDate>
      <link>https://dev.to/diyordev/web-accessibility-nima-bib</link>
      <guid>https://dev.to/diyordev/web-accessibility-nima-bib</guid>
      <description>&lt;p&gt;Internetga kirish imkoniyati (ko‘pincha A11y deb qisqartiriladi) veb-saytlar va veb-ilovalar hamma, jumladan, nogironlar ham foydalanishi mumkin bo‘lishini ta’minlaydi. Bunga ko'rish, eshitish, vosita va kognitiv nuqsonlari bo'lgan shaxslar kiradi.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nima uchun Accessibility muhim?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inklyuzivlik - har bir inson raqamli ma'lumotni qabul qilish imkoniyatiga ega bo'lishi kerak.&lt;/li&gt;
&lt;li&gt;Qonuniy muvofiqlik - Ko'pgina mamlakatlarda kirish mumkin bo'lgan veb-saytlarni talab qiluvchi qonunlar mavjud (masalan, WCAG, ADA).&lt;/li&gt;
&lt;li&gt;SEO afzalliklari - Qidiruv mexanizmlari kirish mumkin bo'lgan veb-saytlarni afzal ko'radi.&lt;/li&gt;
&lt;li&gt;Hamma uchun yaxshiroq UX – Foydalanish imkoniyatlari odatda hamma uchun qulaylikni yaxshilaydi.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Veb-saytni kirish imkoniyatiga ega qilish nafaqat muvofiqlik, balki vebni hamma uchun ochiq qilishdir! WCAG ko'rsatmalariga rioya qilish, semantik HTML-dan foydalanish va haqiqiy foydalanuvchilar bilan sinovdan o'tkazish barcha uchun yaxshi tajribani ta'minlaydi.&lt;/p&gt;

</description>
      <category>html</category>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>HTML Datalist tegi</title>
      <dc:creator>Diyor Kadirkulov</dc:creator>
      <pubDate>Sat, 01 Feb 2025 09:36:10 +0000</pubDate>
      <link>https://dev.to/diyordev/html-datalist-tegi-1kh4</link>
      <guid>https://dev.to/diyordev/html-datalist-tegi-1kh4</guid>
      <description>&lt;p&gt;HTML Datalist tegi huddi  tegiga o'xshash har xil optisiyalar tanlash uchun foydalaniladigan teg. Lekin ulardan foydalanish holatlari xar hil. Quyida misol tariqasida kod keltiraman:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;form action="/action_page.php"&amp;gt;&lt;br&gt;
  &amp;lt;input list="browsers" name="browser"&amp;gt;&lt;br&gt;
  &amp;lt;datalist id="browsers"&amp;gt;&lt;br&gt;
    &amp;lt;option value="Edge"&amp;gt;&lt;br&gt;
    &amp;lt;option value="Firefox"&amp;gt;&lt;br&gt;
    &amp;lt;option value="Chrome"&amp;gt;&lt;br&gt;
    &amp;lt;option value="Opera"&amp;gt;&lt;br&gt;
    &amp;lt;option value="Safari"&amp;gt;&lt;br&gt;
  &amp;lt;/datalist&amp;gt;&lt;br&gt;
  &amp;lt;input type="submit"&amp;gt;&lt;br&gt;
&amp;lt;/form&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Datalist tegining  tegidan farqli tomoni  tegida ko'rsatilgan optsiyalar  dagi  larga o'xshab foydalanuvchiga ko'rinib turmaydi. Foydalanuvchi bo'sh fieldga yozishni boshlagan payti, unda optionlar ko'rinishni boshlaydi va shu yerdan u o'ziga kerakli bo'lgan optionni tanlasa bo'ladi.&lt;/p&gt;

&lt;p&gt;Ya'ni foydalanuvchi  tegida faqat berilgan optionlardan hech bo'lmaganida bittasini &lt;strong&gt;tanlashga&lt;/strong&gt; majbur,  tegida esa userga faqatgina takliflar chiqadi va user ularni tanlashga majbur emas o'zi xohlagan optionni yozib shu optionni kiritishi va jo'natishi mumkin.&lt;/p&gt;

&lt;p&gt; tegini  orasidagi farqlar shulardan iborat.&lt;/p&gt;

</description>
      <category>html</category>
      <category>css</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Adaptive va Repsonsive dizayn farqi</title>
      <dc:creator>Diyor Kadirkulov</dc:creator>
      <pubDate>Tue, 07 Jan 2025 14:09:41 +0000</pubDate>
      <link>https://dev.to/diyordev/adaptive-va-repsonsive-dizayn-farqi-3jmh</link>
      <guid>https://dev.to/diyordev/adaptive-va-repsonsive-dizayn-farqi-3jmh</guid>
      <description>&lt;p&gt;Intervyularda HTML/CSS mavzularida ko'p tushadigan savollardan biri bu Responsive va Adaptive dizan farqi so'raladi. Umuman olganda web dasturlashda bu terminlarni siz ko'p uchratasiz. Xo'sh Adaptive va Responsice dizayn o'rtasida qanday farq bor?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Responsive Design&lt;/strong&gt; - bu barcha devayslar uchun(desktop, tablet, mobile) bir xil moslashuvchan layout yoki component ishlatishdir. &lt;/p&gt;

&lt;p&gt;Keling bir oddiy misol olamiz. Sizning saytingizda Header layouti bor. Agar sizning Header layoutingiz barcha ekran (screen) o'lchamlariga(size) moslashib ketadigan qilib yozgan bo'lsangiz bu layout responsive qilib yozilgan bo'ladi. Qisqacha qilib pasda rasmda tushuntirishga harakat qilaman.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh7q28g4n6mlffe81b7o6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh7q28g4n6mlffe81b7o6.png" alt="Responsive Design" width="800" height="595"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Rasmda ko'rsatilgandek sizdagi Header layout bir martta yozilgan va barcha qurilma (device) o'lchamlariga tushib ketaveradi.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adaptive Design&lt;/strong&gt; - siz har biz qurilma(device) uchun alohida layoutlar yozib chiqasiz. Misol uchun, tepada aytilgan Header layoutingizni Mobile, Desktop, Tablet uchun alohida layout yasaysiz va har bir qurilma uchun o'z layoutini ishlatasiz. Misol uchun Mobil qurilmalar uchun(mobile devices) Mobile Header layouti. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1uu4opfvzxjvbs8e88en.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1uu4opfvzxjvbs8e88en.png" alt="Differences of Adaptive and Responsive design" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ushbu jadvalda Key differences ko'rsatilgan.&lt;/p&gt;

&lt;p&gt;Qaysi birini tanlash kerak?&lt;br&gt;
Adaptive design:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ma'lum bir qurilmalarga moslashtirilgan maxsus tajriba kerak bo‘lsa.&lt;/li&gt;
&lt;li&gt;Foydalanuvchilaringiz qaysi qurilmalardan foydalanishini aniq bilsangiz.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Responsive design:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keng diapazonli qurilmalar uchun moslashuvchan yechim kerak bo‘lsa.&lt;/li&gt;
&lt;li&gt;Saytni kelajakda yangi qurilmalarga tayyor qilishni istasangiz.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ko‘pchilik hollarda responsive design ko‘proq afzal ko‘riladi, chunki u moslashuvchan va boshqarish oson. Ammo, adaptive design ba'zi maxsus ehtiyojlar uchun foydali bo‘lishi mumkin.&lt;/p&gt;

</description>
      <category>html</category>
      <category>css</category>
      <category>design</category>
      <category>ux</category>
    </item>
    <item>
      <title>𝑺𝒕𝒂𝒕𝒆 𝒎𝒂𝒏𝒂𝒈𝒆𝒎𝒆𝒏𝒕 𝒘𝒊𝒕𝒉 𝒄𝒖𝒓𝒓𝒊𝒏𝒈 𝒊𝒏 𝑹𝒆𝒂𝒄𝒕.𝒋𝒔</title>
      <dc:creator>Diyor Kadirkulov</dc:creator>
      <pubDate>Sun, 28 May 2023 07:23:49 +0000</pubDate>
      <link>https://dev.to/diyordev/-208c</link>
      <guid>https://dev.to/diyordev/-208c</guid>
      <description>&lt;p&gt;Currying is a powerful technique that can greatly simplify state management and promote code reuse. Let’s explore how currying works and see an example of its implementation in a React component.&lt;/p&gt;

&lt;p&gt;𝑩𝒆𝒏𝒆𝒇𝒊𝒕𝒔 𝒐𝒇 𝑪𝒖𝒓𝒓𝒚𝒊𝒏𝒈:&lt;br&gt;
By using currying in this example, we achieve several benefits:&lt;/p&gt;

&lt;p&gt;𝐂𝐨𝐝𝐞 𝐫𝐞𝐮𝐬𝐚𝐛𝐢𝐥𝐢𝐭𝐲: The handleChange function can be reused for any input field with minimal modifications.&lt;br&gt;
𝐂𝐨𝐧𝐜𝐢𝐬𝐞𝐧𝐞𝐬𝐬: The code is significantly reduced by eliminating redundant event handler functions for each input field.&lt;br&gt;
𝐌𝐚𝐢𝐧𝐭𝐚𝐢𝐧𝐚𝐛𝐢𝐥𝐢𝐭𝐲l: Modifications or enhancements to the state management logic can be made in a single place, improving code maintainability.&lt;br&gt;
Readability: Currying makes the code more readable by clearly separating the state update logic for each input field.&lt;/p&gt;

&lt;p&gt;𝑪𝒐𝒏𝒄𝒍𝒖𝒔𝒊𝒐𝒏:&lt;br&gt;
Currying is a valuable technique in React.js that simplifies state management, promotes code reuse, and enhances code readability. By utilizing currying, we can reduce code duplication and create more maintainable components. Give it a try in your next React project and experience the benefits firsthand!&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>JavaScriptda ma'lumot turlari (Data Types)</title>
      <dc:creator>Diyor Kadirkulov</dc:creator>
      <pubDate>Tue, 24 Jan 2023 07:54:09 +0000</pubDate>
      <link>https://dev.to/diyordev/javascriptda-malumot-turlari-data-types-2omi</link>
      <guid>https://dev.to/diyordev/javascriptda-malumot-turlari-data-types-2omi</guid>
      <description>&lt;p&gt;&lt;strong&gt;JavaScript dasturlash tilida 8 ta ma'lumot turlari mavjud.&lt;/strong&gt;&lt;br&gt;
Bular: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;String &lt;/li&gt;
&lt;li&gt;Number&lt;/li&gt;
&lt;li&gt;Bigint&lt;/li&gt;
&lt;li&gt;Boolean&lt;/li&gt;
&lt;li&gt;Undefined&lt;/li&gt;
&lt;li&gt;Null&lt;/li&gt;
&lt;li&gt;Symbol&lt;/li&gt;
&lt;li&gt;Object&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Undan tashqari Obyektning(Object DataTypes) ma'lumot turlari ham mavjud. Ular 3 ga bo'linadi:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Object&lt;/li&gt;
&lt;li&gt;Array&lt;/li&gt;
&lt;li&gt;Date &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Namunalar:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Numbers:
let length = 16;
let weight = 7.5;

// Strings:
let color = "Yellow";
let lastName = "Johnson";

// Booleans
let x = true;
let y = false;

// Object:
const person = {firstName:"John", lastName:"Doe"};

// Array object:
const cars = ["Saab", "Volvo", "BMW"];

// Date object:
const date = new Date("2022-03-25");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Ma'lumot turlarini bilish o'zi nega muhim ?&lt;/strong&gt;&lt;br&gt;
Dasturlashda o'zgaruvchilar bilan ishlash va ular ustida boshqa amallar bajarishda uning qanday ma'lumot turida ekanligini bilish muhim omil hisoblanadi. Misol uchun sizda 2 ta &lt;strong&gt;x va y&lt;/strong&gt; deb nomlanuvchi o'zgaruvchilar bor. Ular mana bu ko'rinishda:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var x = "4"
var y = 2
var result = x + y

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agar siz &lt;em&gt;String&lt;/em&gt;  va &lt;em&gt;Number&lt;/em&gt; ma'lumot turlarini bilsangiz, &lt;strong&gt;result&lt;/strong&gt; qanday qiymatga teng bo'lishini bilasiz. Hozirgi holatda JavaScript sizga &lt;strong&gt;result = "42"&lt;/strong&gt; qiymatni qaytaradi. Sababi &lt;strong&gt;x = "4"&lt;/strong&gt; String ma'lumot turida turbdi va JavaScriptda &lt;strong&gt;+&lt;/strong&gt; belgisi Number ma'lumot turini String ma'lumot turiga aylantiradi va amalni String ma'lumot turida amalga oshiradi. Lekin biz ifodaning ishorasini o'zgartirsak, hodisa boshqa tomonga o'zgaradi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var x = "4"
var y = 2
var result = x - y // Javob: result = 2 (in number data type)

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu yerda y ning qiymati &lt;strong&gt;Number&lt;/strong&gt; ma'lumot turida va - ishorasi faqat o'ziga tegishli bo'lgan o'zgaruvchiga qarab keyingi o'zgaruvchiga ta'sir qiladi. &lt;/p&gt;

&lt;p&gt;Qolgan ma'lumot turlarini quyida &lt;a href="https://www.w3schools.com/js/js_datatypes.asp" rel="noopener noreferrer"&gt;ko'rsatilgan&lt;/a&gt; web saytida yana to'liqroq va mashqlar bilan birgalikda tushunib olishingiz mumkin.&lt;/p&gt;

</description>
      <category>gratitude</category>
    </item>
  </channel>
</rss>
