አዲስ ፕሮጀክቶችን እቀበላለን · ሲኒየር ብቻ · ርቀት-ቀዳሚ PWN-ALL · ብጁ ሶፍትዌር ስቱዲዮ

ሶፍትዌር በ Rust እና Pythonይቀጥላል ከላከው ቡድን በላይ።

በሁለት ቋንቋዎች ብጁ ሶፍትዌር የሚገነባ ሲኒየር-ብቻ ስቱዲዮ ነን፡ Rust ስህተት ወጭ ከሆነበት፣ እና Python ዘግይቶ ማቅረብ ወጭ ከሆነበት።

አማካይ p99 መሻሻል ከ40 ፍልሰቶች
የማህደረ ትውስታ ቅነሳ 0% ከ JVM / Node መነሻ አኳያ
አገልግሎቶች በምርት ላይ 0 ከ2024 ጀምሮ
የደህንነት ክስተቶች 0 በሙሉ ታሪካችን ውስጥ
ኮዳችንን የሚያምኑ ቡድኖች
01 ሁለት ቋንቋዎች። አምስት አይደሉም።

አንድ ቴክኖሎጂ፣ በሆን ብሎ የተመረጠ።

ፖሊግሎት ኤጀንሲዎች ለፒች ዴክ ጥሩ ይመስላሉ። በምርት ላይ ሦስት የግንባታ ሥርዓቶች፣ የ null አራት ዓይነቶች፣ እና ግማሽ-ጥበቃ አገልግሎቶች መቃብር ማለት ነው። 95% ተጨባጭ ሥራዎችን የሚሸፍኑ ሁለት ቋንቋዎች መርጠናል — እና በሁለቱም ላይ ጥሩ ሆነናል።

ሙቅ መስመር · ሥርዓቶች · ደህንነት

Rust

9.6 የውስጥ ተስማሚነት ውጤት

ያለ ቆሻሻ ሰብሳቢ ደህንነቱ የተጠበቀ ማህደረ ትውስታ። የውሂብ-ፉክክር-ነፃ በማጠናቀሪያ ጊዜ። ምናልባትም ካጋጠሙህ ሁሉ ጥብቅ የኮድ ገምጋሚ — እናም አንዴ ሲፈቅድልህ፣ አገልግሎትህ እሑድ አያነቃዋህም።

ለምን እንጠቀምበታለን

  • የክፍያ ሥርዓቶች & ገንዘብ ወይም PII የሚነካ ሁሉ
  • አምስት-ዘጠኝ SLA ያለው ሙቅ API ጌትዌይ
  • ዝቅተኛ-ዘገዩ ማዛመጃ ሞተሮች፣ ንግድ፣ ሪልታይም
  • ወደ ብሮዘር የሚላኩ WebAssembly ሞጁሎች
  • CLI መሳሪያዎች & በሚሊሰከንዶች መጀመር ያለባቸው ዳሞኖች

የምናሳያቸው ሚዛናዊ ጎኖች

  • ለአዲስ ሰራተኞች: ~2–4 ሳምንት ወደ ምርታማነት
  • ትልልቅ ቦታዎች ላይ የማጠናቀሪያ ጊዜ (sccache ይፈታዋል)
  • ከ Java ያነሰ ዕድሜ ያለው ሥነ-ምህዳር — ቁልፍ ቦታዎች ላይ ጎልምሷል
ማጣቀሻ · ዳታ · ML · ፍጥነት

Python

9.3 የውስጥ ተስማሚነት ውጤት

ከነጭ ሰሌዳ ወደ ሥራ ሥርዓት ፈጣኑ መንገድ። ለዳታ፣ ML እና አውቶሜሽን በዓለም ላይ ሀብታሙ ሥነ-ምህዳር። ዘመናዊ Python — 3.12, uv, ruff, pydantic, FastAPI — ለሚፈልጉት አብዛኛው ትክክለኛ፣ ታይፕ ያለው፣ እና በቂ ፈጣን ቋንቋ ነው።

