<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Muhammad Aziz</title><subtitle>Mobile Developer from Uzbekistan</subtitle><author><name>Muhammad Aziz</name></author><id>https://teletype.in/atom/mamasodikov</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/mamasodikov?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@mamasodikov?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mamasodikov"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/mamasodikov?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-22T08:42:22.937Z</updated><entry><id>mamasodikov:zVYApf3G1ct</id><link rel="alternate" type="text/html" href="https://teletype.in/@mamasodikov/zVYApf3G1ct?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mamasodikov"></link><title>Summary WASM vs. JS</title><published>2024-05-31T04:45:17.410Z</published><updated>2024-05-31T04:53:29.174Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/dd/96/dd96d70f-cb9b-413f-a83d-6b045da999a0.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/df/9d/df9df793-0fd1-46e8-8729-a2524e760c6b.png&quot;&gt;- Why WASM is the future - https://www.ramotion.com/blog/is-webassembly-the-future/</summary><content type="html">
  &lt;figure id=&quot;eLvP&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/df/9d/df9df793-0fd1-46e8-8729-a2524e760c6b.png&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;kIQP&quot;&gt;&lt;br /&gt;&lt;br /&gt;- Why WASM is the future - https://www.ramotion.com/blog/is-webassembly-the-future/&lt;/p&gt;
  &lt;p id=&quot;yNyc&quot;&gt;- Why we chose WASM for EDGE COMPUTING (Cloud Computing) - https://thenewstack.io/why-we-chose-webassembly-wasm-for-our-edge-runtime/&lt;/p&gt;
  &lt;p id=&quot;Pz9Y&quot;&gt;- WASM vs. JS. Which one is better? - &lt;a href=&quot;https://www.adservio.fr/post/webassembly-vs-javascript-which-is-better#el10&quot; target=&quot;_blank&quot;&gt;https://www.adservio.fr/post/webassembly-vs-javascript-which-is-better#el10&lt;/a&gt;&lt;br /&gt;+ &lt;a href=&quot;https://www.spec-india.com/blog/webassembly-vs-javascript&quot; target=&quot;_blank&quot;&gt;https://www.spec-india.com/blog/webassembly-vs-javascript&lt;/a&gt;&lt;/p&gt;
  &lt;h3 id=&quot;bkIf&quot;&gt;&lt;br /&gt;-------&lt;/h3&gt;
  &lt;p id=&quot;hQnG&quot;&gt;&lt;br /&gt;&lt;strong&gt;1. Is WebAssembly the Future? - Ramotion&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;7GXZ&quot;&gt;This article highlights WebAssembly (WASM) as a transformative technology for web development. It emphasizes WASM&amp;#x27;s ability to run code at near-native speed, its potential for high-performance applications, and its growing adoption by major tech companies. The article concludes that while WASM won&amp;#x27;t replace JavaScript, it will complement it, providing significant performance improvements for specific use cases.&lt;/p&gt;
  &lt;h4 id=&quot;So8K&quot;&gt;2. Why We Chose WebAssembly (WASM) for Our Edge Runtime - The New Stack&lt;/h4&gt;
  &lt;p id=&quot;lqiO&quot;&gt;Unavailable for direct review due to access restrictions.&lt;/p&gt;
  &lt;h4 id=&quot;CWid&quot;&gt;3. WebAssembly vs JavaScript: Which is Better? - Adservio&lt;/h4&gt;
  &lt;p id=&quot;CiLg&quot;&gt;This article provides a detailed comparison between WASM and JavaScript, discussing their respective advantages and disadvantages. It focuses on performance, security, compatibility, and use cases, concluding that the choice depends on specific project requirements. WASM excels in performance-critical applications, while JavaScript remains essential for most web development tasks due to its flexibility and widespread use.&lt;/p&gt;
  &lt;h4 id=&quot;SbSl&quot;&gt;4. WebAssembly vs JavaScript: Which One to Choose? - SPEC INDIA&lt;/h4&gt;
  &lt;p id=&quot;xzT8&quot;&gt;This article compares WASM and JavaScript across various parameters, including performance, security, loading time, and memory management. It outlines scenarios where each technology is more suitable and highlights the importance of context in choosing the right tool. The article suggests that WASM is ideal for compute-intensive tasks, whereas JavaScript is better for general web development and UI interactions.&lt;/p&gt;
  &lt;h3 id=&quot;IQQQ&quot;&gt;Conclusion&lt;/h3&gt;
  &lt;p id=&quot;2RmQ&quot;&gt;Based on the detailed analysis from the available articles, WebAssembly (WASM) is generally considered superior for performance-critical and compute-intensive applications due to its near-native execution speed and efficiency. However, JavaScript remains more versatile and essential for general web development, benefiting from a vast ecosystem of libraries, frameworks, and developer support.&lt;/p&gt;
  &lt;h3 id=&quot;73Am&quot;&gt;Key Points&lt;/h3&gt;
  &lt;p id=&quot;8Bai&quot;&gt;🟢 &lt;strong&gt;Performance&lt;/strong&gt;: WASM offers near-native speed, making it ideal for high-performance tasks.&lt;/p&gt;
  &lt;p id=&quot;HGfw&quot;&gt;🔒 &lt;strong&gt;Security&lt;/strong&gt;: WASM runs in a sandboxed environment, providing enhanced security.&lt;/p&gt;
  &lt;p id=&quot;2AxW&quot;&gt;💻 &lt;strong&gt;Compatibility&lt;/strong&gt;: JavaScript is compatible with all browsers and devices, ensuring widespread use.&lt;/p&gt;
  &lt;p id=&quot;FxSg&quot;&gt;🔧 &lt;strong&gt;Use Cases&lt;/strong&gt;: WASM is best for compute-intensive apps, while JavaScript excels in UI and general web development.&lt;/p&gt;
  &lt;p id=&quot;uyYi&quot;&gt;🛠️ &lt;strong&gt;Flexibility&lt;/strong&gt;: JavaScript&amp;#x27;s flexibility and extensive libraries make it suitable for diverse applications.&lt;/p&gt;
  &lt;p id=&quot;ZWRp&quot;&gt;🚀 &lt;strong&gt;Loading Time&lt;/strong&gt;: WASM has faster loading times for heavy computations; JavaScript is quicker for simple tasks.&lt;/p&gt;
  &lt;p id=&quot;Dqg1&quot;&gt;🗂️ &lt;strong&gt;Memory Management&lt;/strong&gt;: JavaScript has built-in garbage collection, simplifying memory management.&lt;/p&gt;
  &lt;p id=&quot;A3z4&quot;&gt;👥 &lt;strong&gt;Community&lt;/strong&gt;: JavaScript benefits from a large developer community and extensive documentation.&lt;/p&gt;
  &lt;p id=&quot;5lwk&quot;&gt;🔍 &lt;strong&gt;Debugging&lt;/strong&gt;: Debugging is more straightforward in JavaScript due to its interpreted nature.&lt;/p&gt;
  &lt;p id=&quot;5cMZ&quot;&gt;📈 &lt;strong&gt;Adoption&lt;/strong&gt;: WASM is increasingly adopted for specialized use cases, complementing JavaScript.&lt;/p&gt;
  &lt;h3 id=&quot;Ka5J&quot;&gt;Summary&lt;/h3&gt;
  &lt;ol id=&quot;B7ex&quot;&gt;
    &lt;li id=&quot;v0v3&quot;&gt;&lt;strong&gt;Performance Comparison&lt;/strong&gt;: WASM offers better performance for intensive tasks; JavaScript is better for general purposes.&lt;/li&gt;
    &lt;li id=&quot;7Qcr&quot;&gt;&lt;strong&gt;Security Considerations&lt;/strong&gt;: WASM provides a more secure environment due to its sandboxing.&lt;/li&gt;
    &lt;li id=&quot;QJzB&quot;&gt;&lt;strong&gt;Development Flexibility&lt;/strong&gt;: JavaScript is more versatile and widely supported.&lt;/li&gt;
    &lt;li id=&quot;1jGN&quot;&gt;&lt;strong&gt;Compatibility and Ecosystem&lt;/strong&gt;: JavaScript&amp;#x27;s compatibility across browsers and devices makes it indispensable.&lt;/li&gt;
    &lt;li id=&quot;gKRQ&quot;&gt;&lt;strong&gt;Use Cases&lt;/strong&gt;: WASM is ideal for high-performance applications; JavaScript suits most web development needs.&lt;/li&gt;
    &lt;li id=&quot;czY4&quot;&gt;&lt;strong&gt;Memory Management&lt;/strong&gt;: JavaScript&amp;#x27;s automatic garbage collection simplifies development.&lt;/li&gt;
    &lt;li id=&quot;RtVI&quot;&gt;&lt;strong&gt;Community Support&lt;/strong&gt;: JavaScript has a vast ecosystem and robust community support.&lt;/li&gt;
    &lt;li id=&quot;nmS0&quot;&gt;&lt;strong&gt;Loading Times&lt;/strong&gt;: WASM is faster for complex computations; JavaScript for simpler tasks.&lt;/li&gt;
    &lt;li id=&quot;yGzf&quot;&gt;&lt;strong&gt;Debugging and Development&lt;/strong&gt;: JavaScript offers easier debugging due to its interpreted nature.&lt;/li&gt;
    &lt;li id=&quot;zEuj&quot;&gt;&lt;strong&gt;Future Trends&lt;/strong&gt;: WASM&amp;#x27;s adoption is growing, especially for specialized, performance-critical tasks.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;8uUu&quot;&gt;&lt;em&gt;©️ Summary by ChatGPT&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;GGMi&quot;&gt;Flutter Uzbekistan: &lt;a href=&quot;http://t.me/flutterblogs&quot; target=&quot;_blank&quot;&gt;t.me/flutterblogs&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>mamasodikov:CIKg47whOX8</id><link rel="alternate" type="text/html" href="https://teletype.in/@mamasodikov/CIKg47whOX8?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mamasodikov"></link><title>Ayzek Azimov: Hayot, jamiyat va ijod haqida hikmatlar.</title><published>2024-01-14T16:41:31.546Z</published><updated>2024-01-14T16:41:31.546Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/34/65/3465dce2-f9fd-44f5-a617-4506e2e71939.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/73/45/73456924-fa60-4dcc-96f7-a955d9d13c84.png&quot;&gt;Tarixiy jarayon shunday nuqtaga keldiki, endi insoniyatga dushmanlik qilish, yovlashish mumkin emas. Yerdagi odamlar bir-birlari bilan do‘stlashishlari lozim. Men, shu g‘oyani o‘z asarlarimda alohida ta’kidlab kelaman…</summary><content type="html">
  &lt;p id=&quot;6biu&quot;&gt;&lt;em&gt; Tarixiy jarayon shunday nuqtaga keldiki, endi insoniyatga dushmanlik qilish, yovlashish mumkin emas. Yerdagi odamlar bir-birlari bilan do‘stlashishlari lozim. Men, shu g‘oyani o‘z asarlarimda alohida ta’kidlab kelaman…&lt;/em&gt;&lt;/p&gt;
  &lt;figure id=&quot;Xzma&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/73/45/73456924-fa60-4dcc-96f7-a955d9d13c84.png&quot; width=&quot;1200&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;TJa9&quot;&gt;&lt;em&gt;Ayzek Azimov 1920 yil 2 yanvarda Rossiyadagi Smolensk shahriga yaqin qishloqda tug‘ilgan. 1923 yili uning ota-onasi Amerika Qo‘shma Shtatlariga ko‘chib, Nyu-York shahrining Bruklin tumanida yashay boshlaganlar. 1935 yilda o‘rta maktabni tugatgan Ayzek bir yil kollejda ta’lim oladi, so‘ng o‘z shahridagi Kolumbiya universitetining kimyo fakultetiga o‘qishga kiradi. U 1939 yilda biokimyo bakalavri, 1941 yilda biokimyo magistri darajalarini yoqlaydi. U o‘z mutaxassisligi bo‘yicha bir qancha muddat ishlagach, 1945 yilda harbiy xizmatga chaqiriladi. 1946 yili uyiga qaytadi va aspiranturaga kiradi. 1948 yili uni tugatib, biokimyo doktori darajasini oladi. 1949 yildan Boston shahri universitetining meditsina fakultetida dars bera boshladi. 1951 yilda assistentlik, 1955 yilda dotsentlik unvoniga sazovor bo‘ldi. Bu maskanda, u 1958 yildan maosh olmay faoliyat yurita boshladi, sababi adabiyot jabhasida yaxshigina pul topayotgan edi. 1979 yilda unga professor unvoni berilgan.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;Azimovning birinchi ““Vest”da qolib ketganlar” fantastik hikoyasi 1939 yilda “Amazing Stories” (“Ajabtovur voqealar”) jurnalida chop etildi. Shundan so‘ng, u yana o‘ntacha kichik asarlarini e’lon qildi. Lekin, 1941 yilda bosilgan “Tunning boshlanishi” hikoyasi dovrug‘ qozondi va u mashhur yozuvchiga aylandi. Aytib o‘tish joizki, 1968 yilda Amerika fantast-yozuvchilari assotsiatsiyasi ushbu asarni butun tarixdagi eng zo‘r hikoya deb tanladi. U ikki marta ekranlashtirildi ham. Shu davrdan Ayzek Azimovning ijodi gullab-yashnay boshladi. U birin-ketin robotlar haqidagi nom qozongan asarlarini yoza boshladi. Robotexnikaning uch qonunini ishlab chiqdi. Turli mukofotlarga sazovor bo‘lgan “Asoslanish” nomli romanlar turkumini boshladi. U to 1958 yilga qadar juda sermahsul ijod qildi. Shu davrdan boshlab esa ilmiy-ommabop risolalar ham bita boshladi.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;Ayzek Azimov 1992 yil 6 aprelda yurak va buyrak xastaligidan vafot etdi.&lt;/em&gt;&lt;/p&gt;
  &lt;figure id=&quot;g9Qs&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/bc/d6/bcd65517-0ad4-4733-bfbf-3fe9509ec4b3.png&quot; width=&quot;730&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;xy1A&quot;&gt;Tarixiy jarayon shunday nuqtaga keldiki, endi insoniyatga dushmanlik qilish, yovlashish mumkin emas. Yerdagi odamlar bir-birlari bilan do‘stlashishlari lozim. Men, shu g‘oyani o‘z asarlarimda alohida ta’kidlab kelaman…&lt;/p&gt;
  &lt;p id=&quot;Ni1n&quot;&gt;Mayli, barcha kishilar bir-birlarini yaxshi ko‘rmasinlar, biroq ular orasidagi nafratni albatta yo‘qotish shart.&lt;/p&gt;
  &lt;p id=&quot;PAvW&quot;&gt;Ilmiy fantastika barcha odamlarning birlashishlariga yordam beruvchi soha deb qattiq ishonaman.&lt;/p&gt;
  &lt;p id=&quot;3e2e&quot;&gt;Bizning fantastik asarlarda ko‘tarayotgan muammolarimiz butun insoniyatning dolzarb muammolaridir…&lt;/p&gt;
  &lt;p id=&quot;ZraV&quot;&gt;Fantast-yozuvchi, fantastik asarlarni o‘quvchilar va fantastikaning o‘zi insoniyat taraqqiyotiga xizmat qiladilar.&lt;/p&gt;
  &lt;p id=&quot;vQZ2&quot;&gt;Har bir odam istagan narsasiga ishonaversin. Lekin, hammani bir narsaga ishontirishga qarshiman.&lt;/p&gt;
  &lt;p id=&quot;qNjt&quot;&gt;Ilm-fanda ifoda etiladigan eng hayajonli so‘z “Evrika!” emas, “Mana bu ajoyib-ku!”dir.&lt;/p&gt;
  &lt;p id=&quot;MHQP&quot;&gt;Bahslashmaydigan ayollarni kamchiliklardan xoli deb hisoblayman.&lt;/p&gt;
  &lt;p id=&quot;23Oy&quot;&gt;Agar ovqat shirin bo‘lsa, u zararlidir.&lt;/p&gt;
  &lt;p id=&quot;A0YP&quot;&gt;Mas’uliyatlilik – og‘ir ish emas.&lt;/p&gt;
  &lt;p id=&quot;OieS&quot;&gt;Kelajakda ham kitobning o‘rnini hech narsa egallay olmaydi, xuddi o‘tmishda egallay olmaganidek.&lt;/p&gt;
  &lt;p id=&quot;m1qX&quot;&gt;Insoniyat tarixini anglash qiyin. Kichik o‘zgarishlar katta kutilmagan natijalarga olib kelgan.&lt;/p&gt;
  &lt;p id=&quot;kM1K&quot;&gt;Yaratgan Zot hammamizni sevadi, lekin hech birimizga qoyil emas.&lt;/p&gt;
  &lt;p id=&quot;0MNg&quot;&gt;Jahli chiqib turgan odamning haqoratlaridan xafa bo‘lmang. Agar, u tinchlanib, haqoratlarini yana qaytarsa, shundagina ranjishingiz mumkin.&lt;/p&gt;
  &lt;p id=&quot;0NR0&quot;&gt;Hayotda turli savollarga to‘g‘ri javob topishdan qiziqarliroq ish bormi?&lt;/p&gt;
  &lt;p id=&quot;IE5l&quot;&gt;Balog‘atga yetganimizdan so‘ng, biz o‘zgarmaymiz, faqat yoshimiz ulg‘ayadi va ajinlarimiz ko‘payadi. Ammo, bu tashvish chekishga arzimaydi.&lt;/p&gt;
  &lt;p id=&quot;Cv4U&quot;&gt;Agar shifokor menga besh minut umrim qolganini aytsa, vahimaga tushmayman. Faqat tezroq nimadir yozib qolishga urinaman.&lt;/p&gt;
  &lt;p id=&quot;kcu7&quot;&gt;Kam degani, umuman yo‘q, degandan ko‘ra yaxshiroqdir.&lt;/p&gt;
  &lt;p id=&quot;61xc&quot;&gt;Odamlar o‘zlarini qo‘shnilaridan yaxshiroq, madaniyatlari qadimiyroq va yuqoriroq, boshqa yerlarga tarqalgan jamiki yaxshi jihatlar ulardan olingan, yomonliklar esa o‘zga mamlakatlarda o‘ylab topilgan, deb hisoblashga o‘rganib qolganlar.&lt;/p&gt;
  &lt;p id=&quot;ajwj&quot;&gt;Qarishni ham bilish kerak. Siz qariganingiz sari muloyimroq, odamlarga mehribonroq bo‘lib boring. Asosiysi, atrofdagilar siz o‘z hayotingizdan qoniqayotganingizni va rohatlanib yashayotganingizni ko‘rishsin.&lt;/p&gt;
  &lt;p id=&quot;JlgH&quot;&gt;Sevgi bobida o‘zingizni qiynamang. Oddiy yo‘l tuting, ya’ni sevgili qizingizdan uning chin munosabatini so‘rang-qo‘ying. Sevish va sevilish qanday yaxshi.&lt;/p&gt;
  &lt;p id=&quot;ey0P&quot;&gt;Jamiyat boshida turuvchi robot yaratilganda, u eng yaxshi siyosatchi bo‘lgan bo‘lardi. Robotexnika qonuniga muvofiq, u odamlarga ziyon yetkaza olmasdi, zo‘ravonlik va poraxo‘rlik qilmasdi. U qarimas va o‘lmas ekanligini bilsa ham, vaqtida iste’foga chiqardi.&lt;br /&gt;Avval o‘yla, keyin indama.&lt;/p&gt;
  &lt;p id=&quot;TCNs&quot;&gt;– Hech qachon odamlarni tushunmaganman, – xo‘rsindi Pilorat.&lt;br /&gt;– Bu juda oson. Sen avval o‘zingga boq, o‘zingni angla. Shunda boshqalarni tushuna boshlaysan. Insonlar bir-birlaridan ko‘p ham farq qilmaydilar.&lt;/p&gt;
  &lt;p id=&quot;4VGy&quot;&gt;Seni kim deb hisoblashlari emas, sen o‘zingni kim deb his qilishing muhimdir.&lt;/p&gt;
  &lt;p id=&quot;5kRH&quot;&gt;Ishonch va matonat doimo mukofotlanadi. O‘simlik poyasini ushlab, shahd bilan hamla qiling, u dushmanga to‘qmoqdek tuyuladi.&lt;/p&gt;
  &lt;p id=&quot;iGrB&quot;&gt;Taraqqiyot faqat ixtirolar orqaligina amalga oshadi.&lt;/p&gt;
  &lt;p id=&quot;X0Iw&quot;&gt;Hayot – yo‘qotishlar zanjiridir. Yoshligingni, ota-onangni, do‘stlaringni, sog‘lig‘ingni va oxirida hayotning o‘zini ham yo‘qotasan.&lt;/p&gt;
  &lt;p id=&quot;3XXY&quot;&gt;Fantast-yozuvchilar nima qilayotganliklarini o‘zlari ham aniq bilmaydilar. Ularning ko‘pchiligi o‘z ijodlarini tirikchilik manbai deb aytishlari mumkin. Ammo, men uchun, ular – noma’lum va xavfli kelajakka boqishga jazm etayotgan insoniyat ko‘zlaridir.&lt;/p&gt;
  &lt;p id=&quot;YUUl&quot;&gt;Tarixchilarning ma’lumotiga ko‘ra Makedoniya shohi Filipp qo‘shni Sparta davlatiga bunday maktub yuborgan: “Agar, men yurtingizga kirsam, Spartani yer bilan bitta qilib tashlayman!” Ular bitta so‘z bilan javob qaytarganlar:“Agar!” Bu insoniyat tarixidagi eng qisqa javob xati hisoblanadi.&lt;br /&gt;Bir marta sotqinlik qilgan, yana qilaberadi. Bu – hayot qonunidir.&lt;/p&gt;
  &lt;p id=&quot;cV43&quot;&gt;Qadimda Misr hududida yashagan shumerlar o‘zlarining ikki ming yillik hayot jarayonlarida g‘ildirakli transportni, astronomiyani, matematikani, tijorat tashkilotlarini, g‘ishtni, undan muhtasham binolar qurishni, yozuvni ixtiro qilganlar. Ular insoniyat taraqqiyotini ixtiro qilganlar desa ham bo‘ladi. Hozir ular yo‘qlar. Troya urushiga yetti yuz yil, Rim nomli qishloqning vujudga kelishiga bir ming bir yuz yil qolganda yo‘qolganlar. Ularning mavjudligi 19 asrning oxirlarida olib borilgan arxeologik qazish ishlariga qadar noma’lum edi.&lt;/p&gt;
  &lt;p id=&quot;tFcQ&quot;&gt;Matematikadan boshqa hech vaqoni bilmasang, buyuk matematik deb hisoblanishing mumkinmi?&lt;/p&gt;
  &lt;p id=&quot;8k77&quot;&gt;Yaxshi ilmiy-fantastik asar o‘quvchini hayajonlantiradi, lekin bundan tashqari, u kelajak haqida o‘ylashga ham majbur qiladi.&lt;/p&gt;
  &lt;p id=&quot;aefT&quot;&gt;Olg‘a qadam tashlash uchun doimo sabab bor. Faqat uni o‘z vaqtida topib turish lozim.&lt;/p&gt;
  &lt;p id=&quot;k3er&quot;&gt;Odamlarga bir o‘yin o‘ynashga ruxsat berilgan: “Men sendan yaxshiroqman”, degan. Uni miyadan chiqarib tashlash juda mushkul.&lt;/p&gt;
  &lt;p id=&quot;VMz5&quot;&gt;1976 yildagi kelajak bashorati: “Televizor uydagi markaziy joyni egallaydi. Telefonlarda suhbatlashayotgan odamni ko‘rib turish uchun teleekranlar o‘rnatiladi.”&lt;/p&gt;
  &lt;p id=&quot;dH4j&quot;&gt;Ko‘pchilik hozir xuddi asalari inining uyalarida yashayotgan va ishlayotgandeklar. Yoritqichlar sun’iy, havo konditsioner orqali keladi. Bu odamlarni yer ostidagi shunday uyalarga ko‘chiring, farqini deyarli sezmaydilar. Bundan tashqari, yer tagining ijobiy jihatlari bor: u yerda havo issiqligi keskin o‘zgarmaydi, qishda isitish, yozda sovutish muammolari yo‘q. Transport yo‘lini yomg‘ir-u qorlar to‘sib qo‘ymaydi. Ishlab chiqarish ko‘lami ham kattalashadi, sababi kun va tunning farqi bo‘lmaganligi uchun, uni uzluksiz uyushtirish mumkin.&lt;/p&gt;
  &lt;p id=&quot;pmqa&quot;&gt;Ishonch aqldan ustun.&lt;/p&gt;
  &lt;p id=&quot;BtXU&quot;&gt;Odamzotni biologik tahlil qilsak, ayollarda qirq oltita xromosoma, erkaklarda esa qirq besh-u va yarimta (Y-xromosoma) mavjud. Xromosomalar nuqtai nazaridan qaraganda, erkak chala, yarim xromosomasi kam ayoldir. Balki, shuning uchun ayollar erkaklarga nisbatan chidamliroqlar va umrlari ham olti-yetti yilga uzoqroq.&lt;/p&gt;
  &lt;p id=&quot;nlVH&quot;&gt;Yerning og‘irligi qancha? Javob oddiy. Yer erkin tushish holatidadir. Bunday holatdagi har bir jismga atrofdagi gravitatsiya maydonlari to‘liq ta’sir ko‘rsatadi. Lekin, Yerga bunday ta’sirlarning natijasi yo‘q. Shuning uchun, Yerning og‘irligi yo‘q, u nolga teng.&lt;/p&gt;
  &lt;p id=&quot;qj9Y&quot;&gt;Hayot, umuman olganda, antiqadir. Antiqalik unga to‘liq mos keluvchi yagona sifatdir.&lt;/p&gt;
  &lt;p id=&quot;zdTs&quot;&gt;Men hech narsaga ko‘r-ko‘rona ishonmayman. Har bir g‘oya, fikr, ma’lumot mantiqqa asoslanishi lozim. Aks holda, uning qiymati bir pul.&lt;/p&gt;
  &lt;p id=&quot;8iS1&quot;&gt;Inson shunday tuzilganki, u ma’lum bir yoshga yetganda, o‘limga befarq bo‘lib qoladi. U biron maqsad sari intilmaydi, o‘z ustida ishlamay qo‘yadi. Bunday holat yaxshimi yo yomonmi, lekin u hayotini yashab bo‘lganligini, o‘zi va dunyo uchun qo‘lidan kelgan barcha ishlarni qilib ulgurganligini anglaydi va bunga ko‘nikadi.&lt;/p&gt;
  &lt;p id=&quot;aaju&quot;&gt;Plastmassani hayotga tatbiq qilish bilyardxonalardan boshlangan. O‘sha paytda bilyard sharlari fil suyaklaridan tayyorlangan, bu esa ularni juda qimmatlashtirgan. XIX asrning 60 — yillarida, kimki fil suyagi o‘rniga ishlatish mumkin bo‘lgan qattiq, elastik, sinib ketmaydigan, suvga chidamli va tekislasa bo‘ladigan mahsulot kashf qilsa, 10 000 dollar mukofot berilishi e’lon qilingan. Va ko‘p olimlar harakatga tushib ketganlar.&lt;/p&gt;
  &lt;p id=&quot;c2zb&quot;&gt;Saljuqiylarning buyuk hukmdori Malikshoh uzoqroq yashaganda yoki iste’dodli taxt vorisiga ega bo‘lganda, salb yurishlari avval boshdanoq halokatga uchrardi. Umuman olganda, salbchilarning ayrim muvaffaqiyatlari musulmonlar orasidagi kelishmovchiliklar tufayli yuz bergan.&lt;/p&gt;
  &lt;p id=&quot;lZol&quot;&gt;Fransiyada, qirol Lyudovik VII davrida, shamol tegirmonlari qurilishi boshlangan. Bu g‘oya o‘sha paytlarda texnologiya sohasida ancha ilg‘or bo‘lgan Sharq mamlakatlaridan ortga qaytayotgan salbchilar tomonidan olib kelingan. Salb yurishlari natijasida, u yerlarda o‘rganilgan yangicha tafakkur va yetuk g‘oyalarning qimmati, yutqizilgan yoki yutilgan janglar ahamiyatidan ancha yuqori bo‘lgan.&lt;/p&gt;
  &lt;p id=&quot;Ij6V&quot;&gt;“Ish mana bunday bo‘lishi mumkin edi!”, deb afsuslanishdan foyda yo‘q. Mavjud holatlar bilangina hisoblashish kerak.&lt;/p&gt;
  &lt;p id=&quot;CIQM&quot;&gt;Men amaldorlarning ko‘pini ko‘rdim, ammo ularning orasida baxtlilarini uchratmadim. Amal – polga qoqib qo‘yilgan kursi emas. Shuning uchun, amaldor doimo kursini kimdir siljitmasligidan ogoh bo‘lib, hamisha xavotirda ishlaydi.&lt;/p&gt;
  &lt;p id=&quot;rFGJ&quot;&gt;Muammoni hal qilishning eng oson yo‘li – uni yo‘q deb faraz qilishdan iborat.&lt;/p&gt;
  &lt;p id=&quot;5dW0&quot;&gt;Olti – “a’lo sonlar”ning birinchisidir. Uning bo‘linuvchilarining yig‘indisi o‘ziga teng. Ya’ni, 6 da ular uchta: 1, 2 va 3. Ularning yig‘indisi 6 ga teng. Bunday sonlar ko‘p emas. Undan so‘ng, 28 keladi: 1+2+3+7+14=28. Keyingilari, 496 va 8128 sonlaridir. Bu narsani qadimgi matematiklar yaxshi bilishgan.&lt;/p&gt;
  &lt;p id=&quot;q8CK&quot;&gt;Ilmiy haqiqat qonuniy yoki noqonuniy kabi tushunchalardan tashqaridadir.&lt;/p&gt;
  &lt;p id=&quot;dBPu&quot;&gt;Nasroniylik qator asrlarda ilm-fanning rivojlanishiga yo‘l bermagan. Ushbu din Ioniya faylasuflari g‘oyalaridan chuqur farq qilgan. Nasroniylarning fikricha, inson uchun o‘zi ko‘rayotgan, his qilayotgan dunyo emas, “Ilohiy dunyo” muhimdir. U joyga borish uchun yo‘l ko‘rsatuvchilar cherkov namoyandalari tomonidan bitilgan “Injil” kitobidir va cherkovning o‘zining ruhiy tashviqoti ta’siridir.&lt;/p&gt;
  &lt;p id=&quot;lfCT&quot;&gt;Faylasuf bo‘lish uchun oliygohda o‘qish shart emas. O‘tkir aql va hayotiy tajriba kerak.&lt;/p&gt;
  &lt;p id=&quot;fOnO&quot;&gt;Ozod bo‘lishni istagan odamgina ozod bo‘la oladi.&lt;/p&gt;
  &lt;p id=&quot;McLl&quot;&gt;Istamay olingan bilim – foydasi yo‘q bilimdir.&lt;/p&gt;
  &lt;p id=&quot;bzd9&quot;&gt;Hech qachon – bu juda uzoq vaqtdir.&lt;/p&gt;
  &lt;p id=&quot;jC4J&quot;&gt;Qo‘rquv – insonga kerak. U ehtiyotkor bo‘lishni o‘rgatadi va hayotni asraydi.&lt;/p&gt;
  &lt;p id=&quot;HyE0&quot;&gt;Biz qanday usulda rizq-nasiba topayotganimiz, qay holatlardan zavqlanayotganimiz, qanday g‘oyaga ishonayotganligimiz, nimalarni yaxshi, nimalarni yomon, deyayotganimiz – madaniyatdir.&lt;/p&gt;
  &lt;p id=&quot;oeKh&quot;&gt;Bu sayyorada birgina ishlab chiqarish rivojlangan edi, ya’ni davlat tomonidan birgina mahsulot – qonun chiqarilardi. Butun hayot jarayoni betinim boshqarilardi. Sayyorada odamlar, uy hayvonlari va parazit-tekinxo‘rlar yashardilar. Trantorda boshqacha hayot yo‘q edi.&lt;/p&gt;
  &lt;p id=&quot;7n7M&quot;&gt;Yomon xabarlar burgut qanotida keladi, yaxshilari esa toshbaqa oyoqlarida.&lt;/p&gt;
  &lt;p id=&quot;3ZK6&quot;&gt;Ayni hayotdan qoniqmaslik insoniyatni taraqqiyotga va madaniyat rivojlanishiga undagan. Holatidan qoniqib o‘tiraberish – ortga ketishdir.&lt;/p&gt;
  &lt;p id=&quot;37eA&quot;&gt;Pulning jozibasi – juda kuchli. Lekin, hayotga jiddiy qaragan odam uchun pulning o‘zi yetarli emas.&lt;/p&gt;
  &lt;p id=&quot;4F2f&quot;&gt;Kimnidir sevsang, uning ko‘zlarida hamisha quvonch chaqnayotganligini ko‘rging keladi.&lt;/p&gt;
  &lt;p id=&quot;QDRO&quot;&gt;Atirgul – loy va iflos tuproqda o‘sadi.&lt;/p&gt;
  &lt;p id=&quot;IlgJ&quot;&gt;Kuch maydoni nima? Bu juda oddiy narsa. Masalan, jism atomlardan tashkil topadi. Atomlar esa bir-birlari bilan o‘zaro ta’sir kuchlari orqali bog‘langanlar. Endi, ana shu atomlarni olib tashlang! Nima qoladi? Kuch maydoni.&lt;/p&gt;
  &lt;p id=&quot;U6rg&quot;&gt;O‘tgan zamonni butunlay unitish mumkin emas, chunki u bugunni keltirib chiqargan.&lt;/p&gt;
  &lt;p id=&quot;OYRe&quot;&gt;Mish-mishlarni barcha zamonlarda to‘xtata olishmagan.&lt;/p&gt;
  &lt;p id=&quot;tuba&quot;&gt;Sen ko‘phujayralik organizm sifatida taxminan ellik trillion hujayradan iboratsan. Lekin, shaxs sifatida, aytilgan barcha hujayralar ahamiyati yig‘indisidan muhimroqsan.&lt;/p&gt;
  &lt;p id=&quot;KtMJ&quot;&gt;Ishlarni rivojlantirish uchun rejalar tuzishning o‘zi kamlik qiladi. Ularni vaqt kelganda o‘zgartirishni ham bilish kerak.&lt;/p&gt;
  &lt;p id=&quot;IiiR&quot;&gt;Men to‘satdan, odamlar ahmoqdir, degan fikrga kelib qoldim. O‘ylab ko‘ring, insonlar xatti-harakatlarini tartibga soluvchi qonun-qoidalar yo‘q edi, ularni o‘ylab topishdi. Ammo, odamlar, shu, o‘zlari o‘rnatgan qoidalarga rioya qilishmaydi. Ajab!..&lt;/p&gt;
  &lt;figure id=&quot;NjP0&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b1/13/b113abb0-be92-4457-8b87-d3013b83ab7b.png&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;GUsj&quot;&gt;Telegram: @curiosities&lt;/p&gt;

