uz
Feedback
ToCode

ToCode

Kanalga Telegramโ€™da oโ€˜tish

ื˜ื™ืคื™ื ืงืฆืจื™ื ืœืžืชื›ื ืชื™ื ืžืืช ื™ื ื•ืŸ ืคืจืง

Ko'proq ko'rsatish
1 421
Obunachilar
Ma'lumot yo'q24 soatlar
+37 kunlar
-430 kunlar
Postlar arxiv
ToCode
1 421
ื˜ื™ืค CSS - ืืคืงื˜ ืฉื•ืจื•ืช ืžืชื—ืช ืœื˜ืงืกื˜ ืจื•ื‘ ื”ื–ืžืŸ ื›ืฉืื ื™ ืฆืจื™ืš ืœืฉื™ื ืงื• ื‘ CSS ืžืชื—ืช ืœืฉื•ืจืช ื˜ืงืกื˜ ืื ื™ ืžืฉืชืžืฉ ื‘ border ืื• ื‘ box shadow ื•ื”ื›ืœ ืขื•ื‘ื“ ื•ืคืฉื•ื˜, ื›ืœ ืขื•ื“ ืžื“ื•ื‘ืจ ื‘ืฉื•ืจื” ืื—ืช, ืœื“ื•ื’ืžื” (ืขื ื˜ื™ื™ืœื•ื•ื™ื ื“):
<div class="border-b border-gray-400">
  Hello World
</div>
ืืคืฉืจ ืืคื™ืœื• ืœื”ื•ืกื™ืฃ ื›ืžื” ืฉื•ืจื•ืช ืื ืื ื—ื ื• ื™ื•ื“ืขื™ื ืื™ื–ื” ื˜ืงืกื˜ ื›ืชื•ื‘ ื‘ื“ื™ื•ืง ื‘ื›ืœ ืฉื•ืจื”:
<div class="border-b border-gray-400 mb-2">
  Line 1
</div>
<div class="border-b border-gray-400 mb-2">
  Line 2
</div>
<div class="border-b border-gray-400 mb-2">
  Line 3
</div>
ื•ื›ืš ืžืงื‘ืœื™ื ืืคืงื˜ ื›ืžื• ืฉืœ ืžื—ื‘ืจืช ืฉืžืจืื” ื˜ืงืกื˜ ืขื ืงื• ืฉืœ ืฉื•ืจื” ืžืชื—ืช ืœื›ืœ ืฉื•ืจืช ื˜ืงืกื˜. ื”ืกื™ืคื•ืจ ื”ื–ื” ืžืกืชื‘ืš ืื ืื ื™ ืœื ื™ื•ื“ืข ื‘ื“ื™ื•ืง ืื™ืคื” ืœื—ืชื•ืš ืืช ื”ืžื™ืœื™ื ืœืฉื•ืจื” ื—ื“ืฉื”. ื›ืŸ ืืคืฉืจ ืœื”ืฉืชืžืฉ ื‘ JavaScript ืœื—ืฉื‘, ืื‘ืœ ื˜ืจื™ืง ื™ื•ืชืจ ืงืœ ื”ื•ื ืœื”ืฉืชืžืฉ ื‘ื’ืจื“ื™ื™ืื ื˜ ืœื™ื ืืจื™ ื‘ืชื•ืจ ืชืžื•ื ืช ืจืงืข ื•ืื™ืชื• ืœื™ื™ืฆืจ ืืช ื”ืืคืงื˜ ืฉืœ ื”ืฉื•ืจื•ืช. ื–ื” ื”ืงื•ื“:
<div class="p-4 w-full max-w-md mx-auto">
  <div class="relative">
    <div class="absolute inset-0 bg-[size:100%_2rem] bg-[linear-gradient(#999_1px,transparent_1px)] bg-[position:0_-1px]"></div>
    <p class="relative leading-8 pt-[1px]">
      This text now starts from the first line. It appears as if it's written on the notebook lines, aligning perfectly with each line to create a realistic effect.
    </p>
  </div>
</div>
ื‘ืžืงื•ื ืœืฆื™ื™ืจ ืงื• ืžืชื—ืช ืœื›ืœ ืฉื•ืจื” ืื ื™ ืžื’ื“ื™ืจ ืืœืžื ื˜ ืขื ื’ืจื“ื™ื™ื ื˜ ืœื™ื ืืจื™ ื‘ืจืงืข. ื”ื’ืจื“ื™ื™ื ื˜ ื”ื•ื ืฉืื—ืจืื™ ืขืœ ืฆื™ื•ืจ ื”ืฉื•ืจื•ืช ื•ื” line-height (ืฉื ืงื‘ืข ืขืœ ื™ื“ื™ ื”ืžืืคื™ื™ืŸ leading ืฉืœ ื˜ื™ื™ืœื•ื•ื™ื ื“) ื’ื•ืจื ืœื˜ืงืกื˜ ืœื”ืชืื™ื ื‘ื’ื•ื‘ื” ืœื’ื•ื‘ื” ืฉืœ ื”ืฉื•ืจื•ืช ื‘ืชืžื•ื ืช ื”ืจืงืข. ื›ืฉื™ืฉ ื™ื•ืชืจ ื˜ืงืกื˜ ืื™ืŸ ืฉื•ื ื‘ืขื™ื” ื•ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ ื”ื˜ืงืกื˜ ื™ื—ื•ืœืง ื‘ื™ืŸ ื”ืฉื•ืจื•ืช. ืื ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื”ืฆื™ื’ ืืช ื”ืฉื•ืจื•ืช ื’ื ื›ืฉืื™ืŸ ื˜ืงืกื˜ ืคืฉื•ื˜ ื ื’ื“ื™ืจ ื’ื•ื‘ื” ืœืคื™ืกืงื” ื•ื”ื•ื ื™ืงื‘ืข ื›ืžื” ืฉื•ืจื•ืช ื™ืฆื•ื™ืจื•, ืœื“ื•ื’ืžื”:
<div class="p-4 w-full mx-auto">
  <div class="relative">
    <div class="absolute inset-0 bg-[size:100%_2rem] bg-[linear-gradient(#999_1px,transparent_1px)] bg-[position:0_-1px]"></div>
    <p class="relative leading-8 pt-[1px] w-full h-32 ">
    </p>
  </div>
</div>
ื .ื‘. ื‘ืฉื‘ื™ืœ ืœืฉื—ืง ืขื ื”ื“ื•ื’ืžืื•ืช ื”ื›ื™ ืงืœ ืœื‘ืงืจ ื‘ https://play.tailwindcss.com/ ื•ืœื”ื“ื‘ื™ืง ืฉื ืืช ืงื•ื“ ื”ื˜ื™ื™ืœื•ื•ื™ื ื“ ื›ื“ื™ ืœืจืื•ืช ืืช ื”ืชื•ืฆืื” ื‘ืฆื“ ื™ืžื™ืŸ ืฉืœ ื”ืžืกืš.