ለምን እንጠቀምበታለን

  • ውስጣዊ መሳሪያዎች፣ ዳሽቦርዶች፣ አስተዳዳሪ ፓኔሎች
  • ETL፣ የዳታ ቧንቧዎች፣ Airflow / Dagster / Prefect
  • ML — ሥልጠና፣ አቅርቦት፣ ግምገማ
  • አውቶሜሽኖች & ከቬንደር APIዎች ጋር ውህደቶች
  • MVPs ይህ ሩብ ዓመት ብቻ፣ ቀጣዩ ዓመት አይደሉም

የምናሳያቸው ሚዛናዊ ጎኖች

  • ነጠላ-ኮር ቅጥቃጤ ከ Rust 20–50× ዘገምተኛ ነው
  • በጥያቄ ከፍ ያለ ማህደረ ትውስታ — ለሥራዎቹ ቀዳሚ ጉዳይ
  • ጥብቅ mypy / pydantic ከሌለ ዳይናሚክ ታይፒንግ ይሠናክላል
Rust ስህተት ወጭ ከሆነ። Python ዘግይቶ ማቅረብ ወጭ ከሆነ። አንድ ቡድን። ዶግማ የለም።
02 ቁጥሮቹ፣ ስሜቱ አይደሉም

Rust & Python ከተለመዱ አሸናፊዎች ጋር።

እያንዳንዱ ቋንቋ ያርፍበትን ቦታ ለማጉላት ሜትሪክ ይምረጡ። ውጤቶቹ ከ0–10፣ ከራሳችን አወዳደሮች እና ከህዝባዊ ምንጮች (Techempower R22, CLBG, ያካሄድናቸው ፍልሰቶች)።

መስፈርት Rust Python Go C++ Java Node.js
ጥሬ አፈጻጸም (p99, ነጠላ ኮር) 10 3 7 10 7 5
የማህደረ ትውስታ ደህንነት & የዳታ ፉክክሮች 10 9 8 2 8 7
ወደ ሥራ ላይ ፕሮቶታይፕ ጊዜ 5 10 7 3 6 8
የሥነ-ምህዳር ስፋት 8 10 7 9 10 9
ትይዩ ሂደት ያለ ችግር 10 6 9 4 6 7
የሥራ ወጭ በጥያቄ 10 5 8 9 5 6
የሲኒየር ተሰጥዖ ምቹነት 6 10 7 8 10 9
የ10-ዓመት ጥገናዎች 10 8 8 5 8 5
03 ከ → ወደ

ስትፈልስ ምን ይለወጣል።

መነሻ ቋንቋ ይምረጡ። ወደ Rust ወይም Python ሲዛወሩ ተፅዕኖውን ይከታተሉ። ቁጥሮቹ ከ40 ፍልሰት ፕሮጀክቶቻችን አማካዮች ናቸው፣ የግብይት ቅጥቃጤ አይደሉም።

አሁን ላይ

C / C++

ፈጣን፣맞ዎ። ግን ፖይንተር ሁሉ ምናልባት CVE ነው፣ ቲሬድ ሁሉ ምናልባት የዳታ ፉክክር ነው፣ የግንባታ ሥርዓቱ ደሞ ሙሉ-ጊዜ ሥራ ነው።

ተለምዷዊ ምቀኝነቶች
  • CVEዎች ከማህደረ ትውስታ ደህንነት
  • ያልተወሰነ ባህሪ
  • የግንባታ-ሥርዓት ልቅ ስርጭት
ወደ ዝውውር

Rust

ቅጥቃጤ ×6.4
የማህደረ ትውስታ አሻራ −78%
የሩጫ-ጊዜ ክሶቶች −99%
ወርሃዊ የሒሳብ ቀሚስ −65%

አሁን null-ፖይንተር ሳንካዎች፣ የዳታ ፉክክሮች ወይም ያልተወሰነ ማህደረ ትውስታ ካለ ጥሩ ነው። Rust ፍጥነቱን ይይዛል፣ አደጋ አምጪ ክፍሎቹን ይሰርዛል።

ወደ ዝውውር

Python

የልማት ፍጥነት ×3.1
የኮድ መስመሮች −55%
ወደ ቀዶ ጊዜ −60%
የሩጫ-ጊዜ ጭማሪ +40%

