Internet Derazalar Android
Kengaytirmoq

NPM va chap yadiq: biz dasturni o'rgandikmi? CSS uslubidagi to'ldirish-chap. Balding-dan foydalanib, chap tomonda maydonni o'rnatish, biz qaramlikni kamaytirish uchun kurashamiz

CSS plakding-chap tomonga ulangan o'lchamdagi o'lchamni o'rnatadi (element doirasining ichki chetidan masofada joylashgan, uning tarkibini chapga cheklaydigan xayoliy to'rtburchaklardagi masofa).

CSS mulkini to'ldirish-chap

Qoidalarni yozish qoidalari

Pladding-chap:<размер>;

Chap konning kattaligi piksel (px), foiz (%) yoki CSS uchun ruxsat etilgan boshqa ruxsat etilgan ruxsat etilgan to'plamlarda ko'rsatiladi.

Ob'ekt modeli

Ob'ektiv .Padingct.

Pladding-chap uslubga oid misol

Biz misolda qoldirilgan piksingning ishini namoyish etamiz. Biz boshqa tomondan kattaroq bo'lish uchun chap tomonda maydon kerak. Matn fon shaklida ko'tarilmasligi kerak.

Ilovaning xususiyatlari Misol CSS uslubidagi pladding-chap
Biz boshqa tomondan kattaroq bo'lish uchun chap tomonda maydon kerak. Bu CSS mulkini to'ldirishga yordam beradi

Placing yozish o'rniga: 5px; keyin pikterli chap: 90px; Bizda yozma plombalash kerak: 5px 5px 5px 90px; . Juda qisqaroq va yuqori darajadagi tartibni ko'rsatadi.

Dala tarkibining chap chetidan dala qiymatini belgilaydi. Maydon element doirasining ichki chetidan masofada joylashgan, uning tarkibini cheklaydigan xayoliy to'rtburchakka (1-rasm).

Sintaksis

pladding chap: Qiymat | Avtomatik.

Dalillar

Chap konning kattaligi piksel (PX), foiz (%) yoki CSS uchun boshqa ruxsat etilgan birliklarda ko'rsatiladi. Avtomatik argument dala o'lchami avtomatik ravishda brauzer tomonidan hisoblab chiqilishini ko'rsatadi.





piktingling chap.



Lore ipsum dolor Shit Amet, Consectetuer adipiscing elita, Sad Diem Nonummy Nibh Euismod Tincidunt UT Lacreet Dolore Magna Aliguam erat Volutpat. UT Whis Weim Adim, Minim Voniam, QUI NOSTRUMRUSIYASI TAYYoRLARI TASLIMKORPER SSULLANS NESLT UT UT UTUS SEC Commosi Anip sobiq sotuvi.



Ushbu misol natijasi guruchda keltirilgan. 2.

Anjir. 1. Pladding-chap parametrni qo'llang

Brauzer Nettapa. Opera Mozilla Firefox.
Versiya 5.5 6.0 7.0 8.0 8.0 9.0 7.0 8.0 9.2 9.5 1.3 2.0 3.1 1.5 2.0 3.0
Qo'llab-quvvatlanadigan Ha Ha Ha Ha Ha Ha Ha Ha Ha Ha Ha Ha Ha Ha Ha Ha

Qisqacha ma'lumot

Tavsif

Dala tarkibining chap chetidan dala qiymatini belgilaydi. Maydon element doirasining ichki chetidagi masofa tufayli uning tarkibini cheklaydigan xayoliy to'rtburchakka nisbatan masofada (1-rasm).

Sintaksis

pladding chap: Qiymat | Avtomatik.

Dalillar

Chap konning kattaligi piksel (PX), foizlar uchun foizlar (%) yoki boshqa ruxsatnomalarni (TSS) birliklari uchun ko'rsatilishi mumkin. Avtomatik argument dala o'lchami avtomatik ravishda brauzer tomonidan hisoblab chiqilishini ko'rsatadi.

Stml 4.01 CSS (TSS) 2.1 IE 5.5 IE 6,7 OF 9.5 SA 3.1 FF 2.0 FF 2.0