ToCode
1 421
ื›ืฉื”ืชืจื’ื™ืœ ื”ืžื—ืฉื‘ืชื™ ืขื•ื‘ื“ ื ื’ื“ืš ืื—ืช ื”ื“ืจื›ื™ื ืœืขืœื•ืช ืจืžื” ื‘ื ื•ืฉื ื”ื™ื ืœื™ืฆื•ืจ ืžื’ื‘ืœื•ืช ืžืœืื›ื•ืชื™ื•ืช. ื“ื•ื’ืžื” ืคืฉื•ื˜ื” ื”ื™ื ืžื’ื‘ืœื” ืขืœ ืื•ืจืš ืคื•ื ืงืฆื™ื” ืื• ืงื•ื‘ืฅ - ื™ืฉ ืœื™ ืงื•ื“ ืฉืขื•ื‘ื“ ื‘ 200 ืฉื•ืจื•ืช ื•ืขื›ืฉื™ื• ืื ื™ ืจื•ืฆื” ืœืืจื’ืŸ ืื•ืชื• ืื—ืจืช ื›ื“ื™ ืฉืคื•ื ืงืฆื™ื•ืช ืœื ื™ื”ื™ื• ืืจื•ื›ื•ืช ื™ื•ืชืจ ืž 40 ืฉื•ืจื•ืช. ื‘ืฉื‘ื™ืœ ืœืขืฉื•ืช ืืช ื–ื” ื ื›ื•ืŸ ื‘ื˜ื•ื— ืืœืžื“ ื˜ื•ื‘ ื™ื•ืชืจ ืขืœ ื”ืฉืคื” ื•ืขืœ ืืจื’ื•ืŸ ืงื•ื“, ื•ืงื™ื‘ืœืชื™ ืชืจื’ื™ืœ ืžื—ืฉื‘ืชื™ ื˜ื•ื‘ ื•ืืคืฉืจื•ืช ืœื”ืฉืชืคืจ. ื”ื‘ืขื™ื” ืขื ืชืจื’ื™ืœื™ื ืžื—ืฉื‘ืชื™ื™ื ื›ืืœื” ื”ื™ื ืฉื”ื ื™ื›ื•ืœื™ื ื’ื ืœืขื‘ื•ื“ ื ื’ื“ื ื•, ื•ื‘ืžื™ื•ื—ื“ ื›ืฉืจืื™ื ื• ืžืฉื”ื• ืžื“ืœื™ืง ื•ืื ื—ื ื• ืœื”ื•ื˜ื™ื ืžื“ื™ ืœืฉืœื‘ ืื•ืชื• ื‘ืžืขืจื›ืช ื‘ืœื™ ืœื”ื‘ื™ืŸ ืืช ื”ืคืฉืจื•ืช ืฉืขืฉื™ื ื• ื‘ื–ืžืŸ ืคื™ืชืจื•ืŸ ื”ืชืจื’ื™ืœ ื”ืžื—ืฉื‘ืชื™. ืœื“ื•ื’ืžื”: 1. ืืคืฉืจ ืœืงื•ื“ื“ ืชืžื•ื ื” ืžืœืื” ื‘ืชื•ืจ ื˜ืงืกื˜ ืืจื•ืš ื‘ืงื™ื“ื•ื“ base64 ื•ืœืฉื™ื ืืช ื–ื” ื› src ืฉืœ ืืœืžื ื˜ img. ื˜ืจื™ืง ื›ื–ื” ื™ื›ื•ืœ ืœืขื–ื•ืจ ืื ืื ื™ ืจื•ืฆื” ืœื™ืฆื•ืจ ื“ืฃ ื ื—ื™ืชื” ืฉืžื•ืจื›ื‘ ืžืงื•ื‘ืฅ ืื—ื“ ื‘ืœื‘ื“, ืื‘ืœ ื‘ืขื•ืœื ื”ืืžื™ืชื™ ื”ืžื’ื‘ืœื” ื”ืคื™ืงื˜ื™ื‘ื™ืช ื”ื–ืืช (ืงื•ื‘ืฅ ืื—ื“ ื‘ืœื‘ื“) ื—ืกืจืช ืขืจืš, ื•ืจืง ื™ื•ืฆืจืช ื™ื•ืชืจ ืขื•ืžืก ื›ื™ ืงื™ื“ื•ื“ base64 ืฉืœ ืชืžื•ื ื” ื”ื•ื ื™ื•ืชืจ ืืจื•ืš ืžืงื™ื“ื•ื“ ื‘ื™ื ืืจื™. 2. ืืคืฉืจ ืœื”ืฉืชืžืฉ ื‘ื‘ืกื™ืก ื ืชื•ื ื™ื Postgresql ื‘ืชื•ืจ ื‘ืกื™ืก ื ืชื•ื ื™ื ื’ืจืคื™ ื•ืœื›ืชื•ื‘ ืฉืื™ืœืชื•ืช ืจืงื•ืจืกื™ื‘ื™ื•ืช ื‘ืฉื‘ื™ืœ ื”ื—ื™ืคื•ืฉ, ื•ื–ื” ืžืžืฉ ืชืจื’ื™ืœ ื—ืžื•ื“, ืื‘ืœ ื‘ืกื™ืกื™ ื ืชื•ื ื™ื ื’ืจืคื™ื™ื ื ื•ืชื ื™ื ื‘ื™ืฆื•ืขื™ื ื˜ื•ื‘ื™ื ื™ื•ืชืจ ื•ืจื•ื‘ ื”ื–ืžืŸ ื™ื”ื™ื• ืขื“ื™ืคื™ื. ื•ืืคื™ืœื• ื‘ื“ื•ื’ืžื” ื”ืจืืฉื•ื ื” ืฉืœ ืงื™ืฆื•ืจ ืงื•ื“, ืœืคืขืžื™ื ื™ืฉ ืขืจืš ื‘ืื•ืชื” ืžื’ื‘ืœืช ืฉื•ืจื•ืช, ื‘ืžื™ื•ื—ื“ ื›ืฉื”ื™ื ื‘ืื” ืขื ืงื•ื“ ืงืจื™ื ื•ืงืœ ื™ื•ืชืจ. ืื‘ืœ ืœืกืจื‘ืœ ืืช ื”ืงื•ื“, ืœืžื—ื•ืง ืžืฉืชื ื™ื ืื• ืœื—ืœืง ื‘ืฆื•ืจื” ืœื ื”ื’ื™ื•ื ื™ืช ืœืคื•ื ืงืฆื™ื•ืช ืจืง ื‘ืฉื‘ื™ืœ ืœื”ืฆืœื™ื— ืื™ื–ื” ืชืจื’ื™ืœ ืžื—ืฉื‘ืชื™? ื—ื‘ืœ ืขืœ ื”ืžืืžืฅ ื•ืขืœ ืžื™ ืฉื™ืฆื˜ืจืš ืœืงืจื•ื ื•ืœืชื—ื–ืง ืืช ื–ื”.

ToCode
1 421
  @main
  def day21part1(): Unit =
    val map = parseInput(Source.fromResource("day21.txt"))
    val full = bfs(map)
    println(full.count { e => e._2 % 2 == 0 && e._2 <= 64 })
ื‘ื—ืœืง ื”ืฉื ื™ ืžืกืคืจ ื”ืฆืขื“ื™ื ืขืœื” ืœ 26501365 ื•ื‘ื ื•ืกืฃ ื”ืžืคื” ื”ืคื›ื” ืœืื™ื ืกื•ืคื™ืช ื‘ืืžืฆืขื•ืช ืฉื›ืคื•ืœ ื”ืžืคื” ืžื”ื“ื•ื’ืžื” ืœื›ืœ ื”ื›ื™ื•ื•ื ื™ื, ื›ืœื•ืžืจ ื›ืฉื”ื•ืœื›ื™ื ืขื“ ื”ืกื•ืฃ ืฉืžืืœื” ื‘ืžืคื” ืžื’ื™ืขื™ื ืœื ืงื•ื“ื” ื”ื™ืžื ื™ืช ื‘ื™ื•ืชืจ ื‘ืจื™ื‘ื•ืข ื—ื“ืฉ ืฉื”ื•ื ืฉื›ืคื•ืœ ืฉืœ ื”ืžืคื” ืฉื™ืฉ ืœื ื•. ื‘ืฆื™ื•ืจ ื–ื” ื ืจืื” ื›ื›ื” (ืื‘ืœ ืžืžืฉื™ืš ืขื“ ืื™ื ืกื•ืฃ):
.................................
.....###.#......###.#......###.#.
.###.##..#..###.##..#..###.##..#.
..#.#...#....#.#...#....#.#...#..
....#.#........#.#........#.#....
.##...####..##...####..##...####.
.##..#...#..##..#...#..##..#...#.
.......##.........##.........##..
.##.#.####..##.#.####..##.#.####.
.##..##.##..##..##.##..##..##.##.
.................................
.................................
.....###.#......###.#......###.#.
.###.##..#..###.##..#..###.##..#.
..#.#...#....#.#...#....#.#...#..
....#.#........#.#........#.#....
.##...####..##..S####..##...####.
.##..#...#..##..#...#..##..#...#.
.......##.........##.........##..
.##.#.####..##.#.####..##.#.####.
.##..##.##..##..##.##..##..##.##.
.................................
.................................
.....###.#......###.#......###.#.
.###.##..#..###.##..#..###.##..#.
..#.#...#....#.#...#....#.#...#..
....#.#........#.#........#.#....
.##...####..##...####..##...####.
.##..#...#..##..#...#..##..#...#.
.......##.........##.........##..
.##.#.####..##.#.####..##.#.####.
.##..##.##..##..##.##..##..##.##.
.................................
ื”ื™ื™ืชื™ ืฉืžื— ืœื›ืชื•ื‘ ืคื” ืื™ื–ื” ื˜ืจื™ืง ื—ื›ื ืื• ืืคื™ืœื• ืงื•ื“ ืืจื•ืš ืฉืคื•ืชืจ ืืช ื”ื—ืœืง ื”ืฉื ื™ ืื‘ืœ ืœื ืžืฆืืชื™ ืขื“ื™ื™ืŸ ืคื™ืชืจื•ืŸ ืžืขื ื™ื™ืŸ ืื– ื”ืฉืืจืชื™ ืืช ื–ื” ื‘ืฆื“ ื‘ื™ื ืชื™ื™ื. ื›ืœ ื”ืคื™ืชืจื•ื ื•ืช ืฉื›ืŸ ืจืื™ืชื™ ื‘ืจืฉืช ื”ื™ื• ืžืกื•ืจื‘ืœื™ื ืžื“ื™. ืื ื™ืฉ ืœื›ื ื›ื™ื•ื•ืŸ ืคืฉื•ื˜ ื•ืžืขื ื™ื™ืŸ ืœื—ืœืง ื”ืฉื ื™ ืžื•ื–ืžื ื™ื ืœื”ื•ืกื™ืฃ ืคื” ื‘ืชื’ื•ื‘ื•ืช ืื• ื‘ื˜ืœื’ืจื.