ተጨባጩ ወጭ CPU ሳይሆን የምህንድስና ጊዜ ሲሆን ጥሩ ነው። ጥሬ ቅጥቃጤን ለአጭር የምላሽ ዑደት፣ ሀብታም ቤተ-መጻሕፍት፣ እና ሰዎች ሊያነቡት ለሚችሉ ኮድ ይስጡ።

ቁጥሮቹን እንዴት እንለካለን

ከ2023 እስከ 2026 ከተጠናቀቁ 40 ፍልሰቶች አማካዮች። ቅጥቃጤ በአፕሊኬሽን ሽፋን ይለካል (ተጨባጭ ጭነት ስር ከጫፍ-እስከ-ጫፍ p50፣ ሚክሮቤንችማርኮች አይደሉም)። ማህደረ ትውስታ RSS ሲረጋጋ ነው። ወጭ ወርሃዊ የ AWS/GCP ኦን-ዲማንድ ሒሳብ ነው። ውጤቶቹ ይለያያሉ — ያልተሳካዎቹም ሲጠይቁ እናሳያለን።

04 ቁጥሮቹ ያለ ኮከቦች

በጥያቄ ሰከንድ ስር ተጨባጭ ጭነት።

ተመሳሳይ ሥራ — JSON ማረጋገጥ → Postgres ጥያቄ → ማቅረብ — ነጠላ AMD Ryzen 7 ሳጥን ላይ ተለካ። እነዚህ ሚክሮቤንችማርኮች አይደሉም። ምንጭ & ዘዴ ↓

  1. 1 Rust · Axum
    21,030 req/s
  2. 2 C# .NET · ASP.NET Core
    14,707 req/s
  3. 3 Node.js · Fastify
    9,340 req/s
  4. 4 C++ · Drogon
    7,200 req/s
  5. 5 Go · Gin
    3,546 req/s
  6. 6 Python · FastAPI (Uvicorn)
    1,185 req/s
  7. 7 PHP · Laravel
    299 req/s

ትክክለኛ ትርጉም: Python በዚህ ሠንጠረዥ ሥር አካባቢ ነው፣ ይህ ደህና ነው። FastAPI ሙቅ መስመር ላይ አናካሂደውም። 1,185 req/s ሥራው ከሚያስፈልገው ~10× ትልቅ ወደሆነ ቦታ እናካሂደዋለን፣ የምህንድስና ሰዓቶች ከ CPU ዑደቶች ሚዛን ይበዛሉ። ዘዴ: AMD Ryzen 7, Linux, Docker, ነጠላ ምሳሌ፣ ለቋንቋ ሁሉ አንድ ዓ ፕሬምወርክ። ቁጥሮቹ በርካታ ሩጫዎች አማካዮቹ ናቸው።

05 የተሰበረ ኮድ ትክክለኛ ወጭ

የስርዓት ወድቀት ቀጥተኛ ወጭ።

"አምስት ዘጠኞች" ግብይት አይደሉም። ከዚህ በታች ያልተታቀደ አንድ ሰዓት ወድቀት ወጭ፣ በኢንደስትሪ — ምንጮቹ ጋር። ቁጥሮቹ ባሉበት Rust ይሠራናል።

ይህን ክፍል ከከፈቱ ጀምሮ የተከማቸ ወጭ
ፋይናንስ / የጤና አጠባበቅ $0 ~$83k/ደቂቃ · $5M/ሰዓት
ኦቶሞቲቭ $0 ~$38k/ደቂቃ · $2.3M/ሰዓት
ትልቅ ኢንተርፕራይዝ $0 $23,750/ደቂቃ · $1.4M/ሰዓት
መካከለኛ ኢንተርፕራይዝ $0 ~$5k/ደቂቃ · $300k/ሰዓት
ፋይናንስ & የጤና አጠባበቅ $5M+ / ሰዓት

ከፍተኛ ሥጋት ያለባቸው ዘርፎች። ንግድ መድረኮች፣ ሰፈራ ሥርዓቶች እና ክሊኒካዊ ሥርዓቶች ከባድ ወድቀት ወቅት ሰዓታዊ $5 ሚሊዮን ሊያልፉ ይችላሉ — ማናቸውም ደንባዊ ወይም ክሳ ወጭዎች ከቁጠራ አስቀድሞ።