piktingling chap.

Lore ipsum dolor Shit Amet, Consectetuer adipiscing elita, Sad Diem Nonummy Nibh Euismod Tincidunt UT Lacreet Dolore Magna Aliguam erat Volutpat. UT Whis Weim Adim, Minim Voniam, QUI NOSTRUMRUSIYASI TAYYoRLARI TASLIMKORPER SSULLANS NESLT UT UT UTUS SEC Commosi Anip sobiq sotuvi.

Ushbu misol natijasi guruchda keltirilgan. 2.

Anjir. 1. Pladding-chap parametrni qo'llang

(Devid Haney), boshqaruv dasturchisi stakan toshib ketdi

Shunday qilib, ishlab chiquvchilar, jiddiy suhbat uchun vaqt. Ushbu haftaning reaktsiyasi, Babel va boshqa mashhur NPM paketlari singanligini bilasiz. Sababi juda ajoyib.

Chap pox deb ataladigan oddiy NPM paketini reaktsiya, Babel va boshqa paketlar deb nomlangan. Ushbu postni yozish paytida modul Gitubda 11 yulduzga ega (hozir 323 - Taxminan). Butun paketda 11 ta oddiy chiziqlardan iborat bo'lib, ular ibtidoiy funktsiyani qatorlarning chap tomonida joylashtiradi. Agar ba'zi aloqalarning ba'zilari bir kun kelib bo'lsa, bu erda uning kodi:

Modul.exports \u003d chapda; Funktsiyasi chapda (str, len, c) (str \u003d str \u003d str); if && CH! \u003d\u003d 0) CH \u003d '" + I.< len) { str = ch + str; } return str; } Что меня беспокоит, так это bunday ko'p sonli paketlarO'rnatilgan joyda giyohvandlik Oddiy urug'lar bilan bo'sh joydan, 2 minut sarflash o'rniga, ushbu asosiy funktsiyani o'zi yozing.

Chap yadro tufayli sodir bo'lgan qayg'u haqida bilgan holda, men NPM ekotizimni o'rganishni boshladim. Va men kashf qildim, boshqa narsalar orasida:

  • Bir paket mavjud yarayray.2016 yil fevral oyida kuniga 880,000 marta 880,000 marta yuklab olinadi. Unda 72 bog'liq bo'lgan NPM paketlari. Va bu erda butun 1 ta kod:
    RETTRRING.CALL (CRO) \u003d\u003d "";
  • Bir paket mavjud izohsiz-butun son (Github), bu quyidagilardan iborat 4 satr va kechagi kecha kerak edi 3 boshqa paketlar ish uchun. Muallifdan beri buyurtma berilmagan, shuning uchun paket 0 ga bog'liqlik mavjud, ammo nima uchun u darhol qilinmaganligini tushunolmayman.
  • Yangi o'rnatish Babel O'z ichiga oladi 41000 fayl
  • Toza JSPM / NPMga asoslangan dasturiy andoza C. boshlanadi. 28 000+ fayllar
Bularning barchasi sizni savol berishga majbur qiladi ...

Biz dastur qilishni o'rgandikmi?

Parallel dunyoning qaysi qismida, yuqoridagi qarorlar eng yaxshisidir? Bo'sh shablon uchun yuzlab bog'liqlik va 28000 faylni boshqa biror narsa deb atash mumkin, ammo haddan tashqari qiyinchilik va jinnilikdan tashqari?

Aftidan, NPM ekotizim ishtirokchilari mikroli zavod zavodlarini sevadiganlar o'stirganga o'xshaydi. Har qanday funktsiya yoki kodni yozish o'rniga, ular boshqa birovning yozilishiga bog'liqlikni o'rnatishdan afzal ko'rishadi. Menga NPM ekotizimidagi dasturchilarning barcha ishlashi mavjud kutubxonalarni shaxsiy yoki tijorat ehtiyojlari uchun noyob narsa yaratish uchun imkon qadar kichikroq kod sifatida kiritilgan.

Funktsiyalar paketlar emas