ToCode
1 421
ืคื™ืชืจื•ืŸ Advent Of Code 2023 ื™ื•ื 21 ื™ื•ื 21 ืฉืœ Advent Of Code ื”ืฆื™ื’ ื—ื™ื“ืช ืžืคื” ืžืžืฉ ื—ืžื•ื“ื” ื‘ื—ืœืง ื”ืจืืฉื•ืŸ ืฉื”ืคื›ื” ืœื›ืื‘ ืจืืฉ ื‘ื—ืœืง ื”ืฉื ื™ (ืฉืขืœื™ื• ื“ื™ืœื’ืชื™). ื‘ื•ืื• ื ืจืื” ืขืœ ืžื” ืžื“ื•ื‘ืจ ื•ืœืžื” ื•ื•ื™ืชืจืชื™ ืขืœ ื”ื—ืœืง ื”ืฉื ื™, ื™ื—ื“ ืขื ื”ืคื™ืชืจื•ืŸ ืฉืœ ื”ื—ืœืง ื”ืจืืฉื•ืŸ ื‘ืฉืคืช ืกืงืืœื”. ืžื” ืฆืจื™ืš ืœืžืฆื•ื ืื ื—ื ื• ืžืงื‘ืœื™ื ืžืคื” ื‘ื” ื”ืื•ืช S ืžืกืžื ืช ืืช ื ืงื•ื“ืช ื”ื”ืชื—ืœื”, ืกื•ืœืžื™ืช ืžื™ื™ืฆื’ืช ืงื™ืจ ื•ื ืงื•ื“ื” ืžื™ื™ืฆื’ืช ืžืงื•ื ืฉืืคืฉืจ ืœื–ื•ื– ืืœื™ื•:
...........
.....###.#.
.###.##..#.
..#.#...#..
....#.#....
.##..S####.
.##..#...#.
.......##..
.##.#.####.
.##..##.##.
...........
ืขื›ืฉื™ื• ื ื“ืžื™ื™ืŸ ื—ื™ื™ืœ ืžืฉื—ืง ืฉืžืชื—ื™ืœ ื‘ S ื•ืžืชืงื“ื ืฆืขื“ ืื—ื“. ื‘ืฆืขื“ ื”ืื—ื“ ื”ื–ื” ื”ื•ื ื™ื›ื•ืœ ืœื–ื•ื– ืื• ืœืžืขืœื” ืื• ืฉืžืืœื” (ื›ื™ ืฉื ื™ ื”ื›ื™ื•ื•ื ื™ื ื”ืื—ืจื™ื ื—ืกื•ืžื™ื), ื•ืœื›ืŸ ืกืš ื”ื›ืœ ื™ื•ื›ืœ ืœื”ื’ื™ืข ืœ-2 ืžืฉื‘ืฆื•ืช. ืื ื ื™ืชืŸ ืœื• ืฆืขื“ ื ื•ืกืฃ ื”ื•ื ื™ื•ื›ืœ ืœื”ืชืงื“ื ืžื”ืžืฉื‘ืฆื•ืช ื‘ื”ืŸ ื”ื™ื” ืื• ืœื—ื–ื•ืจ ืœื”ืชื—ืœื”. ื‘ืžืคื” ื”ื‘ืื” ืขื™ื’ื•ืœ ืžืกืžืŸ ื ืงื•ื“ื” ืฉืืคืฉืจ ืœื”ื’ื™ืข ืืœื™ื” ื‘-3 ืฆืขื“ื™ื:
...........
.....###.#.
.###.##..#.
..#.#O..#..
....#.#....
.##O.O####.
.##.O#...#.
.......##..
.##.#.####.
.##..##.##.
...........
ืื ืœื•ืงื—ื™ื ืฆืขื“ ื ื•ืกืฃ ื™ื”ื™ื• ืืคื™ืœื• ื™ื•ืชืจ ืืคืฉืจื•ื™ื•ืช:
...........
.....###.#.
.###.##..#.
..#.#.O.#..
...O#O#....
.##.OS####.
.##O.#...#.
....O..##..
.##.#.####.
.##..##.##.
...........
ื•ืื—ืจื™ 6 ืฆืขื“ื™ื ื”ื—ื™ื™ืœ ืฉืœื ื• ื™ื•ื›ืœ ืœื”ื’ื™ืข ืœื›ืœ ืื—ืช ืžืžืฉื‘ืฆื•ืช ื”ืขื™ื’ื•ืœ ื‘ืฆื™ื•ืจ:
...........
.....###.#.
.###.##.O#.
.O#O#O.O#..
O.O.#.#.O..
.##O.O####.
.##.O#O..#.
.O.O.O.##..
.##.#.####.
.##O.##.##.
...........
ืขื›ืฉื™ื• ื”ืืชื’ืจ - ื‘ื”ื™ื ืชืŸ ืžืคื” ื›ืœืฉื”ื™, ื‘ื•ืื• ื ื›ืชื•ื‘ ืชื•ื›ื ื™ืช ืฉืชืกืคื•ืจ ืœื›ืžื” ืžืฉื‘ืฆื•ืช ื”ื—ื™ื™ืœ ื™ื›ื•ืœ ืœื”ื’ื™ืข ืื—ืจื™ 64 ืฆืขื“ื™ื. ืคื™ืชืจื•ืŸ ื‘ืกืงืืœื” ื”ืจืขื™ื•ืŸ ื”ืžืจื›ื–ื™ ื‘ืคื™ืชืจื•ืŸ ื”ื•ื ืœื–ื”ื•ืช ืžื” ืžืกืคืจ ื”ืฆืขื“ื™ื ื”ืžื™ื ื™ืžืœื™ ื”ื“ืจื•ืฉ ื›ื“ื™ ืœื”ื’ื™ืข ืœื›ืœ ืžืฉื‘ืฆืช ืขืœ ื”ืœื•ื—. ืœื“ื•ื’ืžื” ื‘ืฉื‘ื™ืœ ืœื”ื’ื™ืข ืœืฉืชื™ ื”ืžืฉื‘ืฆื•ืช ืฉืฆืžื•ื“ื•ืช ืœื ืงื•ื“ืช ื”ื”ืชื—ืœื” ื“ืจื•ืฉ ืจืง ืฆืขื“ ืื—ื“. ืื—ืจื™ ืฉื ืกืคื•ืจ ื›ืžื” ืฆืขื“ื™ื ืฆืจื™ืš ื‘ืฉื‘ื™ืœ ืœื”ื’ื™ืข ืœื›ืœ ืžืฉื‘ืฆืช ื‘ืžืคื” ื ืฉื™ื ืœื‘ ืฉื”ืžืกืคืจ ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื ื”ื•ื ื‘ืขืฆื ื”ืกื›ื•ื: 1. ืžืกืคืจ ื”ืžืฉื‘ืฆื•ืช ืฉืฆืจื™ืš 64 ืฆืขื“ื™ื ื‘ืฉื‘ื™ืœ ืœื”ื’ื™ืข ืืœื™ื”ืŸ. 2. ืžืกืคืจ ื”ืžืฉื‘ืฆื•ืช ืฉืืคืฉืจ ืœื”ื’ื™ืข ืืœื™ื”ืŸ ื‘ืคื—ื•ืช ืž 64 ืฆืขื“ื™ื, ืื‘ืœ ืขื“ื™ื™ืŸ ื‘ืžืกืคืจ ื–ื•ื’ื™ ืฉืœ ืฆืขื“ื™ื (ื›ื™ ืื– ืืคืฉืจ ืœื ืฆืœ ืืช ืฉืืจ ื”ืฆืขื“ื™ื ื›ื“ื™ ืœืœื›ืช ืื—ื•ืจื” ื•ืงื“ื™ืžื” ื•ืœืกื™ื™ื ื‘ืžืฉื‘ืฆืช). ืขื›ืฉื™ื• ื ื™ืงื— ืืช ื–ื” ืœืกืงืืœื”. ื”ืคื•ื ืงืฆื™ื” ื”ืจืืฉื•ื ื” ืžืงื‘ืœืช ืžืคื” ื•ืžื™ื™ืฆืจืช ืžืžื ื” ืžื‘ื ื” ื ืชื•ื ื™ื:
  def parseInput(input: Source): Map[(Int, Int), Double] =
    input
      .getLines()
      .zipWithIndex
      .flatMap { (line, lineNumber) =>
        line.zipWithIndex.foldLeft(Map[(Int, Int), Char]()) { (acc, item) =>
          val (char, column) = item
          acc.updated((lineNumber, column), char)
        }
      }.foldLeft(Map[(Int, Int), Double]()) { (acc, item) =>
        val (key, value) = item
        acc.updated(key, value match
          case '.' => Double.PositiveInfinity
          case '#' => Double.NegativeInfinity
          case 'S' => 0)
      }