</content></entry><entry><id>mamasodikov:lOBH4tQahIu</id><link rel="alternate" type="text/html" href="https://teletype.in/@mamasodikov/lOBH4tQahIu?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mamasodikov"></link><title>7 onsites 7 offers</title><published>2023-07-26T07:55:09.546Z</published><updated>2023-07-26T07:55:09.546Z</updated><summary type="html">Wanted to share my recent job search results and materials I used for studying.</summary><content type="html">
  &lt;p id=&quot;contentArea&quot;&gt;Wanted to share my recent job search results and materials I used for studying.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;I have 6 yoe with TC 530k and tried to break into staff level this time around. Prepared 1 month with a mix of LC, system design, and behavioral preparation. I knew that my yoe is low, so will be a uphill battle. I ended up doing 7 onsites and got 7 offers (some senior, some staff). Sharing the resources that helped me be successful.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;— LEETCODE —&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Always ask clarifying questions, they are meant to be vague.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Tech Interview Handbook (solve 50 suggested LCs multiple times)&lt;br /&gt;&lt;a href=&quot;https://www.techinterviewhandbook.org/software-engineering-interview-guide/&quot; target=&quot;_blank&quot;&gt;https://www.techinterviewhandbook.org/software-engineering-interview-guide/&lt;/a&gt;&lt;br /&gt;Grokking Coding Interview:&lt;br /&gt;&lt;a href=&quot;https://www.educative.io/courses/grokking-the-coding-interview&quot; target=&quot;_blank&quot;&gt;https://www.educative.io/courses/grokking-the-coding-interview&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;I always try to solve each question myself before looking at answers. After struggling with certain topics, I found some youtube resources that were really helpful.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Graph problems: &lt;a href=&quot;https://youtu.be/tWVWeAqZ0WU&quot; target=&quot;_blank&quot;&gt;https://youtu.be/tWVWeAqZ0WU&lt;/a&gt;&lt;br /&gt;Kahn’s topsort: &lt;a href=&quot;https://youtu.be/cIBFEhD77b4&quot; target=&quot;_blank&quot;&gt;https://youtu.be/cIBFEhD77b4&lt;/a&gt;&lt;br /&gt;Dijkstra’s shortest path: &lt;a href=&quot;https://youtu.be/pSqmAO-m7Lk&quot; target=&quot;_blank&quot;&gt;https://youtu.be/pSqmAO-m7Lk&lt;/a&gt;&lt;br /&gt;Kruskal’s MST: &lt;a href=&quot;https://youtu.be/JZBQLXgSGfs&quot; target=&quot;_blank&quot;&gt;https://youtu.be/JZBQLXgSGfs&lt;/a&gt;&lt;br /&gt;Union find: &lt;a href=&quot;https://youtu.be/ibjEGG7ylHk&quot; target=&quot;_blank&quot;&gt;https://youtu.be/ibjEGG7ylHk&lt;/a&gt;&lt;br /&gt;Dynamic programming: &lt;a href=&quot;https://youtu.be/oBt53YbR9Kk&quot; target=&quot;_blank&quot;&gt;https://youtu.be/oBt53YbR9Kk&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;I would say 1/2 of my coding questions was graph related, and I used topsort, MST, union find during my interviews so its worth knowing them well.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Really great resource on Binary Search (especially for harder variants): &lt;a href=&quot;https://leetcode.com/discuss/general-discussion/786126/Python-Powerful-Ultimate-Binary-Search-Template.-Solved-many-problems&quot; target=&quot;_blank&quot;&gt;https://leetcode.com/discuss/general-discussion/786126/Python-Powerful-Ultimate-Binary-Search-Template.-Solved-many-problems&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Quite a few LC hards involve binary search as part of its solution, but its non-obvious.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;At staff level, you are expected to have great communication, come up with one or more high level solutions in reasonable time with space and time complexity, implement mostly correct, and check for errors independently.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;— SYSTEM DESIGN —&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Always ask clarifying questions, they are meant to be vague.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Number 1 tip: Pay for mock interviews, take extensive notes, study, pay for more interviews. I used igotanoffer.com. Try booking different interviewers, they have different expectations, communication, friendliness.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Grokking system design: &lt;a href=&quot;https://www.educative.io/courses/grokking-the-system-design-interview&quot; target=&quot;_blank&quot;&gt;https://www.educative.io/courses/grokking-the-system-design-interview&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;It’s good to complete grokking, but in practice its a little too shallow for staff level.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Watch all videos and take notes from this channel: &lt;a href=&quot;https://youtube.com/c/SystemDesignInterview&quot; target=&quot;_blank&quot;&gt;https://youtube.com/c/SystemDesignInterview&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Most other channels like Exponent are actually not great examples of a good interviewee for staff level.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Read papers on Dynamo, BigTable, MapReduce, Cassandra, Raft, Lamport Clocks, etc.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;A lot of material written by this Medium writer is great: &lt;a href=&quot;https://medium.com/@kousiknath&quot; target=&quot;_blank&quot;&gt;https://medium.com/@kousiknath&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Memorize Jeff Dean’s latency numbers: &lt;a href=&quot;https://gist.github.com/jboner/2841832&quot; target=&quot;_blank&quot;&gt;https://gist.github.com/jboner/2841832&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;If you have time, read DDIA: &lt;a href=&quot;https://dataintensive.net/&quot; target=&quot;_blank&quot;&gt;https://dataintensive.net&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;I memorized mnemonics for structure of how I execute my interview, as well as for each topic. Like OSI model, caching strategies, load balancing strategies, database types, etc. You need to make up your own in order to ingrain them.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Number 2 tip: Every system design question has a point of contention. Is it storage? Latency? Where will the system start to break? This is pivotal to figure out asap.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;&lt;strong&gt;Basic structure:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;6QZ0&quot;&gt;&lt;br /&gt;Requirements (functional / non-functional)&lt;br /&gt;Estimations (focus on contention point)&lt;br /&gt;System API&lt;br /&gt;Data model&lt;br /&gt;High level design (core components)&lt;br /&gt;Detailed design (ask where to dive in)&lt;br /&gt;Bottlenecks (scale, redundancy, SPOFs, metrics, logs, alerts, dashboards, pagerduty, deployment, failure scenarios)&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;As staff level interviewee, you are expected to lead the interview and provide alternatives, weigh pros &amp;amp; cons of each approach and commit to one with justification. Outside of typical system design topics, staff level also needs to consider costs, system complexity, and business aspects (e.g. CDN too expensive for free tier).&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;For most interviewers, you should be familiar with at least one database technology for each category (key value, document, columnar, relational, etc). For Google, they typically want you to design from fundamentals instead of using off the shelf technologies.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;I mastered using excalidraw for my system design interviews and always ask if I can use it instead: &lt;a href=&quot;https://excalidraw.com/&quot; target=&quot;_blank&quot;&gt;https://excalidraw.com&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Number 3 tip: Listen intently to interviewer when they speak and take their hints.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;— BEHAVIORAL —&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Prepare an introduction about yourself. Keep it short and sweet, highlighting background and - a major accomplishment. (Don’t be afraid to sell yourself)&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Grokking the behavioral: &lt;a href=&quot;https://www.educative.io/courses/grokking-the-behavioral-interview&quot; target=&quot;_blank&quot;&gt;https://www.educative.io/courses/grokking-the-behavioral-interview&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;The resource itself isn’t that useful but should prepare answers from your own experience and recording yourself. Take time to reflect on your past few years and make sure you have answers about conflict, projects you led, giving/receiving feedback, and challenges you solved. Don’t lie.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;STAR is a good structure for your stories but I learned a better story shape from this YouTuber.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;U shape story: &lt;a href=&quot;https://youtu.be/hU6BVxtGd5g&quot; target=&quot;_blank&quot;&gt;https://youtu.be/hU6BVxtGd5g&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Read “Staff Engineer”: &lt;a href=&quot;https://staffeng.com/book&quot; target=&quot;_blank&quot;&gt;https://staffeng.com/book&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;For each company, make sure you know their products, their company motto and values. I kept notes which I read a few mins before my onsite starts. Prepare plenty of questions to ask.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;— OFFERS —&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Current TC 530k (Senior)&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;AtoB (Senior/Staff)&lt;br /&gt;TC 325k&lt;br /&gt;Base 200k, Options 500k over 4 years&lt;br /&gt;Notes: Hard to evaluate startup offer, it felt too low and risky for me.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Airbnb G9 (Senior)&lt;br /&gt;TC 450k&lt;br /&gt;Base 225k, RSU 825k over 4 years, Sign on 80k&lt;br /&gt;Notes: I did an uplevel round for staff after onsite. Recruiter said based on interviewing perf, the team will vouch for me for staff. After uplevel round, they said I did well but team wants to be conservative so no staff offer. I passed on the senior offer.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Google L5 (Senior)&lt;br /&gt;TC ~480k&lt;br /&gt;Notes: No actual numbers. I did a L6 onsite, went on and matched a team for TLM role. HC came back down leveling citing YOE but with highest verbal offer. I passed on the senior offer.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Roblox IC4 (Senior/Staff)&lt;br /&gt;TC ~560k&lt;br /&gt;Notes: No actual numbers. Roblox had the most rounds out of everybody. Kept pushing me to share numbers saying they want to beat them all and put together an offer only once. I shared staff level expectations (IC5) and eventually shared my highest numbers because they wouldn’t proceed. They came back saying IC5 needs 10 yoe and that I should take the other offers.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Snap L5 (Staff?)&lt;br /&gt;TC 576k&lt;br /&gt;Base 225k, Bonus 34k/year, RSU 940k over 3 years, Sign on 15k&lt;br /&gt;Notes: Not sure if Snap L5 is staff but that is what they said it maps to. Negotiated from 550k and apparently this is the max.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Stripe L4 (Staff)&lt;br /&gt;TC 690k&lt;br /&gt;Base 250k, Bonus 40k/year, RSU 380k/year, Sign on 80k&lt;br /&gt;Notes: Originally got L3 (Senior) offer but persuaded recruiter to try staff loop. Passed staff loop and then negotiated from 650k.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Quant firm&lt;br /&gt;TC 800k&lt;br /&gt;Base 210k, Bonus 590k/year&lt;br /&gt;Notes: Didn’t think I’d get it but I somehow I did it. Questions similar to regular FANG. Negotiated from 750k. I ended up taking this offer because it’s cash and I’m concerned about recession.&lt;/p&gt;
  &lt;p id=&quot;contentArea&quot;&gt;Always negotiate! And try to get multiple offers as that is the best form of leverage. Read this:&lt;br /&gt;&lt;a href=&quot;https://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/&quot; target=&quot;_blank&quot;&gt;https://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;JQ1n&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;WbBJ&quot;&gt;Source: &lt;a href=&quot;https://www.teamblind.com/post/7-onsites-7-offers-aAFTykAD&quot; target=&quot;_blank&quot;&gt;https://www.teamblind.com/post/7-onsites-7-offers-aAFTykAD&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;QL4g&quot;&gt;Telegram: &lt;a href=&quot;https://t.me/flutterblogs&quot; target=&quot;_blank&quot;&gt;@flutterblogs&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>mamasodikov:r1N_ZRQ6et4</id><link rel="alternate" type="text/html" href="https://teletype.in/@mamasodikov/r1N_ZRQ6et4?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mamasodikov"></link><title>Flutter isolates - bilishingiz kerak bo'lgan hamma narsa</title><published>2023-07-25T10:17:41.220Z</published><updated>2023-07-26T17:06:00.999Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/ea/d5/ead50365-a4b4-4085-8dec-ac6cfbf40fa5.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/1*Xbr7CepGmpR7p5rUV6l0ig.jpeg&quot;&gt;&quot;Izolyatsiya&quot; so'zi siz uchun yangi bo'lmasligi kerak - pandemiya boshlanganidan beri u mashhur so'zga aylandi. Ehtimol, siz bu atamani Flutterga nisbatan ishlatilganini ham eshitgandirsiz, ammo &quot;isolates&quot; o'zi nima? Dart  kodingizni qanday &quot;run&quot; qiladi? Isolatesni qanday amalga oshirasiz? Bu savollarning barchasiga ushbu maqolada javob beriladi.</summary><content type="html">
  &lt;figure id=&quot;lvxM&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/1*Xbr7CepGmpR7p5rUV6l0ig.jpeg&quot; width=&quot;1400&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;bxeM&quot;&gt;&amp;quot;Izolyatsiya&amp;quot; so&amp;#x27;zi siz uchun yangi bo&amp;#x27;lmasligi kerak - pandemiya boshlanganidan beri u mashhur so&amp;#x27;zga aylandi. Ehtimol, siz bu atamani Flutterga nisbatan ishlatilganini ham eshitgandirsiz, ammo &amp;quot;isolates&amp;quot; o&amp;#x27;zi nima? Dart  kodingizni qanday &amp;quot;run&amp;quot; qiladi? Isolatesni qanday amalga oshirasiz? Bu savollarning barchasiga ushbu maqolada javob beriladi.&lt;/p&gt;
  &lt;p id=&quot;Y9LH&quot;&gt;Agar siz Flutterda yangi bo&amp;#x27;lsangiz, bu maqola siz uchun, chunki men ko&amp;#x27;plab tushunchalarni soddalashtirishga harakat qildim. Ammo, agar siz tajribali dasturchi bo&amp;#x27;lsangiz, ushbu maqola ham foydali bo&amp;#x27;lishi mumkin. Flutter izolatlari kontseptsiyasini tushuntirishga yordam berish uchun biz &lt;strong&gt;kofe kioskining&lt;/strong&gt; analogiyasidan foydalanamiz .&lt;/p&gt;
  &lt;p id=&quot;uia6&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;execution-of-code-in-dart&quot;&gt;Dartda kodning bajarilishi&lt;/h2&gt;
  &lt;p id=&quot;zY1R&quot;&gt;Dart - bu bir oqimli til (single thread). Bu nimani anglatishini tushunish uchun birinchi navbatda oqimlar nima ekanligini tushunishimiz kerak.&lt;/p&gt;
  &lt;p id=&quot;iq7X&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;what-is-a-thread&quot;&gt;Oqim (thread) nima?&lt;/h3&gt;
  &lt;p id=&quot;Iabh&quot;&gt;Oqim - bu jarayonning birligi. Bu asosiy jarayondan mustaqil ravishda rejalashtirilishi va bajarilishi uchun mo&amp;#x27;ljallangan kichik ko&amp;#x27;rsatmalar to&amp;#x27;plami.&lt;/p&gt;
  &lt;blockquote id=&quot;8e1s&quot;&gt;&lt;strong&gt;Hisoblashda jarayon&lt;/strong&gt; atamasi bajarilayotgan dasturning holatini bildiradi.&lt;/blockquote&gt;
  &lt;p id=&quot;FS5w&quot;&gt;Endi sizni bir narsa qiziqtirayotgan bo‘lishi mumkin: Agar Dart bitta oqimli til bo‘lsa, Flutter-dagi asinxron vazifalar &lt;em&gt;(masalan, HTTP so&amp;#x27;rovi orqali ma’lumotlarni olish)&lt;/em&gt; ilovaning boshqa faoliyatiga to‘sqinlik qilmasdan qanday qilib optimal tarzda bajarilishi mumkin? Xo&amp;#x27;sh, bu ikki xil tushunchaga olib keladi, &lt;strong&gt;konkurentlik (concurrency)&lt;/strong&gt; va &lt;strong&gt;parallellik (parallelism)&lt;/strong&gt;, birinchisi asinxron vazifalar uchun, ikkinchisi esa izolyatsiyada ishlaydigan vazifalar uchun. Ushbu tushunchalarni tushunish uchun keling, ikkita stsenariyni tayyorlaymiz.&lt;/p&gt;
  &lt;p id=&quot;tngL&quot;&gt;&lt;/p&gt;
  &lt;h4 id=&quot;scenario-1-concurrency&quot;&gt;1-stsenariy (concurrency)&lt;/h4&gt;
  &lt;p id=&quot;56Nw&quot;&gt;Siz qahvaxonada kofe ichmoqchisiz. &lt;em&gt;(Kofe do&amp;#x27;konini faqat eshikli yopiq xona deb hisoblang.)&lt;/em&gt; Uzun navbat bor, lekin siz o&amp;#x27;z navbatingizni kutishga qaror qildingiz. Barista &lt;em&gt;(kofe ichimliklar tayyorlovchi va xizmat ko&amp;#x27;rsatuvchi shaxs)&lt;/em&gt; navbatdagi har bir keyingi mijozning buyurtmalarini birin-ketin qabul qiladi.&lt;/p&gt;
  &lt;p id=&quot;W1OX&quot;&gt;&lt;strong&gt;Aytaylik, barista A&lt;/strong&gt; va &lt;strong&gt;barista B&lt;/strong&gt; xizmarlari o&amp;#x27;rtasida vaqtli farq bor. Mijozlar barista B ni buyurtmalar qabul qilishini kutishi va navbat bilan siljishlari kerak. Barista A va barista B xizmatlari o&amp;#x27;rasidagi farq mijozlarning harakatlariga boshqa tarzda to&amp;#x27;sqinlik qilmaydi, chunki ular hali ham bir-birlari bilan gaplashishi, o&amp;#x27;zaro tanalari bilan aloqa qilishlari mumkin va xkz.&lt;/p&gt;
  &lt;p id=&quot;eG4P&quot;&gt;Dartdagi asinxron kod ham xuddi shunday ishlaydi: &lt;code&gt;await&lt;/code&gt;kalit so&amp;#x27;zini&lt;code&gt;async &lt;/code&gt;funksiyasida ishlatganingizda, dasturning boshqa qismlari ishlashda davom etadi va &lt;code&gt;async &lt;/code&gt;vazifa tugagach, kodning keyingi qatoridan davom etadi. Vazifa (Task) - bu kerak bo&amp;#x27;lganda &lt;code&gt;async&lt;/code&gt;dasturingizning turli qismlari &lt;em&gt;(voqealarni qayta ishlash) o&amp;#x27;rtasida o&amp;#x27;tadigan Dart hodisalari tsikli. &lt;/em&gt;Quyidagi kod namunasi buni amalda ko&amp;#x27;rsatadi.&lt;/p&gt;
  &lt;p id=&quot;Gjxw&quot;&gt;&lt;/p&gt;
  &lt;pre id=&quot;RGdn&quot;&gt;void asyncTask() async {
   /// Ushbu vazifa o&amp;#x27;tishi uchun 5 sekund kutiladi
   final result = await Future.delayed(Duration(seconds: 5));

   /// So&amp;#x27;ng, kodning keyingi qismlari ishlashga o&amp;#x27;tadi
   /// Kutish davomida, bu kodning boshqa qismlarini ishlashdan bloklamaydi
   print(result);
 }&lt;/pre&gt;
  &lt;p id=&quot;C8XM&quot;&gt;&lt;/p&gt;
  &lt;h4 id=&quot;scenario-2-parallelism&quot;&gt;2-stsenariy (parallelism)&lt;/h4&gt;
  &lt;p id=&quot;78p5&quot;&gt;Bu safar siz va do&amp;#x27;stingiz qahvaxonaga borishga qaror qildingiz, lekin birinchi do&amp;#x27;konda navbat juda ko&amp;#x27;p va kechikishlar juda ko&amp;#x27;p. Shunday qilib, do&amp;#x27;stingiz sizni birinchi qahvaxonada qoldirib, keyingi qahvaxonaga borishga qaror qiladi.&lt;/p&gt;
  &lt;p id=&quot;2JA4&quot;&gt;Bu stsenariyda aytishimiz mumkinki, siz birinchi qahvaxonada kofe olishingiz va do&amp;#x27;stingiz keyingi qahvaxonada qahva olish jarayoni parallel ravishda sodir bo&amp;#x27;lmoqda, chunki birinchi qahvaxonada nima sodir bo&amp;#x27;lishidan qat&amp;#x27;i nazar, keyingi qahvaxonaga ta&amp;#x27;sir qilmaydi.&lt;/p&gt;
  &lt;p id=&quot;EBIj&quot;&gt;Bir qator dasturlarni parallel ravishda ishga tushirish uchun izolyatsiyalar ishga tushadi. Ammo ular buni qanday qilishlarini muhokama qilishdan oldin, birinchi navbatda Dartdagi izolyatsiya nima ekanligini tushunishimiz kerak.&lt;/p&gt;
  &lt;p id=&quot;OgD3&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;what-is-an-isolate&quot;&gt;Izolyatsiya nima?&lt;/h2&gt;
  &lt;p id=&quot;oS7m&quot;&gt;Gapirishdan oldin shuni ta&amp;#x27;kidlash kerakki, Dart dasturlari &amp;quot;default&amp;quot; holat bo&amp;#x27;yicha izolyatsiyalarda ishlaydi. Dartdagi izolyatsiyani kofe kioski ichidagi kofe ichimliklar tayyorlash va qahva buyurtma qilish kabi tadbirlar o&amp;#x27;tkaziladigan kichkina xona deb o&amp;#x27;ylab ko&amp;#x27;ring. Izolyatsiya mashinadagi kichik bo&amp;#x27;shliqqa o&amp;#x27;xshaydi, uning xotirasi &lt;em&gt;(qisqa muddatli asosda kerak bo&amp;#x27;ladigan ma&amp;#x27;lumotlarni saqlaydigan tizim)&lt;/em&gt; va kodni qayta ishlovchi voqealar sikli (event loop) da ishlaydigan bitta oqim.&lt;/p&gt;
  &lt;figure id=&quot;vCgM&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://blog.codemagic.io/uploads/2022/03/event_loop.jpeg&quot; width=&quot;1280&quot; /&gt;
    &lt;figcaption&gt;Manba: https://www.youtube.com/watch?v=OLAXR0TCrcc&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;pYy4&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;dart-multithreading&quot;&gt;Dart &amp;quot;multithreading&amp;quot;&lt;/h2&gt;
  &lt;p id=&quot;UTR6&quot;&gt;Esingizda bo&amp;#x27;lsa, biz Dartni bir oqimli til deb aytgan edik. Ammo bizda ishlash uchun juda og&amp;#x27;ir hisoblash kodi bo&amp;#x27;lsa-chi? Bunday holda, vazifani asinxron usulda bajarish, ehtimol, ilovada kechikishga olib keladi, shuning uchun bizga bu vazifani boshqa ish oqimlarida bajarish usuli kerak.&lt;/p&gt;
  &lt;p id=&quot;SbyI&quot;&gt;Dartda multithreadingni amalga oshirish uchun biz yangi izolyatsiyani yaratishimiz kerak. Shuni ta&amp;#x27;kidlash kerakki, Dartda izolyatsiyalar xotirani boshqa izolatlar bilan baham ko&amp;#x27;rmaydi. Aksincha, ular bir-biridan butunlay ajratilgan &lt;em&gt;(oh, bechora izolyatsiyalar ...)&lt;/em&gt; , va ularning nomi aynan shundan kelib chiqqan.&lt;/p&gt;
  &lt;p id=&quot;ZkIj&quot;&gt;Yangi izolyatsiyada o&amp;#x27;z xotirasi va voqea tsikllari bo&amp;#x27;ladi. Buni mustaqil Dart dasturini ishga tushirish deb tasavvur qiling. Yaxshi yangilik bor: ikkita izolyatsiya xabarlarni oldinga va orqaga uzatish orqali bir-biri bilan muloqot qilishi mumkin. Quyida buning misoli keltirilgan.&lt;/p&gt;
  &lt;p id=&quot;laXh&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;a1yl&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://blog.codemagic.io/uploads/2022/03/two_isolates.png&quot; width=&quot;630&quot; /&gt;
    &lt;figcaption&gt;https://medium.com/dartlang/dart-asynchronous-programming-isolates-and-event-loops-bffc3e296a6a&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;P2Zh&quot;&gt;Dartda boshqa izolyatsiyani yaratishning ikki yo&amp;#x27;li mavjud: &lt;code&gt;Isolate.spawn()&lt;/code&gt;funktsiya va &lt;code&gt;compute()&lt;/code&gt;funktsiya.&lt;/p&gt;
  &lt;p id=&quot;xsfs&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;create-a-new-isolate-using-isolatespawn&quot;&gt;Isolate.spawn() yordamida yangi izolyatsiya yaratish&lt;/h3&gt;
  &lt;p id=&quot;yTmM&quot;&gt;Keling, Flutter izolyatsiyasining ba&amp;#x27;zi misollarini ko&amp;#x27;rib chiqaylik. Izolyatsiyani yaratishning birinchi usuli &lt;code&gt;Isolate.spawn()&lt;/code&gt;dan foydalanishdir. Biz birinchi parametr sifatida ishlatmoqchi bo&amp;#x27;lgan usulga o&amp;#x27;tamiz, ikkinchi argument esa biz izolyatsiyaga o&amp;#x27;tmoqchi bo&amp;#x27;lgan parametrdir.&lt;/p&gt;
  &lt;p id=&quot;3aZb&quot;&gt;Izolyatsiyaga uzatiladigan funksiya &lt;code&gt;spawn()&lt;/code&gt;yuqori darajadagi funksiya *(sinf chegarasida bo‘lmagan funksiya) yoki statik usul bo‘lishi kerak.&lt;/p&gt;
  &lt;p id=&quot;l7mI&quot;&gt;Mana, izolyatsiyani yaratish uchun kod:&lt;/p&gt;
  &lt;p id=&quot;UUCV&quot;&gt;&lt;/p&gt;
  &lt;pre id=&quot;tb6c&quot;&gt;import &amp;#x27;dart:isolate&amp;#x27;;

void main() {
  Isolate.spawn&amp;lt;IsolateModel&amp;gt;(heavyTask, IsolateModel(355000, 500));
}

void heavyTask(IsolateModel model) {
 int total = 0;


 /// Belgilangan miqdordagi iteratsiyalarni bajaradi
 for (int i = 1; i &amp;lt; model.iteration; i++) {

   /// Har bir indexni ko&amp;#x27;paytiruvchiga ko&amp;#x27;paytiradi va jamini hisoblaydi
   total += (i * model.multiplier);
 }

 log(&amp;quot;FINAL TOTAL: $total&amp;quot;);
}

class IsolateModel {
 IsolateModel(this.iteration, this.multiplier);

 final int iteration;
 final int multiplier;
}&lt;/pre&gt;
  &lt;p id=&quot;VJ5z&quot;&gt;&lt;/p&gt;
  &lt;h4 id=&quot;communicate-between-two-isolates&quot;&gt;Ikki izolyatsiya o&amp;#x27;rtasida muloqot qilish&lt;/h4&gt;
  &lt;p id=&quot;qMhv&quot;&gt;Ikki izolyatsiya o&amp;#x27;rtasidagi aloqani portlar ( &lt;a href=&quot;https://api.flutter.dev/flutter/dart-isolate/ReceivePort-class.html&quot; target=&quot;_blank&quot;&gt;&lt;code&gt;ReceivePort&lt;/code&gt;&lt;/a&gt;va &lt;a href=&quot;https://api.flutter.dev/flutter/dart-isolate/SendPort-class.html&quot; target=&quot;_blank&quot;&gt;&lt;code&gt;SendPort&lt;/code&gt;&lt;/a&gt;) orqali xabarlar yoki qiymatlarni yuborish orqali amalga oshirish mumkin. Ushbu portlar &lt;a href=&quot;https://api.flutter.dev/flutter/dart-async/Stream-class.html&quot; target=&quot;_blank&quot;&gt;&lt;code&gt;Stream &lt;/code&gt;&lt;/a&gt;kabi ishlaydi. Aslida &lt;code&gt;Stream&lt;/code&gt;mavhum sinfidan &lt;code&gt;ReceivePort &lt;/code&gt;foydalanadi.&lt;/p&gt;
  &lt;p id=&quot;VnVe&quot;&gt;SendPort-ni ReceivePort-dan ReceivePort-ning &lt;code&gt;sendPort&lt;/code&gt;qabul qilish usuli (getter) ni chaqirish orqali yaratish mumkin . Bu xabarlar ReceivePort-ga yuboriladigan vositadir. Boshqa tomondan, ReceivePort o&amp;#x27;zining SendPort-dan xabarlarni tinglaydi.&lt;/p&gt;
  &lt;p id=&quot;s9RB&quot;&gt;Ushbu jarayonning vizual tasvirini ko&amp;#x27;rish uchun quyidagi rasmga qarang:&lt;/p&gt;
  &lt;figure id=&quot;8Gk7&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://blog.codemagic.io/communication_btw_isolates_1516989056113503432_hu8c194e4418fe86b2b9504dba042d78df_0_1280x1800_fit_linear_3.png&quot; width=&quot;1280&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;g4JO&quot;&gt;Ikki izolyatsiya o&amp;#x27;rtasida xabar qanday yuborilishi tasvirlangan rasmli illyustratsiya. SenderPort SendPort orqali xabar sifatida yuborilishi mumkin, bu esa qabul qiluvchiga qayta aloqa qilish uchun ruxsat beradi.&lt;/p&gt;
  &lt;p id=&quot;Thkr&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;Shvb&quot;&gt;Mana, izolyatsiyalar orasidagi aloqani ko&amp;#x27;rsatadigan kod parchasi. Diqqat - kod biroz chalkash. Bu qanday ishlashini tushunishingizga yordam berish uchun ba&amp;#x27;zi izohlar qo&amp;#x27;shdim. Kodni yozish va ishga tushirish ham yordam beradi. Kodni o&amp;#x27;qiyotganda, &lt;strong&gt;Maykni&lt;/strong&gt; do&amp;#x27;stingizning ismi deb hisoblang.&lt;/p&gt;
  &lt;pre id=&quot;QUIx&quot;&gt;import &amp;#x27;dart:isolate&amp;#x27;;

void main() {
 createIsolate();
}

Future createIsolate() async {
 /// Where I listen to the message from Mike&amp;#x27;s port
 ReceivePort myReceivePort = ReceivePort();

 /// Spawn an isolate, passing my receivePort sendPort
 Isolate.spawn&amp;lt;SendPort&amp;gt;(heavyComputationTask, myReceivePort.sendPort);

 /// Mike sends a senderPort for me to enable me to send him a message via his sendPort.
 /// I receive Mike&amp;#x27;s senderPort via my receivePort
 SendPort mikeSendPort = await myReceivePort.first;

 /// I set up another receivePort to receive Mike&amp;#x27;s response.
 ReceivePort mikeResponseReceivePort = ReceivePort();

 /// I send Mike a message using mikeSendPort. I send him a list,
 /// which includes my message, preferred type of coffee, and finally
 /// a sendPort from mikeResponseReceivePort that enables Mike to send a message back to me.
 mikeSendPort.send([
   &amp;quot;Mike, I&amp;#x27;m taking an Espresso coffee&amp;quot;,
   &amp;quot;Espresso&amp;quot;,
   mikeResponseReceivePort.sendPort
 ]);

 /// I get Mike&amp;#x27;s response by listening to mikeResponseReceivePort
 final mikeResponse = await mikeResponseReceivePort.first;
 log(&amp;quot;MIKE&amp;#x27;S RESPONSE: ==== $mikeResponse&amp;quot;);
}

void heavyComputationTask(SendPort mySendPort) async {
 /// Set up a receiver port for Mike
 ReceivePort mikeReceivePort = ReceivePort();

 /// Send Mike receivePort sendPort via mySendPort
 mySendPort.send(mikeReceivePort.sendPort);

 /// Listen to messages sent to Mike&amp;#x27;s receive port
 await for (var message in mikeReceivePort) {
   if (message is List) {
     final myMessage = message[0];
     final coffeeType = message[1];
     log(myMessage);

     /// Get Mike&amp;#x27;s response sendPort
     final SendPort mikeResponseSendPort = message[2];

     /// Send Mike&amp;#x27;s response via mikeResponseSendPort
     mikeResponseSendPort.send(&amp;quot;You&amp;#x27;re taking $coffeeType, and I&amp;#x27;m taking Latte&amp;quot;);
   }
 }
}&lt;/pre&gt;
  &lt;p id=&quot;uzBb&quot;&gt;Yuqoridagi kodni haddan tashqari ortiqcha ishlab chiqilgan deb aytish mumkin, buning sababi shundaki, izolyatsiyalar faqat asosiy oqimda kechikishga olib kelmaslik uchun boshqa oqimda bajarilishi kerak bo&amp;#x27;lgan og&amp;#x27;ir hisoblash ishlarini bajarishda ishlatilishi kerak. Ya&amp;#x27;ni, yuqoridagi kodning maqsadi turli xil izolyatsiyalar bir-biri bilan qanday aloqa qilishini ko&amp;#x27;rsatishdir.&lt;/p&gt;
  &lt;p id=&quot;EyBU&quot;&gt;Izolyatsiya o&amp;#x27;zining voqealar siklidagi barcha hodisalarni amalga oshirganda, Dart avtomatik ravishda izolyatsiyani o&amp;#x27;ldiradi. Izolyatsiyani qo&amp;#x27;lda o&amp;#x27;ldirish uchun &lt;code&gt;isolate.kill()&lt;/code&gt;dan foydalaning. Izolyatsiyani to&amp;#x27;xtatib turish uchun &lt;code&gt;isolate.pause() &lt;/code&gt;dan foydalaning . To&amp;#x27;xtatilgan izolyatsiyani davom ettirish uchun &lt;code&gt;isolate.resume()&lt;/code&gt; dan foydalaning.&lt;/p&gt;
  &lt;p id=&quot;zCVV&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;create-a-new-isolate-using-compute&quot;&gt;compute() yordamida yangi izolyatsiya yaratish&lt;/h3&gt;
  &lt;p id=&quot;Lxxd&quot;&gt;Yangi izolyatsiyani yaratishning eng oson yo&amp;#x27;li - &lt;code&gt;compute()&lt;/code&gt; dan foydalanish, garchi o&amp;#x27;zaro kelishuv shundaki, siz ko&amp;#x27;plab moslashuvchan &lt;code&gt;Isolate.spawn() &lt;/code&gt;bergan imkoniyatlarni yo&amp;#x27;qotasiz.&lt;/p&gt;
  &lt;p id=&quot;qXkp&quot;&gt;&lt;code&gt;compute&amp;lt;Q, R&amp;gt;()&lt;/code&gt;ikkita umumiy turni qabul qiladi: &lt;code&gt;Q&lt;/code&gt;bu izolyatsiya funksiyasi parametr turi va &lt;code&gt;R&lt;/code&gt;izolyatsiya funksiyasining qaytish turi. Quyidagi kod parchasi buni qanday amalga oshirishni ko&amp;#x27;rsatadi:&lt;/p&gt;
  &lt;pre id=&quot;KNWD&quot;&gt;import &amp;#x27;package:flutter/foundation.dart&amp;#x27;;

void main() {
  compute&amp;lt;IsolateModel, void&amp;gt;(heavyTask, IsolateModel(355000, 500));
}

void heavyTask(IsolateModel model) {
int total = 0;

/// Performs an iteration of the specified count
for (int i = 1; i &amp;lt; model.iteration; i++) {

  /// Multiplies each index by the multiplier and computes the total
  total += (i * model.multiplier);
}

log(&amp;quot;FINAL TOTAL: $total&amp;quot;);
}

class IsolateModel {
IsolateModel(this.iteration, this.multiplier);

final int iteration;
final int multiplier;
}&lt;/pre&gt;
  &lt;p id=&quot;V5EK&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;conclusion&quot;&gt;Xulosa&lt;/h2&gt;
  &lt;p id=&quot;GkQp&quot;&gt;Xulosa qilib aytadigan bo&amp;#x27;lsak, Dart-da &amp;quot;multithread&amp;quot; larni o&amp;#x27;tkazish mumkin, garchi Dart bir-treadli til bo&amp;#x27;lsa ham. Bitta ogohlantirish bor: Dart ilovalari allaqachon juda tez va yuqori darajada optimallashtirilgan va ko&amp;#x27;pincha siz izolyatsiyadan foydalanishingiz shart emas. Uni faqat og&amp;#x27;ir hisoblash ishlarini bajarish kerak bo&amp;#x27;lganda foydalaning. Shuningdek, biz voqea tsikllari nima ekanligini va ular Dartda qanday ishlashini muhokama qildik va izolyatsiyalar xotirani baham ko&amp;#x27;rmasa ham, qanday qilib muloqot qilishini ko&amp;#x27;rib chiqdik. Sog&amp;#x27; bo&amp;#x27;ling!&lt;/p&gt;
  &lt;p id=&quot;Ktgt&quot;&gt;Manba: &lt;a href=&quot;https://blog.codemagic.io/understanding-flutter-isolates/&quot; target=&quot;_blank&quot;&gt;https://blog.codemagic.io/understanding-flutter-isolates/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;xLq4&quot;&gt;Telegram: &lt;a href=&quot;https://t.me/flutterblogs&quot; target=&quot;_blank&quot;&gt;@flutterblogs&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>mamasodikov:QD3eKkyodZu</id><link rel="alternate" type="text/html" href="https://teletype.in/@mamasodikov/QD3eKkyodZu?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mamasodikov"></link><title>Flutter Security – Follow These 10 Security Tips To Prevent Security Risks</title><published>2023-07-24T07:18:10.751Z</published><updated>2023-07-24T07:18:10.751Z</updated><summary type="html">Though Flutter apps have become immensely popular in recent years, certain security risks pose a threat to app security. Flutter apps can expose sensitive data in the absence of adequate security measures. Reverse engineering is among the most common threats faced by Flutter apps as Dart code (the programming language used in Flutter apps) generates metadata that can easily give insights into the application’s workings. Hackers conduct static analysis that can compromise the security of Flutter apps and encourage tampering attempts. This article will shed light on Flutter apps and ways to ensure Flutter app security.</summary><content type="html">
  &lt;p id=&quot;afrt&quot;&gt;Though Flutter apps have become immensely popular in recent years, certain security risks pose a threat to app security. Flutter apps can expose sensitive data in the absence of adequate security measures. Reverse engineering is among the most common threats faced by Flutter apps as Dart code (the programming language used in Flutter apps) generates metadata that can easily give insights into the application’s workings. Hackers conduct static analysis that can compromise the security of Flutter apps and encourage tampering attempts. This article will shed light on Flutter apps and ways to ensure Flutter app security.&lt;/p&gt;
  &lt;h1 id=&quot;MRyn&quot;&gt;Flutter Security Philosophy&lt;/h1&gt;
  &lt;p id=&quot;Pm7k&quot;&gt;Flutter facilitates the development of natively compiled, multi-platform applications from a single codebase. The Flutter team offers robust measures to tackle security flaws in apps created with the Flutter framework. Let’s understand the security philosophy that forms the foundation of Flutter’s security strategy.&lt;/p&gt;
  &lt;ol id=&quot;1hAP&quot;&gt;
    &lt;li id=&quot;wwF7&quot;&gt;Identify: Identify core assets, threats, and vulnerabilities to track and prioritize key security risks&lt;/li&gt;
    &lt;li id=&quot;QnjT&quot;&gt;Detect: Employ techniques and tools like vulnerability scanning, static application security testing, and fuzzing to pinpoint vulnerabilities&lt;/li&gt;
    &lt;li id=&quot;LcXp&quot;&gt;Protect: Mitigate known vulnerabilities and safeguard critical assets against source threats to prevent security risks&lt;/li&gt;
    &lt;li id=&quot;Vi2r&quot;&gt;Respond: Define processes to report, triage, and respond to vulnerabilities or attacks&lt;/li&gt;
    &lt;li id=&quot;yyD3&quot;&gt;Recover: Equip apps with capabilities to contain damage and recover from the incident with minimal impact&lt;/li&gt;
  &lt;/ol&gt;
  &lt;h2 id=&quot;fUuP&quot;&gt;How to Secure Your Flutter Applications?&lt;/h2&gt;
  &lt;p id=&quot;dStb&quot;&gt;Developers rely on Flutter to minimize development efforts and maintain native performance. Intellectual property theft, cloning, and tampering are among the security concerns to be addressed when developing Flutter apps. Here are the top 10 ways to secure your Flutter application:&lt;/p&gt;
  &lt;h3 id=&quot;YfoI&quot;&gt;1. Use code obfuscation&lt;/h3&gt;
  &lt;p id=&quot;vJzk&quot;&gt;Hackers can reverse engineer app code. Strings, methods, class names, and API keys can be leaked if hackers launch attacks on the application. Hackers can easily misuse the code if data is stored in plain text. Obfuscation is a process that makes it difficult for hackers to read the code. It hides functions and class names in compiled Dart code. You can secure Flutter apps using code obfuscation techniques that modify an app’s binary. Use the -obfuscate parameter from the Dart side to obfuscate data.&lt;/p&gt;
  &lt;h3 id=&quot;TsNP&quot;&gt;2. Secure API keys&lt;/h3&gt;
  &lt;p id=&quot;xBke&quot;&gt;API keys that are not protected using obfuscation or encryption can be taken advantage of by hackers. You can apply application restriction controls to control which applications, websites, or IP addresses can access your API keys. Encrypting/decrypting API keys on runtime is yet another effective way to secure API keys and prevent hackers from deciphering the data. You should avoid tracking API keys on the repository to minimize the risk of exposing values. Using Firebase Remote Config is not recommended for storing sensitive data.&lt;/p&gt;
  &lt;h3 id=&quot;XXiT&quot;&gt;3. Use Flutter jailbreak detection&lt;/h3&gt;
  &lt;p id=&quot;xSuz&quot;&gt;Flutter_jailbreak_detection package in Flutter helps safeguard apps against security threats from a jailbroken or rooted device. This package can be used to detect whether the app is running on a compromised device. Jailbroken or rooted devices have more privileges and enable easy installation of malware and viruses. Flutter apps with jailbreak detection use RootBeer on Android and DTTJailbreakDetection on iOS to detect if the app is running on a jailbroken or rooted device.&lt;/p&gt;
  &lt;h3 id=&quot;NwXq&quot;&gt;4. Ensure secure network connections&lt;/h3&gt;
  &lt;p id=&quot;QD4V&quot;&gt;A secure network connection between mobile apps and servers is a prerequisite to ensure the protection of apps. Using a Transport Secure Layer (TSL) facilitates the secure exchange of information. Whitelisting your domain can help restrict traffic that is not secure. Implementing certificate pinning is another security best practice that will ensure all connections are secure. This prevents hackers from tampering with data in transit using illegitimate certificates.&lt;/p&gt;
  &lt;h3 id=&quot;1c6R&quot;&gt;5. Use only necessary permissions&lt;/h3&gt;
  &lt;p id=&quot;aIXW&quot;&gt;Applications can access hardware and native APIs through app permissions. Avoid adding plugins that contain unnecessary permission requests.&lt;/p&gt;
  &lt;h3 id=&quot;xLIU&quot;&gt;6. Secure user data&lt;/h3&gt;
  &lt;p id=&quot;FtXm&quot;&gt;Applications sometimes may have to store sensitive data such as PII. Use the Flutter_secure_storage package when there is a need to store PII, auth token, or other sensitive data. This package uses Keystore for Android and Keychains for iOS. You can use Hive which is a Dart package to store data locally and prevent tampering.&lt;/p&gt;
  &lt;h3 id=&quot;EiOO&quot;&gt;7. Background snapshots protection&lt;/h3&gt;
  &lt;p id=&quot;YCbI&quot;&gt;Mobile devices have a task-switcher feature that displays a snapshot of the last state of the app. This snapshot, however, can expose sensitive information. The secure_application package is designed to protect application content from view on demand.&lt;/p&gt;
  &lt;h3 id=&quot;TaqA&quot;&gt;8. Implement local authentication&lt;/h3&gt;
  &lt;p id=&quot;yt9u&quot;&gt;Local_auth is a Flutter plugin that enables local authentication for Flutter apps. Biometric authentication is useful to protect apps that store payment information or other critical information. Local authentication also helps provide an extra layer of protection in case the device is stolen.&lt;/p&gt;
  &lt;h3 id=&quot;soeP&quot;&gt;9. Secure developer identity&lt;/h3&gt;
  &lt;p id=&quot;czsM&quot;&gt;Any data that may expose developer identity needs to be encrypted. Encrypt sensitive files like key.jks &amp;amp; keystore.properties with GPG. Avoid keeping track of unencrypted sensitive data in your repository.&lt;/p&gt;
  &lt;h3 id=&quot;Stn3&quot;&gt;10. Secure CI infrastructure&lt;/h3&gt;
  &lt;p id=&quot;898H&quot;&gt;CI infrastructure refers to developers integrating code into a shared repository frequently. Developers should constantly monitor vulnerabilities and keep Virtual Machines updated to ensure apps are running in a protected environment. API keys and other sensitive data should not be added to the code. They should instead be included in the secret settings of the project.&lt;/p&gt;
  &lt;h2 id=&quot;uWDI&quot;&gt;Important Security Best Practices to Bear in Mind&lt;/h2&gt;
  &lt;ul id=&quot;PrKG&quot;&gt;
    &lt;li id=&quot;DX2i&quot;&gt;Stay up-to-date: Staying updated about the latest Flutter SDK, plugins, and packages is critical to enhancing the security of Flutter apps. The Flutter team regularly releases updates to address security flaws detected in previous versions.&lt;/li&gt;
    &lt;li id=&quot;IJM5&quot;&gt;Update your application’s dependencies: You need to upgrade your package dependencies on time. Pinning to specific versions of dependencies is not recommended. If you decide to pin, make sure you do timely checks to ensure dependencies are updated properly.&lt;/li&gt;
    &lt;li id=&quot;2IC4&quot;&gt;Keep your Flutter version up to date: You may miss out on important security updates if you are using customized versions of Flutter. Such versions may not include security fixes usually found in the current versions. Hence, it is mandatory to update your copy of Flutter from time to time.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;53C8&quot;&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;NixK&quot;&gt;Flutter is a cost-effective way to build multi-platform native applications. Flutter apps are compiled directly into the native code which leads developers to think that security is not a major concern in Flutter apps. But Flutter apps, like every other traditional mobile app, are at risk of getting hacked. Flutter apps running in hostile environments are vulnerable to tampering and dynamic attacks. Hackers that know how to reverse engineer binaries can easily exploit security loopholes in Flutter apps. Robust security measures that include runtime detections to identify modifications or tampering are imperative to secure Flutter apps. Though Flutter has emerged to be a prominent framework among developers, building apps without appropriate security measures will have disastrous consequences for the enterprise. The security measures discussed in this article will help safeguard your Flutter mobile apps from a wide range of threats.&lt;/p&gt;

</content></entry><entry><id>mamasodikov:bITXQUW1msm</id><link rel="alternate" type="text/html" href="https://teletype.in/@mamasodikov/bITXQUW1msm?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mamasodikov"></link><title>Пропаганда. Источники (Propoganda: Manbalar)</title><published>2022-06-01T20:15:25.977Z</published><updated>2022-06-01T20:53:23.901Z</updated><summary type="html">История пропаганды / Propaganda tarixi:</summary><content type="html">
  &lt;p id=&quot;hou9&quot;&gt;История пропаганды / Propaganda tarixi:&lt;/p&gt;
  &lt;p id=&quot;xFwX&quot;&gt;&lt;a href=&quot;https://arzamas.academy/mag/603-propaganda&quot; target=&quot;_blank&quot;&gt;https://arzamas.academy/mag/603-propaganda&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;hfOU&quot;&gt;Как работает пропаганда / Propoganda qanday ishlaydi:&lt;/p&gt;
  &lt;p id=&quot;WJgJ&quot;&gt;&lt;a href=&quot;https://www.prostranstvo.media/kak-rabotaet-propaganda/&quot; target=&quot;_blank&quot;&gt;https://www.prostranstvo.media/kak-rabotaet-propaganda/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;guxf&quot;&gt;Атлас стереотипов и предрассудков / Stereotiplar va xurofotlar atlasi:&lt;/p&gt;
  &lt;p id=&quot;4MPG&quot;&gt;&lt;a href=&quot;https://alpinabook.ru/catalog/book-atlas-stereotipov-i-predrassudkov/&quot; target=&quot;_blank&quot;&gt;https://alpinabook.ru/catalog/book-atlas-stereotipov-i-predrassudkov/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;YXA3&quot;&gt;Новояз / Novayaz:&lt;/p&gt;
  &lt;p id=&quot;A8XW&quot;&gt;&lt;a href=&quot;https://theoryandpractice.ru/posts/15651-sorri-za-novoyaz-pochemu-dialog-s-vlastyu-v-rossii-seychas-nevozmozhen-i-pri-chem-zdes-oruell&quot; target=&quot;_blank&quot;&gt;https://theoryandpractice.ru/posts/15651-sorri-za-novoyaz-pochemu-dialog-s-vlastyu-v-rossii-seychas-nevozmozhen-i-pri-chem-zdes-oruell&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;4pVf&quot;&gt;История создания и механизм работы НАТО / NATO ning tarixi va ishlash mexanizmi:&lt;/p&gt;
  &lt;p id=&quot;xuhE&quot;&gt;&lt;a href=&quot;https://mailchi.mp/getkit.news/nato&quot; target=&quot;_blank&quot;&gt;https://mailchi.mp/getkit.news/nato&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;GUu6&quot;&gt;Ложная дилемма / Yolg&amp;#x27;on ikkilanganlik:&lt;/p&gt;
  &lt;p id=&quot;O3QN&quot;&gt;&lt;a href=&quot;https://effectiviology.com/false-dilemma/&quot; target=&quot;_blank&quot;&gt;https://effectiviology.com/false-dilemma/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;UTk3&quot;&gt;Демагогия / Demagogiya:&lt;/p&gt;
  &lt;p id=&quot;IWmu&quot;&gt;&lt;a href=&quot;https://www.kommersant.ru/doc/3542549&quot; target=&quot;_blank&quot;&gt;https://www.kommersant.ru/doc/3542549&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;2fwR&quot;&gt;Как работает подчинение авторитетам и конформизм / Avtoritetlarga sodiqlik va konfirmizm qanday ishlaydi:&lt;/p&gt;
  &lt;p id=&quot;AzQM&quot;&gt;&lt;a href=&quot;https://monocler.ru/podchinenie-avtoritetu-kak-eto-rabotaet/&quot; target=&quot;_blank&quot;&gt;https://monocler.ru/podchinenie-avtoritetu-kak-eto-rabotaet/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;L8IC&quot;&gt;Про пирамидки и присоединение к большинству / Piramidkalar va ko&amp;#x27;pchilikga qo&amp;#x27;shilish tabiati:&lt;/p&gt;
  &lt;p id=&quot;t8zU&quot;&gt;&lt;a href=&quot;https://mel.fm/zhizn/istorii/9041685-sovret-li-chelovek-pod-davleniyem-gruppy-eksperimenty-na-detyakh-i-studentakh-kotoryye-provodili-v-s&quot; target=&quot;_blank&quot;&gt;https://mel.fm/zhizn/istorii/9041685-sovret-li-chelovek-pod-davleniyem-gruppy-eksperimenty-na-detyakh-i-studentakh-kotoryye-provodili-v-s&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;s9hG&quot;&gt;Цитата Тэтчер / Tetcher iqtibosi:&lt;/p&gt;
  &lt;p id=&quot;3Fw4&quot;&gt;&lt;a href=&quot;https://provereno.media/2021/05/18/govorila-li-margaret-tetcher-chto-ekonomicheski-celesoobraznoe-naselenie-rossii-15-mln-chelovek/&quot; target=&quot;_blank&quot;&gt;https://provereno.media/2021/05/18/govorila-li-margaret-tetcher-chto-ekonomicheski-celesoobraznoe-naselenie-rossii-15-mln-chelovek/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;Cj2u&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;JZFK&quot;&gt;YouTube:&lt;/p&gt;
  &lt;p id=&quot;hFzq&quot;&gt;&lt;a href=&quot;https://youtu.be/YB-N-_JYSnw&quot; target=&quot;_blank&quot;&gt;https://youtu.be/YB-N-_JYSnw&lt;/a&gt; - МОЛЧАНИЕ — знак согласия? ПРОПАГАНДА — ТОПЛЕС&lt;/p&gt;
  &lt;p id=&quot;GpVc&quot;&gt;&lt;a href=&quot;https://youtu.be/lLEiT9PeHSg&quot; target=&quot;_blank&quot;&gt;https://youtu.be/lLEiT9PeHSg&lt;/a&gt; - Обыкновенные зомби. Как работает ложь (полный выпуск)&lt;/p&gt;
  &lt;p id=&quot;x1Hq&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;g1Dt&quot;&gt;Blog | &lt;a href=&quot;https://t.me/curiosities&quot; target=&quot;_blank&quot;&gt;@curiosities&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>mamasodikov:mP1vrej1iEM</id><link rel="alternate" type="text/html" href="https://teletype.in/@mamasodikov/mP1vrej1iEM?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mamasodikov"></link><title>🇺🇿 Uzbekistan-Developers-Blogs</title><published>2022-06-01T19:35:13.271Z</published><updated>2022-06-01T19:42:34.751Z</updated><summary type="html">If you have a blog (Telegram, website, Youtube, or any), welcome to Fork the repository and add yours. And make Pull request. If you can’t create Pull request, write to me directly in Telegram.</summary><content type="html">
  &lt;h2 id=&quot;-all-uzbekistan-developers-blog-list&quot;&gt;📃 All Uzbekistan Developers blog list&lt;/h2&gt;
  &lt;p id=&quot;AcoU&quot;&gt;If you have a blog (Telegram, website, Youtube, or any), welcome to Fork the repository and add yours. And make Pull request. If you can’t create Pull request, write to me directly in &lt;a href=&quot;https://t.me/nodirshox_e&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;.&lt;/p&gt;
  &lt;h2 id=&quot;-blogs&quot;&gt;&lt;strong&gt;📚 Blogs&lt;/strong&gt;&lt;/h2&gt;
  &lt;ul id=&quot;RsGq&quot;&gt;
    &lt;li id=&quot;ar9J&quot;&gt;Flutter Blogs | Uzbekistan &lt;a href=&quot;https://t.me/flutterblogs&quot; target=&quot;_blank&quot;&gt;Telegram Blog&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;p1Fe&quot;&gt;Nodirbek Ergashev &lt;a href=&quot;https://t.me/nodir_adventure&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt; &lt;a href=&quot;https://ergashevn.blogspot.com/&quot; target=&quot;_blank&quot;&gt;Blog &lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;Cemc&quot;&gt;Jakhongir Rakhmonov &lt;a href=&quot;https://t.me/jakhonrakhmon&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt; &lt;a href=&quot;https://t.me/JR_TwitGram&quot; target=&quot;_blank&quot;&gt;Telegram2&lt;/a&gt; &lt;a href=&quot;https://rahmonov.me/&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;yPfc&quot;&gt;Bob Usmonov &lt;a href=&quot;https://t.me/bobnosponge&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;OrX7&quot;&gt;10x Engineer &lt;a href=&quot;https://t.me/TenxEngineer&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;Ddo9&quot;&gt;Ulugbek Samigjonov &lt;a href=&quot;https://t.me/ulugbeksamigjonov&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;YxDW&quot;&gt;muhammadyunus.uz &lt;a href=&quot;https://t.me/muhammadyunus_uz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;4OSK&quot;&gt;Sariq Dev &lt;a href=&quot;https://t.me/sariqdev&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;4pRS&quot;&gt;mabrur.dev &lt;a href=&quot;https://t.me/mabrur_dev&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;MBmc&quot;&gt;Inspired Engineer &lt;a href=&quot;https://t.me/inspired_engineer&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;3CBg&quot;&gt;Josh*Developer &lt;a href=&quot;https://t.me/JoshDeveloper&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;mOb8&quot;&gt;Alisher Tojiyev &lt;a href=&quot;https://t.me/AkhmatovichUz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;zgPc&quot;&gt;AHBS &lt;a href=&quot;https://t.me/app_hbs&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;UYiB&quot;&gt;Khumoyun Codes &lt;a href=&quot;https://t.me/khumoyun_codes&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;tGHj&quot;&gt;Sukhrob Khakimov &lt;a href=&quot;https://t.me/sukhrobkhakimov&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;vwqV&quot;&gt;Azimjon Pulatov &lt;a href=&quot;https://t.me/lazyprogrammer&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;YYW3&quot;&gt;Farhodjon Yashayapti &lt;a href=&quot;https://t.me/FarLives&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;irgQ&quot;&gt;Mayoq &lt;a href=&quot;https://t.me/mayoquz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;zcj8&quot;&gt;Akbarjon Dev &lt;a href=&quot;https://t.me/akbarjondev&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;2ked&quot;&gt;Node.js (Saidabdulla Masharipov) &lt;a href=&quot;https://t.me/npm_run_dev&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;3WZI&quot;&gt;Farrukh Saliev &lt;a href=&quot;https://t.me/farrukhsaliev&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;01d6&quot;&gt;Umar Muhandis &lt;a href=&quot;https://t.me/umarmuhandis&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;lOyX&quot;&gt;Sardor Og’a kanali &lt;a href=&quot;https://t.me/sardoroga_blog&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;7ycd&quot;&gt;Bexrux.ru - IT blog &lt;a href=&quot;https://t.me/bexruz_ru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;noG0&quot;&gt;Nurmuhammad Mahmudov - &lt;a href=&quot;https://t.me/NurmuhammadMahmudov&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;5yT3&quot;&gt;Abduaziz Py🔥 &lt;a href=&quot;https://t.me/AbduazizPy&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;SsMT&quot;&gt;Saud Abdulwahed &lt;a href=&quot;https://t.me/saudabdulwahed&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;jqWK&quot;&gt;Dev Farhod &lt;a href=&quot;https://t.me/devfarhod&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;zbrJ&quot;&gt;PyNotes &lt;a href=&quot;https://t.me/py_notes_uz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;nh80&quot;&gt;Nuruddin Blogs &lt;a href=&quot;https://t.me/nuruddinblogs&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;oUkY&quot;&gt;dev_b.log &lt;a href=&quot;https://t.me/shakhzodme&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;U0z7&quot;&gt;azizbekx &lt;a href=&quot;https://t.me/azizbekx&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;UEdc&quot;&gt;Abdusamad Malikov &lt;a href=&quot;https://t.me/malikovdev&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt; &lt;a href=&quot;https://www.abdusamad.uz/&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;n0S2&quot;&gt;Izlan &amp;amp; Rivojlan &lt;a href=&quot;https://t.me/izlanvarivojlan&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt; &lt;a href=&quot;https://m.youtube.com/c/izlanrivojlanresearchdevelop&quot; target=&quot;_blank&quot;&gt;YouTube&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h2 id=&quot;O2y6&quot;&gt;&lt;strong&gt;💼 Job sources&lt;/strong&gt;&lt;/h2&gt;
  &lt;ul id=&quot;9Q5B&quot;&gt;
    &lt;li id=&quot;iXd6&quot;&gt;Ustoz Shogird &lt;a href=&quot;https://t.me/UstozShogird&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;zuiX&quot;&gt;Rizqim &lt;a href=&quot;https://t.me/rizqimuz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;bnde&quot;&gt;IT Market &lt;a href=&quot;https://t.me/itmarket_uz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;T5dz&quot;&gt;Teamwork.uz (фриланс площадка) &lt;a href=&quot;https://t.me/teamwork_uz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;7eGo&quot;&gt;UZ Python Jobs &lt;a href=&quot;https://t.me/uzpythonjobs&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;xjIm&quot;&gt;UzDev Jobs &lt;a href=&quot;https://t.me/uzdev_jobs&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;LkaB&quot;&gt;IT Вакансии Ташкент &lt;a href=&quot;https://t.me/ITworksUz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;wDfh&quot;&gt;Uzbekcoders Jobs &lt;a href=&quot;https://t.me/omuc_jobs&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h2 id=&quot;-communities&quot;&gt;&lt;strong&gt;🎙 Communities&lt;/strong&gt;&lt;/h2&gt;
  &lt;ul id=&quot;d8os&quot;&gt;
    &lt;li id=&quot;UUrH&quot;&gt;Golang &lt;a href=&quot;https://t.me/golangdevs_community&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;CPU1&quot;&gt;Linux &lt;a href=&quot;https://t.me/linux_uzbek&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;Yyfp&quot;&gt;DevOps &lt;a href=&quot;https://t.me/devopsuzb&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;rSsc&quot;&gt;Python &lt;a href=&quot;https://t.me/python_uz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;O1XD&quot;&gt;Django &lt;a href=&quot;https://t.me/djangouzb&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;MHwj&quot;&gt;PyTelegramBotAPI &lt;a href=&quot;https://t.me/telebot_uz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;3Qmt&quot;&gt;Flask Uzb &lt;a href=&quot;https://t.me/flaskuzb&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;nB7a&quot;&gt;JS &lt;a href=&quot;https://t.me/js_uz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;PrAS&quot;&gt;NodeJs &lt;a href=&quot;https://t.me/nodejs_uz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;ZwFh&quot;&gt;Angular &lt;a href=&quot;https://t.me/angular_uz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;i8oy&quot;&gt;Vue JS &lt;a href=&quot;https://t.me/vuejs_uz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;moLX&quot;&gt;React &lt;a href=&quot;https://t.me/react_uz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;Jk0L&quot;&gt;Spring &lt;a href=&quot;https://t.me/spring_boot_mvc_uz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;of7H&quot;&gt;TelegrafJS &lt;a href=&quot;https://t.me/telegrafJS_uz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;INxs&quot;&gt;PHP &lt;a href=&quot;https://t.me/php_uz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;cAr1&quot;&gt;Laravel &lt;a href=&quot;https://t.me/laravel_uz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;LMvr&quot;&gt;Yii &lt;a href=&quot;https://t.me/yiiframework_uz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;lopE&quot;&gt;Dart - Flutter &lt;a href=&quot;https://t.me/dartdevuz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;CkAh&quot;&gt;iOS &lt;a href=&quot;https://t.me/iOSDevelopersUz&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;e5qR&quot;&gt;Swift UZB &lt;a href=&quot;https://t.me/swift_uzb&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;XOU3&quot;&gt;PostgreSQL Uzbekistan &lt;a href=&quot;https://t.me/pgsql_uzbekistan&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;J4uT&quot;&gt;DotNet &lt;a href=&quot;https://t.me/uz_dotnet&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;jhEh&quot;&gt;Csharp Uz &lt;a href=&quot;https://t.me/Csharp_uz_group&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;7aIt&quot;&gt;Xamarin Uz &lt;a href=&quot;https://t.me/Xamarin_Uzbekistan&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;8TRA&quot;&gt;UzGeeks &lt;a href=&quot;https://t.me/UzGeeksGroup&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;Mc3C&quot;&gt;UzDev – Сообщество разработчиков &lt;a href=&quot;https://t.me/uzdevgroup&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;dgDL&quot;&gt;Faang Interview &lt;a href=&quot;https://t.me/+ndewVNuP8co0ZTdi&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;YR6t&quot;&gt;Leetcode &lt;a href=&quot;https://t.me/LeetCode_Uz_Discuss&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;8qXH&quot;&gt;Source: &lt;a href=&quot;https://nodirshox.github.io/uzbekistan-developers-blogs/&quot; target=&quot;_blank&quot;&gt;https://nodirshox.github.io/uzbekistan-developers-blogs/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;oiKH&quot;&gt;Join: &lt;a href=&quot;https://t.me/FlutterBlogs&quot; target=&quot;_blank&quot;&gt;https://t.me/FlutterBlogs&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>mamasodikov:8AQfo47fyLO</id><link rel="alternate" type="text/html" href="https://teletype.in/@mamasodikov/8AQfo47fyLO?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mamasodikov"></link><title>Dartda ixtiyoriy parametrlar</title><published>2022-06-01T18:04:14.542Z</published><updated>2022-06-01T18:13:33.915Z</updated><summary type="html">Dartda ikki xil funksiya parametrlari mavjud: positional va named.</summary><content type="html">
  &lt;p id=&quot;kcXm&quot;&gt;Dartda ikki xil funksiya parametrlari mavjud: &lt;code&gt;positional&lt;/code&gt; va &lt;code&gt;named&lt;/code&gt;.&lt;/p&gt;
  &lt;p id=&quot;tGeE&quot;&gt;&lt;strong&gt;Ixtiyoriy pozitsion parametrlar&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;ZHYV&quot;&gt;Pozitsion parametrlar sizga tanish bo&amp;#x27;lgan parametrlardir:&lt;/p&gt;
  &lt;pre id=&quot;bUAE&quot;&gt;int sumUp(int a, int b, int c) {
  return a + b + c;
}
// ···
  int total = sumUp(1, 2, 3);
&lt;/pre&gt;
  &lt;p id=&quot;fZ8J&quot;&gt;Dart yordamida siz ushbu pozitsion parametrlarni qavs ichiga oʻrash orqali ixtiyoriy qilishingiz mumkin:&lt;/p&gt;
  &lt;pre id=&quot;TfB7&quot;&gt;int sumUpToFive(int a, [int b, int c, int d, int e]) {
  int sum = a;
  if (b != null) sum += b;
  if (c != null) sum += c;
  if (d != null) sum += d;
  if (e != null) sum += e;
  return sum;
}
// ···
  int total = sumUpToFive(1, 2);
  int otherTotal = sumUpToFive(1, 2, 3, 4, 5);
&lt;/pre&gt;
  &lt;p id=&quot;KaFj&quot;&gt;Ixtiyoriy pozitsion parametrlar har doim funksiya parametrlari roʻyxatida oxirgi boʻladi. Agar siz boshqa standart qiymat kiritmasangiz, ularning standart qiymati null bo&amp;#x27;ladi:&lt;/p&gt;
  &lt;pre id=&quot;YRZX&quot;&gt;int sumUpToFive(int a, [int b = 2, int c = 3, int d = 4, int e = 5]) {
// ···
}
// ···
  int newTotal = sumUpToFive(1);
  print(newTotal); // &amp;lt;-- prints 15

Code example
&lt;/pre&gt;
  &lt;p id=&quot;a8R1&quot;&gt;Birdan &lt;code&gt;joinWithCommas()&lt;/code&gt;beshgacha butun sonni qabul qiladigan, so&amp;#x27;ngra vergul bilan ajratilgan raqamlar qatorini qaytaradigan funksiyani amalga oshiring. Funktsiya chaqiruvlari va qaytarilgan qiymatlarga ba&amp;#x27;zi misollar:&lt;/p&gt;
  &lt;pre id=&quot;8A2b&quot;&gt;String joinWithCommas(int a, [int b, int c, int d, int e]) {
  var total = &amp;#x27;$a&amp;#x27;;
  if (b != null) total = &amp;#x27;$total,$b&amp;#x27;;
  if (c != null) total = &amp;#x27;$total,$c&amp;#x27;;
  if (d != null) total = &amp;#x27;$total,$d&amp;#x27;;
  if (e != null) total = &amp;#x27;$total,$e&amp;#x27;;
  return total;
}
&lt;/pre&gt;
  &lt;p id=&quot;il6l&quot;&gt;Funktsiya chaqiruvi&lt;/p&gt;
  &lt;pre id=&quot;jY4W&quot;&gt;joinWithCommas(1)       
joinWithCommas(1, 2, 3)     
joinWithCommas(1, 1, 1, 1, 1)
&lt;/pre&gt;
  &lt;p id=&quot;qzWO&quot;&gt;Qaytarilgan qiymat&lt;/p&gt;
  &lt;pre id=&quot;rvXE&quot;&gt;&amp;#x27;1&amp;#x27;
&amp;#x27;1,2,3&amp;#x27;
&amp;#x27;1,1,1,1,1&amp;#x27;
&lt;/pre&gt;
  &lt;p id=&quot;RuJe&quot;&gt;&lt;strong&gt;Ixtiyoriy nomli parametrlar&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;uGGk&quot;&gt;Figurali qavs sintaksisidan foydalanib, siz nomlari bo&amp;#x27;lgan ixtiyoriy parametrlarni belgilashingiz mumkin.&lt;/p&gt;
  &lt;pre id=&quot;yBl7&quot;&gt;void printName(String firstName, String lastName, {String suffix}) {
  print(&amp;#x27;$firstName $lastName ${suffix ?? &amp;#x27;&amp;#x27;}&amp;#x27;);
}
// ···
  printName(&amp;#x27;Avinash&amp;#x27;, &amp;#x27;Gupta&amp;#x27;);
  printName(&amp;#x27;Poshmeister&amp;#x27;, &amp;#x27;Moneybuckets&amp;#x27;, suffix: &amp;#x27;IV&amp;#x27;);
&lt;/pre&gt;
  &lt;p id=&quot;X5fq&quot;&gt;Siz kutganingizdek, ushbu parametrlarning qiymati default holat bo&amp;#x27;yicha null, lekin siz standart qiymatlarni berishingiz mumkin:&lt;/p&gt;
  &lt;pre id=&quot;lJQZ&quot;&gt;void printName(String firstName, String lastName, {String suffix = &amp;#x27;&amp;#x27;}) {
  print(&amp;#x27;$firstName $lastName $suffix&amp;#x27;);
}
&lt;/pre&gt;
  &lt;p id=&quot;1Ghx&quot;&gt;Funktsiya bir vaqtda ham ixtiyoriy pozitsion, ham ixtiyoriy nomlangan parametrlarga ega bo&amp;#x27;lishi mumkin emas.&lt;/p&gt;
  &lt;p id=&quot;fs2q&quot;&gt;&lt;strong&gt;Kod misoli&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;tJyc&quot;&gt;&lt;code&gt;copyWith()&lt;/code&gt;MyDataObject sinfiga misol metodini qo&amp;#x27;shing . U uchta nomlangan parametrni olishi kerak:&lt;/p&gt;
  &lt;pre id=&quot;olW2&quot;&gt;int newInt
String newString
double newDouble
&lt;/pre&gt;
  &lt;p id=&quot;aGz2&quot;&gt;Chaqirilganda , oldingi parametrlardan (agar mavjud bo&amp;#x27;lsa) ob&amp;#x27;ektning xususiyatlariga ko&amp;#x27;chirilgan ma&amp;#x27;lumotlar bilan joriy misol asosida &lt;code&gt;copyWith()&lt;/code&gt;yangisini qaytarish kerak . &lt;code&gt;MyDataObject&lt;/code&gt;Misol uchun, agar &lt;code&gt;newInt&lt;/code&gt;null bo&amp;#x27;lmasa, uning qiymatini ga ko&amp;#x27;chiring &lt;code&gt;anInt&lt;/code&gt;.&lt;/p&gt;
  &lt;pre id=&quot;sfqL&quot;&gt;class MyDataObject {
  final int anInt;
  final String aString;
  final double aDouble;

  MyDataObject({
     this.anInt = 1,
     this.aString = &amp;#x27;Old!&amp;#x27;,
     this.aDouble = 2.0,
  });

  // copyWith metodingizni shu yerga qo&amp;#x27;shing:
}&lt;/pre&gt;
  &lt;p id=&quot;kaKB&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;asG1&quot;&gt;&lt;code&gt;copyWith&lt;/code&gt; haqida qisqacha:&lt;/p&gt;
  &lt;p id=&quot;cCRl&quot;&gt;&lt;/p&gt;
  &lt;pre id=&quot;jUct&quot;&gt;//copyWith bizga T ni nusxalash va parametr argumentlari o&amp;#x27;rniga
//qayta qiymat yozish imkonini beradi.

class _HomePageState extends State&amp;lt;HomePage&amp;gt; {
  List&amp;lt;Product&amp;gt; products = [];

  @override
  void initState() {
    super.initState();

    Product sixSeaterDiningTableBrown = Product(
      id: &amp;quot;0&amp;quot;,
      name: &amp;quot;6 Seater Dining Table&amp;quot;,
      color: Colors.brown,
    );

    Product sixSeaterDiningTableBlack =
        sixSeaterDiningTableBrown.copyWith(color: Colors.black, id: &amp;quot;1&amp;quot;);

    products.add(sixSeaterDiningTableBrown);
    products.add(sixSeaterDiningTableBlack);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(&amp;quot;Hello, copyWith!&amp;quot;),
      ),
      body: ListView(
          children: products
              .map((Product product) =&amp;gt; ListTile(
                    trailing: Container(
                      width: 14,
                      height: 14,
                      color: product.color,
                    ),
                    title: Text(product.name),
                    subtitle: Text(product.id),
                  ))
              .toList()),
    );
  }
}&lt;/pre&gt;
  &lt;p id=&quot;CwKx&quot;&gt; &lt;/p&gt;
  &lt;p id=&quot;qm41&quot;&gt;Maqola yoqqan bo&amp;#x27;lsa do&amp;#x27;stlaringizga ulashing va kanalimizga a&amp;#x27;zo bo&amp;#x27;ling:&lt;/p&gt;
  &lt;p id=&quot;rlMY&quot;&gt;Avtor: &lt;a href=&quot;https://t.me/mamasodikoff&quot; target=&quot;_blank&quot;&gt;Mamasodiqov M&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;jTgO&quot;&gt;Kanal:&lt;a href=&quot;https://t.me/FlutterBlogs&quot; target=&quot;_blank&quot;&gt; Flutter Blogs&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>mamasodikov:y2WTmJCOEOD</id><link rel="alternate" type="text/html" href="https://teletype.in/@mamasodikov/y2WTmJCOEOD?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mamasodikov"></link><title>Курьёзные</title><published>2021-10-30T16:16:07.190Z</published><updated>2022-03-02T19:18:04.603Z</updated><summary type="html">Если что-то может быть понято двояко - оно будет понято неправильно.</summary><content type="html">
  &lt;p id=&quot;ot9A&quot;&gt;Если что-то может быть понято двояко - оно будет понято неправильно.&lt;/p&gt;
  &lt;p id=&quot;zcLx&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;aPzM&quot;&gt;Мелочь, а приятно. А если приятно, то это уже не мелочь.&lt;/p&gt;
  &lt;p id=&quot;PeSD&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;bodz&quot;&gt;О вкусах не спорят - спорят об их качестве&lt;/p&gt;
  &lt;p id=&quot;mN0U&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;XTlB&quot;&gt;Из двух спорящих всегда один - сволочь, а другой - дурак.&lt;/p&gt;
  &lt;p id=&quot;Wqpw&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;q0EZ&quot;&gt;Чистая совесть - лучшее снотворное.&lt;/p&gt;
  &lt;p id=&quot;OfH5&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;O6Up&quot;&gt;Удар судьбы в лоб означает, что не возымели действия её пинки в зад.&lt;/p&gt;
  &lt;p id=&quot;cX3Z&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;cDkB&quot;&gt;Чтоб Ваши желания обалдевали от Ваших возможностей..! (ехидный тост)&lt;/p&gt;
  &lt;p id=&quot;a6Dz&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;Dl9y&quot;&gt;Очень много людей пропадает без вести при переходе от слов к делу.&lt;/p&gt;
  &lt;p id=&quot;sYRo&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;LJzm&quot;&gt;Не всякий способен посмеяться над самим собой, дар этот редкий, требующий умения подняться над собственной ограниченностью&lt;/p&gt;
  &lt;p id=&quot;nJiO&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;4f67&quot;&gt;Не ждите чуда! Чудите сами!&lt;/p&gt;
  &lt;p id=&quot;1oaR&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;9Ef0&quot;&gt;Что посмеешь, то пожмёшь&lt;/p&gt;
  &lt;p id=&quot;tygr&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;kktD&quot;&gt;Приближается мороз - здравствуй, остеохондроз...&lt;/p&gt;
  &lt;p id=&quot;1Y7k&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;LI4C&quot;&gt;Лишённым сострадания - не будет оправдания.&lt;/p&gt;
  &lt;p id=&quot;qxzj&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;IcYP&quot;&gt;Моя жизнь - мои правила! Не нравятся правила? Не лезь в мою жизнь...&lt;/p&gt;
  &lt;p id=&quot;Xaf0&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;H9Q4&quot;&gt;Не можешь противостоять - противолежи!&lt;/p&gt;
  &lt;p id=&quot;Rz59&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;TWd6&quot;&gt;Нашедшего выход затаптывают первым...&lt;/p&gt;
  &lt;p id=&quot;LOCO&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;5gL2&quot;&gt;Самые протоптанные пути - в никуда.&lt;/p&gt;
  &lt;p id=&quot;A9AW&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;YDmd&quot;&gt;Всё нормально. Просто нормы меняются&lt;/p&gt;
  &lt;p id=&quot;IlBa&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;eCGP&quot;&gt;Никто не умрёт девственником, жизнь всех поимеет&lt;/p&gt;
  &lt;p id=&quot;3hKJ&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;SqLv&quot;&gt;Чем ты обладаешь, то обладает и тобой&lt;/p&gt;
  &lt;p id=&quot;DMdi&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;6fy8&quot;&gt;Шагая по жизни, постарайся не раздавить впечатления.&lt;/p&gt;
  &lt;p id=&quot;FsnK&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;X9Qy&quot;&gt;Несите чушь бережно, стараясь не расплескать. Хороша только полная чушь.&lt;/p&gt;
  &lt;p id=&quot;K2lZ&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;IrQw&quot;&gt;Не ищи пятен на Солнце, - ослепнешь!&lt;/p&gt;
  &lt;p id=&quot;UIPL&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;hDYx&quot;&gt;От шика до пшика - одна буква&lt;/p&gt;
  &lt;p id=&quot;jyvT&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;Wtpg&quot;&gt;Диплом позволяет ошибаться значительно увереннее&lt;/p&gt;
  &lt;p id=&quot;pUKm&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;cHzt&quot;&gt;В беге трусцой самое важное - не потерять трусцы&lt;/p&gt;
  &lt;p id=&quot;Z2OM&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;nvYV&quot;&gt;За неимением своего таланта зарывал в землю чужой&lt;/p&gt;
  &lt;p id=&quot;UedP&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;TQg1&quot;&gt;Лучшую характеристику получила пустыня: у неё не оказалось теневых сторон&lt;/p&gt;
  &lt;p id=&quot;d75d&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;5ZBe&quot;&gt;Боги всемогущи, но черти значительно расторопнее&lt;/p&gt;
  &lt;p id=&quot;Q46u&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;kMlo&quot;&gt;Глупые мысли редко запаздывают&lt;/p&gt;
  &lt;p id=&quot;id5O&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;TreT&quot;&gt;Более тупой замолкает последним&lt;/p&gt;
  &lt;p id=&quot;pB9u&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;bg6f&quot;&gt;Иногда наломаешь дров, а потом думаешь - и нахрена мне столько&lt;/p&gt;
  &lt;p id=&quot;JRDY&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;xofg&quot;&gt;Маленький мальчик смеяться любил... Сделает гадость, и ржёт как дебил...&lt;/p&gt;
  &lt;p id=&quot;V4nN&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;4uYL&quot;&gt;Поцелуй - это еще один приятный способ найти общий язык.&lt;/p&gt;
  &lt;p id=&quot;RNxT&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;17ck&quot;&gt;Отсутствие наряда служит иногда лучшим нарядом.&lt;/p&gt;
  &lt;p id=&quot;m8PO&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;7Cl4&quot;&gt;Жизнь-игра. Задумана хреново, но графика обалденная.&lt;/p&gt;
  &lt;p id=&quot;LN2u&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;zR58&quot;&gt;Игры в Интернете - это мастурбация, ведущая к деградации&lt;/p&gt;
  &lt;p id=&quot;9vPp&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;tViz&quot;&gt;Знание закона не освобождает от соблазна...&lt;/p&gt;
  &lt;p id=&quot;VQKe&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;1I7I&quot;&gt;Если человек лишен чувства юмора, значит было за что&lt;/p&gt;
  &lt;p id=&quot;rS9D&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;uV6z&quot;&gt;Смех без причины - признак незаконченного высшего образования&lt;/p&gt;
  &lt;p id=&quot;ZkXI&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;lmqV&quot;&gt;Смех продлевает жизнь на 5 минут, а секс удлиняет член на 15 минут.&lt;/p&gt;
  &lt;p id=&quot;FdQr&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;y4z8&quot;&gt;Чем больше принимается законов, тем больше в стране беззакония&lt;/p&gt;
  &lt;p id=&quot;Vb7D&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;l6UN&quot;&gt;Хуже незваного гостя может быть только невыпровоженный...&lt;/p&gt;
  &lt;p id=&quot;IQln&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;RTwB&quot;&gt;Когда срывает крышу, самое время строить следующий этаж&lt;/p&gt;
  &lt;p id=&quot;DZMJ&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;Bmrn&quot;&gt;Когда в голове сквозняк, уши служат вентилятором.&lt;/p&gt;
  &lt;p id=&quot;8qIQ&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;46TD&quot;&gt;Чем меньше словарный запас, тем сильнее словесный понос&lt;/p&gt;
  &lt;p id=&quot;LS9w&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;tv6l&quot;&gt;У меня характер тяжёлый ..потому что - золотой!&lt;/p&gt;
  &lt;p id=&quot;UDv2&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;5wbz&quot;&gt;Молчание - золото. Будешь много молчать - ограбят&lt;/p&gt;
  &lt;p id=&quot;fycw&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;HRRe&quot;&gt;Бараны бывают курдючные и пердючные,&lt;br /&gt;А коровы - дойные и подвзбздойные.&lt;/p&gt;
  &lt;p id=&quot;LQIC&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;Trv9&quot;&gt;Весна покажет, что скрывал сугроб...&lt;/p&gt;
  &lt;p id=&quot;8obW&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;42sa&quot;&gt;Виагра кончилась... осталось лишь смотреть.&lt;/p&gt;
  &lt;p id=&quot;Fn5N&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;xfHB&quot;&gt;У запора два врага - чернослив и курага&lt;/p&gt;
  &lt;p id=&quot;BTjL&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;L8yS&quot;&gt;Видали мы таких, но убежать успели.&lt;/p&gt;
  &lt;p id=&quot;Udtb&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;AMta&quot;&gt;Нет вкуса? У меня?! А вы лизните!&lt;/p&gt;
  &lt;p id=&quot;ukZZ&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;1j6I&quot;&gt;Я проверялся. Вы больны не мною&lt;/p&gt;
  &lt;p id=&quot;1YUD&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;u7Pe&quot;&gt;Волки от испуга трахнули друг друга&lt;/p&gt;
  &lt;p id=&quot;IMvj&quot;&gt;===&lt;/p&gt;
  &lt;p id=&quot;lGJp&quot;&gt;Если вас незаслуженно обидели - вернитесь и заслужите!.&lt;/p&gt;
  &lt;p id=&quot;clUo&quot;&gt;===&lt;/p&gt;

</content></entry></feed>