ምንጭ: Gartner 2024 Fortune 500 ጥናት; ITIC 2024 ሰዓታዊ ወድቀት ወጭ።
ኦቶሞቲቭ ማምረቻ $2.3M / ሰዓት

የቆመ የምርት መስመር በሰከንድ $640 ያቃጥላል። የ CrowdStrike ወድቀት በጁላይ 2024 Delta Air Lines ብቻ $380M አምስት ቀናት አስከፈለ።

ምንጭ: Erwood Group 2025 የኢንደስትሪ ትንትን; Antithesis CrowdStrike ድህረ-ሞርተም።
ትልቅ ኢንተርፕራይዝ (አማካይ) $1.4M / ሰዓት

BigPanda የ2024 ትልቅ-ኢንተርፕራይዝ ቁጥር: በደቂቃ $23,750። ITIC 41% ትልልቅ ኢንተርፕራይዞች ሰዓቱ ወድቀት $1M እና $5M መካከል ያጣሉ ብሎ ዘግቧል።

ምንጭ: BigPanda 2024 ጥናት; ITIC 11ኛ ዓመታዊ ሰዓታዊ ወድቀት ወጭ።
Global 2000 (Oxford Economics) $400B / ዓመት

Oxford Economics የ2024 ጥናት — ገቢ፣ ምርታማነት እና ማስተካከያ ሲደመሩ ለኩባንያ አማካይ $200M ተፅዕኖ — ዓለማቸው 2,000 ትልልቅ ኩባንያዎች ስርዓት ያልታቀደ ወድቀት ሁሉ የተጠለለ ወጭ ጠቅላላ።

ምንጭ: Oxford Economics 2024, “የወድቀት ተሸፈኑ ወጭዎች”።
መካከለኛ & ትልቅ (ተለምዷዊ ሰዓት) $300k+ / ሰዓት

የ ITIC 2024 ዳሰሳ: ከ90% በላይ መካከለኛ እና ትልቅ ኢንተርፕራይዞች ያልተታቀደ ወድቀት አንድ ሰዓት ከዚህ ወለሉ ይበልጣሉ — ህጋዊ፣ ፍትሐ-ብሔር ወይም ደንባዊ ቅጣቶች ሳይቆጠሩ።

ምንጭ: ITIC 2024 ሰዓታዊ ወድቀት ወጭ ሪፖርት።
ትናንሽ & መካከለኛ (SMB) $25k–$150k / ሰዓት

የ2025 ITIC / Calyptix ጋራ ጥናት ብዙ SMBዎች ሰዓት ይህን ያህል ያጣሉ ያሳያል; Siemens ወድቀት ለ SMEዎች እስከ $150,000/ሰዓት ሊደርስ ይችላል ይላል። አማካይ ወድቀት ክስተት 87 ደቂቃ ይፈጃል።

ምንጭ: ITIC + Calyptix 2025; Siemens ትክክለኛ ወድቀት ወጭ 2024።
06 የተመረጡ ሥራዎች

ሦስት ፕሮጀክቶች። ሦስት የተለያዩ ናዳዎች።