ืžื‘ื ื” ื”ื ืชื•ื ื™ื ืฉื‘ื—ืจืชื™ ื”ื•ื ืžืคื” ื‘ื” ื”ืžืคืชื— ื”ื•ื ืงื•ืื•ืจื“ื™ื ื˜ื•ืช ืฉืœ ื ืงื•ื“ื” ื•ื”ืขืจืš ื”ื•ื ื›ืžื” ืฆืขื“ื™ื ืฆืจื™ืš ื‘ืฉื‘ื™ืœ ืœื”ื’ื™ืข ืœืื•ืชื” ื ืงื•ื“ื”. ืื ื—ื ื• ื™ื•ื“ืขื™ื ืฉืžืชื—ื™ืœื™ื ื‘ S ื•ืœื›ืŸ S ืงื™ื‘ืœื” 0, ืœืงื™ืจื•ืช ืืฃ ืคืขื ืื™ ืืคืฉืจ ื™ื”ื™ื” ืœื”ื’ื™ืข ืื– ื ืชืชื™ ืœื”ื ืืช ื”ืขืจืš ืžื™ื ื•ืก ืื™ื ืกื•ืฃ ื•ืœื ืงื•ื“ื•ืช ืืคืฉืจ ืœื”ื’ื™ืข ืื– ื‘ืฉืœื‘ ืจืืฉื•ืŸ ื ืชืชื™ ืœื”ืŸ ืืช ื”ืขืจืš ืื™ื ืกื•ืฃ ืื‘ืœ ืžื”ืจ ืžืื•ื“ ื ืžืฆื ืžืกืœื•ืœื™ื ืงืฆืจื™ื ื™ื•ืชืจ. ื”ืคื•ื ืงืฆื™ื” ืฉืžื•ืฆืืช ืืช ื”ืžืจื—ืงื™ื ื”ื™ื ืคืฉื•ื˜ bfs ืขืœ ื”ืžืคื” ื›ืืฉืจ ื‘ื›ืœ ืกื™ื‘ื•ื‘ ืจื•ืฉืžื™ื ื‘ืฆื“ ืืช ื›ืœ ื”ืžืฉื‘ืฆื•ืช ืฉืืคืฉืจ ืœื”ื’ื™ืข ืืœื™ื”ืŸ ื•ืžืขื“ื›ื ื™ื ืืช ื”ืขืจืš ืฉืœื”ืŸ ื‘ืžืคื” ื•ืื– ืžืžืฉื™ื›ื™ื ืœืื™ื˜ืจืฆื™ื” ื”ื‘ืื” ื•ืฉื ืžื•ืฉื›ื™ื ืžืฉื‘ืฆืช ืžื”ืจืฉื™ืžื” ืฉืฉืžืจื ื• ื‘ืฆื“ ื•ื‘ื•ื“ืงื™ื ืœืืŸ ืืคืฉืจ ืœื”ื’ื™ืข ืžืžื ื”. ื–ื” ื”ืงื•ื“:
  def bfs(map: Map[(Int, Int), Double]): Map[(Int, Int), Double] =
    var open: mutable.Queue[(Int, Int)] = mutable.Queue(map.filter(_._2 == 0).head._1)
    var mmap = mutable.Map.from(map)

    while(open.nonEmpty) {
      val start = open.dequeue()
      val steps = mmap(start)

      List[(Int, Int)]((start._1 - 1, start._2),
        (start._1 + 1, start._2),
        (start._1, start._2 - 1),
        (start._1, start._2 + 1)
      ).foreach { neighbor =>
        val currentValue = mmap.getOrElse(neighbor, Double.NegativeInfinity)
        val newValue = steps + 1
        if (!newValue.isInfinity && (newValue < currentValue)) {
          mmap.update(neighbor, newValue)
          open.enqueue(neighbor)
        }
      }
    }

    Map.from(mmap)
ื›ื“ื™ ืœืงื‘ืœ ืืช ืžืกืคืจ ื”ืžืฉื‘ืฆื•ืช ืื ื™ ืžืคืขื™ืœ:

ToCode
1 421
ื”ื™ื•ื ืœืžื“ืชื™ ืœื”ื™ื–ื”ืจ ืžืงื‘ืฆื™ pyc ื”ื—ื‘ืจื™ื ื‘ JFrog ืคื™ืจืกืžื• ื”ืฉื‘ื•ืข ืคื•ืกื˜ ืฉืชืคืก ืื•ืชื™ ื‘ื”ืคืชืขื”: https://jfrog.com/blog/leaked-pypi-secret-token-revealed-in-binary-preventing-suppy-chain-attack/ ื”ืกื™ืคื•ืจ ื”ืคืขื ื”ื•ื ืขืœ ืžืชื›ื ืช ืื• ืžืชื›ื ืชืช ืฉื”ื—ืœื™ื˜ื• ืœื ืกื•ืช ืžืฉื”ื• ื‘ืงื•ื“ ืœืคื ื™ ืฉื‘ื•ื ื™ื ืžืฉื”ื• ืžืกื•ื“ืจ. ืื– ื”ื ื›ืชื‘ื• ืคื•ื ืงืฆื™ื” ืฉื ืจืื™ืช ื‘ืขืจืš ื›ืš:
def _fetch_github_file(github_repository="owner/repo", ref="main", access_token=None, filename="Dockerfile"):
    headers = {
        "Accept": "application/vnd.github+json",
        "X-GitHub-Api-Version": "2022-11-28",
        "Authorization": "Bearer 0d6a9bb..."
    }
    if access_token is not None:
        headers['Authorization'] = f'token {access_token}'
        ...
ืื—ืจื™ ื–ื” ื”ืคืขื™ืœื• ืืช ื”ืงื•ื“, ื•ืื—ืจื™ ืฉืจืื• ืฉื–ื” ืขื‘ื“ ืชื™ืงื ื• ืื•ืชื• ื•ืžื—ืงื• ืืช ื”ื˜ื•ืงืŸ ืžื”ืงื•ื“ ื›ืœื•ืžืจ ืฉื™ื ื• ืืช ื”ืงื•ื“ ืœ:
def _fetch_github_file(github_repository="owner/repo", ref="main", access_token=None, filename="Dockerfile"):
    headers = {
        "Accept": "application/vnd.github+json",
        "X-GitHub-Api-Version": "2022-11-28",
    }
    if access_token is not None:
        headers['Authorization'] = f'token {access_token}'
        ...
ื•ืื– ืงื•ืžื™ื˜, ื“ื—ื™ืคื”, ื‘ื ื™ื™ื” ื•ืฉืœื•ื ืขืœ ื™ืฉืจืืœ. ืืœื ืžื”, ื‘ื”ืจืฆืช ื”ื‘ื“ื™ืงื” (ืฉืœ ื”ืงื•ื“ ืขื ื”ื˜ื•ืงืŸ) ื ื•ืฆืจ ืงื•ื‘ืฅ pyc. ื”ืงื•ื‘ืฅ ื”ื–ื” ื’ื ื ื“ื—ืฃ ืœ CI ืฉื‘ื ื” ืืช ื”ืื™ืžื’' ืœื“ื•ืงืจ ื•ืžืฉื ื ื›ื ืก ืœ Dockerhub ื›ื—ืœืง ืžื”ืื™ืžื’' ื”ืฆื™ื‘ื•ืจื™. ืื” ื•ื‘ืชื•ืจ ื‘ื•ื ื•ืก ืื•ืชื• ื˜ื•ืงืŸ ื‘ื“ื™ืงื” ืฉืขื›ืฉื™ื• ื›ื‘ืจ ื”ื™ื” ื–ืžื™ืŸ ืœื›ืœ ื”ืขื•ืœื ื”ื™ื” ื’ื ืžื—ื•ื‘ืจ ืœื—ืฉื‘ื•ืŸ ื’ื™ื˜ื”ืื‘ ื‘ืขืœ ื”ืจืฉืื” ืœื›ืœ ื”ืžืื’ืจื™ื ืฉืœ Python Foundation ื•ื™ื›ื•ืœ ืœื“ื—ื•ืฃ ืงื•ื“ ืœืžืื’ืจื™ื ืฉืœ PyPI ื•ืคื™ื™ืชื•ืŸ ืขืฆืžื”. ื‘ืฆื“ ื”ื—ื™ื•ื‘ื™ ืื’ื‘ JFrog ืฆื™ื™ื ื• ืœื˜ื•ื‘ื” ืืช ื”ืขื•ื‘ื“ื” ืฉ PyPI ืชื™ืงื ื• ืืช ื”ื‘ืขื™ื” ืชื•ืš 17 ื“ืงื•ืช ื‘ืœื‘ื“ ืžืจื’ืข ื”ืคื ื™ื™ื” ื•ื›ื›ืœ ืฉื™ื“ื•ืข ืœื ื”ื™ืชื” ืคืขื™ืœื•ืช ื—ืฉื•ื“ื” ืขื ื˜ื•ืงืŸ ื–ื”.