Funktsiyalar paketga va qaramlikka kirish uchun juda kichikdir. Toza funktsiyalar ulanishmaydi; Bular tasodifiy kodlar va boshqa hech narsa emas. Kim kosiniyaga bog'liq bo'lgan kimsaga muhtoj? Buning o'rniga, biz o'zlarini yozishni istamaydigan ko'plab ayyor funktsiyalarni qamrab olgan trigonometriya paketiga qaram ekanmiz. Bu .Net va boshqa tizimlar asosiy funktsional imkoniyatlar bilan asosiy kutubxona yaratilishiga o'xshaydi. Bunday kutubxona til yaratuvchilari tomonidan sinovdan o'tkaziladi va xatolar yo'qligi bilan katta miqdordagi ishonchlilikka ega.

Uchinchi shaxslar muammosi

Boshqa birov tomonidan to'g'ri yozilgan yoki normal ishlashiga hech qanday kafolat yo'q. Hamma narsa to'g'ri bo'lsa ham, muammoni hal qilishning maqbul usuli bormi? Hech bo'lmaganda o'zingiz kodni yozganda, uni osongina o'zgartirishingiz, xatolarni tuzatish va samaradorlikni oshirishingiz mumkin. 1 satr funktsiyasida juda ko'p xatolar bo'lishi kerak.

Ikkinchidan, agar paketda mantiq to'g'ri bo'lsa ham, ishlab chiquvchilar o'zlari yopiq ko'zlar bilan o'zlari bilan yozishlari kerak bo'lgan yagona funktsiyalarga bog'liqligini o'rnatadi. Agar siz besh daqiqada chap yostiqni yoza olmasangiz, Besh daqiqada (google ni qidirish uchun sarf qilsangiz), keyin siz qanday dastur qilishni bilmaysiz. Jin ursin, ulardan birortasi, nomzod dasturni amalga oshirishga qodirmi yoki yo'qmi, suhbatda yaxshi savol bo'lishi mumkin.

Oxir-oqibat, turli xil apislarning birgalikda bog'lash dasturiy emas. Bu bostirib kirishni buzish shakli, bu bulutlar va ortiqcha yukni o'z ichiga olgan kod va qiyinchiliklar bilan bog'liq qiyinchiliklar bilan bog'liq.

Agar sizning kodingiz yoki uchinchi tomon kutubxonasining Kodeksi bo'lsa, unda bundan ham battarroq narsa, unda siz qanday dasturni qanday dasturlashni bilmasangiz, qanday qilib tuzatish yoki tuzatish kerakligini bilmaysiz.

Biz qaramliklarning pasayishi uchun kurashamiz

Har bir qo'shilgan paket boshqasini qo'shadi. giyohvandlik Loyihangizga. Ushbu so'zning mohiyatidagi bog'liqlik sizsiz muhtoj bo'lmoqShuning uchun kod ishladi. Yanada bog'liqlik, shunchalik ko'p muvaffaqiyatsizlik nuqtalari mavjud. Xatoning katta ehtimolligini eslatib bo'lmaydi: Siz har kuni bog'liq bo'lgan ushbu funktsiyalarni yozgan biron bir dasturchilarning biron bir birini tekshirdingizmi?

O'zingizni amalga oshirish uchun juda uzoq va qimmat bo'lgan har qanday murakkab funktsiyalarga qaramlikni oling. Ma'lumotlar bazasiga kirish darajasi (orm) yoki karshoce mijoziga bog'liq bo'lgan narsalar bog'liqlik sifatida o'rnatilishi kerak, chunki ular tejash va samaradorlikka qarab murakkab va xavfi.

Ammo iltimos, dasturlash, dasturlash, la'natlangan asosiy funktsiyalarni yozing. Bir-bir partiyali paketlarga bog'liqlik - bu odatda qichqirish uchun. Ishonma? Faqat haftasiga o'tganidek, ularda reaktsiya ishlab chiqaruvchilardan so'rang va ular ushbu 11 satrni chap bo'shliqlarga o'rash uchun yozish uchun 11 satrni yozmaganliklarini so'rang.