WisarWisar
Hamroh materiallar/Malumotnoma5 daqiqa

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 default

CSS — 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 NULL

Regex — 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 chegarasi
js
/\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 = registrsiz

HTTP 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 Timeout

HTTP 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!
Shpargalkalar (cheat sheets) — Wisar