ToCode
1 421
ืื™ืš ืœื”ืชื—ื™ืœ ืœืคืชื— Miniapp ืœื‘ื•ื˜ ื‘ื˜ืœื’ืจื ืื—ืช ื”ื™ื›ื•ืœื•ืช ื”ืžืœื”ื™ื‘ื•ืช ืฉืœ ื‘ื•ื˜ื™ื ื‘ื˜ืœื’ืจื ื”ื™ื ื”ืืคืฉืจื•ืช "ืœื‘ืจื•ื—" ืžื”ื‘ื•ื˜ ืœื“ืฃ ื•ื•ื‘, ื›ืืฉืจ ื“ืฃ ื”ื•ื•ื‘ ืžืงื‘ืœ ื”ืžื•ืŸ ืžื™ื“ืข ืžื˜ืœื’ืจื ื›ื“ื™ ืœื™ื™ืฆืจ ืžืจืื” ืื—ื™ื“ ื‘ื™ืŸ ื”ื‘ื•ื˜ ืœืืคืœื™ืงืฆื™ื”. ืคื™ืจื•ื˜ ืžืœื ืขืœ ืžื™ื ื™ืืคืก ืืคืฉืจ ืœืžืฆื•ื ื‘ื“ืฃ ื”ืชื™ืขื•ื“ ืฉืœ ื˜ืœื’ืจื ื›ืืŸ: https://core.telegram.org/bots/webapps. ื•ืื ื›ื‘ืจ ื™ืฉ ืœื›ื ื‘ื•ื˜ ืืœื” ื”ืฉืœื‘ื™ื ื‘ืงืฆืจื”: 1. ื™ื•ืฆืจื™ื ืชื™ืงื™ื™ื” ืขืœ ื”ืžื—ืฉื‘ ืขื‘ื•ืจ ื”ื‘ื•ื˜. ืืคืฉืจ ืœื‘ื ื•ืช ื•ื•ื‘ ืืค ืžืชื•ื—ื›ื ืื• ื‘ืฉื‘ื™ืœ ื”ื“ื•ื’ืžื” ืงื•ื‘ืฅ html ืคืฉื•ื˜. ื”ืžื™ื ื™ืžื•ื ืฉืฆืจื™ืš ื–ื” ืงื•ื‘ืฅ index.html ื•ืงื•ื‘ืฅ manifest.json. ืงื•ื‘ืฅ ื” manifest.json ื ืจืื” ื›ื›ื”:
{
  "name": "My Telegram Mini App",
  "short_name": "Mini App",
  "description": "A brief description of what your Mini App does",
  "version": "1.0.0",
  "start_url": "/index.html",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#0088cc",
  "icons": [
    {
      "src": "/icon-192x192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "/icon-512x512.png",
      "sizes": "512x512",
      "type": "image/png"
    }
  ]
}

ื•ื”ืงื•ื‘ืฅ index.html ื ืจืื” ื›ื›ื”:
<!DOCTYPE html>
<html>
<head>
    <link rel="manifest" href="/manifest.json">
</head>
<body>
<script src="https://telegram.org/js/telegram-web-app.js"></script>
<script>
    const webapp = window.Telegram.WebApp;
    webapp.ready();
</script>
</body>
</html>
2. ืžืชืงื™ื ื™ื https://telebit.cloud ืื• ngrok ืื• ื›ืœื™ ื“ื•ืžื” ื›ื“ื™ ืœืงื‘ืœ URL ืฆื™ื‘ื•ืจื™ ืœืกืจื‘ื™ืก ืฉืจืฅ ืืฆืœื›ื ืขืœ ื”ืžื—ืฉื‘. 3. ืžืคืขื™ืœื™ื ืžืงื•ืžื™ืช ืฉืจืช ื•ื•ื‘ ื‘ืชื™ืงื™ื™ื” ืฉื™ืฆืจื ื•, ืื• ืื ื™ืฆืจืชื ื•ื•ื‘ ืืค ืžืชื•ื—ื›ื ืืคืฉืจ ืœื”ืคืขื™ืœ ืืช ืกืงืจื™ืคื˜ ื”ืคื™ืชื•ื— ืฉืœื•. 4. ืžืคืขื™ืœื™ื ืืช ื˜ืœื‘ื™ื˜ ืœืคื•ืจื˜ ืฉืœ ื”ืฉืจืช ืฉื™ืฆืจืชื. ื‘ื“ื•ื’ืžื” ืฉืœื™ ืื ื™ ืžืคืขื™ืœ:
python -m http.server
ื›ื“ื™ ืœืงื‘ืœ ืฉืจืช ื•ื•ื‘ ืกื˜ื˜ื™ ืœืงื‘ืฆื™ื ืขืœ ืคื•ืจื˜ 8000 ื•ืœื›ืŸ ืื ื™ ืžืคืขื™ืœ:
~/telebit http 8000
ื›ื“ื™ ืœื—ื‘ืจ ืืช ื”ืคื™ื™ืชื•ืŸ ืœ URL ื”ืฆื™ื‘ื•ืจื™ ืฉืงื™ื‘ืœืชื™ ืžื˜ืœื‘ื™ื˜. 5. ืฉื•ืœื—ื™ื ื”ื•ื“ืขื” ืœ Botfather ืขื ื”ืคืงื•ื“ื” /newapp. 6. ืขื•ื ื™ื ืขืœ ื”ืžื•ืŸ ืฉืืœื•ืช. ื”ืฉืืœื” ื”ื™ื—ื™ื“ื” ืฉื—ืฉื•ื‘ื” ืฉื ื”ื™ื ื” URL ืฉืœ ื” Web App. ืžื›ื ื™ืกื™ื ืฉื ืืช ื” URL ืฉืงื™ื‘ืœื ื• ืžื˜ืœื‘ื™ื˜ (ื–ื” ืฉืžื—ื•ื‘ืจ ืœืฉืจืช ื•ื•ื‘ ืฉืจืฅ ืืฆืœื ื• ืขืœ ื”ืžื—ืฉื‘). 7. ืžืงื‘ืœื™ื ืž botfather ืงื™ืฉื•ืจ. ืœื—ื™ืฆื” ืขืœ ื”ืงื™ืฉื•ืจ ืคื•ืชื—ืช ืืช ื” miniapp ืฉื™ืฆืจืชื ื‘ืชื•ืš ื˜ืœื’ืจื. ืขื›ืฉื™ื• ืืคืฉืจ ืœืขื“ื›ืŸ ืืช ื”ืงื•ื“ ื•ืœืจืื•ืช ืืช ื”ืฉื™ื ื•ื™ื™ื ื‘ื˜ืœื’ืจื. 8. ืื—ืจื™ ืฉืžืกื™ื™ืžื™ื ืœืคืชื— ืชื•ื›ืœื• ืœื”ืขืœื•ืช ืืช ื“ืฃ ื”ื•ื•ื‘ ืœืฉืจืช ืืžื™ืชื™ ื•ืœืขื“ื›ืŸ ืืช ื”ื›ืชื•ื‘ืช ื‘ืืžืฆืขื•ืช ืฉืœื™ื—ืช ื”ื•ื“ืขืช /editapp ืœ botfather.