NDA ሲያዘ ስም-አልባ፣ ውጤቱ ሲያዘ ዝርዝር ነው። እነዚህ ቴክኒካዊ ገዢን ቀዳሚ ወደምናሸጋግራቸው ቁርኝቶች ናቸው።

  1. Case 01 Python Database Crypto GDPR

    ፊንቴክ ዳታ ቤት: 4× ትናንሽ፣ 5.5× ፈጣን፣ ዓለም አቀፍ ሕጋዊ።

    ደንበኛ ሰባት ዓመታት ያደጉ ቀሪ ዓምዶች፣ ሞቱ ኢንዴክሶች፣ እና ኢንላይን-ምስጠራ BLOB ያለ 1.8 TB Postgres ክላስተር ይዞ ነበር። ሦስት ልዩ ምርመራዎች ያሳሰቡ ጊዜ-ያለፈበት ቤተ-መጻሕፍት ላይ ምስጠራ ሮጦ ነበር። ደንባዊ ተጋላጭነቱ ትክክለኛ ነበር፤ ምርማሪዎች ይዞሩ ነበር።

    ያደረግነው

    • ሙሉ ስኪማ + አጠቃቀም ምርመራ፣ ጥቅም-ያልተሰጣቸው ዓምዶች እና ኢንዴክሶችን አስወጣ፣ ትክክለኛ ክፍልፍል አስተዋወቀ።
    • ክሪፕቶ ቧንቧን ከቀሪ ቤተ-መጻሕፍት ወደ ዘወቴ ቁልፎች ያለው ዘመናዊ፣ ምርምር-የተደረገ AEAD ቆጥ ዞረ።
    • BLOB-ኢንላይን ምስጠራ ወደ ማጣቀሻ ፖስታ ምስጠራ + ልዩ KMS ለወጠ።
    • ዳታ ቆጣቢነት & የርዕሰ-ጉዳይ-መዳረሻ ፍሰቶችን ከ GDPR፣ CCPA እና APPI ጋር አሰለፈ።
    ውጤት

    ተመሳሳይ ዳታ፣ ሩብ የማከማቻ ወጭ፣ 5.5× ቅጥቃጤ፣ እና ቀጣዩ ደንብ ፈጣሽ ሲደርስ ንፁህ ጤና ሰርቲፊኬት።

  2. Case 02 Rust C++ → Rust Security Storage

    C++ አገልግሎት በ Rust ዳግም ተጻፈ: 100+ CVE-ደረጃ ሳንካዎች በ9 ሳምንት ጠፉ።

    ለተጠቃሚ C++ ፋይል-ማካሄጃ አገልግሎት፣ በ4–5 ቀን ይወድቅ ነበር በየጊዜው ስፍራ ላይ ይጠገናል። ምርመራችን 100+ ትክክለኛ ሳንካዎች አሳየ: አገልግሎት-ብቻ-መስጠት መስመሮች፣ ቋት-ፍሰቶች፣ ያልተወሰነ ጥያቄ አያያዝ። ከፍ-ሰዓት 503ዎች ሳምናዊ ሥርዓት ነበሩ። በማከማቻ በኩል፣ ተጠቃሚ ዕቃ-ጫኞች ባልዲውን ወደ ሚያበሉ ቅጂ ፋይሎች ረሃብ ቦታ ሆነ።

    ያደረግነው

    • ሙሉ ዳግም-ጽሑፍ ወደ Rust (axum + tokio) ጥብቅ ግቤት ማረጋገጥ እና የተወሰነ ሀብት ወሰን ጋር።
    • ንብረት-ላይ-ተመስርቶ ሙከራዎች + cargo-fuzz ሁሉ ፓርሰር እና ሶኬት-ቅርፅ ወሰን ላይ።
    • ጽሑፍ-ጊዜ ቅጂ-ማስወገጃ ያለው ይዘት-አድራሻ ማከማቻ ሽፋን።
    • 4-ሰዓት ውህደት መስኮት ላይ ሰማያዊ-አረንጓዴ ዝርጋታ፣ ወድቀት ሳይኖር።
    ውጤት

    አገልግሎቱ ከ"ሟርት እና ሳምናዊ-ጥገና" ወደ "ፔጀሩን ማየቱን አቁምን" ሄደ። ቅጂ-ማስወገጃ ጋር የማከማቻ ወጭ ወደቀ፣ ስህተቶች እና 503ዎች ላይ ድጋፍ ትኬቶች ተደረቁ፣ ዳግም ጽሑፉ ደሞ ሩብ-ዓመቱ ውስጥ ወጭውን ከፈለ።

  3. Case 03 Rust Python eBPF / XDP CRM · 4k users

    ኢንተርፕራይዝ CRM፣ ዳግም ተሠራ: 18 ሰርቨሮች → 5፣ ወጭ 60%+ ወደቀ።

    IAM፣ SOC፣ ማዕከላዊ ሎጊንግ፣ ቻት፣ ፋይል-ሼር፣ VoIP እና ከጫፍ-እስከ-ጫፍ ምስጠራ ዳታ 4,000+ ተጠቃሚ የሚያገለግል ውስጣዊ CRM። አስራ ስምንት ሰርቨሮች፣ Cloudflare ላይ፣ እና ቆጠባ ቁጥሩ ምንም ቢሆን ያድጋ የነበረ ክሎውድ ሒሳብ። ሙቅ መስመሩን ወደ Rust ዳግም ሠራን፣ Python ውህደት እና ሪፖርት ሽፋን ላይ ቆየ፣ eBPF/XDP ፊልተርን ቀጥታ ወደ ግቤቱ ፊት ሳስ።

    ያደረግነው

    • የ Rust አገልግሎቶች ለ auth (IAM)፣ ሪልታይም ሜሰጂንግ፣ VoIP ሲጋናሊንግ፣ ፋይል ዝውውር።
    • Python ለ አስተዳዳሪ ሽፋኖች፣ ሪፖርቲንግ፣ SOC ክስተት ትስስር፣ ከቬንደር APIዎች ጋር ውህደት።
    • eBPF/XDP ቦት & አላግባብ ፊልተሪንግ ካርኔሉ ላይ — ለዚህ ሥራ Cloudflare ተካ።
    • ዜሮ-ቅጂ ስኪማ ዙሪያ ዳግም-የተጻፈ ስትራክቸርድ ሎጊንግ ቧንቧ።
    ውጤት

    አስራ ሦስት ሰርቨሮች ቀነሱ፣ Cloudflare ወጭ ቀረ፣ SOC ቡድን የሎጊንግ ቧንቧ ስር ንፁህ ምልክቶችን ያያሉ፣ CFO ደሞ ስለ መሠረተ-ልማት ዕቅድ አስቸጋሪ ጥያቄዎቹን ማጠቃለሉን አቆመ።

