ToCode
Kanalga Telegramโda oโtish
ืืืคืื ืงืฆืจืื ืืืชืื ืชืื ืืืช ืื ืื ืคืจืง
Ko'proq ko'rsatish1 419
Obunachilar
+124 soatlar
-17 kunlar
-530 kunlar
Postlar arxiv
1 419
ืืื ืืงืืืจ ืืช ืื
ืื ืขืืฉื ืจืืฉืช ืืฆืืืช ืฉืืืื ืฉืืื ืชืฉืชืืช ืืืืจื ืืืืืงืืช ืืืืืืืืืช ืืืขืจืืช? ืื ืขืืฉื ืืืคืชืืช ืฉืืืื ื ืฉืืื ืืชืจ ืชืืขืื ืืฃ ืืื ืื ืืืื ืืช ืืคืจืืืืืืจืง ืฉืืื ืืื ื?
ืืชืจืืืช ืืชืขืฉืืื ืฉืื ื ืืขืืืืช ืืืืืช ืืืื ืืืืืช ืคื ืืืืช. ืื ืื ื ืืขืืืคืื ืืคืชืืจ ืืขืืืช ืขื ืืืืื ืฉืขืืืืื ืืจืฉืืชื ื, ืืื ืืื ืคืืชืจืื ืืื ืืื ืืกืื ืืืื ืืืฉืื. ืืคืชืืช ืฉืชืืื ืคืจืืืืืืจืง ืขื ืชืืขืื ืืืืืงืืช ืชืงืื ืืืชืจ ืงืจืืื ืขื ืืขืืืื ืฉืื, ืืคืืื ืื ืื ืืื ืืขืืจ ืืืจืืฉืืช. ืจืืฉ ืืฆืืืช ืฉืืฆืืื ืืืืจืื ืืช ืืืืช ืืืืืื ืืืืฆืขืืช ืฉืืืื ืืขืจืืช ืืืืงืืช ืืืืืืืืืช ืืืื ืืชืืืื ืืืฆืืง.
ืืืชืืจ ืืื ืื ืฉืงืืจืืื ืืืขืืช Job Security - ืืฆืืจื ืฉื ืืืชื ืื ืฉืื ืืืืฉืื ืืชืืืง ืืช ืืืืฆืจืื ืฉืื ืืื ืืกื ืืคืืื ืืืจื ืฉืื ืืืฉืืืื ืืชืคืงืืืื ืืืฉืื ืืืืจื ืืืคืขืืื ืื ืืชืืจ ืคืจืืืื ืกืจืื ืืืจื ืฉืขืืืืื ืืช ืืืืจื. ืืืฉื ืชืืืืงืช ืืืฆืจืื ืืฉื ืื ืื ืื ืืืื ืืจืก ืฉื ืืฃ ืืื. ืืืืจื ืืคืกืืื ืื ืืื ืชืืืื ืืืคืชื ืืืื, ืืืคืชื ืืคืกืื ืื ืืื ืื ืืฆืืื ืืืชืคื ืืช 100% ืืคืจืืืงืืื ืืืฉืื, ืืืคืจืืืงื ืืคืกืื ืื ืืืืข ืืื ืฉืื ืืงืื ืืื ืืืืข ืืคื ืื ืฆืืจื ืืืชืื ืืขืจืืช ืืืฉื.
ืืืฆืจืื ืคื ืืืืื, ืืื ืืืฆืจืื ืืืฆืื ืืื, ืืืืืื "ืืชืคืืก" ืื ืื. ืืื ืืงืก ืืืื ืืช ืืจืื ืืืืฆืจ ืคื ืืื, ืืื ืืจืืข ืฉืืืื ืืืืจื ืืฉืชืืฉื ืื ืืื ืืจืืจ ืฉืืื ืืจื ืืืจื. ืชืฉืชืืช ืืืืงืืช ืคื ืืืืช ืฉืืืฉืื ืื ื ืืฉืืื ืืฆืืืช ืฉืื ืืืืื ืืงืืืช ืืืคืื ืืืืฆืจ ืืืื ืฉื ืืืืจื ืืืงืื ืฆืืืช ืฉืืืจืื ืืืจืืื ืืืคืชื ืืืชื. ืืืืืชื ืืืื ืืืฆืจืื ืคื ืืืืื, ืืื ืืืฆืจืื ืืืฆืื ืืื, ืืืืืื ืืืืฉืืจ ืืฉืืืืฉ ืฉื ืืกืคืจ ืงืื ืฉื ืืคืชืืื ืืืืืฉืื ืืืืืช ืืชืืืืงืื ืขื ืืื ืืืชื ืืคืชื ืืืืื ืฉืืชื ืืืชื ืืคื ื ืฉื ืื. ืืฉืื ืงืืจื ืืื ืืืื ืจืฆืื ืืื ืืืืจ ืืืืื ืฉืืฉืืืจ ืืืชื ืืืืื ืฉืืื ืืชืื ื ืืืขื ืกืืื ืืืื ืืืืชื ืืืฆืจืื.
ืืืชืืจ ืืืืื ืช ืืืืจื ืืื ืฉืืืืืจื ืื ืื ื ืจืง ืืจืืืืืื - ืืฉ ืื ื ืืืฆืจ ืขื ืืคืก ืขืืืช ืชืืืืงื ืื ืืืืจื ืืืคืืชืื ืืชืืืง ืืืชื ืื ืืกืฃ ืืขืืืื ืืจืืืื ืฉืื ืืื ืืชืืื ื. ืืืืื ืืจืืืง ืืืขื ืืชืฉืืื ืืืืข ืืืจืืืืช, ืืฉืืืืจื ืืืคืืชืื ืืืืื ืืขืืื ืื ืืฆื ืืช ืขืฆืื ื ืืืคืฉืื ืืคืชื TypeScript ืฉืื ืืืืข awk ืืฉืืื ืืืืืืฃ ืืืชื.
1 419
ืฆืืืช ืชืฉืชืืืช
ืงืืืืืืืื ื ืฉืืจืฆื ืืขืืืจ 400 ืง"ื ืืื ืืืืืข ืืืื'ืื ืืืืืืื ืืฆืืจื ืืฉืืช 10 ืฉืขืืช ืืืืืืืืก. ืฆืจืคืชื ืฉืืจืฆื ืืขืืืจ ืืช ืืืชื ืืจืืง ืืคืจืื ืืืืจืื ืืฆืืจื ืจืง ืฉืขืชืืื ืืืฆื ืืจืืืช. ืืืืกืืื ืืืื ืืื ืขืฆืื ืืื ืื ืืคืฉืจืืืืช ืืืจืืื - ืืจืืืช ืืคืฉืจ ืืขืืื ืชืื ืืื ื ืกืืขื ืืืงืืืืืช ืืืืืื ืืืชืจ ืืืคืฉืจ ืืืขืืืจ ืืืขื ืื.
ืืื ืืืืื ืืื ืืฉืคืืข ืขื ืืืืืื? ืขื ืืชืจืืืช? ืขื ืืืืข? ืขื ืืืืื?
ืขืืืื ืขื ืชืฉืชืืืช ืื ืฆืจืืื ืืืืืช ืจืง ืชืืืืงื ืืชืืงืื ืชืงืืืช ืืืืืฉ. ืฆืืืชื ืชืฉืชืืืช ืืืืื ืื ืืื ืฉืืื ืื ืืช ืืขืชืื. ืื ืืืคืฉืจืื ืืคืืชืื ืืืืื ืืืืื ืืืืคืืื ืืช ืืืืืืืช ืืืื ืืืคืฉืจืืื. ืฆืืืชื ืชืฉืชืืืช ืื ืืื ืฉืื ืืืื ืืช ืืกืืืช ืืจืืืช. ืืืขืืจ ืืชืืืืงื ืืืืืื ืืื ืืื ืืืฉืืืื ืฉื ืขืฉื ืืงืจืืืจื.
(ื .ื. ืืงืืฉื ืืคืจืืืงืื ืชืฉืชืืช ืืืืื ืืืื ืืงืืฉื ืืืื ืืคืืชืื ืืืฆืจืื - ืืื ืืืืขืื ืื ืืื ืืช ืืืื ืื ืฉืื ื ืืื ื ืืืืช ืืขืืืจ. ืจืง ืืืื ืฉืืคืฉืจ ืืืขืืืจ ืืช ืื ืืืืจื ืืงืืืจื ืืืก ืื ืืืืจ ืฉืื ืืืืจ ืื ืืื ืืขืฉืืช. ืืืชืืจ ืืืื ืืืชืจ ืืื ืคืขื ืืขืืจ ืืื ืืืืื ืืช ืฆืจืื ืืืืจื ืืืขืฉืืช ืืช ืืฉืื ืืืื ืฉืืืจืื ืคืืืืื ืืขืฉืืช ืืื ืื ืืคืชืื ืืืชืืช ืืืฆืืื).
1 419
ืืื ืืืฉืืืช ืขื ืกืืืง ืืืืจืคืื ื AI
ืืื Stack Overflow ืื ืจืืฆืื ืฉ Chat GPT ืืขื ื ืขื ืฉืืืืช? ืืื ืื ืืืืจ ืขื ืฉืืจ ืืืืจืื ืฉืื ืื ื ืจืืฆืื ืื ืื ืจืืฆืื ืืขืฉืืช ืขื AI?
ื ืชืืื ืขื ืืืงืจืื ืืงืืื - ืื ืื ื ืฆืจืื ืืืืกืืฃ ื ืืชืื ืืคืจืืงืกื ืืืฉ ืขื ืฉืจืช ื Apache ืฉืื ืืจืืจ ืฉืื ื ืืืื ืืืฉืชืืฉ ื AI ืืื ืืืืฆืจ ืืช ืงืืืฅ ืืืืืจืืช. ืื ืืฉืืื ืืืฆืืจ ืื ืืคืกื ืืงืืืจื ืืืก, ืืืืืจ ืงืืืฅ JSON ื YAML ืืืืฆืืจ ื ืชืื ืื ืืงืจืืืื ืืืืืงืืช. ืื ืืืงืจืื ืืืื ื ืจืืื ืืืืื ืืื ืื ืืื ืืืจืื ืฉืืืืืชื ืืงืืืช ืืืฆืื ืืชืืขืื ืืจืฉืช, ืืคืฉืจ ืืืืื ืฉื AI ืื ืืกื ืื ืคื ืืืื ืขืืืื.
ืืื ืืืช ืจืง ืืืชืืื. ืื ืืืื ืืงืื ืืืืืชื? ืขืืืื ื ืจืื ืื ืืืืื ื ืืืงืฉ ื AI ืืืชืื ืื ืฉืืืืชืช SQL, ืื ืื ืืื ืืกืืืืช, ืืื ืืช ืืฉืืืื ืืืืง CSS ืื ืื ืืื ืืฉืชืืฉ ืืืืืืืช CSS ืฉืื ื ืื ืืืฉ ืืืืจ ืืืคืืื ืืขืฆื ืืืฆืืืจ ืงืื ืืงืืืคืื ื ืืช ืจืืืงื ืืืื ืืคืื ืงืฆืืื ืืืืืช ืฉืื. ืืื ืืืงืจืื ืืืื ืื ื ืืืจ ืื ืืืฉื ืขื ืืชืืฆืื ืฉื AI ืืืืฆืจ ืืชืืจ ืืฉืื ืฉืืืืชื ืืืื ืืืฆืื ืืจืฉืช, ืืื ืื ื ืืืฉื ืขื ื AI ืืชืืจ ืืืฉืื ืฉืขืืื ืืฉืืืื. ืืขืื ืขืืืจ ืืืจืืืืื ืฉื ืื ืก ืืงืื ืืขืืืจ ืื ืืืฆืื ืชืงืืืช ืืืืืกืืฃ ืคืืฆ'ืจืื ืงืื ืื. ืืคืฉืจ ืืืืืื ืฉืืืื ืฉืื ื ืืฉืื ืกืืื ืืืืฉื ื Open AI ืื ืื ื ืืืื ืืืฉืชืืฉ ืืงืื ืฉื ืืืชื ืขืืืจ ืืืจืืืืื ืืืืชื ืืืคื ืฉืืืืชื ืืืื ืืืขืกืืง ืืชืื ืช ืืืืชื ืืืืฉืชืืฉ ืืงืื ืฉืืื ืืืชื (ืจืง ืืจืื ืืืชืจ ืืื).
ืืกืืืืช ืืื ืื ืื ื ืื ืืจืืืฉืื ืื ืื ืืชืช ื AI ืืื ืืช ืขืืืจื ื ืืคื ื ืืืชื, ืืขืืืจ ืื ืืกืื ืืืืืื, ืืืขืืืช ืจืขืืื ืืช ืืืฉืื (ืฉืืื ืืื ืื ื ืฆืื ืืืชื ืืคืืืฉื ืืชืืจ ืจืขืืื ืืช ืฉืื ื), ืืืืฆืจ ืืจืคืืงื ืื ืืืืืงื ืืขืื ืขืืืืืช ืงืจืืืืืืื ืฉืืืื ืืืื ืืช ืื ื ืืื ืืืืืืช ืืืฆืจืื.
ืื ืื ืืืื Stack Overflow? ืืคืืกืืื ืืืืื? ืื ืฆืืืฆืื ืืืืื ืจืฉืช ืืืจืชืืช? ืื ืืคืืื ืืจืืช ืืื ืืืืืช ืืงืจืื ืืฉืคืื? ืขืืฉืื ืื ื ืจืื ืืจืืจ - ืืืฉืืง ืืื ืื ืืื ื AI ื ืืชื ืชืืฆืื ืืืื, ืืื ืืื ืืฉืื ืื ื ืชืืื ืืืชื ืื ืืืืชื ืืฆืืื. ืืฉืื ืื ื ืืืคืฉืื ืชืฉืืื ืฉื ืื ืืื ืืืืืขืื ืืืงืกื ืฉื AI ืื ืคืืืข ืืืืื ืฉืื ื ืืืืชื ืืืืื. ืื ืืืฉืื ืคืขื ืืืช ืืฉืื ืื ืืจืื ืฉืืชื AI ืื ื ืื ืืงืจื ืืืชืจ ืืช ืืืจืืืช ืฉืืืชื ืืืจ ืืฉืื ืืขืชืื. ืื ืืืื ืฉืืืืืจ ืคืขื ืืืช ืคืืจืกื ืคืืกื ืฉืืชื ืขืืืจื AI ืื ื ืื ืืืจื ืืงืจืื ืืช ืืคืืกืืื ืฉื ืืืชื ืืืืืจ ืืขืชืื. ืืขืืจ ืืฉืืืช ืืืืืง, ืืืืืจื ืฉื ืกืืืง ืืืืจืคืื ืืืชืจืื ืจืืื ื ืืกืคืื ืืื ืืืืจืช ืืืืื, ืืืื ืกืื ืืชืจ ืื ืื ื ืจืืฆืื ืืืืืช ืืืืื ืกืื ืืฉืชืืฉืื ืื ืื ื ืจืืฆืื ืฉืืืืขื. ืืืืจื ืืื ืื ื ืื ืืชืคืื ืื ืืชืฉืืืืช ืฉื Chat GPT ืืืื ืืืืืช ืืืชืจ ืืืชืฉืืืืช ืฉื ืืฆื ืืกืืืง ืืืืจืคืื, ืืฉื ืฉืืืกืืจืื ืฉืื ืืืืืื ืืืืืช ืืืืื ืืืชืจ ืืคืืกืืื ืืืืืืื ืื ืฆืืืฆืื ืืจืฉืชืืช ืืืจืชืืืช. ืืื ืืืืงื ืืื ืฉืืืกืืจืื ืฉื ื AI ืืืฉืืื ืืืฉืชืคืจ ืื ืจืง ืืืืืฉ ืืช ืืืงืื ืฉื ืชืืื ืืงืืจื, ืืฆืืจืชื ืืืืฉื ืฉืื ื ืืื ืืืชืืื.
1 419
ืขืจื ืจืืง ืืืืฉืง
ืืื ืืืืจืื ืฉืชืืื ืืืืืืื ืืืชื ืืื ืืืฉืืขืืช ืฉื ืขืจืืื ืจืืงืื ืืชืื ืืืฉืงืื. ืืื ืืืืืืืช ืืืชืงืืคื ืืืืจืื ื:
1. ื Rails ืืคืฉืจ ืืืืืืจ ื
config.hosts ืจืฉืืื ืฉื ืืืืืื ืื ืืืจืฉืื. ืืขืจื ืจืืง ืืืืจ ืฉืื ืืืืืืื ืื ืืืจืฉืื, ืืืื ืื ืื ื "ืจืง" ืืืกืืฃ ืขืจื ืืืขืจื ืืขืฆื ืื ื ืืคืขืื ืืืืงืช ืืืืื ืืืฉื.
2. ื Gremlin ืืคืงืืื g.V(id) ืืืืืจื ืฆืืืช ืืืืจืฃ ืืคื id. ืืคืฉืจ ืืืขืืืจ ืืกืคืจ ืืืืื ืืื ืืงืื ืืกืคืจ ืฆืืชืื ืืืฉื g.V(2, 3, 5) ืืืืืจ ืืช ืืฆืืชืื 2, 3 ื-5. ืืขืืจื ืฉื ืขืจื ืจืืง (ืืื ืืืื ืืชืื ืืกืืืจืืื) ืืืืืจื ืืช ืื ืืฆืืชืื ืืืจืฃ.
3. ืืคืงืืื cat ืืืื ืืงืก ืืืงืืช ืฉื ืงืืืฅ ืืืฆืืื ืืืชื ืขื ืืืกื. ืื ื ืขืืืจ ืื ืืกืคืจ ืงืืฆืื ืืื ืชืืคืืก ืืช ืืืื, ืืื ืื ืื ื ืขืืืจ ืืฃ ืฉื ืืื ืชืืคืืก ืืช ืืชืืื ืฉื STDIN ืฉืื, ืืืืืจ ืชืื ืก ืืืฆื ืฉื ืงืืืืช ืฉืืจืืช ืืชืืืืจ ืขื ืื ืฉืืจื ืฉืื ืื ื ืืืชืืื ืขื ืฉื ืืืฅ Ctrl+D ืืกืืื ืืช ืืงืื.
ืืฆืืจืช ืืชื ืืืืช ืฉืื ื ืืคืื ืงืฆืื ืขืืืจ ืขืจื ืจืืง ืืืืื ืืืืืช ืืจืืง ืืืื ืืืืืขื ืืืจ ืืื ืืงืฆืจ ืงืฆืช ืืช ืืงืื ืืืื ืืจืื ืคืขืืื ืื ืงืืฆืืจ ืฉืืคืชื ืืืื ืืก. ืืคืืขื ืืงืืฆืืจืื ืืืื ืืจืื ืคืขืืื ืืืืืืื ืืฉืชืืฉืื ืืืฉืื ืืจืง ืืืคืืื ืืช ืืืืฉืง ืฉืืื ืืคืืืช ืืืืืืชื.1 419
ืืื ื ืืฉืชืื ืขื ืื ืื ืื ืืืืืงืืช ืืืืืืืืืืช ืฉื ืืื ื ืืฆืืจื ืืืื ืืช. ื ืืฆืืจ ืชืืงืืื ืืฉื
tests ืืืชืืื ืงืืืฅ ืืฉื tests/demo1_test.ts ืขื ืืชืืื ืืื:
import { expect } from "jsr:@std/expect";
import demo1 from '../routes/demo1.ts';
// basic test
Deno.test("simple test", async () => {
const res = await demo1.request('/text')
expect(res.status).toBe(200)
expect(await res.text()).toBe('Hello Hono!')
});
ืืคืฉืจ ืืืคืขืื ืืช ืืืืืงื ืขื:
$ deno test
ืื ืืืืืฆื ืขื ืืืืงืื ืืืจืฆื ืืืฉืืืฉ ืืื ืงืื ืืืืืงื ืฉืืืคืืข ืืืืืืืืช ื VS Code.
ืืขืืื ืืจืฉืช
ืืืืืื ืืืื ืฉืื ืืื ื ืืฉ ืื ื ืืขืืื ืืืืืืืืช ืืจืฉืช ืืืื ื ื denodeploy. ืฆืจืื ืจืง ืืืชืื:
deployctl deploy
ืืฉืืจืช ืืคืงืืื ืืืขืงืื ืืืจ ืืืืจืืืช. ืืคืจืืืงื ืฉืื ืืืื ืืืจ ืืงืืฉืืจ:
https://ynonp-hono-demo.deno.dev/demo1/api/hello
ืืืชื ืืืืื ืื ืืขืืืจ ืขื ืืงืื ืืืื ืืืืืืื ืืงืืฉืืจ:
https://github.com/ynonp/hono-demo
ืกื ืืื ืืขืืืื ืขื ืืื ื ืืืชื ืื ืื ืฉ Express ืืื ืคืขื - ืืืฃ, ืขืืื ืืื ืืื ืจืืฉ ืืขืืฉื ืื ืื ืฉืฆืจืื.1 419
ืืื ื ืืื ืื ืื ืฉืจืฆืืชื ื express
ืืื ื (hono) ืืื ืกืคืจืืื ืืคืืชืื ืืื ืฉืงืฆืช ืืืืืจื ืืช ืืงืกืคืจืก ืืื ืขื ืกืืจืืืืืื - ืืฉ ืื ืชืืืื ืืืื ืืื ืกืืืืช ืืจืฆืช JavaScript, ืชืืืื ืืืื ืืช ืืืืืงืืช, ืืืืคืกืงืจืืคื ืืฉืจ ืืืงืืคืกื, ืืื ืืืชืจ ืืืืจ ืืื ืืืืข ืขื ืกืคืจืืืช ืฆื-ืืงืื ืฉืืืืืจื ืืช ืจืืืงื ืืื ืืจืื ืืืชืจ ืงืื ื. ืื ื ืฉืืืฉ ืืืืืืืช ืืืืจืืช ืืื ืืืชืจืฉื ืืื ื.
ืคืืชืื ืคืจืืืงื ืืืฉ
ืื ืื ืฉืฆืจืื ืืฉืืื ืืคืชืื ืคืจืืืงื hono ืืืฉ ืื ืืช ืืื ื ืืืชืงื ืืืืจืืฅ ืืช ืืคืงืืื:
deno run -A npm:create-hono@latest my-app
ืื ื ืืืืจ ืืช ืืื ื ืืชืืจ ืกืืืืช ืืจืืฆื ืืื ืืื. ืขืืฉืื ืืคืฉืจ ืืืคืขืื VS Code ืืชืืงืืื ืืืืชืืื ืืขืืื.
ืืืืจ ืืจืืฉืื ืฉืื ื ืจืืฆื ืืฉื ืืช ืืืืืจืืช ืืคืจืืืงื ืืืื ืืงืืืฅ deno.json ืืื ืืืืกืืฃ ืืชืื ืืช ืืฉืืื ืฉื ืคืืชืื ืฉืชืขืืื ืืืฆื watch. ืื ื ืืขืืื ืืช ืืงืืืฅ ืืืืจื ืืฉืื ืื ืืื ื ืจืื ืื:
{
"imports": {
"hono": "jsr:@hono/hono@^4.5.10"
},
"tasks": {
"start": "deno run --allow-net main.ts",
"dev": "deno run --allow-net --watch main.ts"
},
"compilerOptions": {
"jsx": "precompile",
"jsxImportSource": "hono/jsx"
},
"deploy": {
"project": "b737e735-3715-4077-a44b-782fc7424cb5",
"exclude": [
"**/node_modules"
],
"include": [],
"entrypoint": "main.ts"
}
}
ืืฉืืจื ืืืืืื ืฉืืืกืคืชื ืืื ืืขืจื dev ืืชืื ืืืืืืงื tasks.
ืืฉืืจืช ืืคืงืืื ืื ื ืืคืขืื:
deno task dev
ืืืฉ ืื ืฉืจืช ืฉืืงืฉืื ืขื ืคืืจื 8000 ืืื ื ืืืื ืืืชืืื ืืขืืื, ืืงืื ืืชืื ืืืืืคืกืงืจืืคื ืืื ืฉืื ืื ืงืื ืืืืืืืืช ืืจืขื ื ืืช ืืฉืจืช.
ืืืืื 1 - ืืืืจืช ืืืืข
ืื ื ืืืฆืจ ืชืืงืื ืืืฉื ืืฉื routes ืืืชืืื ืงืืืฅ ืืฉื demo1.ts ืขื ืืชืืื ืืื:
import { Hono } from "hono";
const router = new Hono();
let counter = 0;
router.get('/text', (c) => {
return c.text('Hello Hono!')
})
router.get('/api/hello', (c) => {
return c.json({
ok: true,
message: 'Hello Hono!',
})
})
router.get('/api/counter', (c) => {
return c.json({
value: counter++,
})
})
export default router;
ืืงืืืฅ ืืืืืจ ืฉืืืฉื ื ืชืืืื, ืืื ืืืืืจ ืืงืกื, ืืฉื ื ืืืฉืืืฉื ืืืืืจืื ืืืืืงืื JSON. ืืฉืืื ืืืฉืช ืื ืชืืืื ืื ื ืฆืจืื ืืืืจ ืืืชื ืืฉืจืช ืืืื ืื ื ืืืื ืืงืืืฅ main.ts ืืฉื ืืขืืื ืืช ืืงืืืฅ ืืชืืื ืืื:
import { Hono } from 'hono'
import demo1 from './routes/demo1.ts';
const app = new Hono()
app.route('demo1', demo1);
Deno.serve(app.fetch)
ืขืืฉืื ืืืคืืคื ืื ื ืืืืฉ ื localhost:8000/demo1/text ืืื ืืจืืืช ืืช ืืืงืกื, ื localhost:8000/demo1/api/hello ืืื ืืจืืืช ืืช ืืืืืืงื ืืจืืฉืื ืื localhost:8000/demo1/api/counter ืืื ืืจืืืช ืืช ืืืืืืงื ืืฉื ื.
ืืืืื 2 - ืืืฉื ืืคืจืืืจืื ืฉื ืืืงืฉื
ืืืื ื ืคืชื ืงืืืฅ ื ืืกืฃ ืืฉื routes/demo2.ts ืืืคืขื ืขื ืืชืืื ืืื:
import { Hono } from "hono";
const router = new Hono();
router.get('hello', (c) => {
const name = c.req.query('name') ?? 'Guest';
return c.text(\Hello! ${name}\);
});
router.post('item', async (c) => {
const props = await c.req.json();
console.log(props);
return c.json(props);
})
export default router;
ืืงืืืฅ ืืืืืจ ืฉื ื ื ืชืืืื - ื ืชืื ืืื ืืืงื ืืช ืืคืจืืืจ name ืื Query String ืืืืืืจ ืืงืกื ืฉืืืื ืืช ืืขืจื ืฉื ืืคืจืืืจ ืื ืฉื ืืจืืจืช ืืืื. ืื ืชืื ืืฉื ื ืืืงื ืืช ืืืฃ ืืืงืฉื ืืชืืจ ืืืืืงื JSON ืืืืืืจ ืืืชื. ืืฉืืื ืืืืจ ืืืชื ืืืคืืืงืฆืื ืฆืจืื ืจืง ืืืืกืืฃ ืืช ืืฉืืจื:
app.route('demo2', demo2);
ืืงืืืฅ main.ts, ืืื ืืคืืื ืื ืฆืจืื ืืกืืืจ ืืืคืชืื ืืช ืืชืืื ืืช ืืื ืคืฉืื ืืชืจืขื ื ืืืจืื ืืช ืื ืชืืืื ืืืขืืืื ืื.
ืืืืื 3 - ืฉืืืืช HTML
ืืงืืืฅ ืืฉืืืฉื ืฉืื ื ื ืงืจื routes/demo3.tsx, ืืื ืืกืืืืช ืืื tsx ืืื ts ืืคืขื. ืื ืืชืืื ืฉืื:
import { Hono } from "hono";
const router = new Hono();
const View = ({name = "Guest"}) => {
return (
<html>
<body>
<h1>Hello! {name}</h1>
</body>
</html>
)
}
router.get('/', (c) => {
return c.html(<View name="ynon" />)
})
export default router;
ืืชื ืื ืืืขืื - ืื ื ืจืื ืืื JSX ืืื ืืื ืื. ื Hono ืืฉ ืืจื ืืืื ืืช ืืคืฉืืื ืืืชืื HTML ืืืืฆืขืืช jsx. ืืฉ ืฉื ืขืื ืื ืืื ื ืงืืฆืืจืื ืื ื CSS ืืืคืืื ืกืคืจืืืช JavaScriptืฉืืืืืช ืขื ืื ืืืืคืฉืจืช ืืืืกืืฃ ืชืืืื ื Hooks ืืื useEffect, ืืื ืื ืืืจ ืกืืคืืจ ืืคืืกื ืืืจ.
ืืืืงืืช ืืืืืืืืืช1 419
ืืื ืื ืืฉ ืืงืื ืืืืกืง?
ืืคืื ืฉื ืฉืชื ืืคืงืืืืช ืืืื ืขื ืืฉืจืช ืืคืชืืข ืืืชื -
ynon@schooler-prod-2:~$ touch a
touch: cannot touch 'a': No space left on device
ynon@schooler-prod-2:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.9G 0 7.9G 0% /dev
tmpfs 1.6G 8.5M 1.6G 1% /run
/dev/sda 315G 103G 197G 35% /
tmpfs
ืืื ืืืื ืืืืืช ืฉ touch ืื ืืืื ืืืฆืืจ ืงืืืฅ ืืืฉ ืืืชืืื ื ืฉืืื ืืกืคืืง ืืงืื ืขื ืืืืกืง, ืืฉ df ืืจืื ืฉืืฉ ืืืืงื ืืืื ืืงืื? ืืื df ืืฉืงืจ? ืืื ืืฉ corruption ืืืขืจืืช ืืงืืฆืื? ืื ืงืืจื ืคื?
ืืืชืื. ืืื ืืคื ื ืฉืจืฆืื ืืืคืขืื fsck ืฉืืื ืื ืกืืช ืื ืืช df -i. ืืขืจืืืช ืงืืฆืื ืืืื ืืงืก ืฆืจืืืืช ืืฉืืืจ ืื ืืกืฃ ืืงืืฆืื ืขืฆืื ืื ืืื ืืงืก ืฉืืงืฉืจ ืืื ืฉื ืืงืืืฅ ืืชืืื ืฉืื ืขื ืืืืกืง. ืืืื ืืงืก ืืื ืื ืชืืคืก ืืงืื ืืืืื ื ืฉืื ืืืฆืจ ืืืืื ืขื ืืกืคืจ ืืงืืฆืื ืฉืืคืฉืจ ืืฉืืืจ ืืชืืงืืื. ืืคืงืืื df -i ืืฆืืื ืืื ืงืืฆืื ืืคืฉืจ ืืฉืืืจ ืขื ืื ืืื ื ืืืื ืืฉ ืืื, ืืื ืงืฉืจ ืืืืื ืฉืืื.
ืืฉืืฉ ืืงืื ืขื ืืืืกืง ืืื ืืื ืืกืคืืง inodes ืคื ืืืื, ืืคืงืืื touch (ืืืฆืืจืช ืงืืฆืื ืืืืคื ืืืื) ืืฆืืื ืืช ืืืชื ืืืืขืช ืฉืืืื ืืืืืืช No space left on device, ืืืจืืช ืฉืื ืืื ืฆืจืืืื ืืืืื Not enough free inodes on device.1 419
ืืืืืข ื ืืกืฃ ืขื ืืกืคืจืื ืืขืื ืืื ืกืืฃ ืืืืืืืช ืฉืืื ืืืงืจ ืืืชืจ ืฉืืื ืืงืืฉืืจ:
https://observablehq.com/plot/
1 419
ืืืืจื ืืช Observable Plot - ืืืืจืกื ืืงืื ืฉื D3
ืื ื ืืืื ืืช D3 ืื ืืคืฉืจ ืืขืฉืืช ืืืชื ืืื ืืืฉ ืืื ืกืืฃ ืืืืืืืช ืืจืฉืช, ืืื ืื ืืคืฉืจ ืืืืืืฉ ืฉ D3 ืงืฆืช ืืกืืื ืืืืื ืฉืคื ืืืืฉืืื ืฉืื ืืืืื ืืฉ ืื ืืืืืจ. ืื ืืชื ืจืง ืฆืจืืืื ืืืืกืืฃ ืืืื ืืจืฃ ืืืกืื ืื ืืืื ืฉืืื ืืื ืืืชืจ ืืื ืืื ืืจืงืฆืื ืกืคืจืืืช Observable Plot ืืืืื ืืชืช ืคืืชืจืื ืืืืจ. ืืฉืืืืฉ ืืขืืงืจื ืฉืื ืืื ืืื ืืชืื ืืืืจืืช ื'ืืคืืืจ ืืฉืฆื ืืฉืจืช ืืื deno.
ืืืืื 1 - ืฆืืืจ ืืคืื ืงืฆืื x ืืจืืืืข
ืืืืืื ืืจืืฉืื ื ื ืจืื ืืจืฃ ืคืฉืื ืฉื ืืคืื ืงืฆืื x ืืจืืืืข. ืืช observable plot ืืคืฉืจ ืืืขืื ืืจื jsdeliver ืืฉืืจืืช ืืืคืืคื ืขื ืืคืงืืื:
import * as Plot from "https://cdn.jsdelivr.net/npm/@observablehq/plot@0.6/+esm";
ืืืืจื ืฉื Observable Plot ืืื ืืงืืช ืืืืข ืืืืจืืืช ืืื ืืืฆืื ืืืชื ืืืืืจ ืืืชื ืืื ืืืจืฃ, ืืื ืื ืื ื ืืชืืืืื ืขื ืืฆืืจืช ืืืืืข:
const data = Array.from({length: 100}, (_, i) => {
let x = i - 50;
return {x, y: x * x};
});
ืื ืฉืืืฆืจ ืืขืจื ืฉื ืืื ืชืืื, ืื ืชื ืืืื ืืืืืงื ืขื ืฉืื ืืฉื x ืฉืืืื ืืกืคืจ (ืืื ืืื ืืก 50 ื 50) ืืฉืื y ืฉืืืื ืืช x ืืจืืืืข.
ืืืืง ืืฉื ื ืืืงื ืืช ืืืขืจื ืืืืจืืืช ืืื ืืืฆืื ืืืชื ืืืืฆืจ ืืืืืงื plot:
const plot = Plot.plot({
marks: [
Plot.line(data, {x: "x", y: "y", stroke: "blue"})
],
x: {label: "x"},
y: {label: "f = xยฒ"},
})
ืืชืืฆืื plot ืืื ืืืฉ SVG ืฉืืคืฉืจ ืืืืกืืฃ ื DOM. ืืคืฉืจ ืืจืืืช ืืช ืืงืื ืืืื ืืืชืืฆืื ืืงืืืคื:
https://codepen.io/ynonp/pen/abgamwv?editors=1010
ืื ืืืืืข:
<iframe height="300" style="width: 100%;" scrolling="no" title="Untitled" src="https://codepen.io/ynonp/embed/abgamwv?default-tab=html%2Cresult" frameborder="no" loading="lazy" allowtransparency="true" allowfullscreen="true">
See the Pen <a href="https://codepen.io/ynonp/pen/abgamwv">
Untitled</a> by Ynon Perek (<a href="https://codepen.io/ynonp">@ynonp</a>)
on <a href="https://codepen.io">CodePen</a>.
</iframe>
ืืืืื 2 - ืืืกืืืืจืืช ืชืืืจืืช ืืืืื
ืืืืื ืฉื ืื ืืงืฆืช ืืืชืจ ืืืจืืืช ืืื ืฆืืืจ ืืืกืืืืจืืช ืชืืืจืืช ืืืคืขื ืฉื ืืืืื ืืืงืกื. ืื ื ืืชืืื ืขื ืืืืืข:
const wordFrequency = [
{word: "quick", count: 4},
{word: "brown", count: 2},
{word: "fox", count: 2},
{word: "jumps", count: 1},
{word: "over", count: 1},
{word: "the", count: 5},
{word: "lazy", count: 3},
{word: "dog", count: 2},
{word: "is", count: 3},
{word: "very", count: 2},
{word: "and", count: 1},
{word: "agile", count: 1},
{word: "not", count: 1},
{word: "as", count: 1},
{word: "but", count: 1},
{word: "certainly", count: 1}
];
ืืื ืืื ืืขืื ืืงืืช ืืืจืืืช ืืืืืฆืจ ืืช ืืืืืข ืืื ืืื ืืืช, ืคืฉืื ืจืฆืืชื ืืืจืืืช ืืื ืืช ืืืืืข ืืื ืฉืืื ืขืืืจ ื Observable Plot.
ืืืืง ืืฉื ื ืื ื ืืืฆืจ ืืช ื SVG:
const plot = Plot.plot({
marks: [
Plot.barY(wordFrequency, {x: "word", y: "count", sort: {x: "y", reverse: true}})
],
x: {
label: "Word",
tickRotate: -45
},
y: {
label: "Frequency",
tickFormat: d => d, // Ensure only integer ticks are shown
ticks: Math.max(...wordFrequency.map(d => d.count)) + 1 // Set the number of ticks to match the highest count
},
height: 400,
width: 600
});
ืืคืขื ืืฉ ืงืฆืช ืืืชืจ ืงืื ืื ืจืฆืืชื ืืฉืืื ืืืืคื ืฆืืืจ ืืฉื ืชืืช ืขื ืฆืืจ ื y ืืืืืื ืฉืื ืืืคืืขื ืืฆืื ืืกืคืจืื. ืขืืืื ืื ืฉืืฉืื ืื ืืืืคืื ืืื ืืืืืงื ืืืืืข ื plot, ืืืคืื ืฉืื ืืืื ืืืืื ืืฉืืจื:
Plot.barY(wordFrequency, {x: "word", y: "count", sort: {x: "y", reverse: true}})
ืืชืืฆืื ืฉืื ืืงืืืคื:
https://codepen.io/ynonp/pen/gONdwZK?editors=1010
ืื ืืืืืขืช:
<iframe height="300" style="width: 100%;" scrolling="no" title="Untitled" src="https://codepen.io/ynonp/embed/gONdwZK?default-tab=html%2Cresult" frameborder="no" loading="lazy" allowtransparency="true" allowfullscreen="true">
See the Pen <a href="https://codepen.io/ynonp/pen/gONdwZK">
Untitled</a> by Ynon Perek (<a href="https://codepen.io/ynonp">@ynonp</a>)
on <a href="https://codepen.io">CodePen</a>.
</iframe>1 419
ืจืง ืฉืชื ืืืืฆืืช
ืืืขืื ืืื ืงืฉื ืืื ืืืช ืืขืจืืช ืืื ืืืื ื ืฉืืฉืชืืฉืื ืื ืืืื ืืขืืื ืฉืื ืืืช ืืืขืืืช ืฉืืื ืืชื ืขืืืื ืื ืืืื ืืืืืื. ืืื ืืืืขืช ืืขืจืืช ืืืืืจืื ืืืืฉืื ืืื ืชืืื ืจืขืืื ืืื (ืื ืืคืืืช ืื ืขืื ืืฉ ืืื ืืืกืชืื ืื ืืืืช ืงืืจื ืืืฉืชืืฉืื ืืืืงืฉืื ืืืขืืืช ืฉืืื).
ืืช ืืคืืกื ืืืื ืื ืืฉื ืื ื ืฉืื ืืืงืืืฉ ืืืขืจืืช ืืกืคืจื ืืืฉืืื ืืืช ืืืืฉื ืฉื ืืก ืืื ืกื. ืืื ืื ืื ืืืืจ ืืืืืช ืกืืคืจ ืคืฉืื - ืคืขื ืืฉืืืฉื ืืืืฉืื ืฆืจืื ืืืืืฅ ืขื ืืคืชืืจ ืืื ืืืืืื ืฉืืชื ืขืืืื ืืืืื, ืืื ืืืืจ ืืช ืืขืจืืช ืืืฉืืื ืืืช ืฉืื ืืืก ืืื ืกื ืืื ืืืืคื ืืืืืืื ืืขืจืืช ืืืฉืืื ืืืช ืืืืืขื ืืืก ืืื ืกื ืืฉืืืฆืืช ืืฉืืื ืืช, ืืืงืื ื 15 ืืืืืฉ ืืฉืชืืืฉ ืืช ืืืฉืืื ืืช.
ืืื ืื ืื ืืื ืืืคืฉืจ ืืืืจืื ืืืก ืืื ืกื ืืชืื ืืื ืืืฉืืื ืืืช ืฉืื ืฉืื ืืืฆืืืื ืืืฉืืื ืืืช ืฉืื ืฉืื ืืงืืืื, ืืื ืื ืืืืืื ืืืืืช ืืืจ ืืืชืจ ืจืืืืืืช (ืืืฉื ืืฉืืืฉืื ืืงืื ืืฉืืื ืืช ืืื ืืืฆืื ืืืฉืืื ืืช ืื ืืืืื ืขืืื). ืืืขืชื ืืื ืืื ืืืชืจ ืงื ืืืืฆืจ ืฉืืชืืฃ ืคืขืืื ืขื ืืืืจืืช ืฉืืืจ ืงืืืืืช ืืืฉืืื ืืืช ืืืืืืืืืช, ืืื ืื ื ืืืื ืฉืืฉืื ืฉื ืื ืฉืื ืืืืื ืฉืื ื ืืช ืืื ืื ืื ืืจืื ืืืจืื ืฉืื ื ืื ืจืืื.
ืื ืฉืื ืืืื ืื ืจืื ืื ืฉืฆืจืื ืืืืืช ืืืืืข ืฉืืื ืื ืืกืชืืจืื ืขื ื ืกืืขืืช ืืื"ื ืืฉืชื ืกืืืืช:
1. ืื ื ืืชื ืืืืืฅ ืขื ืืคืชืืจ ืืืืืืจ ืืจืฉืช ืืื ืืจื ื ืืื"ื.
2. ืืคืืื ืืืจื ืฉืืฆืืืืื ืืืชืืืจ ืขื 1 ืืืืฆืขืืช VPN, ืืคืชืืจ ืืืืืืจ ืืืจืฉ ืืงืืื ืฉื ืงืื ืฉื ืฉืื ืืจื ืกืืก, ืืื ืืกืืก ืื ืืืืข ืืื"ื.
ืืื ืืืื ืชืืืื ืืจืืข ืืืืกืจ ืชืฉืืืช ืื ืฉืื ืืคื ื ืื ืกืืขื ืื ืืืืชื ืืืืฆืื ืืฉืืื ืืืช ืืฉืืืฉื ืฉืืืขืืช ืืืืจืื ืื.
ืืงืืื-
1. ืืชืืจ ืืฉืชืืฉืื, ืืฉืืืืืจ ืืืชืจื ืืืฉืื ืขืืืฃ ืื ืืืืื ืืช ืืืขืจืืช ืืืืืืฅ ืขื ืื ืืืคืชืืจืื ืฉืืื ืืจืืฉ.
2. ืืชืืจ ืืฉืชืืฉืื, ืื ืืฉ ืืืคืฆืื ืขืืืฃ ืืืฉืชืืฉ ืืืคืืืงืฆืืืช ืืืืืช ืืื ืืืืืืืช ืืืืืืืช ืืคืืื (2FA). ืื ืืื ืืืคืฆืื ืืคืืืช ื ื ืกื ืืืื ืืก ืืกืคืจ ืืืคืื ื ืืกืฃ. ืืืชืจ ืจืฉืืช ืืืกืื ืืคืฉืจ ืืืืื ืก ืืืกื "ืืคืจืืื ืฉืื" ืืฉื ืืืืืจ "ืขืจืืืช ืคืจืื ืืชืงืฉืจืืช" ืืืืืืจ "ืืืืืื" ืืชืืจ ืืืฆืขื ืืชืงืฉืจืืช ืืืขืืฃ. ืืฆืืจื ืืืืช ืืชื ืื ืชืืืืื ืืืขืืจืช ืกืืกืื ืืฉืืื ืืืืื ืก.
3. ืืชืืจ ืืื ื ืืขืจืืืช, ืฉืืื ืื ืฉืื ืืืขืจืืช ืฉืืื ืืืจ ืืืคืฉืจืช ืืืงืืืืช ืืืืืืืช ืืืกืคืจ ืืจืืื ืืืืื ืฉืืืกื ืืื ืืกื ืืฉืชืืฉืื ืืืืื ืืืืืจ ืืช ืืจื ืืืชืงืฉืจืืช ืฉืืชืืืื ืืื ืืืืชื ืจืืข. ืื ืืกืฃ ืื ืฆืจืื ืืืืืช ืืืืืข ืฉืืื ืืืจืฉืื ืฉืื ืฉืื ืืฉืชืืฉื ืืืขืจืืช ืจืง ืืืืื ื ืืกืืืืช ืื ืื ืืืคืฉืจืื ืืืฉืชืืฉืื ืืืฉืช ืืืขืจืืช ืืืืื ืืช ืืกืืืืืช ืืืื ืืืชืื ืืช ืื ืืฆืืจื ืืจืืจื.
4. ืืชืืจ ืื ืืื ืคืจืืืงื ืื ืืขืฆืื ืืขืจืืช, ืฉืืื ืื ืฉืืคืขืืื ืืชื ืืชืื ื ืื Flow ืืกืืื ืืื ืืืืจื ืืืื ืืืจืื ืืฉืชื ืื ืื ืื ืฉื ืืืืืช ืืืืข ืืืื ืขื ืืืจืืฉืืช ืฉืืื ืืืชืื ืชืื ืื ืืฆืืืืื ืืืืฉื ืืื ืืขืื ืืืืืฆืื ืืืจืื. ืื ืชืฉืืื ืืืืื ืฉื Flow ืฉื ืืฆืจ ืืกืืฃ ืืืจื ืืกืคืืง ืืื ืืฉืืื ืืืืฆืจ ืฉืืื, ืืชืงื ื ืืช ืืืขืืืช ืืฉืืชื ืืืืื ืืืชื - ืืืื ืืจื ืืืื ื ืืืขืจืืืช ืืืืืืจืื ืฉื ืืืืฉืื.
1 419
ืื ืืคืืกื ืืืื ืืื ืืืืจืื ืืกืืืจื ืืืืจ ืืืืจืื ืืฉืืืจื ืื ืืื ืคืืกื ืืืื ืื ืืฉื ืืืจ,
ืืงืืื ืฉื ืื ืืชื ืืืืืชื
ื .ื. ืื ื ืจืืื ืฉืืกืคืจื ืืคืืกืืื ืืืืืจื ืืฆืื ืืกืืจ ืืชืืฉืื ืืืืจื ืืกืืืจื. ืื ืืืื ืชืืื ืืคืืกืืื ืื ืืื ืชืงืื. ืืคืฉืจ ืืจืืืช ืืช ืื ืืคืืกืืื ืขื ืืืกืคืจืื ืื ืืื ืื ืืืืื ืืืชืจ
Endi mavjud! Telegram Tadqiqoti 2025 โ yilning asosiy insaytlari 