ToCode
1 421
ืฉืžื•ื ื” ืžื™ื•ืžื ื•ื™ื•ืช ื’ื™ื˜ ืฉืžืžืฉ ืฉื•ื•ื” ืœื”ื›ื™ืจ ื‘ืขืœ ืคื” ืœื ืžืฉื ื” ืื™ืš ืืชื ืขื•ื‘ื“ื™ื ื‘ื’ื™ื˜ ื•ื›ืžื” ื ืขื™ื ืœื›ื ืœืœื›ืช ืœืฉืื•ืœ ืืช ChatGPT ืœืคืงื•ื“ื”, ืขื“ื™ื™ืŸ ื‘ืฉื‘ื™ืœ ืœื”ื™ื•ืช ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื™ื ื™ืฉ ื›ืžื” ื“ื‘ืจื™ื ืฉื›ื“ืื™ ืœื“ืขืช ื‘ืขืœ ืคื”. ื•ื–ื” ืœื ืžืฉื ื” ืื ืืชื ืจื’ื™ืœื™ื ืœืขื‘ื•ื“ ืžื›ืœื™ ื’ืจืคื™ ืื• ืžืฉื•ืจืช ื”ืคืงื•ื“ื”, ืžื” ืฉื—ืฉื•ื‘ ืฉื‘ื›ืœื™ ื‘ื• ืืชื ืขื•ื‘ื“ื™ื ืืชื ื™ื•ื“ืขื™ื ื‘ืœื—ื™ืฆืช ื›ืคืชื•ืจ ืœื‘ืฆืข ืืช ื”ืคืขื•ืœื•ืช ื”ื‘ืื•ืช ื‘ืœื™ ืœื‘ื“ื•ืง ื‘ืจืฉืช: 1. ืœื”ื•ืกื™ืฃ ืงื‘ืฆื™ื, ืœืขืฉื•ืช ืงื•ืžื™ื˜ ื•ืœื“ื—ื•ืฃ ืืช ื”ืฉื™ื ื•ื™ื™ื ืœืฉืจืช ืžืจื•ื—ืง. 2. ืœื”ืกืชื›ืœ ืื™ืš ื ืจืื” ืงื•ื‘ืฅ ื‘ืงื•ืžื™ื˜ ืื—ืจ. 3. ืœืขื‘ื•ืจ ื‘ื™ืŸ ืขื ืคื™ื, ืžืงื•ืžื™ื™ื ืื• ืžืจื•ื—ืงื™ื. 4. ืœืจืื•ืช ืืช ืจืฉื™ืžืช ื›ืœ ื”ืฉืจืชื™ื ื”ืžืจื•ื—ืงื™ื ืื™ืชื ื”ืคืจื•ื™ืงื˜ ืฉืœื›ื ืžืกื•ื ื›ืจืŸ. 5. ืœืจืื•ืช ืžื” ื”ื™ื” ื”ืงื•ืžื™ื˜ ืฉื’ืจื ืœืฉื•ืจื” ืžืกื•ื™ืžืช ืœื”ืฆื˜ืจืฃ ืœืงื•ื“, ืื• ืœื‘ืœื•ืง ืžืกื•ื™ื ืœื”ื™ืžื—ืง. 6. ืœืงื‘ืœ ืจืฉื™ืžื” ืฉืœ ืฉืžื•ืช ื”ืงื‘ืฆื™ื ืฉื”ืฉืชื ื• ื‘ืงื•ืžื™ื˜ ืžืกื•ื™ื. 7. ืœืžื—ื•ืง ืขื ืคื™ื ืžืงื•ืžื™ื™ื ืื• ืžืจื•ื—ืงื™ื. 8. ืœืคืชื•ืจ ืงื•ื ืคืœื™ืงื˜ื™ื ืื—ืจื™ merge ืื• cherry-pick ืื• rebase ืื• ื›ืœ ื“ื‘ืจ ืื—ืจ ืฉื™ื•ืฆืจ ืื•ืชื. ื•ื–ื” ื›ืœ ืžื” ืฉืฆืจื™ืš ื‘ืฉื‘ื™ืœ ืœืงื‘ืœ ื—ื•ื•ื™ืช ื’ื™ื˜ ื”ืจื‘ื” ื™ื•ืชืจ ืฉื•ื˜ืคืช. ื‘ืฉื‘ื™ืœ ืœื”ื™ื•ืช ืžืกื•ื’ืœื™ื "ืœื˜ื™ื™ืœ" ื‘ื›ืœ ื”ื”ื™ืกื˜ื•ืจื™ื” ืฉืœ ื”ืคืจื•ื™ืงื˜ ื‘ืœื™ ืฉื”ื˜ื™ื•ืœ ื”ื–ื” ื™ื’ืจื•ื ืœืขืฆื™ืจืช ืจืฆืฃ ื”ืžื—ืฉื‘ื” ืขืœ ื”ื‘ืขื™ื” ื”ื ื•ื›ื—ื™ืช ืฉืื ื—ื ื• ืžื ืกื™ื ืœืคืชื•ืจ.

ToCode
1 421
ื‘ื“ื™ื•ืง ืžื” ืฉื‘ื™ืงืฉืช ืคืขื ืขื•ื“ ื”ื™ื” ืืคืฉืจ ืœื˜ืขื•ืŸ ืขืœ ื”ืžื—ืฉื‘ ืฉื”ื•ื ืขื•ืฉื” ื‘ื“ื™ื•ืง ืืช ืžื” ืฉื‘ื™ืงืฉืช, ื’ื ืื ื–ื” ืœื ื‘ื“ื™ื•ืง ืžื” ืฉื”ืชื›ื•ื•ื ืช. ืจื•ื‘ ื”ื–ืžืŸ ืฉืคื•ืช ืชื›ื ื•ืช ื”ืŸ ืฆืคื•ื™ื•ืช ื•ืœื›ืŸ ืื ื—ื ื• ื™ื•ื“ืขื™ื ืžื” ืชื—ื–ื™ืจ ืชื•ื›ื ื™ืช ืžื—ืฉื‘. ื”ืžืฆื‘ ื”ื™ื•ื ืขื ื” AI ื”ืจื‘ื” ื™ื•ืชืจ ืžื‘ืœื‘ืœ. ื”ืœื›ืชื™ ืœืื“ื•ืŸ ืงืœื•ื“ ื”ื™ื•ื ื•ื‘ื™ืงืฉืชื™: > create an encrypted messages with deno ื–ื” ื”ืงื•ื“ ืฉืงื™ื‘ืœืชื™ - ื•ื‘ื‘ืงืฉื” ืืœ ืชืฉืชืžืฉื• ื‘ื• ื‘ืงื•ื“ ืฉืœื›ื:
import { encode, decode } from "https://deno.land/std/encoding/base64.ts";
import { Aes } from "https://deno.land/x/crypto/aes.ts";
import { Cbc } from "https://deno.land/x/crypto/block_modes.ts";

function encrypt(message: string, key: string): string {
  const iv = crypto.getRandomValues(new Uint8Array(16));
  const aes = new Aes(key);
  const cbc = new Cbc(aes, iv);
  
  const encoder = new TextEncoder();
  const encodedMessage = encoder.encode(message);
  
  const encryptedData = cbc.encrypt(encodedMessage);
  
  const combined = new Uint8Array(iv.length + encryptedData.length);
  combined.set(iv);
  combined.set(encryptedData, iv.length);
  
  return encode(combined);
}

function decrypt(encryptedMessage: string, key: string): string {
  const combined = decode(encryptedMessage);
  const iv = combined.slice(0, 16);
  const encryptedData = combined.slice(16);
  
  const aes = new Aes(key);
  const cbc = new Cbc(aes, iv);
  
  const decryptedData = cbc.decrypt(encryptedData);
  
  const decoder = new TextDecoder();
  return decoder.decode(decryptedData);
}

// Example usage
const key = "mySecretKey123456"; // 16, 24, or 32 bytes long
const message = "Hello, this is a secret message!";

const encrypted = encrypt(message, key);
console.log("Encrypted:", encrypted);