07 እንዴት ትክክለኛ እንሠራ

ቁጥጥሮቹን አሽከርክር። ዕቅዱ ሲቀየር ይመልከት።

ፕሮጀክት ሁሉ ፍጥነት፣ ወጭ እና አስተማማኝነት ያቀፍሳል። ከዚህ በታች ያለው አምስት-ደረጃ ግምት ከኢንደስትሪ አማካዮች ጋር ያስተካክለ ነው (ቅኝት 2–6 ሳምንት፣ አርክቴክቸር 1–4 ሳምንት፣ ትግበራ 4–20 ሳምንት፣ ማጠናከር 2–8 ሳምንት፣ ሽግግር 1–2 ሳምንት — ከ2024–2026 ሪፖርቶች NIX United፣ Agilie፣ SOLTECH፣ OTG Lab)። ስላይደሮቹን ዝርቀቡ; ዕቅዱ ቀጥታ ዳግም-ሚዛናዊ ይሆናል።

01

ቅኝት

3 ሳምንት

ኮዱን አንብብ፣ ኦፕሱን ቃለ-ምልልስ አድርግ፣ ያልታወቁ ዝርዝሮቹን ዘርዝር፣ ለክፍሉ ቋንቋ ምረጥ።

  • የጎን ቃለ-ምልልሶች & ኮድ ምርመራ
  • የሥጋት ምዝገባ & SLA ዒላማዎች
  • ለሰርቪስ-ሁሉ የቋንቋ ውሳኔ
02

አርክቴክቸር

2 ሳምንት

ኮድ ከማድረጉ ፊት ቃልኪዳኖች። OpenAPI / protobuf፣ ዳታ ሞዴሎች፣ ዝርጋታ ቶፖሎጂ፣ ሩንቡክ አጋሮት።

  • ለሁሉ ህዝባዊ ቃልኪዳን RFCዎች
  • ዳታ ሞዴል + ፍልሰት ዕቅድ
  • መሠረተ-ልማት-ኮድ-ሆኖ ቤዝ
03

ትግበራ

8 ሳምንት

ትናንሽ PRዎች፣ CI ከቀን-አንድ አረንጓዴ፣ ዳዊዳዊ ዝርጋታ፣ ሁለተኛ ሲኒየር ግምገማ።

  • Rust: axum · tonic · sqlx
  • Python: FastAPI · Pydantic · SQLAlchemy
  • ሳምናዊ ዴሞዎች + ማስቀመጫ
