Shpargalkalar (cheat sheets)
Har texnologiya uchun eng ko'p ishlatiladigan narsalar — tez ko'rib olish uchun. Yodlash uchun emas, eslab olish uchun.
JavaScript — massiv metodlari (2.7)
js
arr.map(x => x * 2) // har elementni o'zgartirib yangi massiv
arr.filter(x => x > 0) // shartga moslar
arr.reduce((a, x) => a + x, 0) // bitta qiymatga yig'ish
arr.find(x => x.id === 5) // birinchi mos element
arr.findIndex(x => x > 3) // birinchi mos indeks
arr.some(x => x > 10) // kamida bittasi mosmi (bool)
arr.every(x => x > 0) // hammasi mosmi (bool)
arr.includes(5) // bormi (bool)
arr.sort((a, b) => a - b) // saralash (sonlar)
arr.slice(1, 3) // [1,3) qism (asl o'zgarmaydi)
arr.splice(1, 2) // 1-indeksdan 2 ta o'chir (asl o'zgaradi)
arr.flat() // ichma-ich massivni yoyish
arr.flatMap(x => [x, x]) // map + flat
[...new Set(arr)] // takrorlanmas
Array.from({length: 5}, (_, i) => i) // [0,1,2,3,4]JavaScript — string va obyekt
js
str.split(",") // massivga
str.trim() // bo'sh joyni kesish
str.replace(/a/g, "b") // almashtirish (regex)
str.padStart(8, "0") // chapdan to'ldirish
str.includes("ab") // bormi
`${a} va ${b}` // shablon
Object.keys(obj) // kalitlar
Object.values(obj) // qiymatlar
Object.entries(obj) // [[k,v],...]
{ ...obj, yangi: 1 } // nusxa + qo'shish
const { a, b } = obj // destructuring
obj?.a?.b // xavfsiz kirish
a ?? "default" // null/undefined bo'lsa defaultCSS — Flexbox (1-QISM)
css
.container {
display: flex;
flex-direction: row | column; /* yo'nalish */
justify-content: center | space-between | flex-start; /* asosiy o'q */
align-items: center | stretch | flex-start; /* ko'ndalang o'q */
gap: 16px; /* oraliq */
flex-wrap: wrap; /* o'ralsin */
}
.item { flex: 1; } /* bo'sh joyni teng bo'lish */CSS — Grid
css
.container {
display: grid;
grid-template-columns: repeat(3, 1fr); /* 3 teng ustun */
grid-template-columns: 200px 1fr; /* sobit + moslashuvchan */
gap: 16px;
}
.item { grid-column: span 2; } /* 2 ustun egallaydi */
/* Responsive auto-fit */
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));CSS — foydali
css
/* markazlash */
display: grid; place-items: center;
/* matnni kesish (...) */
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
/* o'zgaruvchi */
:root { --asosiy: #3b5bdb; }
color: var(--asosiy);
/* media query */
@media (max-width: 680px) { ... }TypeScript — tiplar (7-QISM)
ts
let a: number; let b: string; let c: boolean;
let arr: number[]; let t: [string, number]; // tuple
let u: string | number; // union
type Status = "active" | "banned"; // literal union
interface User { id: number; name: string; email?: string; }
type Point = { x: number; y: number };
function f<T>(x: T): T { return x; } // generic
Partial<User> Pick<User,"id"> Omit<User,"email"> Record<string, number>
const x = val as string; // assertion
function isStr(v: unknown): v is string { return typeof v === "string"; }React — hooklar (11–12 QISM)
jsx
const [x, setX] = useState(0);
useEffect(() => { /* effekt */ return () => {/* cleanup */}; }, [dep]);
const memo = useMemo(() => hisobla(a), [a]);
const fn = useCallback(() => {...}, [dep]);
const ref = useRef(null);
const ctx = useContext(MyContext);
const [state, dispatch] = useReducer(reducer, initial);
// Custom hook
function useLocalStorage(key, initial) { /* ... */ }
// Shartli render
{loading ? <Spinner/> : <Data/>}
{items.map(i => <li key={i.id}>{i.name}</li>)}SQL — tez (6-QISM)
sql
SELECT col FROM t WHERE cond ORDER BY col DESC LIMIT 10;
INSERT INTO t (a, b) VALUES (1, 2);
UPDATE t SET a = 1 WHERE id = 5;
DELETE FROM t WHERE id = 5;
SELECT a.*, b.name FROM a JOIN b ON b.id = a.b_id; -- JOIN
SELECT user_id, COUNT(*) FROM t GROUP BY user_id HAVING COUNT(*) > 1;
CREATE INDEX idx ON t(col);
-- WHERE operatorlari
WHERE x IN (1,2,3) WHERE x BETWEEN 1 AND 5 WHERE name LIKE 'A%' WHERE x IS NULLRegex — tez (2-QISM)
text
. har belgi \d raqam \w harf/raqam/_ \s bo'sh joy
^ boshi $ oxiri * 0+ + 1+
? 0 yoki 1 {2,4} 2-4 marta [abc] a/b/c [^a] a'dan boshqa
(...) guruh a|b a yoki b \b so'z chegarasijs
/\d+/g // bir yoki ko'p raqam (global)
/^[\w.]+@[\w.]+$/ // sodda email
str.match(/\d+/g) str.replace(/\s+/g, " ") /abc/i.test(str) // i = registrsizHTTP status kodlari (0.4)
text
2xx muvaffaqiyat: 200 OK · 201 Created · 204 No Content
3xx ko'chirish: 301 doimiy · 302 vaqtinchalik · 304 Not Modified (kesh)
4xx mijoz xatosi: 400 Bad Request · 401 Unauthorized · 403 Forbidden
404 Not Found · 409 Conflict · 422 Validation · 429 Too Many
5xx server xatosi: 500 Internal · 502 Bad Gateway · 503 Unavailable · 504 TimeoutHTTP metodlari
text
GET olish (idempotent, keshlanadi)
POST yaratish (idempotent emas)
PUT to'liq almashtirish (idempotent)
PATCH qisman yangilash
DELETE o'chirish (idempotent)Bosh sahifa: README · Boshqa: Komandalar, Glossariy, Xatolar.
Izohlar (0)
Izoh yozish uchun kiring.
- Hozircha izoh yo'q. Birinchi bo'ling!