const decrypted = decrypt(encrypted, key);
console.log("Decrypted:", decrypted);
ืœื ืฆืจื™ืš ื™ื•ืชืจ ืžื“ื™ ืœื”ืชืขืžืง ื‘ืฉื‘ื™ืœ ืœืจืื•ืช ืฉื”ืžืคืชื— ื”ืกื•ื“ื™ ืฉืžื•ืจ ื‘ืชื•ืš ืงื•ื“ ื”ืชื•ื›ื ื™ืช ื•ืฉื”ืงื•ื“ ืœื ื—ื•ืชื ืขืœ ื”ืชื•ื›ืŸ ื”ืžื•ืฆืคืŸ ืžื” ืฉื™ืืคืฉืจ ืœืคื•ืจืฆื™ื ืขืชื™ื“ื™ื™ื ืœื”ืฉืชืžืฉ ื‘ืชื•ื›ื ื™ืช ืฉืœื™ ื›ื“ื™ ืœืคืจื•ืฅ ืืช ื”ื”ืฆืคื ื” ื‘ืืžืฆืขื•ืช ืฉื™ื ื•ื™ ื”ืžื™ื“ืข ื”ืžื•ืฆืคืŸ ื•ืฉืœื™ื—ืชื• ืœืžืคืขื ื— (ืžื” ืฉืžื›ื•ื ื” Padding Oracle Attack). ื”ืกื™ืคื•ืจ ื”ืกืชื‘ืš ื›ืฉื‘ื™ืงืฉืชื™ ืžืžื ื• ืœืชืืจ ืื™ื–ื” ื‘ืขื™ื•ืช ืื‘ื˜ื—ื” ื”ื•ื ืžืฆื ื‘ืงื•ื“ ืฉื”ื•ื ื›ืชื‘. ื›ืŸ ื”ื•ื ืžืฆื ืืช ื”ื‘ืขื™ื•ืช ืฉืื ื™ ืžืฆืืชื™ ืื‘ืœ ื’ื ืขื•ื“ ื›ืžื” ื‘ืขื™ื•ืช ืคื—ื•ืช ืงืจื™ื˜ื™ื•ืช ื•ืขืจื‘ื•ื‘ ื–ื” ืžืงืฉื” ืขืœื™ื ื• ื›ืžืชื›ื ืชื™ื ืœื”ืชืžืงื“. ื›ืœ ื”ืกื™ืคื•ืจ ื‘ื ืœื”ื“ื’ื™ื ื›ืžื” ืงืฉื” ืœืงื‘ืœ ืชื•ืฆืื” ื˜ื•ื‘ื” ืž AI ื›ืฉืื ื—ื ื• ืœื ื™ื•ื“ืขื™ื ืžืกืคื™ืง ื˜ื•ื‘ ืžื” ืื ื—ื ื• ืฆืจื™ื›ื™ื ืื• ืœื ืžื›ื™ืจื™ื ืžืกืคื™ืง ื˜ื•ื‘ ืืช ืขื•ืœื ื”ืชื•ื›ืŸ. ืžื ื•ืขื™ AI ืžื’ื™ืขื™ื ืœืชื•ืฆืื•ืช ื˜ื•ื‘ื•ืช ื™ื•ืชืจ ื›ื›ืœ ืฉื ื™ืชืŸ ืœื”ื ื™ื•ืชืจ ืงื•ื ื˜ืงืกื˜ ืจืœื•ื•ื ื˜ื™, ื•ื”ื™ื›ืจื•ืช ืขื ืขื•ืœื ื”ืชื•ื›ืŸ ื”ื›ืจื—ื™ืช ื›ื“ื™ ืœื”ื•ืกื™ืฃ ืืช ื”ืงื•ื ื˜ืงืกื˜ ื”ืจืœื•ื•ื ื˜ื™ ืœื‘ืงืฉื” ื•ืœื–ื”ื•ืช ื”ื–ื™ื•ืช ื›ื“ื™ ืฉืืคืฉืจ ื™ื”ื™ื” ืœื—ืชื•ืš ืืช ื”ืฉื™ื—ื” ื›ืฉื”ืŸ ืžืชื—ื™ืœื•ืช.

ToCode
1 421
ืื—ืจื™ ื›ืžื” ื–ืžืŸ ื–ื” ืžืคืกื™ืง ืœื”ื™ื•ืช ืงืฉื”? ื›ืฉืœื•ืžื“ื™ื ืžื™ื•ืžื ื•ืช ื—ื“ืฉื” ื”ืฉืืœื” ื”ืจืืฉื•ื ื” ืฉืื ืฉื™ื ื™ืฉืืœื• ืชื”ื™ื” "ืžืชื™ ื–ื” ื™ืคืกื™ืง ืœื”ื™ื•ืช ืงืฉื”", ืื•ืœื™ ื‘ืชื™ืื•ื ืขื "ืžืชื™ ืื•ื›ืœ ืœื”ืจื•ื•ื™ื— ืžื–ื” ื›ืกืฃ". ืืœื” ืฉืืœื•ืช ืžืื•ื“ ื—ืฉื•ื‘ื•ืช ืื‘ืœ ืงืฆืช ืžื˜ืขื•ืช, ื›ื™ื•ื•ืŸ ืฉื”ืŸ ืฉืžื•ืช ืืช ื”ื“ื’ืฉ ืขืœ ื”ืกื•ืฃ ื‘ืžืงื•ื ืขืœ ื”ื“ืจืš ื•ืขืœ ืžื˜ืจื•ืช ืจื—ื•ืงื•ืช ื‘ืžืงื•ื ืขืœ ื™ืขื“ื™ื ืงืจื•ื‘ื™ื ื™ื•ืชืจ (ืžื” ืฉืคื•ื’ืข ื‘ืžื•ื˜ื™ื‘ืฆื™ื”). ื”ื ื” ื›ืžื” ืฉืืœื•ืช ืฉืืคืฉืจ ืœื”ืขืœื•ืช ื‘ืžืงื•ื- 1. ืžืชื™ ื–ื” ื™ืชื—ื™ืœ ืœื”ื™ื•ืช ื›ื™ืฃ? 2. ืžืชื™ ืืชื—ื™ืœ ืœื”ืชื’ืขื’ืข ืœื–ื” ืื ืื“ืœื’ ืขืœ ืฉื™ืขื•ืจื™ื? 3. ืžืชื™ ืื’ืœื” ืœื‘ื“ ืžืฉื”ื• ืฉืœื ืžืฆืืชื™ ืงื•ื“ื ื‘ืกืคืจ? 4. ืžืชื™ ืื•ื›ืœ ืœืคื’ื•ืฉ ืื ืฉื™ื ื—ื“ืฉื™ื ืฉื’ื ืœื•ืžื“ื™ื ืืช ื”ื“ื‘ืจ ื”ื–ื”? 5. ืžืชื™ ืืฆืœื™ื— ืžืฉื”ื• ืฉืืฃ ืคืขื ืœื ื”ืฆืœื—ืชื™ ืงื•ื“ื? 6. ืžืชื™ ืœื ืืจืฆื” ืœื”ืคืกื™ืง? ืื ื™ ืื•ื”ื‘ ืืช ื”ืฉืืœื•ืช ื”ืืœื” ื›ื™ ื”ืŸ ืคื•ืชื—ื•ืช ืืช ื”ื“ืœืช ื•ืžื–ื›ื™ืจื•ืช ืœื ื• ืฉืœื™ืžื•ื“ ืžื™ื•ืžื ื•ื™ื•ืช ื—ื“ืฉื•ืช ื–ื” ืงื•ื“ื ื›ืœ ืื—ื“ ื”ื“ื‘ืจื™ื ืฉืื ื—ื ื• ืขื•ืฉื™ื ื›ื‘ื ื™ ืื“ื ื•ืžื™ื•ืžื ื•ืช ื—ื“ืฉื” ื”ื™ื ืžืชื ื” ืœื›ืœ ื”ื—ื™ื™ื.

ToCode
1 421
ืžื™ืžื•ืฉ ื—ืœืงื™ ื‘ืกืงืืœื” ื“ืจืš ืžื™ืงืกื™ื ื™ื ื”ืชื‘ื ื™ืช ื”ื‘ืื” ืขื–ืจื” ืœื™ ืœืืจื’ืŸ ืžื—ื“ืฉ ืงืฆืช ืงื•ื“ (ื ื•, ื”ืจื‘ื” ืงื•ื“) ื•ืœื—ืœืง ืื•ืชื• ืžืงื•ื‘ืฅ ืื—ื“ ืœื”ืจื‘ื” ืงื‘ืฆื™ื ืงื˜ื ื™ื ื™ื•ืชืจ, ืžื” ืฉื’ื ืขื–ืจ ื‘ื‘ื“ื™ืงื•ืช. ื ืชื—ื™ืœ ืขื ื“ื•ื’ืžื” ืคืฉื•ื˜ื” ื•ื ืชื‘ื•ื ืŸ ื‘ืงื•ื“ ื”ื‘ื:
class MyBigHandler {
  def handle(message: String): String =
    message match
      case "error" => "Handling error"
      case "warning" => "Handling warning"
      case "info" => "Handling info"
      case "zzz" => "MyHandler"
      case _ => "Unhandled message"
}
ืื– ื–ื” ืงืœ ื™ืฉ ื‘ืกืš ื”ื›ืœ ืคื•ื ืงืฆื™ื” ืื—ืช ืฉืžื˜ืคืœืช ื‘ื›ืœ ืžื™ื ื™ ืกื•ื’ื™ื ืฉืœ ื”ื•ื“ืขื•ืช. ืื‘ืœ ื ื“ืžื™ื™ืŸ ืฉื”ื”ื•ื“ืขื•ืช ืžื—ื•ืœืงื•ืช ืœืงื‘ื•ืฆื•ืช ื•ืฉื™ืฉ ื”ืžื•ืŸ ื”ื•ื“ืขื•ืช ื•ืงื•ื“ ื”ื˜ื™ืคื•ืœ ื‘ื›ืœ ืงื‘ื•ืฆื” ืฆืจื™ืš ืคื•ื ืงืฆื™ื•ืช ืขื–ืจ ืžืฉื•ืชืคื•ืช ื•ืื™ืŸ ืžืžืฉ ืงืฉืจ ื‘ื™ืŸ ื”ืงื‘ื•ืฆื•ืช. ื‘ืžืฆื‘ ื›ื–ื” ื ืจืฆื” ืœืคืฆืœ ืืช ื” match ืœืงื‘ืฆื™ื ื•ื›ืœ ืงื•ื‘ืฅ ื™ื”ื™ื” ืื—ืจืื™ ืขืœ ืงื‘ื•ืฆืช ื”ื•ื“ืขื•ืช. ื•ืคื” ื‘ืื™ื ืœืขื–ืจืชื ื• ื” Mixins. ื–ื” ื”ืงื•ื“ ืื—ืจื™ ืื™ืจื’ื•ืŸ ืžื—ื“ืฉ:
trait MessageHandler {
  def handle(message: String): String = "Unhandled Message"
}