04

ማጠናከር

3 ሳምንት

ፋዚንግ፣ ንብረት-ላይ-ተመስርቶ ሙከራዎች፣ ተጨባጭ ትራፊክ ላይ ጭነት ሙከራዎች፣ ምስጥ ሞዴል።

  • cargo-fuzz · proptest · hypothesis
  • k6 SLOዎች ጋር የተሳሰሩ ጭነት ሙከራዎች
  • የደህንነት ምርመራ & ጥምርነት ምርመራ
05

ሽግግር

1 ሳምንት

ሩንቡኮች፣ ኦን-ካል ሽክርክር፣ ADRዎች፣ እና ይህን አንዴ አስቀድሞ ያካሄደ ቡድን።

  • ሩንቡኮች + ኦን-ካል ማትሪክስ
  • ADR ዝርዝር & አርክቴክቸር ንድፎቹ
  • ከጀምሮ 30-ቀን ድጋፍ
08 ተመሳሳይ ችግር፣ ሁለት ቋንቋዎች

ተመሳሳይ ኤንድፖይንት በሁሉ ምን ይመስላል።

ተጠቃሚ ፈልግ፣ ግቤት አረጋግጥ፣ ወደ Postgres አቆይ፣ JSON መልስ። ቋንቋዎቹ ዙሪያ ቀያይር — ሁለቱም ትክክለኛ ኮድ ነን ልናካሂደው።

SQL_CREATE_USER = "insert into users(email,name) values(lower($1),$2) returning id,email,name"
Name = Annotated[str, StringConstraints(strip_whitespace=True, min_length=1, max_length=120)]

class UserIn(BaseModel):
    email: EmailStr
    name: Name

class UserOut(UserIn):
    id: int

@router.post("/users", response_model=UserOut, status_code=201)
async def create_user(u: UserIn) -> UserOut:
    try:
        row = await pool.fetchrow(SQL_CREATE_USER, str(u.email), u.name)
    except UniqueViolationError as exc:
        raise HTTPException(status_code=409, detail="email already exists") from exc
    if row is None:
        raise HTTPException(status_code=500, detail="insert failed")
    return UserOut.model_validate(dict(row))
#[derive(Deserialize, Validate)]
#[serde(deny_unknown_fields)]
pub struct UserIn {
    #[validate(email)]
    pub email: String,
    #[validate(custom(function = "valid_name"))]
    pub name: String,
}

pub async fn create_user(
    State(pool): State<PgPool>,
    ValidatedJson(u): ValidatedJson<UserIn>,
) -> Result<(StatusCode, Json<UserOut>), ApiError> {
    let user = sqlx::query_as!(UserOut,
        "insert into users(email,name) values(lower($1),$2) returning id,email,name",
        u.email.as_str(),
        u.name.trim(),
    )
    .fetch_one(&pool)
    .await
    .map_err(ApiError::from_db)?;

    Ok((StatusCode::CREATED, Json(user)))
}
የኮድ መስመሮች
16 22
ቅጥቃጤ
1,185 req/s 21,030 req/s
p50 ዘገዩ
21.0 ms 1.6 ms
ዝም ባለ ጊዜ RAM
41.2 MB 8.5 MB
ውስጥ 1 የሥራ ቀን እናሰርፍለናለን። ቀልዶ አይደለም።

ሙሉ ገጹን አነበቡ።
ነገሩን ይሥሩ

ቴካቸው ምን ችግር እንዳለ፣ ወይም ምን ከዜሮ ሊሠሩ እንደሚፈልጉ ይንገሩን። ትክክለኛ የምህንድስና አስተያየት ያገኛሉ — ሽያጭ ፋይል አይደሉም።

  • ጁኒየር ምህንዶሳውያን የሉም። ወደ ውጭ ዝውውር የለም።
  • ለወሰን-ያለው ሥራ ቋሚ-ዋጋ አማራጮች።
  • ምንም ከጠየቅዎ ፊት NDA ይፈርማሉ።