trait ErrorHandler extends MessageHandler {
  abstract override def handle(message: String): String = message match {
    case "error" => "Handling error"
    case _ => super.handle(message)
  }
}

trait WarningHandler extends MessageHandler {
  abstract override def handle(message: String): String = message match {
    case "warning" => "Handling warning"
    case _ => super.handle(message)
  }
}

trait InfoHandler extends MessageHandler {
  abstract override def handle(message: String): String = message match {
    case "info" => "Handling info"
    case _ => super.handle(message)
  }
}

class MyHandler extends MessageHandler
  with ErrorHandler
  with WarningHandler
  with InfoHandler {

  override def handle(message: String): String =
    message match
      case "zzz" => "MyHandler"
      case _ => super.handle(message)
}
ื›ืœ trait ืžื˜ืคืœ ื‘ื”ื•ื“ืขื•ืช ืฉืจืœื•ื•ื ื˜ื™ื•ืช ืขื‘ื•ืจื• ื•ื™ื›ื•ืœ ืœืฉื‘ืช ื‘ืงื•ื‘ืฅ ื ืคืจื“ ืขื ืื•ื‘ื™ืงื˜ ืฉืœ ืคื•ื ืงืฆื™ื•ืช ืขื–ืจ. ื” Handler ื”ื•ื ืคืฉื•ื˜ ื”ืจื›ื‘ื” ืฉืœ ื›ืœ ื”ืžื™ืงืกื™ื ื™ื ื•ื™ื›ื•ืœ ืœื”ื•ืกื™ืฃ ืžื™ืžื•ืฉ ืžืฉืœื• ืœื“ื‘ืจื™ื ืฉืœื ื”ื™ื” ืœื”ื ืžืงื•ื ื‘ืืฃ ืžื™ืงืกื™ืŸ ื•ืขื›ืฉื™ื• ื”ืจื‘ื” ื™ื•ืชืจ ืงืœ ืœืฉืœื‘ ืืช ื”ื˜ื™ืคื•ืœ ื‘ื›ืœ ืงื‘ื•ืฆืช ื”ื•ื“ืขื•ืช ื’ื ื‘ืžื—ืœืงื•ืช ืื—ืจื•ืช ืื• ืœื›ืชื•ื‘ ื‘ื“ื™ืงื•ืช ืœื›ืœ ืงื‘ื•ืฆื” ื‘ื ืคืจื“.

ToCode
1 421
ืชื—ื–ื•ืงื” ื• GPT ืžื ื•ืขื™ GPT ื”ืคื›ื• ืœื—ืœืง ืื™ื ื˜ื’ืจืœื™ ืžืื™ื ืกื•ืฃ ืืคืœื™ืงืฆื™ื•ืช ื—ื“ืฉื•ืช ืฉื™ื•ืฆืื•ืช ื›ื•ืœืœ ื›ืžื” ืคืจื•ื™ืงื˜ื™ื ืฉื”ื™ื™ืชื™ ืžืขื•ืจื‘ ื‘ื”ื. ื”ืคื™ืชื•ื— ืชืžื™ื“ ืžืืชื’ืจ ื›ื™ ืื ื—ื ื• ืืฃ ืคืขื ืœื ื™ื•ื“ืขื™ื ืžื” ื‘ื“ื™ื•ืง ื™ืขื ื” ื” AI, ื•ื™ืฉ ืฆื•ืจืš ื’ื ืœื ืงื•ืช ืืช ื”ืงืœื˜ ืœืคื ื™ ืฉืคื•ื ื™ื ืืœื™ื• ื•ื’ื ืœื ืงื•ืช ืืช ื”ื˜ืงืกื˜ ืฉื—ื•ื–ืจ ืžืžื ื• ืื‘ืœ ื‘ืกื•ืฃ ืื—ืจื™ ืžืกืคื™ืง Prompt Engineering ืืคืฉืจ ืœื”ื’ื™ืข ืœืชื•ืฆืื” ื˜ื•ื‘ื”. ื”ืฉื‘ื•ืข ืœืจืืฉื•ื ื” (ืœืคื—ื•ืช ืขื‘ื•ืจื™) ื ืชืงืœืชื™ ื‘ืืชื’ืจ ื—ื“ืฉ - ื•ื”ื•ื ืฉื™ื ื•ื™ ื‘ืžื ื•ืข ื” GPT ืขืฆืžื• ืฉื’ืจื ืœืคืจื•ืžืคื˜ ืฉื›ื‘ืจ ืขื‘ื“ ืœื”ืคืกื™ืง ืœืขื‘ื•ื“. ืื ื™ ืžืฉื•ื•ื” ืืช ื–ื” ืœืขื‘ื•ื“ื” ืžื•ืœ ืฉื™ืจื•ืชื™ ืฆื“-ืฉืœื™ืฉื™ ืžืกื•ืจืชื™ื™ื ื•ืจื•ืฆื” ืœื‘ื›ื•ืช - ื›ืœ API ื—ื™ืฆื•ื ื™ ืžื•ืœื• ืื ื™ ืขื•ื‘ื“ ื›ื•ืœืœ ืžืกืคืจ ื’ื™ืจืกื”. ื›ืฉื™ืฉ ืฉื™ื ื•ื™ ื”ื•ื ืชืžื™ื“ ื™ื–ื•ื. ื” AI ืื•ืžื ื ื›ื•ืœืœ ืžื–ื”ื” ืžื•ื“ืœ, ืื‘ืœ ืขื“ื›ื•ื ื™ื ืœืžื•ื“ืœ ืœื ืชืžื™ื“ ืžืชื•ืจื’ืžื™ื ืœื’ื™ืจืกื” ื—ื“ืฉื”. ืื™ืŸ ื’ื Release Notes ืฉื›ื•ืœืœ ืืช ืจืฉื™ืžืช ื›ืœ ื”ื“ื‘ืจื™ื ืฉื”ืฉืชื ื• ืื• ืžื“ืจื™ืš ืฉื™ื“ืจื•ื’ ืœืคืจื•ืžืคื˜ื™ื. ืžืจื’ืข ืฉื”ื—ืœื˜ืช ืœืฉืœื‘ AI ื‘ืคืจื•ื™ืงื˜ ืขืœื™ืš ืœื”ืงืคื™ื“ ืœืขืงื•ื‘ ื›ืœ ื”ื–ืžืŸ ืื—ืจื™ ื”ืชืฉื•ื‘ื•ืช ืฉืžืชืงื‘ืœื•ืช, ืœื–ื”ื•ืช ืžืชื™ ืคืจื•ืžืคื˜ื™ื ืžืกื•ื™ืžื™ื ืžืคืกื™ืงื™ื ืœืขื‘ื•ื“ ื•ืœื”ืขืœื•ืช ืชื™ืงื•ืŸ, ืชืžื™ื“ ืžืื•ื—ืจ ืžื“ื™. ื›ื›ืœ ืฉืขื•ื‘ืจ ื”ื–ืžืŸ ื•ืื ื—ื ื• ื ื”ื™ื™ื ืชืœื•ื™ื™ื ื™ื•ืชืจ ื‘ AI ื‘ืชื•ืจ ืจื›ื™ื‘ ืชืฉืชื™ืช ื‘ืžืขืจื›ื•ืช, ื”ืžืฆื‘ ื”ื ื•ื›ื—ื™ ื ืจืื” ื™ื•ืชืจ ื•ื™ื•ืชืจ ืœื ืกื‘ื™ืจ. ื‘ืžื‘ื˜ ืงื“ื™ืžื” ืื ื—ื ื• ื ืฆื˜ืจืš ืœืขื‘ื•ืจ ืœืคื™ืชืจื•ื ื•ืช AI ืžื‘ื•ืกืกื™ ืงื•ื“ ืคืชื•ื—, ืฉื™ื•ืชืงื ื• ืขืœ ื”ืฉืจืชื™ื ืฉืœื ื• ื•ื‘ืฉืœื™ื˜ื” ืฉืœื ื•. ื‘ืžืงื‘ื™ืœ ื ืฆื˜ืจืš ืœืงื‘ืœ SLAs ื”ืจื‘ื” ื™ื•ืชืจ ื˜ื•ื‘ื™ื ืžื”ื—ื‘ืจื•ืช ืฉื™ืคืขื™ืœื• ืžื ื•ืขื™ื ื›ืืœื” ื‘ืขื ืŸ.